Mercurial > projects > dwt2
annotate org.eclipse.swt.gtk.linux.x86/src/org/eclipse/swt/internal/c/Xrender.d @ 120:536e43f63c81
Comprehensive update for Win32/Linux32 dmd-2.053/dmd-1.068+Tango-r5661
===D2===
* added [Try]Immutable/Const/Shared templates to work with differenses in D1/D2 instead of version statements
used these templates to work with strict type storage rules of dmd-2.053
* com.ibm.icu now also compilable with D2, but not tested yet
* small fixes
Snippet288 - shared data is in TLS
===Phobos===
* fixed critical bugs in Phobos implemention
completely incorrect segfault prone fromStringz (Linux's port ruthless killer)
terrible, incorrect StringBuffer realization (StyledText killer)
* fixed small bugs as well
Snippet72 - misprint in the snippet
* implemented missed functionality for Phobos
ByteArrayOutputStream implemented (image loading available)
formatting correctly works for all DWT's cases
As a result, folowing snippets now works with Phobos (Snippet### - what is fixed):
Snippet24, 42, 111, 115, 130, 235, 276 - bad string formatting
Snippet48, 282 - crash on image loading
Snippet163, 189, 211, 213, 217, 218, 222 - crash on copy/cut in StyledText
Snippet244 - hang-up
===Tango===
* few changes for the latest Tango trunc-r5661
* few small performance improvments
===General===
* implMissing-s for only one version changed to implMissingInTango/InPhobos
* incorrect calls to Format in toString-s fixed
* fixed loading \uXXXX characters in ResourceBundle
* added good UTF-8 support for StyledText, TextLayout (Win32) and friends
UTF functions revised and tested. It is now in java.nonstandard.*Utf modules
StyledText and TextLayout (Win32) modules revised for UTF-8 support
* removed small diferences in most identical files in *.swt.* folders
*.swt.internal.image, *.swt.events and *.swt.custom are identical in Win32/Linux32
now 179 of 576 (~31%) files in *.swt.* folders are fully identical
* Win32: snippets now have right subsystem, pretty icons and native system style controls
* small fixes in snippets
Snippet44 - it's not Snippet44
Snippet212 - functions work with different images and offsets arrays
Win32: Snippet282 - crash on close if the button has an image
Snippet293 - setGrayed is commented
and others
Win32: As a result, folowing snippets now works
Snippet68 - color doesn't change
Snippet163, 189, 211, 213, 217, 218, 222 - UTF-8 issues (see above)
Snippet193 - no tabel headers
author | Denis Shelomovskij <verylonglogin.reg@gmail.com> |
---|---|
date | Sat, 09 Jul 2011 15:50:20 +0300 |
parents | fb3aa8075988 |
children |
rev | line source |
---|---|
25 | 1 /****************************************************************************** |
2 Based on the generated files from the BCD tool | |
3 modified by: Frank Benoit <keinfarbton@googlemail.com> | |
4 ******************************************************************************/ | |
5 module org.eclipse.swt.internal.c.Xrender; | |
6 | |
7 import java.lang.all; | |
8 | |
9 public import org.eclipse.swt.internal.c.Xlib; | |
10 | |
11 extern(C): | |
12 align(4): | |
13 | |
14 const int PictStandardARGB32 = 0; | |
15 const int PictStandardRGB24 = 1; | |
16 const int PictStandardA8 = 2; | |
17 const int PictStandardA4 = 3; | |
18 const int PictStandardA1 = 4; | |
19 const int PictStandardNUM = 5; | |
20 alias _XConicalGradient XConicalGradient; | |
21 alias _XPointFixed XPointFixed; | |
22 alias int XFixed; | |
23 alias _XRadialGradient XRadialGradient; | |
24 alias _XCircle XCircle; | |
25 alias _XLinearGradient XLinearGradient; | |
26 alias _XTrap XTrap; | |
27 alias _XSpanFix XSpanFix; | |
28 alias _XAnimCursor XAnimCursor; | |
29 alias _XIndexValue XIndexValue; | |
30 alias _XFilters XFilters; | |
31 alias _XTransform XTransform; | |
32 alias _XTrapezoid XTrapezoid; | |
33 alias _XLineFixed XLineFixed; | |
34 alias _XTriangle XTriangle; | |
35 alias _XPointDouble XPointDouble; | |
36 alias double XDouble; | |
37 alias _XGlyphElt32 XGlyphElt32; | |
38 alias _XGlyphElt16 XGlyphElt16; | |
39 alias _XGlyphElt8 XGlyphElt8; | |
40 alias _XGlyphInfo XGlyphInfo; | |
41 alias _XRenderPictureAttributes XRenderPictureAttributes; | |
42 alias void function(void *, char *, int, int, char * *) _BCD_func__1287; | |
43 alias int function(void *) _BCD_func__1329; | |
44 alias int function(void *, XErrorEvent *) _BCD_func__1330; | |
45 alias void function(void *, char *, char *) _BCD_func__1403; | |
46 alias int function(void *, char *, char *) _BCD_func__1404; | |
47 alias void function(void *, char *, char *) _BCD_func__1405; | |
48 struct _XConicalGradient { | |
49 _XPointFixed center; | |
50 int angle; | |
51 } | |
52 struct _XRadialGradient { | |
53 _XCircle inner; | |
54 _XCircle outer; | |
55 } | |
56 struct _XLinearGradient { | |
57 _XPointFixed p1; | |
58 _XPointFixed p2; | |
59 } | |
60 struct _XTrap { | |
61 _XSpanFix top; | |
62 _XSpanFix bottom; | |
63 } | |
64 struct _XSpanFix { | |
65 int left; | |
66 int right; | |
67 int y; | |
68 } | |
69 struct _XAnimCursor { | |
70 uint cursor; | |
71 uint delay; | |
72 } | |
73 struct _XIndexValue { | |
74 uint pixel; | |
75 ushort red; | |
76 ushort green; | |
77 ushort blue; | |
78 ushort alpha; | |
79 } | |
80 struct _XFilters { | |
81 int nfilter; | |
82 char * * filter; | |
83 int nalias; | |
84 short * alias_; | |
85 } | |
86 struct _XTransform { | |
87 int [3] [3] matrix; | |
88 } | |
89 struct _XTrapezoid { | |
90 int top; | |
91 int bottom; | |
92 _XLineFixed left; | |
93 _XLineFixed right; | |
94 } | |
95 struct _XCircle { | |
96 int x; | |
97 int y; | |
98 int radius; | |
99 } | |
100 struct _XTriangle { | |
101 _XPointFixed p1; | |
102 _XPointFixed p2; | |
103 _XPointFixed p3; | |
104 } | |
105 struct _XLineFixed { | |
106 _XPointFixed p1; | |
107 _XPointFixed p2; | |
108 } | |
109 struct _XPointFixed { | |
110 int x; | |
111 int y; | |
112 } | |
113 struct _XPointDouble { | |
114 double x; | |
115 double y; | |
116 } | |
117 struct _XGlyphElt32 { | |
118 uint glyphset; | |
119 uint * chars; | |
120 int nchars; | |
121 int xOff; | |
122 int yOff; | |
123 } | |
124 struct _XGlyphElt16 { | |
125 uint glyphset; | |
126 ushort * chars; | |
127 int nchars; | |
128 int xOff; | |
129 int yOff; | |
130 } | |
131 struct _XGlyphElt8 { | |
132 uint glyphset; | |
133 char * chars; | |
134 int nchars; | |
135 int xOff; | |
136 int yOff; | |
137 } | |
138 struct _XGlyphInfo { | |
139 ushort width; | |
140 ushort height; | |
141 short x; | |
142 short y; | |
143 short xOff; | |
144 short yOff; | |
145 } | |
146 struct XRenderColor { | |
147 ushort red; | |
148 ushort green; | |
149 ushort blue; | |
150 ushort alpha; | |
151 } | |
152 struct _XRenderPictureAttributes { | |
153 int repeat; | |
154 uint alpha_map; | |
155 int alpha_x_origin; | |
156 int alpha_y_origin; | |
157 int clip_x_origin; | |
158 int clip_y_origin; | |
159 uint clip_mask; | |
160 int graphics_exposures; | |
161 int subwindow_mode; | |
162 int poly_edge; | |
163 int poly_mode; | |
164 uint dither; | |
165 int component_alpha; | |
166 } | |
167 struct XRenderPictFormat { | |
168 uint id; | |
169 int type; | |
170 int depth; | |
171 XRenderDirectFormat direct; | |
172 uint colormap; | |
173 } | |
174 struct XRenderDirectFormat { | |
175 short red; | |
176 short redMask; | |
177 short green; | |
178 short greenMask; | |
179 short blue; | |
180 short blueMask; | |
181 short alpha; | |
182 short alphaMask; | |
183 } | |
184 version(DYNLINK){ | |
113 | 185 mixin(gshared!( |
186 "extern (C) uint function(void *, _XConicalGradient *, int *, XRenderColor *, int)XRenderCreateConicalGradient; | |
25 | 187 extern (C) uint function(void *, _XRadialGradient *, int *, XRenderColor *, int)XRenderCreateRadialGradient; |
188 extern (C) uint function(void *, _XLinearGradient *, int *, XRenderColor *, int)XRenderCreateLinearGradient; | |
189 extern (C) uint function(void *, XRenderColor *)XRenderCreateSolidFill; | |
190 extern (C) void function(void *, uint, int, int, _XTrap *, int)XRenderAddTraps; | |
191 extern (C) uint function(void *, int, _XAnimCursor *)XRenderCreateAnimCursor; | |
192 extern (C) void function(void *, uint, char *, int *, int)XRenderSetPictureFilter; | |
193 extern (C) _XFilters * function(void *, uint)XRenderQueryFilters; | |
194 extern (C) uint function(void *, uint, uint, uint)XRenderCreateCursor; | |
195 extern (C) int function(void *, char *, XRenderColor *)XRenderParseColor; | |
196 extern (C) void function(void *, int, uint, uint, XRenderPictFormat *, int, int, int, int, _XPointDouble *, int, int)XRenderCompositeDoublePoly; | |
197 extern (C) void function(void *, int, uint, uint, XRenderPictFormat *, int, int, _XPointFixed *, int)XRenderCompositeTriFan; | |
198 extern (C) void function(void *, int, uint, uint, XRenderPictFormat *, int, int, _XPointFixed *, int)XRenderCompositeTriStrip; | |
199 extern (C) void function(void *, int, uint, uint, XRenderPictFormat *, int, int, _XTriangle *, int)XRenderCompositeTriangles; | |
200 extern (C) void function(void *, int, uint, uint, XRenderPictFormat *, int, int, _XTrapezoid *, int)XRenderCompositeTrapezoids; | |
201 extern (C) void function(void *, int, uint, XRenderColor *, XRectangle *, int)XRenderFillRectangles; | |
202 extern (C) void function(void *, int, uint, XRenderColor *, int, int, uint, uint)XRenderFillRectangle; | |
203 extern (C) void function(void *, int, uint, uint, XRenderPictFormat *, int, int, int, int, _XGlyphElt32 *, int)XRenderCompositeText32; | |
204 extern (C) void function(void *, int, uint, uint, XRenderPictFormat *, int, int, int, int, _XGlyphElt16 *, int)XRenderCompositeText16; | |
205 extern (C) void function(void *, int, uint, uint, XRenderPictFormat *, int, int, int, int, _XGlyphElt8 *, int)XRenderCompositeText8; | |
206 extern (C) void function(void *, int, uint, uint, XRenderPictFormat *, uint, int, int, int, int, uint *, int)XRenderCompositeString32; | |
207 extern (C) void function(void *, int, uint, uint, XRenderPictFormat *, uint, int, int, int, int, ushort *, int)XRenderCompositeString16; | |
208 extern (C) void function(void *, int, uint, uint, XRenderPictFormat *, uint, int, int, int, int, char *, int)XRenderCompositeString8; | |
209 extern (C) void function(void *, uint, uint *, int)XRenderFreeGlyphs; | |
210 extern (C) void function(void *, uint, uint *, _XGlyphInfo *, int, char *, int)XRenderAddGlyphs; | |
211 extern (C) void function(void *, uint)XRenderFreeGlyphSet; | |
212 extern (C) uint function(void *, uint)XRenderReferenceGlyphSet; | |
213 extern (C) uint function(void *, XRenderPictFormat *)XRenderCreateGlyphSet; | |
214 extern (C) void function(void *, int, uint, uint, uint, int, int, int, int, int, int, uint, uint)XRenderComposite; | |
215 extern (C) void function(void *, uint)XRenderFreePicture; | |
216 extern (C) void function(void *, uint, _XTransform *)XRenderSetPictureTransform; | |
217 extern (C) void function(void *, uint, void *)XRenderSetPictureClipRegion; | |
218 extern (C) void function(void *, uint, int, int, XRectangle *, int)XRenderSetPictureClipRectangles; | |
219 extern (C) void function(void *, uint, uint, _XRenderPictureAttributes *)XRenderChangePicture; | |
220 extern (C) uint function(void *, uint, XRenderPictFormat *, uint, _XRenderPictureAttributes *)XRenderCreatePicture; | |
221 extern (C) _XIndexValue * function(void *, XRenderPictFormat *, int *)XRenderQueryPictIndexValues; | |
222 extern (C) XRenderPictFormat * function(void *, int)XRenderFindStandardFormat; | |
223 extern (C) XRenderPictFormat * function(void *, uint, XRenderPictFormat *, int)XRenderFindFormat; | |
224 extern (C) XRenderPictFormat * function(void *, Visual *)XRenderFindVisualFormat; | |
225 extern (C) int function(void *, int, int)XRenderSetSubpixelOrder; | |
226 extern (C) int function(void *, int)XRenderQuerySubpixelOrder; | |
227 extern (C) int function(void *)XRenderQueryFormats; | |
228 extern (C) int function(void *, int *, int *)XRenderQueryVersion; | |
113 | 229 extern (C) int function(void *, int *, int *)XRenderQueryExtension;" |
230 )); | |
25 | 231 |
113 | 232 Symbol[] symbols; |
233 static this () { | |
234 symbols = [ | |
235 Symbol("XRenderCreateConicalGradient", cast(void**)& XRenderCreateConicalGradient), | |
236 Symbol("XRenderCreateRadialGradient", cast(void**)& XRenderCreateRadialGradient), | |
237 Symbol("XRenderCreateLinearGradient", cast(void**)& XRenderCreateLinearGradient), | |
238 Symbol("XRenderCreateSolidFill", cast(void**)& XRenderCreateSolidFill), | |
239 Symbol("XRenderAddTraps", cast(void**)& XRenderAddTraps), | |
240 Symbol("XRenderCreateAnimCursor", cast(void**)& XRenderCreateAnimCursor), | |
241 Symbol("XRenderSetPictureFilter", cast(void**)& XRenderSetPictureFilter), | |
242 Symbol("XRenderQueryFilters", cast(void**)& XRenderQueryFilters), | |
243 Symbol("XRenderCreateCursor", cast(void**)& XRenderCreateCursor), | |
244 Symbol("XRenderParseColor", cast(void**)& XRenderParseColor), | |
245 Symbol("XRenderCompositeDoublePoly", cast(void**)& XRenderCompositeDoublePoly), | |
246 Symbol("XRenderCompositeTriFan", cast(void**)& XRenderCompositeTriFan), | |
247 Symbol("XRenderCompositeTriStrip", cast(void**)& XRenderCompositeTriStrip), | |
248 Symbol("XRenderCompositeTriangles", cast(void**)& XRenderCompositeTriangles), | |
249 Symbol("XRenderCompositeTrapezoids", cast(void**)& XRenderCompositeTrapezoids), | |
250 Symbol("XRenderFillRectangles", cast(void**)& XRenderFillRectangles), | |
251 Symbol("XRenderFillRectangle", cast(void**)& XRenderFillRectangle), | |
252 Symbol("XRenderCompositeText32", cast(void**)& XRenderCompositeText32), | |
253 Symbol("XRenderCompositeText16", cast(void**)& XRenderCompositeText16), | |
254 Symbol("XRenderCompositeText8", cast(void**)& XRenderCompositeText8), | |
255 Symbol("XRenderCompositeString32", cast(void**)& XRenderCompositeString32), | |
256 Symbol("XRenderCompositeString16", cast(void**)& XRenderCompositeString16), | |
257 Symbol("XRenderCompositeString8", cast(void**)& XRenderCompositeString8), | |
258 Symbol("XRenderFreeGlyphs", cast(void**)& XRenderFreeGlyphs), | |
259 Symbol("XRenderAddGlyphs", cast(void**)& XRenderAddGlyphs), | |
260 Symbol("XRenderFreeGlyphSet", cast(void**)& XRenderFreeGlyphSet), | |
261 Symbol("XRenderReferenceGlyphSet", cast(void**)& XRenderReferenceGlyphSet), | |
262 Symbol("XRenderCreateGlyphSet", cast(void**)& XRenderCreateGlyphSet), | |
263 Symbol("XRenderComposite", cast(void**)& XRenderComposite), | |
264 Symbol("XRenderFreePicture", cast(void**)& XRenderFreePicture), | |
265 Symbol("XRenderSetPictureTransform", cast(void**)& XRenderSetPictureTransform), | |
266 Symbol("XRenderSetPictureClipRegion", cast(void**)& XRenderSetPictureClipRegion), | |
267 Symbol("XRenderSetPictureClipRectangles", cast(void**)& XRenderSetPictureClipRectangles), | |
268 Symbol("XRenderChangePicture", cast(void**)& XRenderChangePicture), | |
269 Symbol("XRenderCreatePicture", cast(void**)& XRenderCreatePicture), | |
270 Symbol("XRenderQueryPictIndexValues", cast(void**)& XRenderQueryPictIndexValues), | |
271 Symbol("XRenderFindStandardFormat", cast(void**)& XRenderFindStandardFormat), | |
272 Symbol("XRenderFindFormat", cast(void**)& XRenderFindFormat), | |
273 Symbol("XRenderFindVisualFormat", cast(void**)& XRenderFindVisualFormat), | |
274 Symbol("XRenderSetSubpixelOrder", cast(void**)& XRenderSetSubpixelOrder), | |
275 Symbol("XRenderQuerySubpixelOrder", cast(void**)& XRenderQuerySubpixelOrder), | |
276 Symbol("XRenderQueryFormats", cast(void**)& XRenderQueryFormats), | |
277 Symbol("XRenderQueryVersion", cast(void**)& XRenderQueryVersion), | |
120
536e43f63c81
Comprehensive update for Win32/Linux32 dmd-2.053/dmd-1.068+Tango-r5661
Denis Shelomovskij <verylonglogin.reg@gmail.com>
parents:
113
diff
changeset
|
278 Symbol("XRenderQueryExtension", cast(void**)& XRenderQueryExtension) |
113 | 279 ]; |
280 } | |
25 | 281 |
282 } else { // version(DYNLINK) | |
283 extern (C) uint XRenderCreateConicalGradient(void *, _XConicalGradient *, int *, XRenderColor *, int); | |
284 extern (C) uint XRenderCreateRadialGradient(void *, _XRadialGradient *, int *, XRenderColor *, int); | |
285 extern (C) uint XRenderCreateLinearGradient(void *, _XLinearGradient *, int *, XRenderColor *, int); | |
286 extern (C) uint XRenderCreateSolidFill(void *, XRenderColor *); | |
287 extern (C) void XRenderAddTraps(void *, uint, int, int, _XTrap *, int); | |
288 extern (C) uint XRenderCreateAnimCursor(void *, int, _XAnimCursor *); | |
289 extern (C) void XRenderSetPictureFilter(void *, uint, char *, int *, int); | |
290 extern (C) _XFilters * XRenderQueryFilters(void *, uint); | |
291 extern (C) uint XRenderCreateCursor(void *, uint, uint, uint); | |
292 extern (C) int XRenderParseColor(void *, char *, XRenderColor *); | |
293 extern (C) void XRenderCompositeDoublePoly(void *, int, uint, uint, XRenderPictFormat *, int, int, int, int, _XPointDouble *, int, int); | |
294 extern (C) void XRenderCompositeTriFan(void *, int, uint, uint, XRenderPictFormat *, int, int, _XPointFixed *, int); | |
295 extern (C) void XRenderCompositeTriStrip(void *, int, uint, uint, XRenderPictFormat *, int, int, _XPointFixed *, int); | |
296 extern (C) void XRenderCompositeTriangles(void *, int, uint, uint, XRenderPictFormat *, int, int, _XTriangle *, int); | |
297 extern (C) void XRenderCompositeTrapezoids(void *, int, uint, uint, XRenderPictFormat *, int, int, _XTrapezoid *, int); | |
298 extern (C) void XRenderFillRectangles(void *, int, uint, XRenderColor *, XRectangle *, int); | |
299 extern (C) void XRenderFillRectangle(void *, int, uint, XRenderColor *, int, int, uint, uint); | |
300 extern (C) void XRenderCompositeText32(void *, int, uint, uint, XRenderPictFormat *, int, int, int, int, _XGlyphElt32 *, int); | |
301 extern (C) void XRenderCompositeText16(void *, int, uint, uint, XRenderPictFormat *, int, int, int, int, _XGlyphElt16 *, int); | |
302 extern (C) void XRenderCompositeText8(void *, int, uint, uint, XRenderPictFormat *, int, int, int, int, _XGlyphElt8 *, int); | |
303 extern (C) void XRenderCompositeString32(void *, int, uint, uint, XRenderPictFormat *, uint, int, int, int, int, uint *, int); | |
304 extern (C) void XRenderCompositeString16(void *, int, uint, uint, XRenderPictFormat *, uint, int, int, int, int, ushort *, int); | |
305 extern (C) void XRenderCompositeString8(void *, int, uint, uint, XRenderPictFormat *, uint, int, int, int, int, char *, int); | |
306 extern (C) void XRenderFreeGlyphs(void *, uint, uint *, int); | |
307 extern (C) void XRenderAddGlyphs(void *, uint, uint *, _XGlyphInfo *, int, char *, int); | |
308 extern (C) void XRenderFreeGlyphSet(void *, uint); | |
309 extern (C) uint XRenderReferenceGlyphSet(void *, uint); | |
310 extern (C) uint XRenderCreateGlyphSet(void *, XRenderPictFormat *); | |
311 extern (C) void XRenderComposite(void *, int, uint, uint, uint, int, int, int, int, int, int, uint, uint); | |
312 extern (C) void XRenderFreePicture(void *, uint); | |
313 extern (C) void XRenderSetPictureTransform(void *, uint, _XTransform *); | |
314 extern (C) void XRenderSetPictureClipRegion(void *, uint, void *); | |
315 extern (C) void XRenderSetPictureClipRectangles(void *, uint, int, int, XRectangle *, int); | |
316 extern (C) void XRenderChangePicture(void *, uint, uint, _XRenderPictureAttributes *); | |
317 extern (C) uint XRenderCreatePicture(void *, uint, XRenderPictFormat *, uint, _XRenderPictureAttributes *); | |
318 extern (C) _XIndexValue * XRenderQueryPictIndexValues(void *, XRenderPictFormat *, int *); | |
319 extern (C) XRenderPictFormat * XRenderFindStandardFormat(void *, int); | |
320 extern (C) XRenderPictFormat * XRenderFindFormat(void *, uint, XRenderPictFormat *, int); | |
321 extern (C) XRenderPictFormat * XRenderFindVisualFormat(void *, Visual *); | |
322 extern (C) int XRenderSetSubpixelOrder(void *, int, int); | |
323 extern (C) int XRenderQuerySubpixelOrder(void *, int); | |
324 extern (C) int XRenderQueryFormats(void *); | |
325 extern (C) int XRenderQueryVersion(void *, int *, int *); | |
326 extern (C) int XRenderQueryExtension(void *, int *, int *); | |
327 } // version(DYNLINK) |