WebRadioApp  0.1
ewgfxlinks.h
Go to the documentation of this file.
1 /*******************************************************************************
2  *
3  * E M B E D D E D W I Z A R D P R O J E C T
4  *
5  * Copyright (c) TARA Systems
6  *GmbH written by Paul Banach and Manfred Schweyer
7  *
8  ********************************************************************************
9  *
10  * This software and related documentation ("Software") are intellectual
11  * property owned by TARA Systems and are copyright of TARA Systems.
12  * Any modification, copying, reproduction or redistribution of the Software in
13  * whole or in part by any means not in accordance with the End-User License
14  * Agreement for Embedded Wizard is expressly prohibited. The removal of this
15  * preamble is expressly prohibited.
16  *
17  ********************************************************************************
18  *
19  * DESCRIPTION:
20  * This is an internal header of the Embedded Wizard Graphics Engine EWGFX. It
21  * resolves the dependencies to the external graphics subsystem functionality
22  * and replaces the missing functionality by Embedded Wizard own software
23  *pixel driver.
24  *
25  * The product of this header file is a set of arrays containing pointers to
26  * external drawing functions or to the functions of the software pixel
27  *driver.
28  *
29  * This header file also performs a rudimentary integrity test of the external
30  * drawing and surface adaptation. If there are incomplete functionality, the
31  * 'C' preprocessor will report error messages.
32  *
33  *******************************************************************************/
34 
35 /* Support of a platform specific screen surface? */
36 #if defined EwGfxLockScreenSurface || defined EwGfxUnlockScreenSurface
37 #define EwProvideScreenSurface
38 #endif
39 
40 /* Support of a platform specific native surface? */
41 #if defined EwGfxCreateNativeSurface || \
42  defined EwGfxCreateConstNativeSurface || \
43  defined EwGfxDestroyNativeSurface || defined EwGfxLockNativeSurface || \
44  defined EwGfxUnlockNativeSurface
45 #define EwProvideNativeSurface
46 #endif
47 
48 /* Support of a platform specific index8 surface? */
49 #if defined EwGfxCreateIndex8Surface || \
50  defined EwGfxCreateConstIndex8Surface || \
51  defined EwGfxDestroyIndex8Surface || defined EwGfxLockIndex8Surface || \
52  defined EwGfxUnlockIndex8Surface
53 #define EwProvideIndex8Surface
54 #endif
55 
56 /* Support of a platform specific alpha8 surface? */
57 #if defined EwGfxCreateAlpha8Surface || \
58  defined EwGfxCreateConstAlpha8Surface || \
59  defined EwGfxDestroyAlpha8Surface || defined EwGfxLockAlpha8Surface || \
60  defined EwGfxUnlockAlpha8Surface
61 #define EwProvideAlpha8Surface
62 #endif
63 
64 /* Support of a platform specific rgb565 surface? */
65 #if defined EwGfxCreateRGB565Surface || \
66  defined EwGfxCreateConstRGB565Surface || \
67  defined EwGfxDestroyRGB565Surface || defined EwGfxLockRGB565Surface || \
68  defined EwGfxUnlockRGB565Surface
69 #define EwProvideRGB565Surface
70 #endif
71 
72 /* Verify the integrity of the screen surface adaptation */
73 #if defined EwProvideScreenSurface && \
74  (!defined EwGfxLockScreenSurface || !defined EwGfxUnlockScreenSurface)
75 #error "Incomplete screen surface support. Some functions are missing."
76 #endif
77 
78 /* Verify the integrity of the native surface adaptation */
79 #if defined EwProvideNativeSurface && \
80  (!defined EwGfxCreateNativeSurface || \
81  !defined EwGfxDestroyNativeSurface || !defined EwGfxLockNativeSurface || \
82  !defined EwGfxUnlockNativeSurface)
83 #error "Incomplete native surface support. Some functions are missing."
84 #endif
85 
86 /* Verify the integrity of the index8 surface adaptation */
87 #if defined EwProvideIndex8Surface && \
88  (!defined EwGfxCreateIndex8Surface || \
89  !defined EwGfxDestroyIndex8Surface || !defined EwGfxLockIndex8Surface || \
90  !defined EwGfxUnlockIndex8Surface)
91 #error "Incomplete index8 surface support. Some functions are missing."
92 #endif
93 
94 /* Verify the integrity of the alpha8 surface adaptation */
95 #if defined EwProvideAlpha8Surface && \
96  (!defined EwGfxCreateAlpha8Surface || \
97  !defined EwGfxDestroyAlpha8Surface || !defined EwGfxLockAlpha8Surface || \
98  !defined EwGfxUnlockAlpha8Surface)
99 #error "Incomplete alpha8 surface support. Some functions are missing."
100 #endif
101 
102 /* Verify the integrity of the rgb565 surface adaptation */
103 #if defined EwProvideRGB565Surface && \
104  (!defined EwGfxCreateRGB565Surface || \
105  !defined EwGfxDestroyRGB565Surface || !defined EwGfxLockRGB565Surface || \
106  !defined EwGfxUnlockRGB565Surface)
107 #error "Incomplete rgb565 surface support. Some functions are missing."
108 #endif
109 
110 /* Platform specific drawing operations involving screen surface as the
111  destination? */
112 #if defined EwGfxScreenDrawLineSolid || \
113  defined EwGfxScreenDrawLineSolidBlend || defined EwGfxScreenFillSolid || \
114  defined EwGfxScreenFillSolidBlend || \
115  defined EwGfxScreenDrawLineGradient || \
116  defined EwGfxScreenDrawLineGradientBlend || \
117  defined EwGfxScreenFillGradient || defined EwGfxScreenFillGradientBlend || \
118  defined EwGfxScreenFillLinearGradient || \
119  defined EwGfxScreenFillLinearGradientBlend || \
120  defined EwGfxScreenPolygonSolid || defined EwGfxScreenPolygonSolidBlend || \
121  defined EwGfxScreenPolygonGradient || \
122  defined EwGfxScreenPolygonGradientBlend || \
123  defined EwGfxScreenPolygonLinearGradient || \
124  defined EwGfxScreenPolygonLinearGradientBlend || \
125  defined EwGfxScreenPolygonAntialiasedSolid || \
126  defined EwGfxScreenPolygonAntialiasedSolidBlend || \
127  defined EwGfxScreenPolygonAntialiasedGradient || \
128  defined EwGfxScreenPolygonAntialiasedGradientBlend || \
129  defined EwGfxScreenPolygonAntialiasedLinearGradient || \
130  defined EwGfxScreenPolygonAntialiasedLinearGradientBlend
131 #define EwNeedScreenSurface
132 #endif
133 
134 /* Platform specific drawing operations involving screen surface as the
135  destination and native surface as source? */
136 #if defined EwGfxScreenCopyNative || defined EwGfxScreenCopyNativeBlend || \
137  defined EwGfxScreenCopyNativeGradient || \
138  defined EwGfxScreenCopyNativeGradientBlend || \
139  defined EwGfxScreenCopyNativeLinearGradient || \
140  defined EwGfxScreenCopyNativeLinearGradientBlend || \
141  defined EwGfxScreenTileNative || defined EwGfxScreenTileNativeBlend || \
142  defined EwGfxScreenTileNativeSolid || \
143  defined EwGfxScreenTileNativeSolidBlend || \
144  defined EwGfxScreenTileNativeGradient || \
145  defined EwGfxScreenTileNativeGradientBlend || \
146  defined EwGfxScreenTileNativeLinearGradient || \
147  defined EwGfxScreenTileNativeLinearGradientBlend || \
148  defined EwGfxScreenWarpPerspNative || \
149  defined EwGfxScreenWarpPerspNativeBlend || \
150  defined EwGfxScreenWarpPerspNativeGradient || \
151  defined EwGfxScreenWarpPerspNativeGradientBlend || \
152  defined EwGfxScreenWarpPerspNativeFilter || \
153  defined EwGfxScreenWarpPerspNativeFilterBlend || \
154  defined EwGfxScreenWarpPerspNativeFilterGradient || \
155  defined EwGfxScreenWarpPerspNativeFilterGradientBlend || \
156  defined EwGfxScreenWarpAffineNative || \
157  defined EwGfxScreenWarpAffineNativeBlend || \
158  defined EwGfxScreenWarpAffineNativeGradient || \
159  defined EwGfxScreenWarpAffineNativeGradientBlend || \
160  defined EwGfxScreenWarpAffineNativeFilter || \
161  defined EwGfxScreenWarpAffineNativeFilterBlend || \
162  defined EwGfxScreenWarpAffineNativeFilterGradient || \
163  defined EwGfxScreenWarpAffineNativeFilterGradientBlend || \
164  defined EwGfxScreenScaleNative || defined EwGfxScreenScaleNativeBlend || \
165  defined EwGfxScreenScaleNativeGradient || \
166  defined EwGfxScreenScaleNativeGradientBlend || \
167  defined EwGfxScreenScaleNativeLinearGradient || \
168  defined EwGfxScreenScaleNativeLinearGradientBlend || \
169  defined EwGfxScreenScaleNativeFilter || \
170  defined EwGfxScreenScaleNativeFilterBlend || \
171  defined EwGfxScreenScaleNativeFilterGradient || \
172  defined EwGfxScreenScaleNativeFilterGradientBlend || \
173  defined EwGfxScreenScaleNativeFilterLinearGradient || \
174  defined EwGfxScreenScaleNativeFilterLinearGradientBlend
175 #define EwNeedScreenSurface
176 #define EwNeedNativeSurface
177 #endif
178 
179 /* Platform specific drawing operations involving native surface as source and
180  destination? */
181 #if defined EwGfxDrawLineSolid || defined EwGfxDrawLineSolidBlend || \
182  defined EwGfxFillSolid || defined EwGfxFillSolidBlend || \
183  defined EwGfxDrawLineGradient || defined EwGfxDrawLineGradientBlend || \
184  defined EwGfxFillGradient || defined EwGfxFillGradientBlend || \
185  defined EwGfxFillLinearGradient || defined EwGfxFillLinearGradientBlend || \
186  defined EwGfxCopyNative || defined EwGfxCopyNativeBlend || \
187  defined EwGfxCopyNativeGradient || defined EwGfxCopyNativeGradientBlend || \
188  defined EwGfxCopyNativeLinearGradient || \
189  defined EwGfxCopyNativeLinearGradientBlend || defined EwGfxTileNative || \
190  defined EwGfxTileNativeBlend || defined EwGfxTileNativeSolid || \
191  defined EwGfxTileNativeSolidBlend || defined EwGfxTileNativeGradient || \
192  defined EwGfxTileNativeGradientBlend || \
193  defined EwGfxTileNativeLinearGradient || \
194  defined EwGfxTileNativeLinearGradientBlend || \
195  defined EwGfxWarpPerspNative || defined EwGfxWarpPerspNativeBlend || \
196  defined EwGfxWarpPerspNativeGradient || \
197  defined EwGfxWarpPerspNativeGradientBlend || \
198  defined EwGfxWarpPerspNativeFilter || \
199  defined EwGfxWarpPerspNativeFilterBlend || \
200  defined EwGfxWarpPerspNativeFilterGradient || \
201  defined EwGfxWarpPerspNativeFilterGradientBlend || \
202  defined EwGfxWarpAffineNative || defined EwGfxWarpAffineNativeBlend || \
203  defined EwGfxWarpAffineNativeGradient || \
204  defined EwGfxWarpAffineNativeGradientBlend || \
205  defined EwGfxWarpAffineNativeFilter || \
206  defined EwGfxWarpAffineNativeFilterBlend || \
207  defined EwGfxWarpAffineNativeFilterGradient || \
208  defined EwGfxWarpAffineNativeFilterGradientBlend || \
209  defined EwGfxScaleNative || defined EwGfxScaleNativeBlend || \
210  defined EwGfxScaleNativeGradient || \
211  defined EwGfxScaleNativeGradientBlend || \
212  defined EwGfxScaleNativeLinearGradient || \
213  defined EwGfxScaleNativeLinearGradientBlend || \
214  defined EwGfxScaleNativeFilter || defined EwGfxScaleNativeFilterBlend || \
215  defined EwGfxScaleNativeFilterGradient || \
216  defined EwGfxScaleNativeFilterGradientBlend || \
217  defined EwGfxScaleNativeFilterLinearGradient || \
218  defined EwGfxScaleNativeFilterLinearGradientBlend || \
219  defined EwGfxPolygonSolid || defined EwGfxPolygonSolidBlend || \
220  defined EwGfxPolygonGradient || defined EwGfxPolygonGradientBlend || \
221  defined EwGfxPolygonLinearGradient || \
222  defined EwGfxPolygonLinearGradientBlend || \
223  defined EwGfxPolygonAntialiasedSolid || \
224  defined EwGfxPolygonAntialiasedSolidBlend || \
225  defined EwGfxPolygonAntialiasedGradient || \
226  defined EwGfxPolygonAntialiasedGradientBlend || \
227  defined EwGfxPolygonAntialiasedLinearGradient || \
228  defined EwGfxPolygonAntialiasedLinearGradientBlend
229 #define EwNeedNativeSurface
230 #endif
231 
232 /* Platform specific drawing operations involving index8 surface as source and
233  the screen surface as destination? */
234 #if defined EwGfxScreenCopyIndex8 || defined EwGfxScreenCopyIndex8Blend || \
235  defined EwGfxScreenCopyIndex8Gradient || \
236  defined EwGfxScreenCopyIndex8GradientBlend || \
237  defined EwGfxScreenCopyIndex8LinearGradient || \
238  defined EwGfxScreenCopyIndex8LinearGradientBlend || \
239  defined EwGfxScreenTileIndex8 || defined EwGfxScreenTileIndex8Blend || \
240  defined EwGfxScreenTileIndex8Solid || \
241  defined EwGfxScreenTileIndex8SolidBlend || \
242  defined EwGfxScreenTileIndex8Gradient || \
243  defined EwGfxScreenTileIndex8GradientBlend || \
244  defined EwGfxScreenTileIndex8LinearGradient || \
245  defined EwGfxScreenTileIndex8LinearGradientBlend || \
246  defined EwGfxScreenWarpPerspIndex8 || \
247  defined EwGfxScreenWarpPerspIndex8Blend || \
248  defined EwGfxScreenWarpPerspIndex8Gradient || \
249  defined EwGfxScreenWarpPerspIndex8GradientBlend || \
250  defined EwGfxScreenWarpPerspIndex8Filter || \
251  defined EwGfxScreenWarpPerspIndex8FilterBlend || \
252  defined EwGfxScreenWarpPerspIndex8FilterGradient || \
253  defined EwGfxScreenWarpPerspIndex8FilterGradientBlend || \
254  defined EwGfxScreenWarpAffineIndex8 || \
255  defined EwGfxScreenWarpAffineIndex8Blend || \
256  defined EwGfxScreenWarpAffineIndex8Gradient || \
257  defined EwGfxScreenWarpAffineIndex8GradientBlend || \
258  defined EwGfxScreenWarpAffineIndex8Filter || \
259  defined EwGfxScreenWarpAffineIndex8FilterBlend || \
260  defined EwGfxScreenWarpAffineIndex8FilterGradient || \
261  defined EwGfxScreenWarpAffineIndex8FilterGradientBlend || \
262  defined EwGfxScreenScaleIndex8 || defined EwGfxScreenScaleIndex8Blend || \
263  defined EwGfxScreenScaleIndex8Gradient || \
264  defined EwGfxScreenScaleIndex8GradientBlend || \
265  defined EwGfxScreenScaleIndex8LinearGradient || \
266  defined EwGfxScreenScaleIndex8LinearGradientBlend || \
267  defined EwGfxScreenScaleIndex8Filter || \
268  defined EwGfxScreenScaleIndex8FilterBlend || \
269  defined EwGfxScreenScaleIndex8FilterGradient || \
270  defined EwGfxScreenScaleIndex8FilterGradientBlend || \
271  defined EwGfxScreenScaleIndex8FilterLinearGradient || \
272  defined EwGfxScreenScaleIndex8FilterLinearGradientBlend
273 #define EwNeedScreenSurface
274 #define EwNeedIndex8Surface
275 #endif
276 
277 /* Platform specific drawing operations involving index8 surface as source and
278  the native surface as destination? */
279 #if defined EwGfxCopyIndex8 || defined EwGfxCopyIndex8Blend || \
280  defined EwGfxCopyIndex8Gradient || defined EwGfxCopyIndex8GradientBlend || \
281  defined EwGfxCopyIndex8LinearGradient || \
282  defined EwGfxCopyIndex8LinearGradientBlend || defined EwGfxTileIndex8 || \
283  defined EwGfxTileIndex8Blend || defined EwGfxTileIndex8Solid || \
284  defined EwGfxTileIndex8SolidBlend || defined EwGfxTileIndex8Gradient || \
285  defined EwGfxTileIndex8GradientBlend || \
286  defined EwGfxTileIndex8LinearGradient || \
287  defined EwGfxTileIndex8LinearGradientBlend || \
288  defined EwGfxWarpPerspIndex8 || defined EwGfxWarpPerspIndex8Blend || \
289  defined EwGfxWarpPerspIndex8Gradient || \
290  defined EwGfxWarpPerspIndex8GradientBlend || \
291  defined EwGfxWarpPerspIndex8Filter || \
292  defined EwGfxWarpPerspIndex8FilterBlend || \
293  defined EwGfxWarpPerspIndex8FilterGradient || \
294  defined EwGfxWarpPerspIndex8FilterGradientBlend || \
295  defined EwGfxWarpAffineIndex8 || defined EwGfxWarpAffineIndex8Blend || \
296  defined EwGfxWarpAffineIndex8Gradient || \
297  defined EwGfxWarpAffineIndex8GradientBlend || \
298  defined EwGfxWarpAffineIndex8Filter || \
299  defined EwGfxWarpAffineIndex8FilterBlend || \
300  defined EwGfxWarpAffineIndex8FilterGradient || \
301  defined EwGfxWarpAffineIndex8FilterGradientBlend || \
302  defined EwGfxScaleIndex8 || defined EwGfxScaleIndex8Blend || \
303  defined EwGfxScaleIndex8Gradient || \
304  defined EwGfxScaleIndex8GradientBlend || \
305  defined EwGfxScaleIndex8LinearGradient || \
306  defined EwGfxScaleIndex8LinearGradientBlend || \
307  defined EwGfxScaleIndex8Filter || defined EwGfxScaleIndex8FilterBlend || \
308  defined EwGfxScaleIndex8FilterGradient || \
309  defined EwGfxScaleIndex8FilterGradientBlend || \
310  defined EwGfxScaleIndex8FilterLinearGradient || \
311  defined EwGfxScaleIndex8FilterLinearGradientBlend
312 #define EwNeedNativeSurface
313 #define EwNeedIndex8Surface
314 #endif
315 
316 /* Platform specific drawing operations involving alpha8 surface as source and
317  the screen surface as destination? */
318 #if defined EwGfxScreenCopyAlpha8Gradient || \
319  defined EwGfxScreenCopyAlpha8GradientBlend || \
320  defined EwGfxScreenCopyAlpha8LinearGradient || \
321  defined EwGfxScreenCopyAlpha8LinearGradientBlend || \
322  defined EwGfxScreenTileAlpha8Solid || \
323  defined EwGfxScreenTileAlpha8SolidBlend || \
324  defined EwGfxScreenTileAlpha8Gradient || \
325  defined EwGfxScreenTileAlpha8GradientBlend || \
326  defined EwGfxScreenTileAlpha8LinearGradient || \
327  defined EwGfxScreenTileAlpha8LinearGradientBlend || \
328  defined EwGfxScreenWarpPerspAlpha8Gradient || \
329  defined EwGfxScreenWarpPerspAlpha8GradientBlend || \
330  defined EwGfxScreenWarpPerspAlpha8FilterGradient || \
331  defined EwGfxScreenWarpPerspAlpha8FilterGradientBlend || \
332  defined EwGfxScreenWarpAffineAlpha8Gradient || \
333  defined EwGfxScreenWarpAffineAlpha8GradientBlend || \
334  defined EwGfxScreenWarpAffineAlpha8FilterGradient || \
335  defined EwGfxScreenWarpAffineAlpha8FilterGradientBlend || \
336  defined EwGfxScreenScaleAlpha8Gradient || \
337  defined EwGfxScreenScaleAlpha8GradientBlend || \
338  defined EwGfxScreenScaleAlpha8FilterGradient || \
339  defined EwGfxScreenScaleAlpha8FilterGradientBlend || \
340  defined EwGfxScreenScaleAlpha8LinearGradient || \
341  defined EwGfxScreenScaleAlpha8LinearGradientBlend || \
342  defined EwGfxScreenScaleAlpha8FilterLinearGradient || \
343  defined EwGfxScreenScaleAlpha8FilterLinearGradientBlend
344 #define EwNeedScreenSurface
345 #define EwNeedAlpha8Surface
346 #endif
347 
348 /* Platform specific drawing operations involving alpha8 surface as source and
349  the native surface as destination? */
350 #if defined EwGfxCopyAlpha8Gradient || defined EwGfxCopyAlpha8GradientBlend || \
351  defined EwGfxCopyAlpha8LinearGradient || \
352  defined EwGfxCopyAlpha8LinearGradientBlend || \
353  defined EwGfxTileAlpha8Solid || defined EwGfxTileAlpha8SolidBlend || \
354  defined EwGfxTileAlpha8Gradient || defined EwGfxTileAlpha8GradientBlend || \
355  defined EwGfxTileAlpha8LinearGradient || \
356  defined EwGfxTileAlpha8LinearGradientBlend || \
357  defined EwGfxWarpPerspAlpha8Gradient || \
358  defined EwGfxWarpPerspAlpha8GradientBlend || \
359  defined EwGfxWarpPerspAlpha8FilterGradient || \
360  defined EwGfxWarpPerspAlpha8FilterGradientBlend || \
361  defined EwGfxWarpAffineAlpha8Gradient || \
362  defined EwGfxWarpAffineAlpha8GradientBlend || \
363  defined EwGfxWarpAffineAlpha8FilterGradient || \
364  defined EwGfxWarpAffineAlpha8FilterGradientBlend || \
365  defined EwGfxScaleAlpha8Gradient || \
366  defined EwGfxScaleAlpha8GradientBlend || \
367  defined EwGfxScaleAlpha8FilterGradient || \
368  defined EwGfxScaleAlpha8FilterGradientBlend || \
369  defined EwGfxScaleAlpha8LinearGradient || \
370  defined EwGfxScaleAlpha8LinearGradientBlend || \
371  defined EwGfxScaleAlpha8FilterLinearGradient || \
372  defined EwGfxScaleAlpha8FilterLinearGradientBlend
373 #define EwNeedNativeSurface
374 #define EwNeedAlpha8Surface
375 #endif
376 
377 /* Platform specific drawing operations involving rgb565 surface as source and
378  the screen surface as destination? */
379 #if defined EwGfxScreenCopyRGB565 || defined EwGfxScreenCopyRGB565Gradient || \
380  defined EwGfxScreenCopyRGB565GradientBlend || \
381  defined EwGfxScreenCopyRGB565LinearGradient || \
382  defined EwGfxScreenCopyRGB565LinearGradientBlend || \
383  defined EwGfxScreenTileRGB565 || defined EwGfxScreenTileRGB565Solid || \
384  defined EwGfxScreenTileRGB565SolidBlend || \
385  defined EwGfxScreenTileRGB565Gradient || \
386  defined EwGfxScreenTileRGB565GradientBlend || \
387  defined EwGfxScreenTileRGB565LinearGradient || \
388  defined EwGfxScreenTileRGB565LinearGradientBlend || \
389  defined EwGfxScreenWarpPerspRGB565 || \
390  defined EwGfxScreenWarpPerspRGB565Gradient || \
391  defined EwGfxScreenWarpPerspRGB565GradientBlend || \
392  defined EwGfxScreenWarpPerspRGB565Filter || \
393  defined EwGfxScreenWarpPerspRGB565FilterGradient || \
394  defined EwGfxScreenWarpPerspRGB565FilterGradientBlend || \
395  defined EwGfxScreenWarpAffineRGB565 || \
396  defined EwGfxScreenWarpAffineRGB565Gradient || \
397  defined EwGfxScreenWarpAffineRGB565GradientBlend || \
398  defined EwGfxScreenWarpAffineRGB565Filter || \
399  defined EwGfxScreenWarpAffineRGB565FilterGradient || \
400  defined EwGfxScreenWarpAffineRGB565FilterGradientBlend || \
401  defined EwGfxScreenScaleRGB565 || \
402  defined EwGfxScreenScaleRGB565Gradient || \
403  defined EwGfxScreenScaleRGB565GradientBlend || \
404  defined EwGfxScreenScaleRGB565LinearGradient || \
405  defined EwGfxScreenScaleRGB565LinearGradientBlend || \
406  defined EwGfxScreenScaleRGB565Filter || \
407  defined EwGfxScreenScaleRGB565FilterGradient || \
408  defined EwGfxScreenScaleRGB565FilterGradientBlend || \
409  defined EwGfxScreenScaleRGB565FilterLinearGradient || \
410  defined EwGfxScreenScaleRGB565FilterLinearGradientBlend
411 #define EwNeedScreenSurface
412 #define EwNeedRGB565Surface
413 #endif
414 
415 /* Platform specific drawing operations involving index8 surface as source and
416  the native surface as destination? */
417 #if defined EwGfxCopyRGB565 || defined EwGfxCopyRGB565Gradient || \
418  defined EwGfxCopyRGB565GradientBlend || \
419  defined EwGfxCopyRGB565LinearGradient || \
420  defined EwGfxCopyRGB565LinearGradientBlend || defined EwGfxTileRGB565 || \
421  defined EwGfxTileRGB565Solid || defined EwGfxTileRGB565SolidBlend || \
422  defined EwGfxTileRGB565Gradient || defined EwGfxTileRGB565GradientBlend || \
423  defined EwGfxTileRGB565LinearGradient || \
424  defined EwGfxTileRGB565LinearGradientBlend || \
425  defined EwGfxWarpPerspRGB565 || defined EwGfxWarpPerspRGB565Gradient || \
426  defined EwGfxWarpPerspRGB565GradientBlend || \
427  defined EwGfxWarpPerspRGB565Filter || \
428  defined EwGfxWarpPerspRGB565FilterGradient || \
429  defined EwGfxWarpPerspRGB565FilterGradientBlend || \
430  defined EwGfxWarpAffineRGB565 || defined EwGfxWarpAffineRGB565Gradient || \
431  defined EwGfxWarpAffineRGB565GradientBlend || \
432  defined EwGfxWarpAffineRGB565Filter || \
433  defined EwGfxWarpAffineRGB565FilterGradient || \
434  defined EwGfxWarpAffineRGB565FilterGradientBlend || \
435  defined EwGfxScaleRGB565 || defined EwGfxScaleRGB565Gradient || \
436  defined EwGfxScaleRGB565GradientBlend || \
437  defined EwGfxScaleRGB565LinearGradient || \
438  defined EwGfxScaleRGB565LinearGradientBlend || \
439  defined EwGfxScaleRGB565Filter || \
440  defined EwGfxScaleRGB565FilterGradient || \
441  defined EwGfxScaleRGB565FilterGradientBlend || \
442  defined EwGfxScaleRGB565FilterLinearGradient || \
443  defined EwGfxScaleRGB565FilterLinearGradientBlend
444 #define EwNeedNativeSurface
445 #define EwNeedRGB565Surface
446 #endif
447 
448 /* Contradictory screen surface format configuration */
449 #if !defined EW_USE_PIXEL_FORMAT_SCREEN && defined EwProvideScreenSurface
450 #error "Screen surface is defined but not used by the viewport."
451 #endif
452 
453 /* Verify the integrity of the adaptation of screen target drawing operations */
454 #if defined EwNeedScreenSurface && !defined EwProvideScreenSurface
455 #error "Screen surface drawing operations without screen surface support."
456 #endif
457 
458 /* Verify the integrity of the adaptation of native drawing operations */
459 #if defined EwNeedNativeSurface && !defined EwProvideNativeSurface
460 #error "Native surface drawing operations without native surface support."
461 #endif
462 
463 /* Verify the integrity of the adaptation of index8 drawing operations */
464 #if defined EwNeedIndex8Surface && !defined EwProvideIndex8Surface
465 #error "Index8 surface drawing operations without index8 surface support."
466 #endif
467 
468 /* Verify the integrity of the adaptation of alpha8 drawing operations */
469 #if defined EwNeedAlpha8Surface && !defined EwProvideAlpha8Surface
470 #error "Alpha8 drawing operations found but no alpha8 surface support."
471 #endif
472 
473 /* Verify the integrity of the adaptation of rgb565 drawing operations */
474 #if defined EwNeedRGB565Surface && !defined EwProvideRGB565Surface
475 #error "Rgb565 surface drawing operations without rgb565 surface support."
476 #endif
477 
478 /* Verify the integrity of the framebuffer/display adaptation */
479 #if !defined EwGfxInitViewport || !defined EwGfxDoneViewport
480 #error "Incomplete viewport adaptation."
481 #endif
482 
483 #if !defined EwGfxBeginUpdate || !defined EwGfxEndUpdate
484 #error "Incomplete viewport adaptation."
485 #endif
486 
487 /* Ignore all Software Pixel Driver worker functions responsable for the
488  warp operations if this functionality is not needed. */
489 #ifdef EW_DONT_USE_WARP_FUNCTIONS
490 #define EwWarpNativeRow 0
491 #define EwWarpNativeRowFilter 0
492 #define EwWarpNativeRowBlend 0
493 #define EwWarpNativeRowFilterBlend 0
494 #define EwWarpNativeRowGradient 0
495 #define EwWarpNativeRowSolid 0
496 #define EwWarpNativeRowFilterGradient 0
497 #define EwWarpNativeRowFilterSolid 0
498 #define EwWarpNativeRowGradientBlend 0
499 #define EwWarpNativeRowSolidBlend 0
500 #define EwWarpNativeRowFilterGradientBlend 0
501 #define EwWarpNativeRowFilterSolidBlend 0
502 #define EwWarpIndex8Row 0
503 #define EwWarpIndex8RowFilter 0
504 #define EwWarpIndex8RowBlend 0
505 #define EwWarpIndex8RowFilterBlend 0
506 #define EwWarpIndex8RowGradient 0
507 #define EwWarpIndex8RowSolid 0
508 #define EwWarpIndex8RowFilterGradient 0
509 #define EwWarpIndex8RowFilterSolid 0
510 #define EwWarpIndex8RowGradientBlend 0
511 #define EwWarpIndex8RowSolidBlend 0
512 #define EwWarpIndex8RowFilterGradientBlend 0
513 #define EwWarpIndex8RowFilterSolidBlend 0
514 #define EwWarpAlpha8RowGradient 0
515 #define EwWarpAlpha8RowSolid 0
516 #define EwWarpAlpha8RowFilterGradient 0
517 #define EwWarpAlpha8RowFilterSolid 0
518 #define EwWarpAlpha8RowGradientBlend 0
519 #define EwWarpAlpha8RowSolidBlend 0
520 #define EwWarpAlpha8RowFilterGradientBlend 0
521 #define EwWarpAlpha8RowFilterSolidBlend 0
522 #define EwWarpRGB565Row 0
523 #define EwWarpRGB565RowFilter 0
524 #define EwWarpRGB565RowGradient 0
525 #define EwWarpRGB565RowSolid 0
526 #define EwWarpRGB565RowFilterGradient 0
527 #define EwWarpRGB565RowFilterSolid 0
528 #define EwWarpRGB565RowGradientBlend 0
529 #define EwWarpRGB565RowSolidBlend 0
530 #define EwWarpRGB565RowFilterGradientBlend 0
531 #define EwWarpRGB565RowFilterSolidBlend 0
532 #define EwScreenWarpNativeRow 0
533 #define EwScreenWarpNativeRowFilter 0
534 #define EwScreenWarpNativeRowBlend 0
535 #define EwScreenWarpNativeRowFilterBlend 0
536 #define EwScreenWarpNativeRowGradient 0
537 #define EwScreenWarpNativeRowSolid 0
538 #define EwScreenWarpNativeRowFilterGradient 0
539 #define EwScreenWarpNativeRowFilterSolid 0
540 #define EwScreenWarpNativeRowGradientBlend 0
541 #define EwScreenWarpNativeRowSolidBlend 0
542 #define EwScreenWarpNativeRowFilterGradientBlend 0
543 #define EwScreenWarpNativeRowFilterSolidBlend 0
544 #define EwScreenWarpIndex8Row 0
545 #define EwScreenWarpIndex8RowFilter 0
546 #define EwScreenWarpIndex8RowBlend 0
547 #define EwScreenWarpIndex8RowFilterBlend 0
548 #define EwScreenWarpIndex8RowGradient 0
549 #define EwScreenWarpIndex8RowSolid 0
550 #define EwScreenWarpIndex8RowFilterGradient 0
551 #define EwScreenWarpIndex8RowFilterSolid 0
552 #define EwScreenWarpIndex8RowGradientBlend 0
553 #define EwScreenWarpIndex8RowSolidBlend 0
554 #define EwScreenWarpIndex8RowFilterGradientBlend 0
555 #define EwScreenWarpIndex8RowFilterSolidBlend 0
556 #define EwScreenWarpAlpha8RowGradient 0
557 #define EwScreenWarpAlpha8RowSolid 0
558 #define EwScreenWarpAlpha8RowFilterGradient 0
559 #define EwScreenWarpAlpha8RowFilterSolid 0
560 #define EwScreenWarpAlpha8RowGradientBlend 0
561 #define EwScreenWarpAlpha8RowSolidBlend 0
562 #define EwScreenWarpAlpha8RowFilterGradientBlend 0
563 #define EwScreenWarpAlpha8RowFilterSolidBlend 0
564 #define EwScreenWarpRGB565Row 0
565 #define EwScreenWarpRGB565RowFilter 0
566 #define EwScreenWarpRGB565RowGradient 0
567 #define EwScreenWarpRGB565RowSolid 0
568 #define EwScreenWarpRGB565RowFilterGradient 0
569 #define EwScreenWarpRGB565RowFilterSolid 0
570 #define EwScreenWarpRGB565RowGradientBlend 0
571 #define EwScreenWarpRGB565RowSolidBlend 0
572 #define EwScreenWarpRGB565RowFilterGradientBlend 0
573 #define EwScreenWarpRGB565RowFilterSolidBlend 0
574 #endif
575 
576 /* Ignore all Software Pixel Driver worker functions responsable for the
577  copy/warp operations involving Index8 surfaces if this functionality
578  is not needed. */
579 #ifdef EW_DONT_USE_INDEX8_SURFACES
580 #define EwCopyIndex8Row 0
581 #define EwCopyIndex8RowBlend 0
582 #define EwCopyIndex8RowSolid 0
583 #define EwCopyIndex8RowSolidBlend 0
584 #define EwCopyIndex8RowGradient 0
585 #define EwCopyIndex8RowGradientBlend 0
586 #define EwWarpIndex8Row 0
587 #define EwWarpIndex8RowFilter 0
588 #define EwWarpIndex8RowBlend 0
589 #define EwWarpIndex8RowFilterBlend 0
590 #define EwWarpIndex8RowGradient 0
591 #define EwWarpIndex8RowSolid 0
592 #define EwWarpIndex8RowFilterGradient 0
593 #define EwWarpIndex8RowFilterSolid 0
594 #define EwWarpIndex8RowGradientBlend 0
595 #define EwWarpIndex8RowSolidBlend 0
596 #define EwWarpIndex8RowFilterGradientBlend 0
597 #define EwWarpIndex8RowFilterSolidBlend 0
598 #define EwScreenCopyIndex8Row 0
599 #define EwScreenCopyIndex8RowBlend 0
600 #define EwScreenCopyIndex8RowSolid 0
601 #define EwScreenCopyIndex8RowSolidBlend 0
602 #define EwScreenCopyIndex8RowGradient 0
603 #define EwScreenCopyIndex8RowGradientBlend 0
604 #define EwScreenWarpIndex8Row 0
605 #define EwScreenWarpIndex8RowFilter 0
606 #define EwScreenWarpIndex8RowBlend 0
607 #define EwScreenWarpIndex8RowFilterBlend 0
608 #define EwScreenWarpIndex8RowGradient 0
609 #define EwScreenWarpIndex8RowSolid 0
610 #define EwScreenWarpIndex8RowFilterGradient 0
611 #define EwScreenWarpIndex8RowFilterSolid 0
612 #define EwScreenWarpIndex8RowGradientBlend 0
613 #define EwScreenWarpIndex8RowSolidBlend 0
614 #define EwScreenWarpIndex8RowFilterGradientBlend 0
615 #define EwScreenWarpIndex8RowFilterSolidBlend 0
616 #endif
617 
618 /* Ignore all Software Pixel Driver worker functions responsable for the
619  copy/warp operations involving RGB565 surfaces if this functionality
620  is not needed. */
621 #ifdef EW_DONT_USE_RGB565_SURFACES
622 #define EwCopyRGB565Row 0
623 #define EwCopyRGB565RowSolid 0
624 #define EwCopyRGB565RowSolidBlend 0
625 #define EwCopyRGB565RowGradient 0
626 #define EwCopyRGB565RowGradientBlend 0
627 #define EwWarpRGB565Row 0
628 #define EwWarpRGB565RowFilter 0
629 #define EwWarpRGB565RowGradient 0
630 #define EwWarpRGB565RowSolid 0
631 #define EwWarpRGB565RowFilterGradient 0
632 #define EwWarpRGB565RowFilterSolid 0
633 #define EwWarpRGB565RowGradientBlend 0
634 #define EwWarpRGB565RowSolidBlend 0
635 #define EwWarpRGB565RowFilterGradientBlend 0
636 #define EwWarpRGB565RowFilterSolidBlend 0
637 #define EwScreenCopyRGB565Row 0
638 #define EwScreenCopyRGB565RowSolid 0
639 #define EwScreenCopyRGB565RowSolidBlend 0
640 #define EwScreenCopyRGB565RowGradient 0
641 #define EwScreenCopyRGB565RowGradientBlend 0
642 #define EwScreenWarpRGB565Row 0
643 #define EwScreenWarpRGB565RowFilter 0
644 #define EwScreenWarpRGB565RowGradient 0
645 #define EwScreenWarpRGB565RowSolid 0
646 #define EwScreenWarpRGB565RowFilterGradient 0
647 #define EwScreenWarpRGB565RowFilterSolid 0
648 #define EwScreenWarpRGB565RowGradientBlend 0
649 #define EwScreenWarpRGB565RowSolidBlend 0
650 #define EwScreenWarpRGB565RowFilterGradientBlend 0
651 #define EwScreenWarpRGB565RowFilterSolidBlend 0
652 #endif
653 
654 /* Depending on the capabilities of the underlying graphics subsystem select
655  a set of functions for the 'draw a line' operation.
656  Missing functionality will be emulated by the software. */
657 #ifdef EwGfxDrawLineGradient
658 #define EwSetPixelSolid 0
659 #else
660 #define EwGfxDrawLineGradient 0
661 #endif
662 
663 #ifdef EwGfxDrawLineGradientBlend
664 #define EwSetPixelSolidBlend 0
665 #else
666 #define EwGfxDrawLineGradientBlend 0
667 #endif
668 
669 #ifndef EwGfxDrawLineSolid
670 #define EwGfxDrawLineSolid EwGfxDrawLineGradient
671 #endif
672 
673 #ifndef EwGfxDrawLineSolidBlend
674 #define EwGfxDrawLineSolidBlend EwGfxDrawLineGradientBlend
675 #endif
676 
677 #ifdef EwGfxScreenDrawLineGradient
678 #define EwScreenSetPixelSolid 0
679 #else
680 #define EwGfxScreenDrawLineGradient 0
681 #endif
682 
683 #ifdef EwGfxScreenDrawLineGradientBlend
684 #define EwScreenSetPixelSolidBlend 0
685 #else
686 #define EwGfxScreenDrawLineGradientBlend 0
687 #endif
688 
689 #ifndef EwGfxScreenDrawLineSolid
690 #define EwGfxScreenDrawLineSolid EwGfxScreenDrawLineGradient
691 #endif
692 
693 #ifndef EwGfxScreenDrawLineSolidBlend
694 #define EwGfxScreenDrawLineSolidBlend EwGfxScreenDrawLineGradientBlend
695 #endif
696 
697 /* Register the functionality provided by the underlying graphics subsystem. */
698 static const XLineDriver LineDrivers[] = {0,
699  0,
704 
705 #ifdef EW_USE_PIXEL_FORMAT_SCREEN
706  0,
707  0, /* Gap */
708  0,
709  0,
714 #endif
715 
716  0};
717 
718 /* For missing graphics subsystem functionality, register alternative software
719  emulated functions */
720 static const XLineWorker LineWorkers[] = {0,
721  0,
726 
727 #ifdef EW_USE_PIXEL_FORMAT_SCREEN
728  0,
729  0, /* Gap */
730  0,
731  0,
736 #endif
737 
738  0};
739 
740 /* Depending on the capabilities of the underlying graphics subsystem select
741  a set of functions for the 'fill rectangle' operation.
742  Missing functionality will be emulated by the software. */
743 #ifdef EwGfxFillGradient
744 #define EwFillRowGradient 0
745 #define EwFillRowSolid 0
746 #else
747 #define EwGfxFillGradient 0
748 #endif
749 
750 #ifdef EwGfxFillGradientBlend
751 #define EwFillRowGradientBlend 0
752 #define EwFillRowSolidBlend 0
753 #else
754 #define EwGfxFillGradientBlend 0
755 #endif
756 
757 #ifdef EwGfxFillLinearGradient
758 #define EwFillRowSolid 0
759 #else
760 #define EwGfxFillLinearGradient EwGfxFillGradient
761 #endif
762 
763 #ifdef EwGfxFillLinearGradientBlend
764 #define EwFillRowSolidBlend 0
765 #else
766 #define EwGfxFillLinearGradientBlend EwGfxFillGradientBlend
767 #endif
768 
769 #ifndef EwGfxFillSolid
770 #define EwGfxFillSolid EwGfxFillLinearGradient
771 #endif
772 
773 #ifndef EwGfxFillSolidBlend
774 #define EwGfxFillSolidBlend EwGfxFillLinearGradientBlend
775 #endif
776 
777 #ifdef EwGfxScreenFillGradient
778 #define EwScreenFillRowGradient 0
779 #define EwScreenFillRowSolid 0
780 #else
781 #define EwGfxScreenFillGradient 0
782 #endif
783 
784 #ifdef EwGfxScreenFillGradientBlend
785 #define EwScreenFillRowGradientBlend 0
786 #define EwScreenFillRowSolidBlend 0
787 #else
788 #define EwGfxScreenFillGradientBlend 0
789 #endif
790 
791 #ifdef EwGfxScreenFillLinearGradient
792 #define EwScreenFillRowSolid 0
793 #else
794 #define EwGfxScreenFillLinearGradient EwGfxScreenFillGradient
795 #endif
796 
797 #ifdef EwGfxScreenFillLinearGradientBlend
798 #define EwScreenFillRowSolidBlend 0
799 #else
800 #define EwGfxScreenFillLinearGradientBlend EwGfxScreenFillGradientBlend
801 #endif
802 
803 #ifndef EwGfxScreenFillSolid
804 #define EwGfxScreenFillSolid EwGfxScreenFillLinearGradient
805 #endif
806 
807 #ifndef EwGfxScreenFillSolidBlend
808 #define EwGfxScreenFillSolidBlend EwGfxScreenFillLinearGradientBlend
809 #endif
810 
811 /* Register the functionality provided by the underlying graphics subsystem. */
812 static const XFillDriver FillDrivers[] = {0,
813  0,
820 
821 #ifdef EW_USE_PIXEL_FORMAT_SCREEN
822  0,
823  0,
830 #endif
831 
832  0};
833 
834 /* For missing graphics subsystem functionality, register alternative software
835  emulated functions */
836 static const XFillWorker FillWorkers[] = {0,
837  0,
844 
845 #ifdef EW_USE_PIXEL_FORMAT_SCREEN
846  0,
847  0,
854 #endif
855 
856  0};
857 
858 /* Depending on the capabilities of the underlying graphics subsystem select
859  a set of functions for the 'copy surface' operation.
860  Missing functionality will be emulated by the software. */
861 #ifdef EwGfxCopyNative
862 #define EwCopyNativeRow 0
863 #else
864 #define EwGfxCopyNative 0
865 #endif
866 
867 #ifdef EwGfxCopyNativeBlend
868 #define EwCopyNativeRowBlend 0
869 #else
870 #define EwGfxCopyNativeBlend 0
871 #endif
872 
873 #ifdef EwGfxCopyNativeGradient
874 #define EwCopyNativeRowGradient 0
875 #define EwCopyNativeRowSolid 0
876 #else
877 #define EwGfxCopyNativeGradient 0
878 #endif
879 
880 #ifdef EwGfxCopyNativeGradientBlend
881 #define EwCopyNativeRowGradientBlend 0
882 #define EwCopyNativeRowSolidBlend 0
883 #else
884 #define EwGfxCopyNativeGradientBlend 0
885 #endif
886 
887 #ifdef EwGfxCopyNativeLinearGradient
888 #define EwCopyNativeRowSolid 0
889 #else
890 #define EwGfxCopyNativeLinearGradient EwGfxCopyNativeGradient
891 #endif
892 
893 #ifdef EwGfxCopyNativeLinearGradientBlend
894 #define EwCopyNativeRowSolidBlend 0
895 #else
896 #define EwGfxCopyNativeLinearGradientBlend EwGfxCopyNativeGradientBlend
897 #endif
898 
899 #ifndef EwGfxCopyNativeSolid
900 #define EwGfxCopyNativeSolid EwGfxCopyNativeLinearGradient
901 #endif
902 
903 #ifndef EwGfxCopyNativeSolidBlend
904 #define EwGfxCopyNativeSolidBlend EwGfxCopyNativeLinearGradientBlend
905 #endif
906 
907 #ifdef EwGfxCopyIndex8
908 #define EwCopyIndex8Row 0
909 #else
910 #define EwGfxCopyIndex8 0
911 #endif
912 
913 #ifdef EwGfxCopyIndex8Blend
914 #define EwCopyIndex8RowBlend 0
915 #else
916 #define EwGfxCopyIndex8Blend 0
917 #endif
918 
919 #ifdef EwGfxCopyIndex8Gradient
920 #define EwCopyIndex8RowGradient 0
921 #define EwCopyIndex8RowSolid 0
922 #else
923 #define EwGfxCopyIndex8Gradient 0
924 #endif
925 
926 #ifdef EwGfxCopyIndex8GradientBlend
927 #define EwCopyIndex8RowGradientBlend 0
928 #define EwCopyIndex8RowSolidBlend 0
929 #else
930 #define EwGfxCopyIndex8GradientBlend 0
931 #endif
932 
933 #ifdef EwGfxCopyIndex8LinearGradient
934 #define EwCopyIndex8RowSolid 0
935 #else
936 #define EwGfxCopyIndex8LinearGradient EwGfxCopyIndex8Gradient
937 #endif
938 
939 #ifdef EwGfxCopyIndex8LinearGradientBlend
940 #define EwCopyIndex8RowSolidBlend 0
941 #else
942 #define EwGfxCopyIndex8LinearGradientBlend EwGfxCopyIndex8GradientBlend
943 #endif
944 
945 #ifndef EwGfxCopyIndex8Solid
946 #define EwGfxCopyIndex8Solid EwGfxCopyIndex8LinearGradient
947 #endif
948 
949 #ifndef EwGfxCopyIndex8SolidBlend
950 #define EwGfxCopyIndex8SolidBlend EwGfxCopyIndex8LinearGradientBlend
951 #endif
952 
953 #ifdef EwGfxCopyAlpha8Gradient
954 #define EwCopyAlpha8RowGradient 0
955 #define EwCopyAlpha8RowSolid 0
956 #else
957 #define EwGfxCopyAlpha8Gradient 0
958 #endif
959 
960 #ifdef EwGfxCopyAlpha8GradientBlend
961 #define EwCopyAlpha8RowGradientBlend 0
962 #define EwCopyAlpha8RowSolidBlend 0
963 #else
964 #define EwGfxCopyAlpha8GradientBlend 0
965 #endif
966 
967 #ifdef EwGfxCopyAlpha8LinearGradient
968 #define EwCopyAlpha8RowSolid 0
969 #else
970 #define EwGfxCopyAlpha8LinearGradient EwGfxCopyAlpha8Gradient
971 #endif
972 
973 #ifdef EwGfxCopyAlpha8LinearGradientBlend
974 #define EwCopyAlpha8RowSolidBlend 0
975 #else
976 #define EwGfxCopyAlpha8LinearGradientBlend EwGfxCopyAlpha8GradientBlend
977 #endif
978 
979 #ifndef EwGfxCopyAlpha8Solid
980 #define EwGfxCopyAlpha8Solid EwGfxCopyAlpha8LinearGradient
981 #endif
982 
983 #ifndef EwGfxCopyAlpha8SolidBlend
984 #define EwGfxCopyAlpha8SolidBlend EwGfxCopyAlpha8LinearGradientBlend
985 #endif
986 
987 #ifdef EwGfxCopyRGB565
988 #define EwCopyRGB565Row 0
989 #else
990 #define EwGfxCopyRGB565 0
991 #endif
992 
993 #ifdef EwGfxCopyRGB565Gradient
994 #define EwCopyRGB565RowGradient 0
995 #define EwCopyRGB565RowSolid 0
996 #else
997 #define EwGfxCopyRGB565Gradient 0
998 #endif
999 
1000 #ifdef EwGfxCopyRGB565GradientBlend
1001 #define EwCopyRGB565RowGradientBlend 0
1002 #define EwCopyRGB565RowSolidBlend 0
1003 #else
1004 #define EwGfxCopyRGB565GradientBlend 0
1005 #endif
1006 
1007 #ifdef EwGfxCopyRGB565LinearGradient
1008 #define EwCopyRGB565RowSolid 0
1009 #else
1010 #define EwGfxCopyRGB565LinearGradient EwGfxCopyRGB565Gradient
1011 #endif
1012 
1013 #ifdef EwGfxCopyRGB565LinearGradientBlend
1014 #define EwCopyRGB565RowSolidBlend 0
1015 #else
1016 #define EwGfxCopyRGB565LinearGradientBlend EwGfxCopyRGB565GradientBlend
1017 #endif
1018 
1019 #ifndef EwGfxCopyRGB565Solid
1020 #define EwGfxCopyRGB565Solid EwGfxCopyRGB565LinearGradient
1021 #endif
1022 
1023 #ifndef EwGfxCopyRGB565SolidBlend
1024 #define EwGfxCopyRGB565SolidBlend EwGfxCopyRGB565LinearGradientBlend
1025 #endif
1026 
1027 #ifdef EwGfxScreenCopyNative
1028 #define EwScreenCopyNativeRow 0
1029 #else
1030 #define EwGfxScreenCopyNative 0
1031 #endif
1032 
1033 #ifdef EwGfxScreenCopyNativeBlend
1034 #define EwScreenCopyNativeRowBlend 0
1035 #else
1036 #define EwGfxScreenCopyNativeBlend 0
1037 #endif
1038 
1039 #ifdef EwGfxScreenCopyNativeGradient
1040 #define EwScreenCopyNativeRowGradient 0
1041 #define EwScreenCopyNativeRowSolid 0
1042 #else
1043 #define EwGfxScreenCopyNativeGradient 0
1044 #endif
1045 
1046 #ifdef EwGfxScreenCopyNativeGradientBlend
1047 #define EwScreenCopyNativeRowGradientBlend 0
1048 #define EwScreenCopyNativeRowSolidBlend 0
1049 #else
1050 #define EwGfxScreenCopyNativeGradientBlend 0
1051 #endif
1052 
1053 #ifdef EwGfxScreenCopyNativeLinearGradient
1054 #define EwScreenCopyNativeRowSolid 0
1055 #else
1056 #define EwGfxScreenCopyNativeLinearGradient EwGfxScreenCopyNativeGradient
1057 #endif
1058 
1059 #ifdef EwGfxScreenCopyNativeLinearGradientBlend
1060 #define EwScreenCopyNativeRowSolidBlend 0
1061 #else
1062 #define EwGfxScreenCopyNativeLinearGradientBlend \
1063  EwGfxScreenCopyNativeGradientBlend
1064 #endif
1065 
1066 #ifndef EwGfxScreenCopyNativeSolid
1067 #define EwGfxScreenCopyNativeSolid EwGfxScreenCopyNativeLinearGradient
1068 #endif
1069 
1070 #ifndef EwGfxScreenCopyNativeSolidBlend
1071 #define EwGfxScreenCopyNativeSolidBlend EwGfxScreenCopyNativeLinearGradientBlend
1072 #endif
1073 
1074 #ifdef EwGfxScreenCopyIndex8
1075 #define EwScreenCopyIndex8Row 0
1076 #else
1077 #define EwGfxScreenCopyIndex8 0
1078 #endif
1079 
1080 #ifdef EwGfxScreenCopyIndex8Blend
1081 #define EwScreenCopyIndex8RowBlend 0
1082 #else
1083 #define EwGfxScreenCopyIndex8Blend 0
1084 #endif
1085 
1086 #ifdef EwGfxScreenCopyIndex8Gradient
1087 #define EwScreenCopyIndex8RowGradient 0
1088 #define EwScreenCopyIndex8RowSolid 0
1089 #else
1090 #define EwGfxScreenCopyIndex8Gradient 0
1091 #endif
1092 
1093 #ifdef EwGfxScreenCopyIndex8GradientBlend
1094 #define EwScreenCopyIndex8RowGradientBlend 0
1095 #define EwScreenCopyIndex8RowSolidBlend 0
1096 #else
1097 #define EwGfxScreenCopyIndex8GradientBlend 0
1098 #endif
1099 
1100 #ifdef EwGfxScreenCopyIndex8LinearGradient
1101 #define EwScreenCopyIndex8RowSolid 0
1102 #else
1103 #define EwGfxScreenCopyIndex8LinearGradient EwGfxScreenCopyIndex8Gradient
1104 #endif
1105 
1106 #ifdef EwGfxScreenCopyIndex8LinearGradientBlend
1107 #define EwScreenCopyIndex8RowSolidBlend 0
1108 #else
1109 #define EwGfxScreenCopyIndex8LinearGradientBlend \
1110  EwGfxScreenCopyIndex8GradientBlend
1111 #endif
1112 
1113 #ifndef EwGfxScreenCopyIndex8Solid
1114 #define EwGfxScreenCopyIndex8Solid EwGfxScreenCopyIndex8LinearGradient
1115 #endif
1116 
1117 #ifndef EwGfxScreenCopyIndex8SolidBlend
1118 #define EwGfxScreenCopyIndex8SolidBlend EwGfxScreenCopyIndex8LinearGradientBlend
1119 #endif
1120 
1121 #ifdef EwGfxScreenCopyAlpha8Gradient
1122 #define EwScreenCopyAlpha8RowGradient 0
1123 #define EwScreenCopyAlpha8RowSolid 0
1124 #else
1125 #define EwGfxScreenCopyAlpha8Gradient 0
1126 #endif
1127 
1128 #ifdef EwGfxScreenCopyAlpha8GradientBlend
1129 #define EwScreenCopyAlpha8RowGradientBlend 0
1130 #define EwScreenCopyAlpha8RowSolidBlend 0
1131 #else
1132 #define EwGfxScreenCopyAlpha8GradientBlend 0
1133 #endif
1134 
1135 #ifdef EwGfxScreenCopyAlpha8LinearGradient
1136 #define EwScreenCopyAlpha8RowSolid 0
1137 #else
1138 #define EwGfxScreenCopyAlpha8LinearGradient EwGfxScreenCopyAlpha8Gradient
1139 #endif
1140 
1141 #ifdef EwGfxScreenCopyAlpha8LinearGradientBlend
1142 #define EwScreenCopyAlpha8RowSolidBlend 0
1143 #else
1144 #define EwGfxScreenCopyAlpha8LinearGradientBlend \
1145  EwGfxScreenCopyAlpha8GradientBlend
1146 #endif
1147 
1148 #ifndef EwGfxScreenCopyAlpha8Solid
1149 #define EwGfxScreenCopyAlpha8Solid EwGfxScreenCopyAlpha8LinearGradient
1150 #endif
1151 
1152 #ifndef EwGfxScreenCopyAlpha8SolidBlend
1153 #define EwGfxScreenCopyAlpha8SolidBlend EwGfxScreenCopyAlpha8LinearGradientBlend
1154 #endif
1155 
1156 #ifdef EwGfxScreenCopyRGB565
1157 #define EwScreenCopyRGB565Row 0
1158 #else
1159 #define EwGfxScreenCopyRGB565 0
1160 #endif
1161 
1162 #ifdef EwGfxScreenCopyRGB565Gradient
1163 #define EwScreenCopyRGB565RowGradient 0
1164 #define EwScreenCopyRGB565RowSolid 0
1165 #else
1166 #define EwGfxScreenCopyRGB565Gradient 0
1167 #endif
1168 
1169 #ifdef EwGfxScreenCopyRGB565GradientBlend
1170 #define EwScreenCopyRGB565RowGradientBlend 0
1171 #define EwScreenCopyRGB565RowSolidBlend 0
1172 #else
1173 #define EwGfxScreenCopyRGB565GradientBlend 0
1174 #endif
1175 
1176 #ifdef EwGfxScreenCopyRGB565LinearGradient
1177 #define EwScreenCopyRGB565RowSolid 0
1178 #else
1179 #define EwGfxScreenCopyRGB565LinearGradient EwGfxScreenCopyRGB565Gradient
1180 #endif
1181 
1182 #ifdef EwGfxScreenCopyRGB565LinearGradientBlend
1183 #define EwScreenCopyRGB565RowSolidBlend 0
1184 #else
1185 #define EwGfxScreenCopyRGB565LinearGradientBlend \
1186  EwGfxScreenCopyRGB565GradientBlend
1187 #endif
1188 
1189 #ifndef EwGfxScreenCopyRGB565Solid
1190 #define EwGfxScreenCopyRGB565Solid EwGfxScreenCopyRGB565LinearGradient
1191 #endif
1192 
1193 #ifndef EwGfxScreenCopyRGB565SolidBlend
1194 #define EwGfxScreenCopyRGB565SolidBlend EwGfxScreenCopyRGB565LinearGradientBlend
1195 #endif
1196 
1197 /* Register the functionality provided by the underlying graphics subsystem. */
1198 static const XCopyDriver CopyDrivers[] = {
1215  0,
1216  0,
1231 
1232 #ifdef EW_USE_PIXEL_FORMAT_SCREEN
1249  0,
1250  0,
1265 #endif
1266 
1267  0};
1268 
1269 /* For missing graphics subsystem functionality, register alternative software
1270  emulated functions */
1287  0,
1288  0,
1303 
1304 #ifdef EW_USE_PIXEL_FORMAT_SCREEN
1321  0,
1322  0,
1337 #endif
1338 
1339  0};
1340 
1341 /* Depending on the capabilities of the underlying graphics subsystem select
1342  a set of functions for the 'tile surface' operation. For missing tile
1343  functionality multiple copy operations will be used. */
1344 #ifndef EwGfxTileNative
1345 #define EwGfxTileNative 0
1346 #endif
1347 
1348 #ifndef EwGfxTileNativeBlend
1349 #define EwGfxTileNativeBlend 0
1350 #endif
1351 
1352 #ifndef EwGfxTileNativeSolid
1353 #define EwGfxTileNativeSolid 0
1354 #endif
1355 
1356 #ifndef EwGfxTileNativeSolidBlend
1357 #define EwGfxTileNativeSolidBlend 0
1358 #endif
1359 
1360 #ifndef EwGfxTileNativeGradient
1361 #define EwGfxTileNativeGradient 0
1362 #endif
1363 
1364 #ifndef EwGfxTileNativeGradientBlend
1365 #define EwGfxTileNativeGradientBlend 0
1366 #endif
1367 
1368 #ifndef EwGfxTileNativeLinearGradient
1369 #define EwGfxTileNativeLinearGradient 0
1370 #endif
1371 
1372 #ifndef EwGfxTileNativeLinearGradientBlend
1373 #define EwGfxTileNativeLinearGradientBlend 0
1374 #endif
1375 
1376 #ifndef EwGfxTileIndex8
1377 #define EwGfxTileIndex8 0
1378 #endif
1379 
1380 #ifndef EwGfxTileIndex8Blend
1381 #define EwGfxTileIndex8Blend 0
1382 #endif
1383 
1384 #ifndef EwGfxTileIndex8Solid
1385 #define EwGfxTileIndex8Solid 0
1386 #endif
1387 
1388 #ifndef EwGfxTileIndex8SolidBlend
1389 #define EwGfxTileIndex8SolidBlend 0
1390 #endif
1391 
1392 #ifndef EwGfxTileIndex8Gradient
1393 #define EwGfxTileIndex8Gradient 0
1394 #endif
1395 
1396 #ifndef EwGfxTileIndex8GradientBlend
1397 #define EwGfxTileIndex8GradientBlend 0
1398 #endif
1399 
1400 #ifndef EwGfxTileIndex8LinearGradient
1401 #define EwGfxTileIndex8LinearGradient 0
1402 #endif
1403 
1404 #ifndef EwGfxTileIndex8LinearGradientBlend
1405 #define EwGfxTileIndex8LinearGradientBlend 0
1406 #endif
1407 
1408 #ifndef EwGfxTileAlpha8Solid
1409 #define EwGfxTileAlpha8Solid 0
1410 #endif
1411 
1412 #ifndef EwGfxTileAlpha8SolidBlend
1413 #define EwGfxTileAlpha8SolidBlend 0
1414 #endif
1415 
1416 #ifndef EwGfxTileAlpha8Gradient
1417 #define EwGfxTileAlpha8Gradient 0
1418 #endif
1419 
1420 #ifndef EwGfxTileAlpha8GradientBlend
1421 #define EwGfxTileAlpha8GradientBlend 0
1422 #endif
1423 
1424 #ifndef EwGfxTileAlpha8LinearGradient
1425 #define EwGfxTileAlpha8LinearGradient 0
1426 #endif
1427 
1428 #ifndef EwGfxTileAlpha8LinearGradientBlend
1429 #define EwGfxTileAlpha8LinearGradientBlend 0
1430 #endif
1431 
1432 #ifndef EwGfxTileRGB565
1433 #define EwGfxTileRGB565 0
1434 #endif
1435 
1436 #ifndef EwGfxTileRGB565Solid
1437 #define EwGfxTileRGB565Solid 0
1438 #endif
1439 
1440 #ifndef EwGfxTileRGB565SolidBlend
1441 #define EwGfxTileRGB565SolidBlend 0
1442 #endif
1443 
1444 #ifndef EwGfxTileRGB565Gradient
1445 #define EwGfxTileRGB565Gradient 0
1446 #endif
1447 
1448 #ifndef EwGfxTileRGB565GradientBlend
1449 #define EwGfxTileRGB565GradientBlend 0
1450 #endif
1451 
1452 #ifndef EwGfxTileRGB565LinearGradient
1453 #define EwGfxTileRGB565LinearGradient 0
1454 #endif
1455 
1456 #ifndef EwGfxTileRGB565LinearGradientBlend
1457 #define EwGfxTileRGB565LinearGradientBlend 0
1458 #endif
1459 
1460 #ifndef EwGfxScreenTileNative
1461 #define EwGfxScreenTileNative 0
1462 #endif
1463 
1464 #ifndef EwGfxScreenTileNativeBlend
1465 #define EwGfxScreenTileNativeBlend 0
1466 #endif
1467 
1468 #ifndef EwGfxScreenTileNativeSolid
1469 #define EwGfxScreenTileNativeSolid 0
1470 #endif
1471 
1472 #ifndef EwGfxScreenTileNativeSolidBlend
1473 #define EwGfxScreenTileNativeSolidBlend 0
1474 #endif
1475 
1476 #ifndef EwGfxScreenTileNativeGradient
1477 #define EwGfxScreenTileNativeGradient 0
1478 #endif
1479 
1480 #ifndef EwGfxScreenTileNativeGradientBlend
1481 #define EwGfxScreenTileNativeGradientBlend 0
1482 #endif
1483 
1484 #ifndef EwGfxScreenTileNativeLinearGradient
1485 #define EwGfxScreenTileNativeLinearGradient 0
1486 #endif
1487 
1488 #ifndef EwGfxScreenTileNativeLinearGradientBlend
1489 #define EwGfxScreenTileNativeLinearGradientBlend 0
1490 #endif
1491 
1492 #ifndef EwGfxScreenTileIndex8
1493 #define EwGfxScreenTileIndex8 0
1494 #endif
1495 
1496 #ifndef EwGfxScreenTileIndex8Blend
1497 #define EwGfxScreenTileIndex8Blend 0
1498 #endif
1499 
1500 #ifndef EwGfxScreenTileIndex8Solid
1501 #define EwGfxScreenTileIndex8Solid 0
1502 #endif
1503 
1504 #ifndef EwGfxScreenTileIndex8SolidBlend
1505 #define EwGfxScreenTileIndex8SolidBlend 0
1506 #endif
1507 
1508 #ifndef EwGfxScreenTileIndex8Gradient
1509 #define EwGfxScreenTileIndex8Gradient 0
1510 #endif
1511 
1512 #ifndef EwGfxScreenTileIndex8GradientBlend
1513 #define EwGfxScreenTileIndex8GradientBlend 0
1514 #endif
1515 
1516 #ifndef EwGfxScreenTileIndex8LinearGradient
1517 #define EwGfxScreenTileIndex8LinearGradient 0
1518 #endif
1519 
1520 #ifndef EwGfxScreenTileIndex8LinearGradientBlend
1521 #define EwGfxScreenTileIndex8LinearGradientBlend 0
1522 #endif
1523 
1524 #ifndef EwGfxScreenTileAlpha8Solid
1525 #define EwGfxScreenTileAlpha8Solid 0
1526 #endif
1527 
1528 #ifndef EwGfxScreenTileAlpha8SolidBlend
1529 #define EwGfxScreenTileAlpha8SolidBlend 0
1530 #endif
1531 
1532 #ifndef EwGfxScreenTileAlpha8Gradient
1533 #define EwGfxScreenTileAlpha8Gradient 0
1534 #endif
1535 
1536 #ifndef EwGfxScreenTileAlpha8GradientBlend
1537 #define EwGfxScreenTileAlpha8GradientBlend 0
1538 #endif
1539 
1540 #ifndef EwGfxScreenTileAlpha8LinearGradient
1541 #define EwGfxScreenTileAlpha8LinearGradient 0
1542 #endif
1543 
1544 #ifndef EwGfxScreenTileAlpha8LinearGradientBlend
1545 #define EwGfxScreenTileAlpha8LinearGradientBlend 0
1546 #endif
1547 
1548 #ifndef EwGfxScreenTileRGB565
1549 #define EwGfxScreenTileRGB565 0
1550 #endif
1551 
1552 #ifndef EwGfxScreenTileRGB565Solid
1553 #define EwGfxScreenTileRGB565Solid 0
1554 #endif
1555 
1556 #ifndef EwGfxScreenTileRGB565SolidBlend
1557 #define EwGfxScreenTileRGB565SolidBlend 0
1558 #endif
1559 
1560 #ifndef EwGfxScreenTileRGB565Gradient
1561 #define EwGfxScreenTileRGB565Gradient 0
1562 #endif
1563 
1564 #ifndef EwGfxScreenTileRGB565GradientBlend
1565 #define EwGfxScreenTileRGB565GradientBlend 0
1566 #endif
1567 
1568 #ifndef EwGfxScreenTileRGB565LinearGradient
1569 #define EwGfxScreenTileRGB565LinearGradient 0
1570 #endif
1571 
1572 #ifndef EwGfxScreenTileRGB565LinearGradientBlend
1573 #define EwGfxScreenTileRGB565LinearGradientBlend 0
1574 #endif
1575 
1576 /* Register the functionality provided by the underlying graphics subsystem. */
1577 static const XTileDriver TileDrivers[] = {
1594  0,
1595  0,
1610 
1611 #ifdef EW_USE_PIXEL_FORMAT_SCREEN
1628  0,
1629  0,
1644 #endif
1645 
1646  0};
1647 
1648 /* Depending on the capabilities of the underlying graphics subsystem select
1649  a set of functions for the 'warp perspective surface' operation.
1650  Missing functionality will be emulated by the software. */
1651 #ifdef EwGfxWarpPerspNative
1652 #define EwWarpPerspNativeRow 0
1653 #else
1654 #define EwGfxWarpPerspNative 0
1655 #define EwWarpPerspNativeRow EwWarpNativeRow
1656 #endif
1657 
1658 #ifdef EwGfxWarpPerspNativeBlend
1659 #define EwWarpPerspNativeRowBlend 0
1660 #else
1661 #define EwGfxWarpPerspNativeBlend 0
1662 #define EwWarpPerspNativeRowBlend EwWarpNativeRowBlend
1663 #endif
1664 
1665 #ifdef EwGfxWarpPerspNativeGradient
1666 #define EwWarpPerspNativeRowGradient 0
1667 #define EwWarpPerspNativeRowSolid 0
1668 #else
1669 #define EwGfxWarpPerspNativeGradient 0
1670 #define EwWarpPerspNativeRowGradient EwWarpNativeRowGradient
1671 #endif
1672 
1673 #ifdef EwGfxWarpPerspNativeGradientBlend
1674 #define EwWarpPerspNativeRowGradientBlend 0
1675 #define EwWarpPerspNativeRowSolidBlend 0
1676 #else
1677 #define EwGfxWarpPerspNativeGradientBlend 0
1678 #define EwWarpPerspNativeRowGradientBlend EwWarpNativeRowGradientBlend
1679 #endif
1680 
1681 #ifdef EwGfxWarpPerspNativeFilter
1682 #define EwWarpPerspNativeRowFilter 0
1683 #else
1684 #define EwGfxWarpPerspNativeFilter 0
1685 #define EwWarpPerspNativeRowFilter EwWarpNativeRowFilter
1686 #endif
1687 
1688 #ifdef EwGfxWarpPerspNativeFilterBlend
1689 #define EwWarpPerspNativeRowFilterBlend 0
1690 #else
1691 #define EwGfxWarpPerspNativeFilterBlend 0
1692 #define EwWarpPerspNativeRowFilterBlend EwWarpNativeRowFilterBlend
1693 #endif
1694 
1695 #ifdef EwGfxWarpPerspNativeFilterGradient
1696 #define EwWarpPerspNativeRowFilterGradient 0
1697 #define EwWarpPerspNativeRowFilterSolid 0
1698 #else
1699 #define EwGfxWarpPerspNativeFilterGradient 0
1700 #define EwWarpPerspNativeRowFilterGradient EwWarpNativeRowFilterGradient
1701 #endif
1702 
1703 #ifdef EwGfxWarpPerspNativeFilterGradientBlend
1704 #define EwWarpPerspNativeRowFilterGradientBlend 0
1705 #define EwWarpPerspNativeRowFilterSolidBlend 0
1706 #else
1707 #define EwGfxWarpPerspNativeFilterGradientBlend 0
1708 #define EwWarpPerspNativeRowFilterGradientBlend \
1709  EwWarpNativeRowFilterGradientBlend
1710 #endif
1711 
1712 #ifndef EwGfxWarpPerspNativeSolid
1713 #define EwGfxWarpPerspNativeSolid EwGfxWarpPerspNativeGradient
1714 #endif
1715 
1716 #ifndef EwGfxWarpPerspNativeSolidBlend
1717 #define EwGfxWarpPerspNativeSolidBlend EwGfxWarpPerspNativeGradientBlend
1718 #endif
1719 
1720 #ifndef EwGfxWarpPerspNativeFilterSolid
1721 #define EwGfxWarpPerspNativeFilterSolid EwGfxWarpPerspNativeFilterGradient
1722 #endif
1723 
1724 #ifndef EwGfxWarpPerspNativeFilterSolidBlend
1725 #define EwGfxWarpPerspNativeFilterSolidBlend \
1726  EwGfxWarpPerspNativeFilterGradientBlend
1727 #endif
1728 
1729 #ifndef EwWarpPerspNativeRowSolid
1730 #define EwWarpPerspNativeRowSolid EwWarpNativeRowSolid
1731 #endif
1732 
1733 #ifndef EwWarpPerspNativeRowSolidBlend
1734 #define EwWarpPerspNativeRowSolidBlend EwWarpNativeRowSolidBlend
1735 #endif
1736 
1737 #ifndef EwWarpPerspNativeRowFilterSolid
1738 #define EwWarpPerspNativeRowFilterSolid EwWarpNativeRowFilterSolid
1739 #endif
1740 
1741 #ifndef EwWarpPerspNativeRowFilterSolidBlend
1742 #define EwWarpPerspNativeRowFilterSolidBlend EwWarpNativeRowFilterSolidBlend
1743 #endif
1744 
1745 #ifdef EwGfxWarpPerspIndex8
1746 #define EwWarpPerspIndex8Row 0
1747 #else
1748 #define EwGfxWarpPerspIndex8 0
1749 #define EwWarpPerspIndex8Row EwWarpIndex8Row
1750 #endif
1751 
1752 #ifdef EwGfxWarpPerspIndex8Blend
1753 #define EwWarpPerspIndex8RowBlend 0
1754 #else
1755 #define EwGfxWarpPerspIndex8Blend 0
1756 #define EwWarpPerspIndex8RowBlend EwWarpIndex8RowBlend
1757 #endif
1758 
1759 #ifdef EwGfxWarpPerspIndex8Gradient
1760 #define EwWarpPerspIndex8RowGradient 0
1761 #define EwWarpPerspIndex8RowSolid 0
1762 #else
1763 #define EwGfxWarpPerspIndex8Gradient 0
1764 #define EwWarpPerspIndex8RowGradient EwWarpIndex8RowGradient
1765 #endif
1766 
1767 #ifdef EwGfxWarpPerspIndex8GradientBlend
1768 #define EwWarpPerspIndex8RowGradientBlend 0
1769 #define EwWarpPerspIndex8RowSolidBlend 0
1770 #else
1771 #define EwGfxWarpPerspIndex8GradientBlend 0
1772 #define EwWarpPerspIndex8RowGradientBlend EwWarpIndex8RowGradientBlend
1773 #endif
1774 
1775 #ifdef EwGfxWarpPerspIndex8Filter
1776 #define EwWarpPerspIndex8RowFilter 0
1777 #else
1778 #define EwGfxWarpPerspIndex8Filter 0
1779 #define EwWarpPerspIndex8RowFilter EwWarpIndex8RowFilter
1780 #endif
1781 
1782 #ifdef EwGfxWarpPerspIndex8FilterBlend
1783 #define EwWarpPerspIndex8RowFilterBlend 0
1784 #else
1785 #define EwGfxWarpPerspIndex8FilterBlend 0
1786 #define EwWarpPerspIndex8RowFilterBlend EwWarpIndex8RowFilterBlend
1787 #endif
1788 
1789 #ifdef EwGfxWarpPerspIndex8FilterGradient
1790 #define EwWarpPerspIndex8RowFilterGradient 0
1791 #define EwWarpPerspIndex8RowFilterSolid 0
1792 #else
1793 #define EwGfxWarpPerspIndex8FilterGradient 0
1794 #define EwWarpPerspIndex8RowFilterGradient EwWarpIndex8RowFilterGradient
1795 #endif
1796 
1797 #ifdef EwGfxWarpPerspIndex8FilterGradientBlend
1798 #define EwWarpPerspIndex8RowFilterGradientBlend 0
1799 #define EwWarpPerspIndex8RowFilterSolidBlend 0
1800 #else
1801 #define EwGfxWarpPerspIndex8FilterGradientBlend 0
1802 #define EwWarpPerspIndex8RowFilterGradientBlend \
1803  EwWarpIndex8RowFilterGradientBlend
1804 #endif
1805 
1806 #ifndef EwGfxWarpPerspIndex8Solid
1807 #define EwGfxWarpPerspIndex8Solid EwGfxWarpPerspIndex8Gradient
1808 #endif
1809 
1810 #ifndef EwGfxWarpPerspIndex8SolidBlend
1811 #define EwGfxWarpPerspIndex8SolidBlend EwGfxWarpPerspIndex8GradientBlend
1812 #endif
1813 
1814 #ifndef EwGfxWarpPerspIndex8FilterSolid
1815 #define EwGfxWarpPerspIndex8FilterSolid EwGfxWarpPerspIndex8FilterGradient
1816 #endif
1817 
1818 #ifndef EwGfxWarpPerspIndex8FilterSolidBlend
1819 #define EwGfxWarpPerspIndex8FilterSolidBlend \
1820  EwGfxWarpPerspIndex8FilterGradientBlend
1821 #endif
1822 
1823 #ifndef EwWarpPerspIndex8RowSolid
1824 #define EwWarpPerspIndex8RowSolid EwWarpIndex8RowSolid
1825 #endif
1826 
1827 #ifndef EwWarpPerspIndex8RowSolidBlend
1828 #define EwWarpPerspIndex8RowSolidBlend EwWarpIndex8RowSolidBlend
1829 #endif
1830 
1831 #ifndef EwWarpPerspIndex8RowFilterSolid
1832 #define EwWarpPerspIndex8RowFilterSolid EwWarpIndex8RowFilterSolid
1833 #endif
1834 
1835 #ifndef EwWarpPerspIndex8RowFilterSolidBlend
1836 #define EwWarpPerspIndex8RowFilterSolidBlend EwWarpIndex8RowFilterSolidBlend
1837 #endif
1838 
1839 #ifdef EwGfxWarpPerspAlpha8Gradient
1840 #define EwWarpPerspAlpha8RowGradient 0
1841 #define EwWarpPerspAlpha8RowSolid 0
1842 #else
1843 #define EwGfxWarpPerspAlpha8Gradient 0
1844 #define EwWarpPerspAlpha8RowGradient EwWarpAlpha8RowGradient
1845 #endif
1846 
1847 #ifdef EwGfxWarpPerspAlpha8GradientBlend
1848 #define EwWarpPerspAlpha8RowGradientBlend 0
1849 #define EwWarpPerspAlpha8RowSolidBlend 0
1850 #else
1851 #define EwGfxWarpPerspAlpha8GradientBlend 0
1852 #define EwWarpPerspAlpha8RowGradientBlend EwWarpAlpha8RowGradientBlend
1853 #endif
1854 
1855 #ifdef EwGfxWarpPerspAlpha8FilterGradient
1856 #define EwWarpPerspAlpha8RowFilterGradient 0
1857 #define EwWarpPerspAlpha8RowFilterSolid 0
1858 #else
1859 #define EwGfxWarpPerspAlpha8FilterGradient 0
1860 #define EwWarpPerspAlpha8RowFilterGradient EwWarpAlpha8RowFilterGradient
1861 #endif
1862 
1863 #ifdef EwGfxWarpPerspAlpha8FilterGradientBlend
1864 #define EwWarpPerspAlpha8RowFilterGradientBlend 0
1865 #define EwWarpPerspAlpha8RowFilterSolidBlend 0
1866 #else
1867 #define EwGfxWarpPerspAlpha8FilterGradientBlend 0
1868 #define EwWarpPerspAlpha8RowFilterGradientBlend \
1869  EwWarpAlpha8RowFilterGradientBlend
1870 #endif
1871 
1872 #ifndef EwGfxWarpPerspAlpha8Solid
1873 #define EwGfxWarpPerspAlpha8Solid EwGfxWarpPerspAlpha8Gradient
1874 #endif
1875 
1876 #ifndef EwGfxWarpPerspAlpha8SolidBlend
1877 #define EwGfxWarpPerspAlpha8SolidBlend EwGfxWarpPerspAlpha8GradientBlend
1878 #endif
1879 
1880 #ifndef EwGfxWarpPerspAlpha8FilterSolid
1881 #define EwGfxWarpPerspAlpha8FilterSolid EwGfxWarpPerspAlpha8FilterGradient
1882 #endif
1883 
1884 #ifndef EwGfxWarpPerspAlpha8FilterSolidBlend
1885 #define EwGfxWarpPerspAlpha8FilterSolidBlend \
1886  EwGfxWarpPerspAlpha8FilterGradientBlend
1887 #endif
1888 
1889 #ifndef EwWarpPerspAlpha8RowSolid
1890 #define EwWarpPerspAlpha8RowSolid EwWarpAlpha8RowSolid
1891 #endif
1892 
1893 #ifndef EwWarpPerspAlpha8RowSolidBlend
1894 #define EwWarpPerspAlpha8RowSolidBlend EwWarpAlpha8RowSolidBlend
1895 #endif
1896 
1897 #ifndef EwWarpPerspAlpha8RowFilterSolid
1898 #define EwWarpPerspAlpha8RowFilterSolid EwWarpAlpha8RowFilterSolid
1899 #endif
1900 
1901 #ifndef EwWarpPerspAlpha8RowFilterSolidBlend
1902 #define EwWarpPerspAlpha8RowFilterSolidBlend EwWarpAlpha8RowFilterSolidBlend
1903 #endif
1904 
1905 #ifdef EwGfxWarpPerspRGB565
1906 #define EwWarpPerspRGB565Row 0
1907 #else
1908 #define EwGfxWarpPerspRGB565 0
1909 #define EwWarpPerspRGB565Row EwWarpRGB565Row
1910 #endif
1911 
1912 #ifdef EwGfxWarpPerspRGB565Gradient
1913 #define EwWarpPerspRGB565RowGradient 0
1914 #define EwWarpPerspRGB565RowSolid 0
1915 #else
1916 #define EwGfxWarpPerspRGB565Gradient 0
1917 #define EwWarpPerspRGB565RowGradient EwWarpRGB565RowGradient
1918 #endif
1919 
1920 #ifdef EwGfxWarpPerspRGB565GradientBlend
1921 #define EwWarpPerspRGB565RowGradientBlend 0
1922 #define EwWarpPerspRGB565RowSolidBlend 0
1923 #else
1924 #define EwGfxWarpPerspRGB565GradientBlend 0
1925 #define EwWarpPerspRGB565RowGradientBlend EwWarpRGB565RowGradientBlend
1926 #endif
1927 
1928 #ifdef EwGfxWarpPerspRGB565Filter
1929 #define EwWarpPerspRGB565RowFilter 0
1930 #else
1931 #define EwGfxWarpPerspRGB565Filter 0
1932 #define EwWarpPerspRGB565RowFilter EwWarpRGB565RowFilter
1933 #endif
1934 
1935 #ifdef EwGfxWarpPerspRGB565FilterGradient
1936 #define EwWarpPerspRGB565RowFilterGradient 0
1937 #define EwWarpPerspRGB565RowFilterSolid 0
1938 #else
1939 #define EwGfxWarpPerspRGB565FilterGradient 0
1940 #define EwWarpPerspRGB565RowFilterGradient EwWarpRGB565RowFilterGradient
1941 #endif
1942 
1943 #ifdef EwGfxWarpPerspRGB565FilterGradientBlend
1944 #define EwWarpPerspRGB565RowFilterGradientBlend 0
1945 #define EwWarpPerspRGB565RowFilterSolidBlend 0
1946 #else
1947 #define EwGfxWarpPerspRGB565FilterGradientBlend 0
1948 #define EwWarpPerspRGB565RowFilterGradientBlend \
1949  EwWarpRGB565RowFilterGradientBlend
1950 #endif
1951 
1952 #ifndef EwGfxWarpPerspRGB565Solid
1953 #define EwGfxWarpPerspRGB565Solid EwGfxWarpPerspRGB565Gradient
1954 #endif
1955 
1956 #ifndef EwGfxWarpPerspRGB565SolidBlend
1957 #define EwGfxWarpPerspRGB565SolidBlend EwGfxWarpPerspRGB565GradientBlend
1958 #endif
1959 
1960 #ifndef EwGfxWarpPerspRGB565FilterSolid
1961 #define EwGfxWarpPerspRGB565FilterSolid EwGfxWarpPerspRGB565FilterGradient
1962 #endif
1963 
1964 #ifndef EwGfxWarpPerspRGB565FilterSolidBlend
1965 #define EwGfxWarpPerspRGB565FilterSolidBlend \
1966  EwGfxWarpPerspRGB565FilterGradientBlend
1967 #endif
1968 
1969 #ifndef EwWarpPerspRGB565RowSolid
1970 #define EwWarpPerspRGB565RowSolid EwWarpRGB565RowSolid
1971 #endif
1972 
1973 #ifndef EwWarpPerspRGB565RowSolidBlend
1974 #define EwWarpPerspRGB565RowSolidBlend EwWarpRGB565RowSolidBlend
1975 #endif
1976 
1977 #ifndef EwWarpPerspRGB565RowFilterSolid
1978 #define EwWarpPerspRGB565RowFilterSolid EwWarpRGB565RowFilterSolid
1979 #endif
1980 
1981 #ifndef EwWarpPerspRGB565RowFilterSolidBlend
1982 #define EwWarpPerspRGB565RowFilterSolidBlend EwWarpRGB565RowFilterSolidBlend
1983 #endif
1984 
1985 #ifdef EwGfxScreenWarpPerspNative
1986 #define EwScreenWarpPerspNativeRow 0
1987 #else
1988 #define EwGfxScreenWarpPerspNative 0
1989 #define EwScreenWarpPerspNativeRow EwScreenWarpNativeRow
1990 #endif
1991 
1992 #ifdef EwGfxScreenWarpPerspNativeBlend
1993 #define EwScreenWarpPerspNativeRowBlend 0
1994 #else
1995 #define EwGfxScreenWarpPerspNativeBlend 0
1996 #define EwScreenWarpPerspNativeRowBlend EwScreenWarpNativeRowBlend
1997 #endif
1998 
1999 #ifdef EwGfxScreenWarpPerspNativeGradient
2000 #define EwScreenWarpPerspNativeRowGradient 0
2001 #define EwScreenWarpPerspNativeRowSolid 0
2002 #else
2003 #define EwGfxScreenWarpPerspNativeGradient 0
2004 #define EwScreenWarpPerspNativeRowGradient EwScreenWarpNativeRowGradient
2005 #endif
2006 
2007 #ifdef EwGfxScreenWarpPerspNativeGradientBlend
2008 #define EwScreenWarpPerspNativeRowGradientBlend 0
2009 #define EwScreenWarpPerspNativeRowSolidBlend 0
2010 #else
2011 #define EwGfxScreenWarpPerspNativeGradientBlend 0
2012 #define EwScreenWarpPerspNativeRowGradientBlend \
2013  EwScreenWarpNativeRowGradientBlend
2014 #endif
2015 
2016 #ifdef EwGfxScreenWarpPerspNativeFilter
2017 #define EwScreenWarpPerspNativeRowFilter 0
2018 #else
2019 #define EwGfxScreenWarpPerspNativeFilter 0
2020 #define EwScreenWarpPerspNativeRowFilter EwScreenWarpNativeRowFilter
2021 #endif
2022 
2023 #ifdef EwGfxScreenWarpPerspNativeFilterBlend
2024 #define EwScreenWarpPerspNativeRowFilterBlend 0
2025 #else
2026 #define EwGfxScreenWarpPerspNativeFilterBlend 0
2027 #define EwScreenWarpPerspNativeRowFilterBlend EwScreenWarpNativeRowFilterBlend
2028 #endif
2029 
2030 #ifdef EwGfxScreenWarpPerspNativeFilterGradient
2031 #define EwScreenWarpPerspNativeRowFilterGradient 0
2032 #define EwScreenWarpPerspNativeRowFilterSolid 0
2033 #else
2034 #define EwGfxScreenWarpPerspNativeFilterGradient 0
2035 #define EwScreenWarpPerspNativeRowFilterGradient \
2036  EwScreenWarpNativeRowFilterGradient
2037 #endif
2038 
2039 #ifdef EwGfxScreenWarpPerspNativeFilterGradientBlend
2040 #define EwScreenWarpPerspNativeRowFilterGradientBlend 0
2041 #define EwScreenWarpPerspNativeRowFilterSolidBlend 0
2042 #else
2043 #define EwGfxScreenWarpPerspNativeFilterGradientBlend 0
2044 #define EwScreenWarpPerspNativeRowFilterGradientBlend \
2045  EwScreenWarpNativeRowFilterGradientBlend
2046 #endif
2047 
2048 #ifndef EwGfxScreenWarpPerspNativeSolid
2049 #define EwGfxScreenWarpPerspNativeSolid EwGfxScreenWarpPerspNativeGradient
2050 #endif
2051 
2052 #ifndef EwGfxScreenWarpPerspNativeSolidBlend
2053 #define EwGfxScreenWarpPerspNativeSolidBlend \
2054  EwGfxScreenWarpPerspNativeGradientBlend
2055 #endif
2056 
2057 #ifndef EwGfxScreenWarpPerspNativeFilterSolid
2058 #define EwGfxScreenWarpPerspNativeFilterSolid \
2059  EwGfxScreenWarpPerspNativeFilterGradient
2060 #endif
2061 
2062 #ifndef EwGfxScreenWarpPerspNativeFilterSolidBlend
2063 #define EwGfxScreenWarpPerspNativeFilterSolidBlend \
2064  EwGfxScreenWarpPerspNativeFilterGradientBlend
2065 #endif
2066 
2067 #ifndef EwScreenWarpPerspNativeRowSolid
2068 #define EwScreenWarpPerspNativeRowSolid EwScreenWarpNativeRowSolid
2069 #endif
2070 
2071 #ifndef EwScreenWarpPerspNativeRowSolidBlend
2072 #define EwScreenWarpPerspNativeRowSolidBlend EwScreenWarpNativeRowSolidBlend
2073 #endif
2074 
2075 #ifndef EwScreenWarpPerspNativeRowFilterSolid
2076 #define EwScreenWarpPerspNativeRowFilterSolid EwScreenWarpNativeRowFilterSolid
2077 #endif
2078 
2079 #ifndef EwScreenWarpPerspNativeRowFilterSolidBlend
2080 #define EwScreenWarpPerspNativeRowFilterSolidBlend \
2081  EwScreenWarpNativeRowFilterSolidBlend
2082 #endif
2083 
2084 #ifdef EwGfxScreenWarpPerspIndex8
2085 #define EwScreenWarpPerspIndex8Row 0
2086 #else
2087 #define EwGfxScreenWarpPerspIndex8 0
2088 #define EwScreenWarpPerspIndex8Row EwScreenWarpIndex8Row
2089 #endif
2090 
2091 #ifdef EwGfxScreenWarpPerspIndex8Blend
2092 #define EwScreenWarpPerspIndex8RowBlend 0
2093 #else
2094 #define EwGfxScreenWarpPerspIndex8Blend 0
2095 #define EwScreenWarpPerspIndex8RowBlend EwScreenWarpIndex8RowBlend
2096 #endif
2097 
2098 #ifdef EwGfxScreenWarpPerspIndex8Gradient
2099 #define EwScreenWarpPerspIndex8RowGradient 0
2100 #define EwScreenWarpPerspIndex8RowSolid 0
2101 #else
2102 #define EwGfxScreenWarpPerspIndex8Gradient 0
2103 #define EwScreenWarpPerspIndex8RowGradient EwScreenWarpIndex8RowGradient
2104 #endif
2105 
2106 #ifdef EwGfxScreenWarpPerspIndex8GradientBlend
2107 #define EwScreenWarpPerspIndex8RowGradientBlend 0
2108 #define EwScreenWarpPerspIndex8RowSolidBlend 0
2109 #else
2110 #define EwGfxScreenWarpPerspIndex8GradientBlend 0
2111 #define EwScreenWarpPerspIndex8RowGradientBlend \
2112  EwScreenWarpIndex8RowGradientBlend
2113 #endif
2114 
2115 #ifdef EwGfxScreenWarpPerspIndex8Filter
2116 #define EwScreenWarpPerspIndex8RowFilter 0
2117 #else
2118 #define EwGfxScreenWarpPerspIndex8Filter 0
2119 #define EwScreenWarpPerspIndex8RowFilter EwScreenWarpIndex8RowFilter
2120 #endif
2121 
2122 #ifdef EwGfxScreenWarpPerspIndex8FilterBlend
2123 #define EwScreenWarpPerspIndex8RowFilterBlend 0
2124 #else
2125 #define EwGfxScreenWarpPerspIndex8FilterBlend 0
2126 #define EwScreenWarpPerspIndex8RowFilterBlend EwScreenWarpIndex8RowFilterBlend
2127 #endif
2128 
2129 #ifdef EwGfxScreenWarpPerspIndex8FilterGradient
2130 #define EwScreenWarpPerspIndex8RowFilterGradient 0
2131 #define EwScreenWarpPerspIndex8RowFilterSolid 0
2132 #else
2133 #define EwGfxScreenWarpPerspIndex8FilterGradient 0
2134 #define EwScreenWarpPerspIndex8RowFilterGradient \
2135  EwScreenWarpIndex8RowFilterGradient
2136 #endif
2137 
2138 #ifdef EwGfxScreenWarpPerspIndex8FilterGradientBlend
2139 #define EwScreenWarpPerspIndex8RowFilterGradientBlend 0
2140 #define EwScreenWarpPerspIndex8RowFilterSolidBlend 0
2141 #else
2142 #define EwGfxScreenWarpPerspIndex8FilterGradientBlend 0
2143 #define EwScreenWarpPerspIndex8RowFilterGradientBlend \
2144  EwScreenWarpIndex8RowFilterGradientBlend
2145 #endif
2146 
2147 #ifndef EwGfxScreenWarpPerspIndex8Solid
2148 #define EwGfxScreenWarpPerspIndex8Solid EwGfxScreenWarpPerspIndex8Gradient
2149 #endif
2150 
2151 #ifndef EwGfxScreenWarpPerspIndex8SolidBlend
2152 #define EwGfxScreenWarpPerspIndex8SolidBlend \
2153  EwGfxScreenWarpPerspIndex8GradientBlend
2154 #endif
2155 
2156 #ifndef EwGfxScreenWarpPerspIndex8FilterSolid
2157 #define EwGfxScreenWarpPerspIndex8FilterSolid \
2158  EwGfxScreenWarpPerspIndex8FilterGradient
2159 #endif
2160 
2161 #ifndef EwGfxScreenWarpPerspIndex8FilterSolidBlend
2162 #define EwGfxScreenWarpPerspIndex8FilterSolidBlend \
2163  EwGfxScreenWarpPerspIndex8FilterGradientBlend
2164 #endif
2165 
2166 #ifndef EwScreenWarpPerspIndex8RowSolid
2167 #define EwScreenWarpPerspIndex8RowSolid EwScreenWarpIndex8RowSolid
2168 #endif
2169 
2170 #ifndef EwScreenWarpPerspIndex8RowSolidBlend
2171 #define EwScreenWarpPerspIndex8RowSolidBlend EwScreenWarpIndex8RowSolidBlend
2172 #endif
2173 
2174 #ifndef EwScreenWarpPerspIndex8RowFilterSolid
2175 #define EwScreenWarpPerspIndex8RowFilterSolid EwScreenWarpIndex8RowFilterSolid
2176 #endif
2177 
2178 #ifndef EwScreenWarpPerspIndex8RowFilterSolidBlend
2179 #define EwScreenWarpPerspIndex8RowFilterSolidBlend \
2180  EwScreenWarpIndex8RowFilterSolidBlend
2181 #endif
2182 
2183 #ifdef EwGfxScreenWarpPerspAlpha8Gradient
2184 #define EwScreenWarpPerspAlpha8RowGradient 0
2185 #define EwScreenWarpPerspAlpha8RowSolid 0
2186 #else
2187 #define EwGfxScreenWarpPerspAlpha8Gradient 0
2188 #define EwScreenWarpPerspAlpha8RowGradient EwScreenWarpAlpha8RowGradient
2189 #endif
2190 
2191 #ifdef EwGfxScreenWarpPerspAlpha8GradientBlend
2192 #define EwScreenWarpPerspAlpha8RowGradientBlend 0
2193 #define EwScreenWarpPerspAlpha8RowSolidBlend 0
2194 #else
2195 #define EwGfxScreenWarpPerspAlpha8GradientBlend 0
2196 #define EwScreenWarpPerspAlpha8RowGradientBlend \
2197  EwScreenWarpAlpha8RowGradientBlend
2198 #endif
2199 
2200 #ifdef EwGfxScreenWarpPerspAlpha8FilterGradient
2201 #define EwScreenWarpPerspAlpha8RowFilterGradient 0
2202 #define EwScreenWarpPerspAlpha8RowFilterSolid 0
2203 #else
2204 #define EwGfxScreenWarpPerspAlpha8FilterGradient 0
2205 #define EwScreenWarpPerspAlpha8RowFilterGradient \
2206  EwScreenWarpAlpha8RowFilterGradient
2207 #endif
2208 
2209 #ifdef EwGfxScreenWarpPerspAlpha8FilterGradientBlend
2210 #define EwScreenWarpPerspAlpha8RowFilterGradientBlend 0
2211 #define EwScreenWarpPerspAlpha8RowFilterSolidBlend 0
2212 #else
2213 #define EwGfxScreenWarpPerspAlpha8FilterGradientBlend 0
2214 #define EwScreenWarpPerspAlpha8RowFilterGradientBlend \
2215  EwScreenWarpAlpha8RowFilterGradientBlend
2216 #endif
2217 
2218 #ifndef EwGfxScreenWarpPerspAlpha8Solid
2219 #define EwGfxScreenWarpPerspAlpha8Solid EwGfxScreenWarpPerspAlpha8Gradient
2220 #endif
2221 
2222 #ifndef EwGfxScreenWarpPerspAlpha8SolidBlend
2223 #define EwGfxScreenWarpPerspAlpha8SolidBlend \
2224  EwGfxScreenWarpPerspAlpha8GradientBlend
2225 #endif
2226 
2227 #ifndef EwGfxScreenWarpPerspAlpha8FilterSolid
2228 #define EwGfxScreenWarpPerspAlpha8FilterSolid \
2229  EwGfxScreenWarpPerspAlpha8FilterGradient
2230 #endif
2231 
2232 #ifndef EwGfxScreenWarpPerspAlpha8FilterSolidBlend
2233 #define EwGfxScreenWarpPerspAlpha8FilterSolidBlend \
2234  EwGfxScreenWarpPerspAlpha8FilterGradientBlend
2235 #endif
2236 
2237 #ifndef EwScreenWarpPerspAlpha8RowSolid
2238 #define EwScreenWarpPerspAlpha8RowSolid EwScreenWarpAlpha8RowSolid
2239 #endif
2240 
2241 #ifndef EwScreenWarpPerspAlpha8RowSolidBlend
2242 #define EwScreenWarpPerspAlpha8RowSolidBlend EwScreenWarpAlpha8RowSolidBlend
2243 #endif
2244 
2245 #ifndef EwScreenWarpPerspAlpha8RowFilterSolid
2246 #define EwScreenWarpPerspAlpha8RowFilterSolid EwScreenWarpAlpha8RowFilterSolid
2247 #endif
2248 
2249 #ifndef EwScreenWarpPerspAlpha8RowFilterSolidBlend
2250 #define EwScreenWarpPerspAlpha8RowFilterSolidBlend \
2251  EwScreenWarpAlpha8RowFilterSolidBlend
2252 #endif
2253 
2254 #ifdef EwGfxScreenWarpPerspRGB565
2255 #define EwScreenWarpPerspRGB565Row 0
2256 #else
2257 #define EwGfxScreenWarpPerspRGB565 0
2258 #define EwScreenWarpPerspRGB565Row EwScreenWarpRGB565Row
2259 #endif
2260 
2261 #ifdef EwGfxScreenWarpPerspRGB565Gradient
2262 #define EwScreenWarpPerspRGB565RowGradient 0
2263 #define EwScreenWarpPerspRGB565RowSolid 0
2264 #else
2265 #define EwGfxScreenWarpPerspRGB565Gradient 0
2266 #define EwScreenWarpPerspRGB565RowGradient EwScreenWarpRGB565RowGradient
2267 #endif
2268 
2269 #ifdef EwGfxScreenWarpPerspRGB565GradientBlend
2270 #define EwScreenWarpPerspRGB565RowGradientBlend 0
2271 #define EwScreenWarpPerspRGB565RowSolidBlend 0
2272 #else
2273 #define EwGfxScreenWarpPerspRGB565GradientBlend 0
2274 #define EwScreenWarpPerspRGB565RowGradientBlend \
2275  EwScreenWarpRGB565RowGradientBlend
2276 #endif
2277 
2278 #ifdef EwGfxScreenWarpPerspRGB565Filter
2279 #define EwScreenWarpPerspRGB565RowFilter 0
2280 #else
2281 #define EwGfxScreenWarpPerspRGB565Filter 0
2282 #define EwScreenWarpPerspRGB565RowFilter EwScreenWarpRGB565RowFilter
2283 #endif
2284 
2285 #ifdef EwGfxScreenWarpPerspRGB565FilterGradient
2286 #define EwScreenWarpPerspRGB565RowFilterGradient 0
2287 #define EwScreenWarpPerspRGB565RowFilterSolid 0
2288 #else
2289 #define EwGfxScreenWarpPerspRGB565FilterGradient 0
2290 #define EwScreenWarpPerspRGB565RowFilterGradient \
2291  EwScreenWarpRGB565RowFilterGradient
2292 #endif
2293 
2294 #ifdef EwGfxScreenWarpPerspRGB565FilterGradientBlend
2295 #define EwScreenWarpPerspRGB565RowFilterGradientBlend 0
2296 #define EwScreenWarpPerspRGB565RowFilterSolidBlend 0
2297 #else
2298 #define EwGfxScreenWarpPerspRGB565FilterGradientBlend 0
2299 #define EwScreenWarpPerspRGB565RowFilterGradientBlend \
2300  EwScreenWarpRGB565RowFilterGradientBlend
2301 #endif
2302 
2303 #ifndef EwGfxScreenWarpPerspRGB565Solid
2304 #define EwGfxScreenWarpPerspRGB565Solid EwGfxScreenWarpPerspRGB565Gradient
2305 #endif
2306 
2307 #ifndef EwGfxScreenWarpPerspRGB565SolidBlend
2308 #define EwGfxScreenWarpPerspRGB565SolidBlend \
2309  EwGfxScreenWarpPerspRGB565GradientBlend
2310 #endif
2311 
2312 #ifndef EwGfxScreenWarpPerspRGB565FilterSolid
2313 #define EwGfxScreenWarpPerspRGB565FilterSolid \
2314  EwGfxScreenWarpPerspRGB565FilterGradient
2315 #endif
2316 
2317 #ifndef EwGfxScreenWarpPerspRGB565FilterSolidBlend
2318 #define EwGfxScreenWarpPerspRGB565FilterSolidBlend \
2319  EwGfxScreenWarpPerspRGB565FilterGradientBlend
2320 #endif
2321 
2322 #ifndef EwScreenWarpPerspRGB565RowSolid
2323 #define EwScreenWarpPerspRGB565RowSolid EwScreenWarpRGB565RowSolid
2324 #endif
2325 
2326 #ifndef EwScreenWarpPerspRGB565RowSolidBlend
2327 #define EwScreenWarpPerspRGB565RowSolidBlend EwScreenWarpRGB565RowSolidBlend
2328 #endif
2329 
2330 #ifndef EwScreenWarpPerspRGB565RowFilterSolid
2331 #define EwScreenWarpPerspRGB565RowFilterSolid EwScreenWarpRGB565RowFilterSolid
2332 #endif
2333 
2334 #ifndef EwScreenWarpPerspRGB565RowFilterSolidBlend
2335 #define EwScreenWarpPerspRGB565RowFilterSolidBlend \
2336  EwScreenWarpRGB565RowFilterSolidBlend
2337 #endif
2338 
2339 /* Register the functionality provided by the underlying graphics subsystem. */
2340 static const XWarpDriver WarpPerspDrivers[] = {
2347  0,
2348  0,
2355  0,
2356  0,
2363  0,
2364  0,
2371  0,
2372  0,
2373  0,
2374  0,
2379  0,
2380  0,
2381  0,
2382  0,
2387  0,
2388  0,
2395  0,
2396  0,
2403  0,
2404  0,
2405 
2406 #ifdef EW_USE_PIXEL_FORMAT_SCREEN
2413  0,
2414  0,
2421  0,
2422  0,
2429  0,
2430  0,
2437  0,
2438  0,
2439  0,
2440  0,
2445  0,
2446  0,
2447  0,
2448  0,
2453  0,
2454  0,
2461  0,
2462  0,
2469 #endif
2470 
2471  0};
2472 
2473 /* For missing graphics subsystem functionality, register alternative software
2474  emulated functions */
2475 static const XWarpWorker WarpPerspWorkers[] = {
2482  0,
2483  0,
2490  0,
2491  0,
2498  0,
2499  0,
2506  0,
2507  0,
2508  0,
2509  0,
2514  0,
2515  0,
2516  0,
2517  0,
2522  0,
2523  0,
2530  0,
2531  0,
2538  0,
2539  0,
2540 
2541 #ifdef EW_USE_PIXEL_FORMAT_SCREEN
2548  0,
2549  0,
2556  0,
2557  0,
2564  0,
2565  0,
2572  0,
2573  0,
2574  0,
2575  0,
2580  0,
2581  0,
2582  0,
2583  0,
2588  0,
2589  0,
2596  0,
2597  0,
2604 #endif
2605 
2606  0};
2607 
2608 /* Depending on the capabilities of the underlying graphics subsystem select
2609  a set of functions for the 'warp affine surface' operation.
2610  Missing functionality will be emulated by the software. */
2611 #ifdef EwGfxWarpAffineNative
2612 #define EwWarpAffineNativeRow 0
2613 #else
2614 #define EwGfxWarpAffineNative 0
2615 #define EwWarpAffineNativeRow EwWarpNativeRow
2616 #endif
2617 
2618 #ifdef EwGfxWarpAffineNativeBlend
2619 #define EwWarpAffineNativeRowBlend 0
2620 #else
2621 #define EwGfxWarpAffineNativeBlend 0
2622 #define EwWarpAffineNativeRowBlend EwWarpNativeRowBlend
2623 #endif
2624 
2625 #ifdef EwGfxWarpAffineNativeGradient
2626 #define EwWarpAffineNativeRowGradient 0
2627 #define EwWarpAffineNativeRowSolid 0
2628 #else
2629 #define EwGfxWarpAffineNativeGradient 0
2630 #define EwWarpAffineNativeRowGradient EwWarpNativeRowGradient
2631 #endif
2632 
2633 #ifdef EwGfxWarpAffineNativeGradientBlend
2634 #define EwWarpAffineNativeRowGradientBlend 0
2635 #define EwWarpAffineNativeRowSolidBlend 0
2636 #else
2637 #define EwGfxWarpAffineNativeGradientBlend 0
2638 #define EwWarpAffineNativeRowGradientBlend EwWarpNativeRowGradientBlend
2639 #endif
2640 
2641 #ifdef EwGfxWarpAffineNativeFilter
2642 #define EwWarpAffineNativeRowFilter 0
2643 #else
2644 #define EwGfxWarpAffineNativeFilter 0
2645 #define EwWarpAffineNativeRowFilter EwWarpNativeRowFilter
2646 #endif
2647 
2648 #ifdef EwGfxWarpAffineNativeFilterBlend
2649 #define EwWarpAffineNativeRowFilterBlend 0
2650 #else
2651 #define EwGfxWarpAffineNativeFilterBlend 0
2652 #define EwWarpAffineNativeRowFilterBlend EwWarpNativeRowFilterBlend
2653 #endif
2654 
2655 #ifdef EwGfxWarpAffineNativeFilterGradient
2656 #define EwWarpAffineNativeRowFilterGradient 0
2657 #define EwWarpAffineNativeRowFilterSolid 0
2658 #else
2659 #define EwGfxWarpAffineNativeFilterGradient 0
2660 #define EwWarpAffineNativeRowFilterGradient EwWarpNativeRowFilterGradient
2661 #endif
2662 
2663 #ifdef EwGfxWarpAffineNativeFilterGradientBlend
2664 #define EwWarpAffineNativeRowFilterGradientBlend 0
2665 #define EwWarpAffineNativeRowFilterSolidBlend 0
2666 #else
2667 #define EwGfxWarpAffineNativeFilterGradientBlend 0
2668 #define EwWarpAffineNativeRowFilterGradientBlend \
2669  EwWarpNativeRowFilterGradientBlend
2670 #endif
2671 
2672 #ifndef EwGfxWarpAffineNativeSolid
2673 #define EwGfxWarpAffineNativeSolid EwGfxWarpAffineNativeGradient
2674 #endif
2675 
2676 #ifndef EwGfxWarpAffineNativeSolidBlend
2677 #define EwGfxWarpAffineNativeSolidBlend EwGfxWarpAffineNativeGradientBlend
2678 #endif
2679 
2680 #ifndef EwGfxWarpAffineNativeFilterSolid
2681 #define EwGfxWarpAffineNativeFilterSolid EwGfxWarpAffineNativeFilterGradient
2682 #endif
2683 
2684 #ifndef EwGfxWarpAffineNativeFilterSolidBlend
2685 #define EwGfxWarpAffineNativeFilterSolidBlend \
2686  EwGfxWarpAffineNativeFilterGradientBlend
2687 #endif
2688 
2689 #ifndef EwWarpAffineNativeRowSolid
2690 #define EwWarpAffineNativeRowSolid EwWarpNativeRowSolid
2691 #endif
2692 
2693 #ifndef EwWarpAffineNativeRowSolidBlend
2694 #define EwWarpAffineNativeRowSolidBlend EwWarpNativeRowSolidBlend
2695 #endif
2696 
2697 #ifndef EwWarpAffineNativeRowFilterSolid
2698 #define EwWarpAffineNativeRowFilterSolid EwWarpNativeRowFilterSolid
2699 #endif
2700 
2701 #ifndef EwWarpAffineNativeRowFilterSolidBlend
2702 #define EwWarpAffineNativeRowFilterSolidBlend EwWarpNativeRowFilterSolidBlend
2703 #endif
2704 
2705 #ifdef EwGfxWarpAffineIndex8
2706 #define EwWarpAffineIndex8Row 0
2707 #else
2708 #define EwGfxWarpAffineIndex8 0
2709 #define EwWarpAffineIndex8Row EwWarpIndex8Row
2710 #endif
2711 
2712 #ifdef EwGfxWarpAffineIndex8Blend
2713 #define EwWarpAffineIndex8RowBlend 0
2714 #else
2715 #define EwGfxWarpAffineIndex8Blend 0
2716 #define EwWarpAffineIndex8RowBlend EwWarpIndex8RowBlend
2717 #endif
2718 
2719 #ifdef EwGfxWarpAffineIndex8Gradient
2720 #define EwWarpAffineIndex8RowGradient 0
2721 #define EwWarpAffineIndex8RowSolid 0
2722 #else
2723 #define EwGfxWarpAffineIndex8Gradient 0
2724 #define EwWarpAffineIndex8RowGradient EwWarpIndex8RowGradient
2725 #endif
2726 
2727 #ifdef EwGfxWarpAffineIndex8GradientBlend
2728 #define EwWarpAffineIndex8RowGradientBlend 0
2729 #define EwWarpAffineIndex8RowSolidBlend 0
2730 #else
2731 #define EwGfxWarpAffineIndex8GradientBlend 0
2732 #define EwWarpAffineIndex8RowGradientBlend EwWarpIndex8RowGradientBlend
2733 #endif
2734 
2735 #ifdef EwGfxWarpAffineIndex8Filter
2736 #define EwWarpAffineIndex8RowFilter 0
2737 #else
2738 #define EwGfxWarpAffineIndex8Filter 0
2739 #define EwWarpAffineIndex8RowFilter EwWarpIndex8RowFilter
2740 #endif
2741 
2742 #ifdef EwGfxWarpAffineIndex8FilterBlend
2743 #define EwWarpAffineIndex8RowFilterBlend 0
2744 #else
2745 #define EwGfxWarpAffineIndex8FilterBlend 0
2746 #define EwWarpAffineIndex8RowFilterBlend EwWarpIndex8RowFilterBlend
2747 #endif
2748 
2749 #ifdef EwGfxWarpAffineIndex8FilterGradient
2750 #define EwWarpAffineIndex8RowFilterGradient 0
2751 #define EwWarpAffineIndex8RowFilterSolid 0
2752 #else
2753 #define EwGfxWarpAffineIndex8FilterGradient 0
2754 #define EwWarpAffineIndex8RowFilterGradient EwWarpIndex8RowFilterGradient
2755 #endif
2756 
2757 #ifdef EwGfxWarpAffineIndex8FilterGradientBlend
2758 #define EwWarpAffineIndex8RowFilterGradientBlend 0
2759 #define EwWarpAffineIndex8RowFilterSolidBlend 0
2760 #else
2761 #define EwGfxWarpAffineIndex8FilterGradientBlend 0
2762 #define EwWarpAffineIndex8RowFilterGradientBlend \
2763  EwWarpIndex8RowFilterGradientBlend
2764 #endif
2765 
2766 #ifndef EwGfxWarpAffineIndex8Solid
2767 #define EwGfxWarpAffineIndex8Solid EwGfxWarpAffineIndex8Gradient
2768 #endif
2769 
2770 #ifndef EwGfxWarpAffineIndex8SolidBlend
2771 #define EwGfxWarpAffineIndex8SolidBlend EwGfxWarpAffineIndex8GradientBlend
2772 #endif
2773 
2774 #ifndef EwGfxWarpAffineIndex8FilterSolid
2775 #define EwGfxWarpAffineIndex8FilterSolid EwGfxWarpAffineIndex8FilterGradient
2776 #endif
2777 
2778 #ifndef EwGfxWarpAffineIndex8FilterSolidBlend
2779 #define EwGfxWarpAffineIndex8FilterSolidBlend \
2780  EwGfxWarpAffineIndex8FilterGradientBlend
2781 #endif
2782 
2783 #ifndef EwWarpAffineIndex8RowSolid
2784 #define EwWarpAffineIndex8RowSolid EwWarpIndex8RowSolid
2785 #endif
2786 
2787 #ifndef EwWarpAffineIndex8RowSolidBlend
2788 #define EwWarpAffineIndex8RowSolidBlend EwWarpIndex8RowSolidBlend
2789 #endif
2790 
2791 #ifndef EwWarpAffineIndex8RowFilterSolid
2792 #define EwWarpAffineIndex8RowFilterSolid EwWarpIndex8RowFilterSolid
2793 #endif
2794 
2795 #ifndef EwWarpAffineIndex8RowFilterSolidBlend
2796 #define EwWarpAffineIndex8RowFilterSolidBlend EwWarpIndex8RowFilterSolidBlend
2797 #endif
2798 
2799 #ifdef EwGfxWarpAffineAlpha8Gradient
2800 #define EwWarpAffineAlpha8RowGradient 0
2801 #define EwWarpAffineAlpha8RowSolid 0
2802 #else
2803 #define EwGfxWarpAffineAlpha8Gradient 0
2804 #define EwWarpAffineAlpha8RowGradient EwWarpAlpha8RowGradient
2805 #endif
2806 
2807 #ifdef EwGfxWarpAffineAlpha8GradientBlend
2808 #define EwWarpAffineAlpha8RowGradientBlend 0
2809 #define EwWarpAffineAlpha8RowSolidBlend 0
2810 #else
2811 #define EwGfxWarpAffineAlpha8GradientBlend 0
2812 #define EwWarpAffineAlpha8RowGradientBlend EwWarpAlpha8RowGradientBlend
2813 #endif
2814 
2815 #ifdef EwGfxWarpAffineAlpha8FilterGradient
2816 #define EwWarpAffineAlpha8RowFilterGradient 0
2817 #define EwWarpAffineAlpha8RowFilterSolid 0
2818 #else
2819 #define EwGfxWarpAffineAlpha8FilterGradient 0
2820 #define EwWarpAffineAlpha8RowFilterGradient EwWarpAlpha8RowFilterGradient
2821 #endif
2822 
2823 #ifdef EwGfxWarpAffineAlpha8FilterGradientBlend
2824 #define EwWarpAffineAlpha8RowFilterGradientBlend 0
2825 #define EwWarpAffineAlpha8RowFilterSolidBlend 0
2826 #else
2827 #define EwGfxWarpAffineAlpha8FilterGradientBlend 0
2828 #define EwWarpAffineAlpha8RowFilterGradientBlend \
2829  EwWarpAlpha8RowFilterGradientBlend
2830 #endif
2831 
2832 #ifndef EwGfxWarpAffineAlpha8Solid
2833 #define EwGfxWarpAffineAlpha8Solid EwGfxWarpAffineAlpha8Gradient
2834 #endif
2835 
2836 #ifndef EwGfxWarpAffineAlpha8SolidBlend
2837 #define EwGfxWarpAffineAlpha8SolidBlend EwGfxWarpAffineAlpha8GradientBlend
2838 #endif
2839 
2840 #ifndef EwGfxWarpAffineAlpha8FilterSolid
2841 #define EwGfxWarpAffineAlpha8FilterSolid EwGfxWarpAffineAlpha8FilterGradient
2842 #endif
2843 
2844 #ifndef EwGfxWarpAffineAlpha8FilterSolidBlend
2845 #define EwGfxWarpAffineAlpha8FilterSolidBlend \
2846  EwGfxWarpAffineAlpha8FilterGradientBlend
2847 #endif
2848 
2849 #ifndef EwWarpAffineAlpha8RowSolid
2850 #define EwWarpAffineAlpha8RowSolid EwWarpAlpha8RowSolid
2851 #endif
2852 
2853 #ifndef EwWarpAffineAlpha8RowSolidBlend
2854 #define EwWarpAffineAlpha8RowSolidBlend EwWarpAlpha8RowSolidBlend
2855 #endif
2856 
2857 #ifndef EwWarpAffineAlpha8RowFilterSolid
2858 #define EwWarpAffineAlpha8RowFilterSolid EwWarpAlpha8RowFilterSolid
2859 #endif
2860 
2861 #ifndef EwWarpAffineAlpha8RowFilterSolidBlend
2862 #define EwWarpAffineAlpha8RowFilterSolidBlend EwWarpAlpha8RowFilterSolidBlend
2863 #endif
2864 
2865 #ifdef EwGfxWarpAffineRGB565
2866 #define EwWarpAffineRGB565Row 0
2867 #else
2868 #define EwGfxWarpAffineRGB565 0
2869 #define EwWarpAffineRGB565Row EwWarpRGB565Row
2870 #endif
2871 
2872 #ifdef EwGfxWarpAffineRGB565Gradient
2873 #define EwWarpAffineRGB565RowGradient 0
2874 #define EwWarpAffineRGB565RowSolid 0
2875 #else
2876 #define EwGfxWarpAffineRGB565Gradient 0
2877 #define EwWarpAffineRGB565RowGradient EwWarpRGB565RowGradient
2878 #endif
2879 
2880 #ifdef EwGfxWarpAffineRGB565GradientBlend
2881 #define EwWarpAffineRGB565RowGradientBlend 0
2882 #define EwWarpAffineRGB565RowSolidBlend 0
2883 #else
2884 #define EwGfxWarpAffineRGB565GradientBlend 0
2885 #define EwWarpAffineRGB565RowGradientBlend EwWarpRGB565RowGradientBlend
2886 #endif
2887 
2888 #ifdef EwGfxWarpAffineRGB565Filter
2889 #define EwWarpAffineRGB565RowFilter 0
2890 #else
2891 #define EwGfxWarpAffineRGB565Filter 0
2892 #define EwWarpAffineRGB565RowFilter EwWarpRGB565RowFilter
2893 #endif
2894 
2895 #ifdef EwGfxWarpAffineRGB565FilterGradient
2896 #define EwWarpAffineRGB565RowFilterGradient 0
2897 #define EwWarpAffineRGB565RowFilterSolid 0
2898 #else
2899 #define EwGfxWarpAffineRGB565FilterGradient 0
2900 #define EwWarpAffineRGB565RowFilterGradient EwWarpRGB565RowFilterGradient
2901 #endif
2902 
2903 #ifdef EwGfxWarpAffineRGB565FilterGradientBlend
2904 #define EwWarpAffineRGB565RowFilterGradientBlend 0
2905 #define EwWarpAffineRGB565RowFilterSolidBlend 0
2906 #else
2907 #define EwGfxWarpAffineRGB565FilterGradientBlend 0
2908 #define EwWarpAffineRGB565RowFilterGradientBlend \
2909  EwWarpRGB565RowFilterGradientBlend
2910 #endif
2911 
2912 #ifndef EwGfxWarpAffineRGB565Solid
2913 #define EwGfxWarpAffineRGB565Solid EwGfxWarpAffineRGB565Gradient
2914 #endif
2915 
2916 #ifndef EwGfxWarpAffineRGB565SolidBlend
2917 #define EwGfxWarpAffineRGB565SolidBlend EwGfxWarpAffineRGB565GradientBlend
2918 #endif
2919 
2920 #ifndef EwGfxWarpAffineRGB565FilterSolid
2921 #define EwGfxWarpAffineRGB565FilterSolid EwGfxWarpAffineRGB565FilterGradient
2922 #endif
2923 
2924 #ifndef EwGfxWarpAffineRGB565FilterSolidBlend
2925 #define EwGfxWarpAffineRGB565FilterSolidBlend \
2926  EwGfxWarpAffineRGB565FilterGradientBlend
2927 #endif
2928 
2929 #ifndef EwWarpAffineRGB565RowSolid
2930 #define EwWarpAffineRGB565RowSolid EwWarpRGB565RowSolid
2931 #endif
2932 
2933 #ifndef EwWarpAffineRGB565RowSolidBlend
2934 #define EwWarpAffineRGB565RowSolidBlend EwWarpRGB565RowSolidBlend
2935 #endif
2936 
2937 #ifndef EwWarpAffineRGB565RowFilterSolid
2938 #define EwWarpAffineRGB565RowFilterSolid EwWarpRGB565RowFilterSolid
2939 #endif
2940 
2941 #ifndef EwWarpAffineRGB565RowFilterSolidBlend
2942 #define EwWarpAffineRGB565RowFilterSolidBlend EwWarpRGB565RowFilterSolidBlend
2943 #endif
2944 
2945 #ifdef EwGfxScreenWarpAffineNative
2946 #define EwScreenWarpAffineNativeRow 0
2947 #else
2948 #define EwGfxScreenWarpAffineNative 0
2949 #define EwScreenWarpAffineNativeRow EwScreenWarpNativeRow
2950 #endif
2951 
2952 #ifdef EwGfxScreenWarpAffineNativeBlend
2953 #define EwScreenWarpAffineNativeRowBlend 0
2954 #else
2955 #define EwGfxScreenWarpAffineNativeBlend 0
2956 #define EwScreenWarpAffineNativeRowBlend EwScreenWarpNativeRowBlend
2957 #endif
2958 
2959 #ifdef EwGfxScreenWarpAffineNativeGradient
2960 #define EwScreenWarpAffineNativeRowGradient 0
2961 #define EwScreenWarpAffineNativeRowSolid 0
2962 #else
2963 #define EwGfxScreenWarpAffineNativeGradient 0
2964 #define EwScreenWarpAffineNativeRowGradient EwScreenWarpNativeRowGradient
2965 #endif
2966 
2967 #ifdef EwGfxScreenWarpAffineNativeGradientBlend
2968 #define EwScreenWarpAffineNativeRowGradientBlend 0
2969 #define EwScreenWarpAffineNativeRowSolidBlend 0
2970 #else
2971 #define EwGfxScreenWarpAffineNativeGradientBlend 0
2972 #define EwScreenWarpAffineNativeRowGradientBlend \
2973  EwScreenWarpNativeRowGradientBlend
2974 #endif
2975 
2976 #ifdef EwGfxScreenWarpAffineNativeFilter
2977 #define EwScreenWarpAffineNativeRowFilter 0
2978 #else
2979 #define EwGfxScreenWarpAffineNativeFilter 0
2980 #define EwScreenWarpAffineNativeRowFilter EwScreenWarpNativeRowFilter
2981 #endif
2982 
2983 #ifdef EwGfxScreenWarpAffineNativeFilterBlend
2984 #define EwScreenWarpAffineNativeRowFilterBlend 0
2985 #else
2986 #define EwGfxScreenWarpAffineNativeFilterBlend 0
2987 #define EwScreenWarpAffineNativeRowFilterBlend EwScreenWarpNativeRowFilterBlend
2988 #endif
2989 
2990 #ifdef EwGfxScreenWarpAffineNativeFilterGradient
2991 #define EwScreenWarpAffineNativeRowFilterGradient 0
2992 #define EwScreenWarpAffineNativeRowFilterSolid 0
2993 #else
2994 #define EwGfxScreenWarpAffineNativeFilterGradient 0
2995 #define EwScreenWarpAffineNativeRowFilterGradient \
2996  EwScreenWarpNativeRowFilterGradient
2997 #endif
2998 
2999 #ifdef EwGfxScreenWarpAffineNativeFilterGradientBlend
3000 #define EwScreenWarpAffineNativeRowFilterGradientBlend 0
3001 #define EwScreenWarpAffineNativeRowFilterSolidBlend 0
3002 #else
3003 #define EwGfxScreenWarpAffineNativeFilterGradientBlend 0
3004 #define EwScreenWarpAffineNativeRowFilterGradientBlend \
3005  EwScreenWarpNativeRowFilterGradientBlend
3006 #endif
3007 
3008 #ifndef EwGfxScreenWarpAffineNativeSolid
3009 #define EwGfxScreenWarpAffineNativeSolid EwGfxScreenWarpAffineNativeGradient
3010 #endif
3011 
3012 #ifndef EwGfxScreenWarpAffineNativeSolidBlend
3013 #define EwGfxScreenWarpAffineNativeSolidBlend \
3014  EwGfxScreenWarpAffineNativeGradientBlend
3015 #endif
3016 
3017 #ifndef EwGfxScreenWarpAffineNativeFilterSolid
3018 #define EwGfxScreenWarpAffineNativeFilterSolid \
3019  EwGfxScreenWarpAffineNativeFilterGradient
3020 #endif
3021 
3022 #ifndef EwGfxScreenWarpAffineNativeFilterSolidBlend
3023 #define EwGfxScreenWarpAffineNativeFilterSolidBlend \
3024  EwGfxScreenWarpAffineNativeFilterGradientBlend
3025 #endif
3026 
3027 #ifndef EwScreenWarpAffineNativeRowSolid
3028 #define EwScreenWarpAffineNativeRowSolid EwScreenWarpNativeRowSolid
3029 #endif
3030 
3031 #ifndef EwScreenWarpAffineNativeRowSolidBlend
3032 #define EwScreenWarpAffineNativeRowSolidBlend EwScreenWarpNativeRowSolidBlend
3033 #endif
3034 
3035 #ifndef EwScreenWarpAffineNativeRowFilterSolid
3036 #define EwScreenWarpAffineNativeRowFilterSolid EwScreenWarpNativeRowFilterSolid
3037 #endif
3038 
3039 #ifndef EwScreenWarpAffineNativeRowFilterSolidBlend
3040 #define EwScreenWarpAffineNativeRowFilterSolidBlend \
3041  EwScreenWarpNativeRowFilterSolidBlend
3042 #endif
3043 
3044 #ifdef EwGfxScreenWarpAffineIndex8
3045 #define EwScreenWarpAffineIndex8Row 0
3046 #else
3047 #define EwGfxScreenWarpAffineIndex8 0
3048 #define EwScreenWarpAffineIndex8Row EwScreenWarpIndex8Row
3049 #endif
3050 
3051 #ifdef EwGfxScreenWarpAffineIndex8Blend
3052 #define EwScreenWarpAffineIndex8RowBlend 0
3053 #else
3054 #define EwGfxScreenWarpAffineIndex8Blend 0
3055 #define EwScreenWarpAffineIndex8RowBlend EwScreenWarpIndex8RowBlend
3056 #endif
3057 
3058 #ifdef EwGfxScreenWarpAffineIndex8Gradient
3059 #define EwScreenWarpAffineIndex8RowGradient 0
3060 #define EwScreenWarpAffineIndex8RowSolid 0
3061 #else
3062 #define EwGfxScreenWarpAffineIndex8Gradient 0
3063 #define EwScreenWarpAffineIndex8RowGradient EwScreenWarpIndex8RowGradient
3064 #endif
3065 
3066 #ifdef EwGfxScreenWarpAffineIndex8GradientBlend
3067 #define EwScreenWarpAffineIndex8RowGradientBlend 0
3068 #define EwScreenWarpAffineIndex8RowSolidBlend 0
3069 #else
3070 #define EwGfxScreenWarpAffineIndex8GradientBlend 0
3071 #define EwScreenWarpAffineIndex8RowGradientBlend \
3072  EwScreenWarpIndex8RowGradientBlend
3073 #endif
3074 
3075 #ifdef EwGfxScreenWarpAffineIndex8Filter
3076 #define EwScreenWarpAffineIndex8RowFilter 0
3077 #else
3078 #define EwGfxScreenWarpAffineIndex8Filter 0
3079 #define EwScreenWarpAffineIndex8RowFilter EwScreenWarpIndex8RowFilter
3080 #endif
3081 
3082 #ifdef EwGfxScreenWarpAffineIndex8FilterBlend
3083 #define EwScreenWarpAffineIndex8RowFilterBlend 0
3084 #else
3085 #define EwGfxScreenWarpAffineIndex8FilterBlend 0
3086 #define EwScreenWarpAffineIndex8RowFilterBlend EwScreenWarpIndex8RowFilterBlend
3087 #endif
3088 
3089 #ifdef EwGfxScreenWarpAffineIndex8FilterGradient
3090 #define EwScreenWarpAffineIndex8RowFilterGradient 0
3091 #define EwScreenWarpAffineIndex8RowFilterSolid 0
3092 #else
3093 #define EwGfxScreenWarpAffineIndex8FilterGradient 0
3094 #define EwScreenWarpAffineIndex8RowFilterGradient \
3095  EwScreenWarpIndex8RowFilterGradient
3096 #endif
3097 
3098 #ifdef EwGfxScreenWarpAffineIndex8FilterGradientBlend
3099 #define EwScreenWarpAffineIndex8RowFilterGradientBlend 0
3100 #define EwScreenWarpAffineIndex8RowFilterSolidBlend 0
3101 #else
3102 #define EwGfxScreenWarpAffineIndex8FilterGradientBlend 0
3103 #define EwScreenWarpAffineIndex8RowFilterGradientBlend \
3104  EwScreenWarpIndex8RowFilterGradientBlend
3105 #endif
3106 
3107 #ifndef EwGfxScreenWarpAffineIndex8Solid
3108 #define EwGfxScreenWarpAffineIndex8Solid EwGfxScreenWarpAffineIndex8Gradient
3109 #endif
3110 
3111 #ifndef EwGfxScreenWarpAffineIndex8SolidBlend
3112 #define EwGfxScreenWarpAffineIndex8SolidBlend \
3113  EwGfxScreenWarpAffineIndex8GradientBlend
3114 #endif
3115 
3116 #ifndef EwGfxScreenWarpAffineIndex8FilterSolid
3117 #define EwGfxScreenWarpAffineIndex8FilterSolid \
3118  EwGfxScreenWarpAffineIndex8FilterGradient
3119 #endif
3120 
3121 #ifndef EwGfxScreenWarpAffineIndex8FilterSolidBlend
3122 #define EwGfxScreenWarpAffineIndex8FilterSolidBlend \
3123  EwGfxScreenWarpAffineIndex8FilterGradientBlend
3124 #endif
3125 
3126 #ifndef EwScreenWarpAffineIndex8RowSolid
3127 #define EwScreenWarpAffineIndex8RowSolid EwScreenWarpIndex8RowSolid
3128 #endif
3129 
3130 #ifndef EwScreenWarpAffineIndex8RowSolidBlend
3131 #define EwScreenWarpAffineIndex8RowSolidBlend EwScreenWarpIndex8RowSolidBlend
3132 #endif
3133 
3134 #ifndef EwScreenWarpAffineIndex8RowFilterSolid
3135 #define EwScreenWarpAffineIndex8RowFilterSolid EwScreenWarpIndex8RowFilterSolid
3136 #endif
3137 
3138 #ifndef EwScreenWarpAffineIndex8RowFilterSolidBlend
3139 #define EwScreenWarpAffineIndex8RowFilterSolidBlend \
3140  EwScreenWarpIndex8RowFilterSolidBlend
3141 #endif
3142 
3143 #ifdef EwGfxScreenWarpAffineAlpha8Gradient
3144 #define EwScreenWarpAffineAlpha8RowGradient 0
3145 #define EwScreenWarpAffineAlpha8RowSolid 0
3146 #else
3147 #define EwGfxScreenWarpAffineAlpha8Gradient 0
3148 #define EwScreenWarpAffineAlpha8RowGradient EwScreenWarpAlpha8RowGradient
3149 #endif
3150 
3151 #ifdef EwGfxScreenWarpAffineAlpha8GradientBlend
3152 #define EwScreenWarpAffineAlpha8RowGradientBlend 0
3153 #define EwScreenWarpAffineAlpha8RowSolidBlend 0
3154 #else
3155 #define EwGfxScreenWarpAffineAlpha8GradientBlend 0
3156 #define EwScreenWarpAffineAlpha8RowGradientBlend \
3157  EwScreenWarpAlpha8RowGradientBlend
3158 #endif
3159 
3160 #ifdef EwGfxScreenWarpAffineAlpha8FilterGradient
3161 #define EwScreenWarpAffineAlpha8RowFilterGradient 0
3162 #define EwScreenWarpAffineAlpha8RowFilterSolid 0
3163 #else
3164 #define EwGfxScreenWarpAffineAlpha8FilterGradient 0
3165 #define EwScreenWarpAffineAlpha8RowFilterGradient \
3166  EwScreenWarpAlpha8RowFilterGradient
3167 #endif
3168 
3169 #ifdef EwGfxScreenWarpAffineAlpha8FilterGradientBlend
3170 #define EwScreenWarpAffineAlpha8RowFilterGradientBlend 0
3171 #define EwScreenWarpAffineAlpha8RowFilterSolidBlend 0
3172 #else
3173 #define EwGfxScreenWarpAffineAlpha8FilterGradientBlend 0
3174 #define EwScreenWarpAffineAlpha8RowFilterGradientBlend \
3175  EwScreenWarpAlpha8RowFilterGradientBlend
3176 #endif
3177 
3178 #ifndef EwGfxScreenWarpAffineAlpha8Solid
3179 #define EwGfxScreenWarpAffineAlpha8Solid EwGfxScreenWarpAffineAlpha8Gradient
3180 #endif
3181 
3182 #ifndef EwGfxScreenWarpAffineAlpha8SolidBlend
3183 #define EwGfxScreenWarpAffineAlpha8SolidBlend \
3184  EwGfxScreenWarpAffineAlpha8GradientBlend
3185 #endif
3186 
3187 #ifndef EwGfxScreenWarpAffineAlpha8FilterSolid
3188 #define EwGfxScreenWarpAffineAlpha8FilterSolid \
3189  EwGfxScreenWarpAffineAlpha8FilterGradient
3190 #endif
3191 
3192 #ifndef EwGfxScreenWarpAffineAlpha8FilterSolidBlend
3193 #define EwGfxScreenWarpAffineAlpha8FilterSolidBlend \
3194  EwGfxScreenWarpAffineAlpha8FilterGradientBlend
3195 #endif
3196 
3197 #ifndef EwScreenWarpAffineAlpha8RowSolid
3198 #define EwScreenWarpAffineAlpha8RowSolid EwScreenWarpAlpha8RowSolid
3199 #endif
3200 
3201 #ifndef EwScreenWarpAffineAlpha8RowSolidBlend
3202 #define EwScreenWarpAffineAlpha8RowSolidBlend EwScreenWarpAlpha8RowSolidBlend
3203 #endif
3204 
3205 #ifndef EwScreenWarpAffineAlpha8RowFilterSolid
3206 #define EwScreenWarpAffineAlpha8RowFilterSolid EwScreenWarpAlpha8RowFilterSolid
3207 #endif
3208 
3209 #ifndef EwScreenWarpAffineAlpha8RowFilterSolidBlend
3210 #define EwScreenWarpAffineAlpha8RowFilterSolidBlend \
3211  EwScreenWarpAlpha8RowFilterSolidBlend
3212 #endif
3213 
3214 #ifdef EwGfxScreenWarpAffineRGB565
3215 #define EwScreenWarpAffineRGB565Row 0
3216 #else
3217 #define EwGfxScreenWarpAffineRGB565 0
3218 #define EwScreenWarpAffineRGB565Row EwScreenWarpRGB565Row
3219 #endif
3220 
3221 #ifdef EwGfxScreenWarpAffineRGB565Gradient
3222 #define EwScreenWarpAffineRGB565RowGradient 0
3223 #define EwScreenWarpAffineRGB565RowSolid 0
3224 #else
3225 #define EwGfxScreenWarpAffineRGB565Gradient 0
3226 #define EwScreenWarpAffineRGB565RowGradient EwScreenWarpRGB565RowGradient
3227 #endif
3228 
3229 #ifdef EwGfxScreenWarpAffineRGB565GradientBlend
3230 #define EwScreenWarpAffineRGB565RowGradientBlend 0
3231 #define EwScreenWarpAffineRGB565RowSolidBlend 0
3232 #else
3233 #define EwGfxScreenWarpAffineRGB565GradientBlend 0
3234 #define EwScreenWarpAffineRGB565RowGradientBlend \
3235  EwScreenWarpRGB565RowGradientBlend
3236 #endif
3237 
3238 #ifdef EwGfxScreenWarpAffineRGB565Filter
3239 #define EwScreenWarpAffineRGB565RowFilter 0
3240 #else
3241 #define EwGfxScreenWarpAffineRGB565Filter 0
3242 #define EwScreenWarpAffineRGB565RowFilter EwScreenWarpRGB565RowFilter
3243 #endif
3244 
3245 #ifdef EwGfxScreenWarpAffineRGB565FilterGradient
3246 #define EwScreenWarpAffineRGB565RowFilterGradient 0
3247 #define EwScreenWarpAffineRGB565RowFilterSolid 0
3248 #else
3249 #define EwGfxScreenWarpAffineRGB565FilterGradient 0
3250 #define EwScreenWarpAffineRGB565RowFilterGradient \
3251  EwScreenWarpRGB565RowFilterGradient
3252 #endif
3253 
3254 #ifdef EwGfxScreenWarpAffineRGB565FilterGradientBlend
3255 #define EwScreenWarpAffineRGB565RowFilterGradientBlend 0
3256 #define EwScreenWarpAffineRGB565RowFilterSolidBlend 0
3257 #else
3258 #define EwGfxScreenWarpAffineRGB565FilterGradientBlend 0
3259 #define EwScreenWarpAffineRGB565RowFilterGradientBlend \
3260  EwScreenWarpRGB565RowFilterGradientBlend
3261 #endif
3262 
3263 #ifndef EwGfxScreenWarpAffineRGB565Solid
3264 #define EwGfxScreenWarpAffineRGB565Solid EwGfxScreenWarpAffineRGB565Gradient
3265 #endif
3266 
3267 #ifndef EwGfxScreenWarpAffineRGB565SolidBlend
3268 #define EwGfxScreenWarpAffineRGB565SolidBlend \
3269  EwGfxScreenWarpAffineRGB565GradientBlend
3270 #endif
3271 
3272 #ifndef EwGfxScreenWarpAffineRGB565FilterSolid
3273 #define EwGfxScreenWarpAffineRGB565FilterSolid \
3274  EwGfxScreenWarpAffineRGB565FilterGradient
3275 #endif
3276 
3277 #ifndef EwGfxScreenWarpAffineRGB565FilterSolidBlend
3278 #define EwGfxScreenWarpAffineRGB565FilterSolidBlend \
3279  EwGfxScreenWarpAffineRGB565FilterGradientBlend
3280 #endif
3281 
3282 #ifndef EwScreenWarpAffineRGB565RowSolid
3283 #define EwScreenWarpAffineRGB565RowSolid EwScreenWarpRGB565RowSolid
3284 #endif
3285 
3286 #ifndef EwScreenWarpAffineRGB565RowSolidBlend
3287 #define EwScreenWarpAffineRGB565RowSolidBlend EwScreenWarpRGB565RowSolidBlend
3288 #endif
3289 
3290 #ifndef EwScreenWarpAffineRGB565RowFilterSolid
3291 #define EwScreenWarpAffineRGB565RowFilterSolid EwScreenWarpRGB565RowFilterSolid
3292 #endif
3293 
3294 #ifndef EwScreenWarpAffineRGB565RowFilterSolidBlend
3295 #define EwScreenWarpAffineRGB565RowFilterSolidBlend \
3296  EwScreenWarpRGB565RowFilterSolidBlend
3297 #endif
3298 
3299 /* Register the functionality provided by the underlying graphics subsystem. */
3300 static const XWarpDriver WarpAffineDrivers[] = {
3307  0,
3308  0,
3315  0,
3316  0,
3323  0,
3324  0,
3331  0,
3332  0,
3333  0,
3334  0,
3339  0,
3340  0,
3341  0,
3342  0,
3347  0,
3348  0,
3355  0,
3356  0,
3363  0,
3364  0,
3365 
3366 #ifdef EW_USE_PIXEL_FORMAT_SCREEN
3373  0,
3374  0,
3381  0,
3382  0,
3389  0,
3390  0,
3397  0,
3398  0,
3399  0,
3400  0,
3405  0,
3406  0,
3407  0,
3408  0,
3413  0,
3414  0,
3421  0,
3422  0,
3429 #endif
3430 
3431  0};
3432 
3433 /* For missing graphics subsystem functionality, register alternative software
3434  emulated functions */
3435 static const XWarpWorker WarpAffineWorkers[] = {
3468  0,
3469  0,
3476  0,
3477  0,
3500 
3501 #ifdef EW_USE_PIXEL_FORMAT_SCREEN
3534  0,
3535  0,
3542  0,
3543  0,
3566 #endif
3567 
3568  0};
3569 
3570 /* Depending on the capabilities of the underlying graphics subsystem select
3571  a set of functions for the 'scale surface' operation. For missing scale
3572  functionality the 'warp affine' operation will be used. */
3573 #ifndef EwGfxScaleNative
3574 #define EwGfxScaleNative EwGfxWarpAffineNative
3575 #endif
3576 
3577 #ifndef EwGfxScaleNativeBlend
3578 #define EwGfxScaleNativeBlend EwGfxWarpAffineNativeBlend
3579 #endif
3580 
3581 #ifndef EwGfxScaleNativeSolid
3582 #define EwGfxScaleNativeSolid EwGfxWarpAffineNativeSolid
3583 #endif
3584 
3585 #ifndef EwGfxScaleNativeSolidBlend
3586 #define EwGfxScaleNativeSolidBlend EwGfxWarpAffineNativeSolidBlend
3587 #endif
3588 
3589 #ifndef EwGfxScaleNativeGradient
3590 #define EwGfxScaleNativeGradient EwGfxWarpAffineNativeGradient
3591 #endif
3592 
3593 #ifndef EwGfxScaleNativeGradientBlend
3594 #define EwGfxScaleNativeGradientBlend EwGfxWarpAffineNativeGradientBlend
3595 #endif
3596 
3597 #ifndef EwGfxScaleNativeLinearGradient
3598 #define EwGfxScaleNativeLinearGradient EwGfxScaleNativeGradient
3599 #endif
3600 
3601 #ifndef EwGfxScaleNativeLinearGradientBlend
3602 #define EwGfxScaleNativeLinearGradientBlend EwGfxScaleNativeGradientBlend
3603 #endif
3604 
3605 #ifndef EwGfxScaleNativeFilter
3606 #define EwGfxScaleNativeFilter EwGfxWarpAffineNativeFilter
3607 #endif
3608 
3609 #ifndef EwGfxScaleNativeFilterBlend
3610 #define EwGfxScaleNativeFilterBlend EwGfxWarpAffineNativeFilterBlend
3611 #endif
3612 
3613 #ifndef EwGfxScaleNativeFilterSolid
3614 #define EwGfxScaleNativeFilterSolid EwGfxWarpAffineNativeFilterSolid
3615 #endif
3616 
3617 #ifndef EwGfxScaleNativeFilterSolidBlend
3618 #define EwGfxScaleNativeFilterSolidBlend EwGfxWarpAffineNativeFilterSolidBlend
3619 #endif
3620 
3621 #ifndef EwGfxScaleNativeFilterGradient
3622 #define EwGfxScaleNativeFilterGradient EwGfxWarpAffineNativeFilterGradient
3623 #endif
3624 
3625 #ifndef EwGfxScaleNativeFilterGradientBlend
3626 #define EwGfxScaleNativeFilterGradientBlend \
3627  EwGfxWarpAffineNativeFilterGradientBlend
3628 #endif
3629 
3630 #ifndef EwGfxScaleNativeFilterLinearGradient
3631 #define EwGfxScaleNativeFilterLinearGradient EwGfxScaleNativeFilterGradient
3632 #endif
3633 
3634 #ifndef EwGfxScaleNativeFilterLinearGradientBlend
3635 #define EwGfxScaleNativeFilterLinearGradientBlend \
3636  EwGfxScaleNativeFilterGradientBlend
3637 #endif
3638 
3639 #ifndef EwGfxScaleIndex8
3640 #define EwGfxScaleIndex8 EwGfxWarpAffineIndex8
3641 #endif
3642 
3643 #ifndef EwGfxScaleIndex8Blend
3644 #define EwGfxScaleIndex8Blend EwGfxWarpAffineIndex8Blend
3645 #endif
3646 
3647 #ifndef EwGfxScaleIndex8Solid
3648 #define EwGfxScaleIndex8Solid EwGfxWarpAffineIndex8Solid
3649 #endif
3650 
3651 #ifndef EwGfxScaleIndex8SolidBlend
3652 #define EwGfxScaleIndex8SolidBlend EwGfxWarpAffineIndex8SolidBlend
3653 #endif
3654 
3655 #ifndef EwGfxScaleIndex8Gradient
3656 #define EwGfxScaleIndex8Gradient EwGfxWarpAffineIndex8Gradient
3657 #endif
3658 
3659 #ifndef EwGfxScaleIndex8GradientBlend
3660 #define EwGfxScaleIndex8GradientBlend EwGfxWarpAffineIndex8GradientBlend
3661 #endif
3662 
3663 #ifndef EwGfxScaleIndex8LinearGradient
3664 #define EwGfxScaleIndex8LinearGradient EwGfxScaleIndex8Gradient
3665 #endif
3666 
3667 #ifndef EwGfxScaleIndex8LinearGradientBlend
3668 #define EwGfxScaleIndex8LinearGradientBlend EwGfxScaleIndex8GradientBlend
3669 #endif
3670 
3671 #ifndef EwGfxScaleIndex8Filter
3672 #define EwGfxScaleIndex8Filter EwGfxWarpAffineIndex8Filter
3673 #endif
3674 
3675 #ifndef EwGfxScaleIndex8FilterBlend
3676 #define EwGfxScaleIndex8FilterBlend EwGfxWarpAffineIndex8FilterBlend
3677 #endif
3678 
3679 #ifndef EwGfxScaleIndex8FilterSolid
3680 #define EwGfxScaleIndex8FilterSolid EwGfxWarpAffineIndex8FilterSolid
3681 #endif
3682 
3683 #ifndef EwGfxScaleIndex8FilterSolidBlend
3684 #define EwGfxScaleIndex8FilterSolidBlend EwGfxWarpAffineIndex8FilterSolidBlend
3685 #endif
3686 
3687 #ifndef EwGfxScaleIndex8FilterGradient
3688 #define EwGfxScaleIndex8FilterGradient EwGfxWarpAffineIndex8FilterGradient
3689 #endif
3690 
3691 #ifndef EwGfxScaleIndex8FilterGradientBlend
3692 #define EwGfxScaleIndex8FilterGradientBlend \
3693  EwGfxWarpAffineIndex8FilterGradientBlend
3694 #endif
3695 
3696 #ifndef EwGfxScaleIndex8FilterLinearGradient
3697 #define EwGfxScaleIndex8FilterLinearGradient EwGfxScaleIndex8FilterGradient
3698 #endif
3699 
3700 #ifndef EwGfxScaleIndex8FilterLinearGradientBlend
3701 #define EwGfxScaleIndex8FilterLinearGradientBlend \
3702  EwGfxScaleIndex8FilterGradientBlend
3703 #endif
3704 
3705 #ifndef EwGfxScaleAlpha8Solid
3706 #define EwGfxScaleAlpha8Solid EwGfxWarpAffineAlpha8Solid
3707 #endif
3708 
3709 #ifndef EwGfxScaleAlpha8SolidBlend
3710 #define EwGfxScaleAlpha8SolidBlend EwGfxWarpAffineAlpha8SolidBlend
3711 #endif
3712 
3713 #ifndef EwGfxScaleAlpha8Gradient
3714 #define EwGfxScaleAlpha8Gradient EwGfxWarpAffineAlpha8Gradient
3715 #endif
3716 
3717 #ifndef EwGfxScaleAlpha8GradientBlend
3718 #define EwGfxScaleAlpha8GradientBlend EwGfxWarpAffineAlpha8GradientBlend
3719 #endif
3720 
3721 #ifndef EwGfxScaleAlpha8LinearGradient
3722 #define EwGfxScaleAlpha8LinearGradient EwGfxScaleAlpha8Gradient
3723 #endif
3724 
3725 #ifndef EwGfxScaleAlpha8LinearGradientBlend
3726 #define EwGfxScaleAlpha8LinearGradientBlend EwGfxScaleAlpha8GradientBlend
3727 #endif
3728 
3729 #ifndef EwGfxScaleAlpha8FilterSolid
3730 #define EwGfxScaleAlpha8FilterSolid EwGfxWarpAffineAlpha8FilterSolid
3731 #endif
3732 
3733 #ifndef EwGfxScaleAlpha8FilterSolidBlend
3734 #define EwGfxScaleAlpha8FilterSolidBlend EwGfxWarpAffineAlpha8FilterSolidBlend
3735 #endif
3736 
3737 #ifndef EwGfxScaleAlpha8FilterGradient
3738 #define EwGfxScaleAlpha8FilterGradient EwGfxWarpAffineAlpha8FilterGradient
3739 #endif
3740 
3741 #ifndef EwGfxScaleAlpha8FilterGradientBlend
3742 #define EwGfxScaleAlpha8FilterGradientBlend \
3743  EwGfxWarpAffineAlpha8FilterGradientBlend
3744 #endif
3745 
3746 #ifndef EwGfxScaleAlpha8FilterLinearGradient
3747 #define EwGfxScaleAlpha8FilterLinearGradient EwGfxScaleAlpha8FilterGradient
3748 #endif
3749 
3750 #ifndef EwGfxScaleAlpha8FilterLinearGradientBlend
3751 #define EwGfxScaleAlpha8FilterLinearGradientBlend \
3752  EwGfxScaleAlpha8FilterGradientBlend
3753 #endif
3754 
3755 #ifndef EwGfxScaleRGB565
3756 #define EwGfxScaleRGB565 EwGfxWarpAffineRGB565
3757 #endif
3758 
3759 #ifndef EwGfxScaleRGB565Solid
3760 #define EwGfxScaleRGB565Solid EwGfxWarpAffineRGB565Solid
3761 #endif
3762 
3763 #ifndef EwGfxScaleRGB565SolidBlend
3764 #define EwGfxScaleRGB565SolidBlend EwGfxWarpAffineRGB565SolidBlend
3765 #endif
3766 
3767 #ifndef EwGfxScaleRGB565Gradient
3768 #define EwGfxScaleRGB565Gradient EwGfxWarpAffineRGB565Gradient
3769 #endif
3770 
3771 #ifndef EwGfxScaleRGB565GradientBlend
3772 #define EwGfxScaleRGB565GradientBlend EwGfxWarpAffineRGB565GradientBlend
3773 #endif
3774 
3775 #ifndef EwGfxScaleRGB565LinearGradient
3776 #define EwGfxScaleRGB565LinearGradient EwGfxScaleRGB565Gradient
3777 #endif
3778 
3779 #ifndef EwGfxScaleRGB565LinearGradientBlend
3780 #define EwGfxScaleRGB565LinearGradientBlend EwGfxScaleRGB565GradientBlend
3781 #endif
3782 
3783 #ifndef EwGfxScaleRGB565Filter
3784 #define EwGfxScaleRGB565Filter EwGfxWarpAffineRGB565Filter
3785 #endif
3786 
3787 #ifndef EwGfxScaleRGB565FilterSolid
3788 #define EwGfxScaleRGB565FilterSolid EwGfxWarpAffineRGB565FilterSolid
3789 #endif
3790 
3791 #ifndef EwGfxScaleRGB565FilterSolidBlend
3792 #define EwGfxScaleRGB565FilterSolidBlend EwGfxWarpAffineRGB565FilterSolidBlend
3793 #endif
3794 
3795 #ifndef EwGfxScaleRGB565FilterGradient
3796 #define EwGfxScaleRGB565FilterGradient EwGfxWarpAffineRGB565FilterGradient
3797 #endif
3798 
3799 #ifndef EwGfxScaleRGB565FilterGradientBlend
3800 #define EwGfxScaleRGB565FilterGradientBlend \
3801  EwGfxWarpAffineRGB565FilterGradientBlend
3802 #endif
3803 
3804 #ifndef EwGfxScaleRGB565FilterLinearGradient
3805 #define EwGfxScaleRGB565FilterLinearGradient EwGfxScaleRGB565FilterGradient
3806 #endif
3807 
3808 #ifndef EwGfxScaleRGB565FilterLinearGradientBlend
3809 #define EwGfxScaleRGB565FilterLinearGradientBlend \
3810  EwGfxScaleRGB565FilterGradientBlend
3811 #endif
3812 
3813 #ifndef EwGfxScreenScaleNative
3814 #define EwGfxScreenScaleNative EwGfxScreenWarpAffineNative
3815 #endif
3816 
3817 #ifndef EwGfxScreenScaleNativeBlend
3818 #define EwGfxScreenScaleNativeBlend EwGfxScreenWarpAffineNativeBlend
3819 #endif
3820 
3821 #ifndef EwGfxScreenScaleNativeSolid
3822 #define EwGfxScreenScaleNativeSolid EwGfxScreenWarpAffineNativeSolid
3823 #endif
3824 
3825 #ifndef EwGfxScreenScaleNativeSolidBlend
3826 #define EwGfxScreenScaleNativeSolidBlend EwGfxScreenWarpAffineNativeSolidBlend
3827 #endif
3828 
3829 #ifndef EwGfxScreenScaleNativeGradient
3830 #define EwGfxScreenScaleNativeGradient EwGfxScreenWarpAffineNativeGradient
3831 #endif
3832 
3833 #ifndef EwGfxScreenScaleNativeGradientBlend
3834 #define EwGfxScreenScaleNativeGradientBlend \
3835  EwGfxScreenWarpAffineNativeGradientBlend
3836 #endif
3837 
3838 #ifndef EwGfxScreenScaleNativeLinearGradient
3839 #define EwGfxScreenScaleNativeLinearGradient EwGfxScreenScaleNativeGradient
3840 #endif
3841 
3842 #ifndef EwGfxScreenScaleNativeLinearGradientBlend
3843 #define EwGfxScreenScaleNativeLinearGradientBlend \
3844  EwGfxScreenScaleNativeGradientBlend
3845 #endif
3846 
3847 #ifndef EwGfxScreenScaleNativeFilter
3848 #define EwGfxScreenScaleNativeFilter EwGfxScreenWarpAffineNativeFilter
3849 #endif
3850 
3851 #ifndef EwGfxScreenScaleNativeFilterBlend
3852 #define EwGfxScreenScaleNativeFilterBlend EwGfxScreenWarpAffineNativeFilterBlend
3853 #endif
3854 
3855 #ifndef EwGfxScreenScaleNativeFilterSolid
3856 #define EwGfxScreenScaleNativeFilterSolid EwGfxScreenWarpAffineNativeFilterSolid
3857 #endif
3858 
3859 #ifndef EwGfxScreenScaleNativeFilterSolidBlend
3860 #define EwGfxScreenScaleNativeFilterSolidBlend \
3861  EwGfxScreenWarpAffineNativeFilterSolidBlend
3862 #endif
3863 
3864 #ifndef EwGfxScreenScaleNativeFilterGradient
3865 #define EwGfxScreenScaleNativeFilterGradient \
3866  EwGfxScreenWarpAffineNativeFilterGradient
3867 #endif
3868 
3869 #ifndef EwGfxScreenScaleNativeFilterGradientBlend
3870 #define EwGfxScreenScaleNativeFilterGradientBlend \
3871  EwGfxScreenWarpAffineNativeFilterGradientBlend
3872 #endif
3873 
3874 #ifndef EwGfxScreenScaleNativeFilterLinearGradient
3875 #define EwGfxScreenScaleNativeFilterLinearGradient \
3876  EwGfxScreenScaleNativeFilterGradient
3877 #endif
3878 
3879 #ifndef EwGfxScreenScaleNativeFilterLinearGradientBlend
3880 #define EwGfxScreenScaleNativeFilterLinearGradientBlend \
3881  EwGfxScreenScaleNativeFilterGradientBlend
3882 #endif
3883 
3884 #ifndef EwGfxScreenScaleIndex8
3885 #define EwGfxScreenScaleIndex8 EwGfxScreenWarpAffineIndex8
3886 #endif
3887 
3888 #ifndef EwGfxScreenScaleIndex8Blend
3889 #define EwGfxScreenScaleIndex8Blend EwGfxScreenWarpAffineIndex8Blend
3890 #endif
3891 
3892 #ifndef EwGfxScreenScaleIndex8Solid
3893 #define EwGfxScreenScaleIndex8Solid EwGfxScreenWarpAffineIndex8Solid
3894 #endif
3895 
3896 #ifndef EwGfxScreenScaleIndex8SolidBlend
3897 #define EwGfxScreenScaleIndex8SolidBlend EwGfxScreenWarpAffineIndex8SolidBlend
3898 #endif
3899 
3900 #ifndef EwGfxScreenScaleIndex8Gradient
3901 #define EwGfxScreenScaleIndex8Gradient EwGfxScreenWarpAffineIndex8Gradient
3902 #endif
3903 
3904 #ifndef EwGfxScreenScaleIndex8GradientBlend
3905 #define EwGfxScreenScaleIndex8GradientBlend \
3906  EwGfxScreenWarpAffineIndex8GradientBlend
3907 #endif
3908 
3909 #ifndef EwGfxScreenScaleIndex8LinearGradient
3910 #define EwGfxScreenScaleIndex8LinearGradient EwGfxScreenScaleIndex8Gradient
3911 #endif
3912 
3913 #ifndef EwGfxScreenScaleIndex8LinearGradientBlend
3914 #define EwGfxScreenScaleIndex8LinearGradientBlend \
3915  EwGfxScreenScaleIndex8GradientBlend
3916 #endif
3917 
3918 #ifndef EwGfxScreenScaleIndex8Filter
3919 #define EwGfxScreenScaleIndex8Filter EwGfxScreenWarpAffineIndex8Filter
3920 #endif
3921 
3922 #ifndef EwGfxScreenScaleIndex8FilterBlend
3923 #define EwGfxScreenScaleIndex8FilterBlend EwGfxScreenWarpAffineIndex8FilterBlend
3924 #endif
3925 
3926 #ifndef EwGfxScreenScaleIndex8FilterSolid
3927 #define EwGfxScreenScaleIndex8FilterSolid EwGfxScreenWarpAffineIndex8FilterSolid
3928 #endif
3929 
3930 #ifndef EwGfxScreenScaleIndex8FilterSolidBlend
3931 #define EwGfxScreenScaleIndex8FilterSolidBlend \
3932  EwGfxScreenWarpAffineIndex8FilterSolidBlend
3933 #endif
3934 
3935 #ifndef EwGfxScreenScaleIndex8FilterGradient
3936 #define EwGfxScreenScaleIndex8FilterGradient \
3937  EwGfxScreenWarpAffineIndex8FilterGradient
3938 #endif
3939 
3940 #ifndef EwGfxScreenScaleIndex8FilterGradientBlend
3941 #define EwGfxScreenScaleIndex8FilterGradientBlend \
3942  EwGfxScreenWarpAffineIndex8FilterGradientBlend
3943 #endif
3944 
3945 #ifndef EwGfxScreenScaleIndex8FilterLinearGradient
3946 #define EwGfxScreenScaleIndex8FilterLinearGradient \
3947  EwGfxScreenScaleIndex8FilterGradient
3948 #endif
3949 
3950 #ifndef EwGfxScreenScaleIndex8FilterLinearGradientBlend
3951 #define EwGfxScreenScaleIndex8FilterLinearGradientBlend \
3952  EwGfxScreenScaleIndex8FilterGradientBlend
3953 #endif
3954 
3955 #ifndef EwGfxScreenScaleAlpha8Solid
3956 #define EwGfxScreenScaleAlpha8Solid EwGfxScreenWarpAffineAlpha8Solid
3957 #endif
3958 
3959 #ifndef EwGfxScreenScaleAlpha8SolidBlend
3960 #define EwGfxScreenScaleAlpha8SolidBlend EwGfxScreenWarpAffineAlpha8SolidBlend
3961 #endif
3962 
3963 #ifndef EwGfxScreenScaleAlpha8Gradient
3964 #define EwGfxScreenScaleAlpha8Gradient EwGfxScreenWarpAffineAlpha8Gradient
3965 #endif
3966 
3967 #ifndef EwGfxScreenScaleAlpha8GradientBlend
3968 #define EwGfxScreenScaleAlpha8GradientBlend \
3969  EwGfxScreenWarpAffineAlpha8GradientBlend
3970 #endif
3971 
3972 #ifndef EwGfxScreenScaleAlpha8LinearGradient
3973 #define EwGfxScreenScaleAlpha8LinearGradient EwGfxScreenScaleAlpha8Gradient
3974 #endif
3975 
3976 #ifndef EwGfxScreenScaleAlpha8LinearGradientBlend
3977 #define EwGfxScreenScaleAlpha8LinearGradientBlend \
3978  EwGfxScreenScaleAlpha8GradientBlend
3979 #endif
3980 
3981 #ifndef EwGfxScreenScaleAlpha8FilterSolid
3982 #define EwGfxScreenScaleAlpha8FilterSolid EwGfxScreenWarpAffineAlpha8FilterSolid
3983 #endif
3984 
3985 #ifndef EwGfxScreenScaleAlpha8FilterSolidBlend
3986 #define EwGfxScreenScaleAlpha8FilterSolidBlend \
3987  EwGfxScreenWarpAffineAlpha8FilterSolidBlend
3988 #endif
3989 
3990 #ifndef EwGfxScreenScaleAlpha8FilterGradient
3991 #define EwGfxScreenScaleAlpha8FilterGradient \
3992  EwGfxScreenWarpAffineAlpha8FilterGradient
3993 #endif
3994 
3995 #ifndef EwGfxScreenScaleAlpha8FilterGradientBlend
3996 #define EwGfxScreenScaleAlpha8FilterGradientBlend \
3997  EwGfxScreenWarpAffineAlpha8FilterGradientBlend
3998 #endif
3999 
4000 #ifndef EwGfxScreenScaleAlpha8FilterLinearGradient
4001 #define EwGfxScreenScaleAlpha8FilterLinearGradient \
4002  EwGfxScreenScaleAlpha8FilterGradient
4003 #endif
4004 
4005 #ifndef EwGfxScreenScaleAlpha8FilterLinearGradientBlend
4006 #define EwGfxScreenScaleAlpha8FilterLinearGradientBlend \
4007  EwGfxScreenScaleAlpha8FilterGradientBlend
4008 #endif
4009 
4010 #ifndef EwGfxScreenScaleRGB565
4011 #define EwGfxScreenScaleRGB565 EwGfxScreenWarpAffineRGB565
4012 #endif
4013 
4014 #ifndef EwGfxScreenScaleRGB565Solid
4015 #define EwGfxScreenScaleRGB565Solid EwGfxScreenWarpAffineRGB565Solid
4016 #endif
4017 
4018 #ifndef EwGfxScreenScaleRGB565SolidBlend
4019 #define EwGfxScreenScaleRGB565SolidBlend EwGfxScreenWarpAffineRGB565SolidBlend
4020 #endif
4021 
4022 #ifndef EwGfxScreenScaleRGB565Gradient
4023 #define EwGfxScreenScaleRGB565Gradient EwGfxScreenWarpAffineRGB565Gradient
4024 #endif
4025 
4026 #ifndef EwGfxScreenScaleRGB565GradientBlend
4027 #define EwGfxScreenScaleRGB565GradientBlend \
4028  EwGfxScreenWarpAffineRGB565GradientBlend
4029 #endif
4030 
4031 #ifndef EwGfxScreenScaleRGB565LinearGradient
4032 #define EwGfxScreenScaleRGB565LinearGradient EwGfxScreenScaleRGB565Gradient
4033 #endif
4034 
4035 #ifndef EwGfxScreenScaleRGB565LinearGradientBlend
4036 #define EwGfxScreenScaleRGB565LinearGradientBlend \
4037  EwGfxScreenScaleRGB565GradientBlend
4038 #endif
4039 
4040 #ifndef EwGfxScreenScaleRGB565Filter
4041 #define EwGfxScreenScaleRGB565Filter EwGfxScreenWarpAffineRGB565Filter
4042 #endif
4043 
4044 #ifndef EwGfxScreenScaleRGB565FilterSolid
4045 #define EwGfxScreenScaleRGB565FilterSolid EwGfxScreenWarpAffineRGB565FilterSolid
4046 #endif
4047 
4048 #ifndef EwGfxScreenScaleRGB565FilterSolidBlend
4049 #define EwGfxScreenScaleRGB565FilterSolidBlend \
4050  EwGfxScreenWarpAffineRGB565FilterSolidBlend
4051 #endif
4052 
4053 #ifndef EwGfxScreenScaleRGB565FilterGradient
4054 #define EwGfxScreenScaleRGB565FilterGradient \
4055  EwGfxScreenWarpAffineRGB565FilterGradient
4056 #endif
4057 
4058 #ifndef EwGfxScreenScaleRGB565FilterGradientBlend
4059 #define EwGfxScreenScaleRGB565FilterGradientBlend \
4060  EwGfxScreenWarpAffineRGB565FilterGradientBlend
4061 #endif
4062 
4063 #ifndef EwGfxScreenScaleRGB565FilterLinearGradient
4064 #define EwGfxScreenScaleRGB565FilterLinearGradient \
4065  EwGfxScreenScaleRGB565FilterGradient
4066 #endif
4067 
4068 #ifndef EwGfxScreenScaleRGB565FilterLinearGradientBlend
4069 #define EwGfxScreenScaleRGB565FilterLinearGradientBlend \
4070  EwGfxScreenScaleRGB565FilterGradientBlend
4071 #endif
4072 
4073 /* Register the functionality provided by the underlying graphics subsystem. */
4074 static const XWarpDriver WarpScaleDrivers[] = {
4107  0,
4108  0,
4115  0,
4116  0,
4139 
4140 #ifdef EW_USE_PIXEL_FORMAT_SCREEN
4173  0,
4174  0,
4181  0,
4182  0,
4205 #endif
4206 
4207  0};
4208 
4209 /* Depending on the capabilities of the underlying graphics subsystem select
4210  a set of functions for the 'fill polygon' operation. */
4211 #ifndef EwGfxPolygonGradient
4212 #define EwGfxPolygonGradient 0
4213 #endif
4214 
4215 #ifndef EwGfxPolygonGradientBlend
4216 #define EwGfxPolygonGradientBlend 0
4217 #endif
4218 
4219 #ifndef EwGfxPolygonAntialiasedGradient
4220 #define EwGfxPolygonAntialiasedGradient 0
4221 #endif
4222 
4223 #ifndef EwGfxPolygonAntialiasedGradientBlend
4224 #define EwGfxPolygonAntialiasedGradientBlend 0
4225 #endif
4226 
4227 #ifndef EwGfxPolygonLinearGradient
4228 #define EwGfxPolygonLinearGradient EwGfxPolygonGradient
4229 #endif
4230 
4231 #ifndef EwGfxPolygonLinearGradientBlend
4232 #define EwGfxPolygonLinearGradientBlend EwGfxPolygonGradientBlend
4233 #endif
4234 
4235 #ifndef EwGfxPolygonAntialiasedLinearGradient
4236 #define EwGfxPolygonAntialiasedLinearGradient EwGfxPolygonAntialiasedGradient
4237 #endif
4238 
4239 #ifndef EwGfxPolygonAntialiasedLinearGradientBlend
4240 #define EwGfxPolygonAntialiasedLinearGradientBlend \
4241  EwGfxPolygonAntialiasedGradientBlend
4242 #endif
4243 
4244 #ifndef EwGfxPolygonSolid
4245 #define EwGfxPolygonSolid EwGfxPolygonLinearGradient
4246 #endif
4247 
4248 #ifndef EwGfxPolygonSolidBlend
4249 #define EwGfxPolygonSolidBlend EwGfxPolygonLinearGradientBlend
4250 #endif
4251 
4252 #ifndef EwGfxPolygonAntialiasedSolid
4253 #define EwGfxPolygonAntialiasedSolid EwGfxPolygonAntialiasedLinearGradient
4254 #endif
4255 
4256 #ifndef EwGfxPolygonAntialiasedSolidBlend
4257 #define EwGfxPolygonAntialiasedSolidBlend \
4258  EwGfxPolygonAntialiasedLinearGradientBlend
4259 #endif
4260 
4261 #ifndef EwGfxScreenPolygonGradient
4262 #define EwGfxScreenPolygonGradient 0
4263 #endif
4264 
4265 #ifndef EwGfxScreenPolygonGradientBlend
4266 #define EwGfxScreenPolygonGradientBlend 0
4267 #endif
4268 
4269 #ifndef EwGfxScreenPolygonAntialiasedGradient
4270 #define EwGfxScreenPolygonAntialiasedGradient 0
4271 #endif
4272 
4273 #ifndef EwGfxScreenPolygonAntialiasedGradientBlend
4274 #define EwGfxScreenPolygonAntialiasedGradientBlend 0
4275 #endif
4276 
4277 #ifndef EwGfxScreenPolygonLinearGradient
4278 #define EwGfxScreenPolygonLinearGradient EwGfxScreenPolygonGradient
4279 #endif
4280 
4281 #ifndef EwGfxScreenPolygonLinearGradientBlend
4282 #define EwGfxScreenPolygonLinearGradientBlend EwGfxScreenPolygonGradientBlend
4283 #endif
4284 
4285 #ifndef EwGfxScreenPolygonAntialiasedLinearGradient
4286 #define EwGfxScreenPolygonAntialiasedLinearGradient \
4287  EwGfxScreenPolygonAntialiasedGradient
4288 #endif
4289 
4290 #ifndef EwGfxScreenPolygonAntialiasedLinearGradientBlend
4291 #define EwGfxScreenPolygonAntialiasedLinearGradientBlend \
4292  EwGfxScreenPolygonAntialiasedGradientBlend
4293 #endif
4294 
4295 #ifndef EwGfxScreenPolygonSolid
4296 #define EwGfxScreenPolygonSolid EwGfxScreenPolygonLinearGradient
4297 #endif
4298 
4299 #ifndef EwGfxScreenPolygonSolidBlend
4300 #define EwGfxScreenPolygonSolidBlend EwGfxScreenPolygonLinearGradientBlend
4301 #endif
4302 
4303 #ifndef EwGfxScreenPolygonAntialiasedSolid
4304 #define EwGfxScreenPolygonAntialiasedSolid \
4305  EwGfxScreenPolygonAntialiasedLinearGradient
4306 #endif
4307 
4308 #ifndef EwGfxScreenPolygonAntialiasedSolidBlend
4309 #define EwGfxScreenPolygonAntialiasedSolidBlend \
4310  EwGfxScreenPolygonAntialiasedLinearGradientBlend
4311 #endif
4312 
4313 /* Register the functionality provided by the underlying graphics subsystem. */
4314 static const XPolygonDriver PolygonDrivers[] = {
4315  0,
4316  0,
4323  0,
4324  0,
4331  0,
4332  0,
4333 
4334 #ifdef EW_USE_PIXEL_FORMAT_SCREEN
4335  0,
4336  0,
4337  0,
4338  0,
4339  0,
4340  0,
4341  0,
4342  0,
4343  0,
4344  0,
4345  0,
4346  0,
4347  0,
4348  0, /* Gap */
4349  0,
4350  0,
4357  0,
4358  0,
4365  0,
4366  0,
4367 #endif
4368 
4369  0};
4370 
4371 /* pba */
EwCopyNativeRowBlend
void EwCopyNativeRowBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwScreenCopyIndex8RowGradient
void EwScreenCopyIndex8RowGradient(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwCopyAlpha8RowSolid
void EwCopyAlpha8RowSolid(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwCopyNativeRowGradientBlend
void EwCopyNativeRowGradientBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwScreenCopyAlpha8RowSolid
void EwScreenCopyAlpha8RowSolid(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
XCopyDriver
void(* XCopyDriver)(unsigned long aDstHandle, unsigned long aSrcHandle, int aDstX, int aDstY, int aSrcX, int aSrcY, int aWidth, int aHeight, int aBlend, unsigned long *aColors)
Definition: ewgfxdriver.h:416
EwScreenCopyNativeRowSolidBlend
void EwScreenCopyNativeRowSolidBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwScreenCopyNativeRowGradient
void EwScreenCopyNativeRowGradient(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwScreenCopyIndex8RowBlend
void EwScreenCopyIndex8RowBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwCopyNativeRow
void EwCopyNativeRow(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwScreenCopyAlpha8RowSolidBlend
void EwScreenCopyAlpha8RowSolidBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
XCopyWorker
void(* XCopyWorker)(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
Definition: ewgfxdriver.h:288
EwCopyNativeRowSolidBlend
void EwCopyNativeRowSolidBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwCopyIndex8RowSolidBlend
void EwCopyIndex8RowSolidBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwScreenCopyRGB565RowGradient
void EwScreenCopyRGB565RowGradient(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwScreenCopyNativeRowSolid
void EwScreenCopyNativeRowSolid(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwFillRowSolidBlend
void EwFillRowSolidBlend(XSurfaceMemory *aDst, int aWidth, XGradient *aGradient)
EwScreenSetPixelSolid
void EwScreenSetPixelSolid(XSurfaceMemory *aDst, int aX, int aY, XGradient *aGradient)
EwCopyNativeRowSolid
void EwCopyNativeRowSolid(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwScreenCopyRGB565RowSolidBlend
void EwScreenCopyRGB565RowSolidBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
XPolygonDriver
void(* XPolygonDriver)(unsigned long aDstHandle, int *aPaths, int aDstX, int aDstY, int aWidth, int aHeight, int aBlend, int aAntialiased, int aNonZeroWinding, unsigned long *aColors)
Definition: ewgfxdriver.h:565
EwCopyRGB565RowSolid
void EwCopyRGB565RowSolid(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwCopyAlpha8RowGradientBlend
void EwCopyAlpha8RowGradientBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwSetPixelSolid
void EwSetPixelSolid(XSurfaceMemory *aDst, int aX, int aY, XGradient *aGradient)
XWarpDriver
void(* XWarpDriver)(unsigned long aDstHandle, unsigned long aSrcHandle, float aDstX1, float aDstY1, float aDstW1, float aDstX2, float aDstY2, float aDstW2, float aDstX3, float aDstY3, float aDstW3, float aDstX4, float aDstY4, float aDstW4, int aSrcX, int aSrcY, int aSrcWidth, int aSrcHeight, int aClipX, int aClipY, int aClipWidth, int aClipHeight, int aBlend, int aFilter, unsigned long *aColors)
Definition: ewgfxdriver.h:507
EwScreenCopyIndex8Row
void EwScreenCopyIndex8Row(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwScreenCopyNativeRowBlend
void EwScreenCopyNativeRowBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwCopyIndex8RowBlend
void EwCopyIndex8RowBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwSetPixelSolidBlend
void EwSetPixelSolidBlend(XSurfaceMemory *aDst, int aX, int aY, XGradient *aGradient)
EwScreenFillRowSolidBlend
void EwScreenFillRowSolidBlend(XSurfaceMemory *aDst, int aWidth, XGradient *aGradient)
XTileDriver
void(* XTileDriver)(unsigned long aDstHandle, unsigned long aSrcHandle, int aDstX, int aDstY, int aDstWidth, int aDstHeight, int aSrcX, int aSrcY, int aSrcWidth, int aSrcHeight, int aOfsX, int aOfsY, int aBlend, unsigned long *aColors)
Definition: ewgfxdriver.h:453
EwScreenFillRowSolid
void EwScreenFillRowSolid(XSurfaceMemory *aDst, int aWidth, XGradient *aGradient)
EwScreenCopyNativeRow
void EwScreenCopyNativeRow(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwScreenCopyIndex8RowSolidBlend
void EwScreenCopyIndex8RowSolidBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwScreenSetPixelSolidBlend
void EwScreenSetPixelSolidBlend(XSurfaceMemory *aDst, int aX, int aY, XGradient *aGradient)
EwCopyIndex8RowGradientBlend
void EwCopyIndex8RowGradientBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwScreenCopyNativeRowGradientBlend
void EwScreenCopyNativeRowGradientBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwScreenCopyAlpha8RowGradientBlend
void EwScreenCopyAlpha8RowGradientBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwCopyRGB565RowSolidBlend
void EwCopyRGB565RowSolidBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwCopyRGB565RowGradientBlend
void EwCopyRGB565RowGradientBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwCopyNativeRowGradient
void EwCopyNativeRowGradient(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwCopyAlpha8RowGradient
void EwCopyAlpha8RowGradient(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwCopyIndex8RowGradient
void EwCopyIndex8RowGradient(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwScreenCopyRGB565Row
void EwScreenCopyRGB565Row(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwScreenCopyRGB565RowGradientBlend
void EwScreenCopyRGB565RowGradientBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
XWarpWorker
void(* XWarpWorker)(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, int aS, int aT, int aSS, int aTS, int aSrcWidth, int aSrcHeight, XGradient *aGradient)
Definition: ewgfxdriver.h:316
EwScreenFillRowGradientBlend
void EwScreenFillRowGradientBlend(XSurfaceMemory *aDst, int aWidth, XGradient *aGradient)
EwCopyAlpha8RowSolidBlend
void EwCopyAlpha8RowSolidBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
XLineDriver
void(* XLineDriver)(unsigned long aDstHandle, int aDstX1, int aDstY1, int aDstX2, int aDstY2, int aClipX, int aClipY, int aClipWidth, int aClipHeight, int aBlend, unsigned long *aColors)
Definition: ewgfxdriver.h:353
XFillDriver
void(* XFillDriver)(unsigned long aDstHandle, int aDstX, int aDstY, int aWidth, int aHeight, int aBlend, unsigned long *aColors)
Definition: ewgfxdriver.h:383
XLineWorker
void(* XLineWorker)(XSurfaceMemory *aDst, int aX, int aY, XGradient *aGradient)
Definition: ewgfxdriver.h:247
EwScreenCopyIndex8RowGradientBlend
void EwScreenCopyIndex8RowGradientBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwFillRowGradientBlend
void EwFillRowGradientBlend(XSurfaceMemory *aDst, int aWidth, XGradient *aGradient)
EwFillRowSolid
void EwFillRowSolid(XSurfaceMemory *aDst, int aWidth, XGradient *aGradient)
EwScreenCopyAlpha8RowGradient
void EwScreenCopyAlpha8RowGradient(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwCopyIndex8RowSolid
void EwCopyIndex8RowSolid(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwCopyRGB565Row
void EwCopyRGB565Row(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwCopyRGB565RowGradient
void EwCopyRGB565RowGradient(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwScreenCopyRGB565RowSolid
void EwScreenCopyRGB565RowSolid(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
XFillWorker
void(* XFillWorker)(XSurfaceMemory *aDst, int aWidth, XGradient *aGradient)
Definition: ewgfxdriver.h:267
EwCopyIndex8Row
void EwCopyIndex8Row(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwScreenCopyIndex8RowSolid
void EwScreenCopyIndex8RowSolid(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwScreenFillRowGradient
void EwScreenFillRowGradient(XSurfaceMemory *aDst, int aWidth, XGradient *aGradient)
EwFillRowGradient
void EwFillRowGradient(XSurfaceMemory *aDst, int aWidth, XGradient *aGradient)