1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
|
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "picturestr.h"
#include "pixmaputil.h"
#include "pictureutil.h"
char *picture_desc(PicturePtr pict, char *str, size_t n)
{
char *format, fmtbuf[20];
size_t l;
if (!pict) {
snprintf(str, n, "None");
return str;
}
if (!pict->pDrawable) {
snprintf(str, n, "Source-only");
return str;
}
switch (pict->format) {
case PICT_a2r10g10b10:
format = "ARGB2101010";
break;
case PICT_x2r10g10b10:
format = "XRGB2101010";
break;
case PICT_a2b10g10r10:
format = "ABGR2101010";
break;
case PICT_x2b10g10r10:
format = "XBGR2101010";
break;
case PICT_a8r8g8b8:
format = "ARGB8888";
break;
case PICT_x8r8g8b8:
format = "XRGB8888";
break;
case PICT_a8b8g8r8:
format = "ABGR8888";
break;
case PICT_x8b8g8r8:
format = "XBGR8888";
break;
case PICT_b8g8r8a8:
format = "BGRA8888";
break;
case PICT_b8g8r8x8:
format = "BGRX8888";
break;
case PICT_r8g8b8:
format = "RGB888";
break;
case PICT_b8g8r8:
format = "BGR888";
break;
case PICT_r5g6b5:
format = "RGB565";
break;
case PICT_b5g6r5:
format = "BGR565";
break;
case PICT_a1r5g5b5:
format = "ARGB1555";
break;
case PICT_x1r5g5b5:
format = "XRGB1555";
break;
case PICT_a1b5g5r5:
format = "ABGR1555";
break;
case PICT_x1b5g5r5:
format = "XBGR1555";
break;
case PICT_a4r4g4b4:
format = "ARGB4444";
break;
case PICT_x4r4g4b4:
format = "XRGB4444";
break;
case PICT_a4b4g4r4:
format = "ABGR4444";
break;
case PICT_x4b4g4r4:
format = "XBGR4444";
break;
case PICT_a8:
format = "A8";
break;
case PICT_r3g3b2:
format = "RGB332";
break;
case PICT_b2g3r3:
format = "BGR233";
break;
case PICT_a2r2g2b2:
format = "ARGB2222";
break;
case PICT_a2b2g2r2:
format = "ABGR2222";
break;
case PICT_c8:
format = "C8";
break;
case PICT_g8:
format = "G8";
break;
case PICT_x4a4:
format = "XA44";
break;
case PICT_a4:
format = "A4";
break;
case PICT_r1g2b1:
format = "RGB121";
break;
case PICT_b1g2r1:
format = "BGR121";
break;
case PICT_a1r1g1b1:
format = "ARGB1111";
break;
case PICT_a1b1g1r1:
format = "ABGR1111";
break;
case PICT_c4:
format = "C4";
break;
case PICT_g4:
format = "A4";
break;
case PICT_a1:
format = "A1";
break;
case PICT_g1:
format = "G1";
break;
default:
snprintf(fmtbuf, sizeof(fmtbuf), "0x%x", (int)pict->format);
format = fmtbuf;
break;
}
drawable_desc(pict->pDrawable, str, n);
l = strlen(str);
snprintf(str + l, n - l, "%s fmt %s%s%s",
pict->repeat ? " R" : "",
format,
pict->alphaMap ? "/AM" :"",
pict->componentAlpha ? "/CA" : "");
return str;
}
|