WebRadioApp  0.1
ewextgfx.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 header file contains Graphics Engine configuration parameters and the
21  * adaptation for the target specific graphics subsystem.
22  *
23  *******************************************************************************/
24 
25 #ifndef EWEXTGFX_H
26 #define EWEXTGFX_H
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
32 /*
33  EW_USE_GRAPHICS_ACCELERATOR - Flag to switch on/off the usage of the graphics
34  accelerator within the target.
35  Per default, the usage of the graphics accelerator is enabled. To switch off
36  the graphics accelerator, please set the macro EW_USE_GRAPHICS_ACCELERATOR to
37  0 within your makefile. This can be achieved by using the compiler flag
38  -DEW_USE_GRAPHICS_ACCELERATOR=0
39 */
40 #ifndef EW_USE_GRAPHICS_ACCELERATOR
41 #define EW_USE_GRAPHICS_ACCELERATOR 1
42 #endif
43 
44 #if EW_USE_GRAPHICS_ACCELERATOR == 0
45 #undef EW_USE_GRAPHICS_ACCELERATOR
46 #endif
47 
48 /* The following macros override the default color channel allocation to the
49  order (bit31) A..R..G..B (bit0). If your graphics hardware supports other
50  color channel order, you can define the following macros in your make file.
51  */
52 #ifndef EW_COLOR_CHANNEL_BIT_OFFSET_RED
53 #define EW_COLOR_CHANNEL_BIT_OFFSET_RED 16
54 #endif
55 
56 #ifndef EW_COLOR_CHANNEL_BIT_OFFSET_GREEN
57 #define EW_COLOR_CHANNEL_BIT_OFFSET_GREEN 8
58 #endif
59 
60 #ifndef EW_COLOR_CHANNEL_BIT_OFFSET_BLUE
61 #define EW_COLOR_CHANNEL_BIT_OFFSET_BLUE 0
62 #endif
63 
64 #ifndef EW_COLOR_CHANNEL_BIT_OFFSET_ALPHA
65 #define EW_COLOR_CHANNEL_BIT_OFFSET_ALPHA 24
66 #endif
67 
68 /* The RGB565 Platform Package uses a screen color format when drawing into the
69  framebuffer - internally created buffers will use the RGBA8888 color format
70  in order to achive best quality and to support alpha channel. */
71 #define EW_USE_PIXEL_FORMAT_SCREEN
72 
73 /* The following macros override the default color channel allocation to the
74  order (bit15) R..G..B (bit0). If your graphics hardware supports other
75  color channel order, you can define the following macros in your make file.
76  */
77 #ifndef EW_SCREEN_COLOR_CHANNEL_BIT_OFFSET_RED
78 #define EW_SCREEN_COLOR_CHANNEL_BIT_OFFSET_RED 11
79 #endif
80 
81 #ifndef EW_SCREEN_COLOR_CHANNEL_BIT_OFFSET_GREEN
82 #define EW_SCREEN_COLOR_CHANNEL_BIT_OFFSET_GREEN 5
83 #endif
84 
85 #ifndef EW_SCREEN_COLOR_CHANNEL_BIT_OFFSET_BLUE
86 #define EW_SCREEN_COLOR_CHANNEL_BIT_OFFSET_BLUE 0
87 #endif
88 
89 /* STM32 operates with premultiplied colors - but bitmap formats are NOT
90  * premultiplied */
91 #define EW_PREMULTIPLY_COLOR_CHANNELS 0
92 
93 /*******************************************************************************
94  * FUNCTION:
95  * GfxInitGfx
96  *
97  * DESCRIPTION:
98  * The function GfxInitGfx is called from the Graphics Engine during the
99  * initialization in order to make target specific configurations of the
100  * Graphics Engine
101  *
102  * ARGUMENTS:
103  * aArgs - Optional argument passed to the Graphics Engine init function.
104  *
105  * RETURN VALUE:
106  * If successful, returns != 0.
107  *
108  *******************************************************************************/
109 int GfxInitGfx(void *aArgs);
110 
111 /*******************************************************************************
112  * FUNCTION:
113  * GfxInitViewport
114  *
115  * DESCRIPTION:
116  * The function GfxInitViewport is called from the Graphics Engine,
117  * to create a new viewport on the target. The function uses the given
118  * buffers passed in the arguments aDisplay1 and aDisplay2.
119  *
120  * ARGUMENTS:
121  * aWidth,
122  * aHeight - Size of the application in pixel.
123  * aExtentX,
124  * aExtentY - not used.
125  * aExtentWidth,
126  * aExtentHeight - Size of the physical or virtual framebuffer in pixel.
127  * aOrient - not used.
128  * aOpacity - not used.
129  * aDisplay1 - Address of the framebuffer / scratch-pad buffer.
130  * aDisplay2 - Address of the back-buffer in case of double-buffering.
131  * aDisplay3 - not used.
132  *
133  * RETURN VALUE:
134  * Handle of the surface descriptor (viewport).
135  *
136  *******************************************************************************/
137 unsigned long GfxInitViewport(int aWidth, int aHeight, int aExtentX,
138  int aExtentY, int aExtentWidth, int aExtentHeight,
139  int aOrient, int aOpacity, void *aDisplay1,
140  void *aDisplay2, void *aDisplay3);
141 
142 /*******************************************************************************
143  * FUNCTION:
144  * GfxDoneViewport
145  *
146  * DESCRIPTION:
147  * The function GfxDoneViewport is called from the Graphics Engine, to
148  * release a previously created viewport on the target.
149  *
150  * ARGUMENTS:
151  * aHandle - Handle of the surface descriptor (viewport).
152  *
153  * RETURN VALUE:
154  * None
155  *
156  *******************************************************************************/
157 void GfxDoneViewport(unsigned long aHandle);
158 
159 /*******************************************************************************
160  * FUNCTION:
161  * GfxBeginUpdate
162  *
163  * DESCRIPTION:
164  * The function GfxBeginUpdate is called from the Graphics Engine, to
165  * initiate the screen update cycle.
166  *
167  * ARGUMENTS:
168  * aHandle - Handle of the surface descriptor (viewport).
169  *
170  * RETURN VALUE:
171  * Handle of the destination surface, used for all drawing operations.
172  *
173  *******************************************************************************/
174 unsigned long GfxBeginUpdate(unsigned long aHandle);
175 
176 /*******************************************************************************
177  * FUNCTION:
178  * GfxBeginUpdateArea
179  *
180  * DESCRIPTION:
181  * The function GfxBeginUpdateArea is called from the Graphics Engine, to
182  * initiate a partial screen update cycle.
183  *
184  * ARGUMENTS:
185  * aHandle - Handle of the surface descriptor (viewport).
186  * aX,
187  * aY,
188  * aWidth,
189  * aHeight - Position and size of the area affected by the screen update
190  * (dirty rectangle).
191  *
192  * RETURN VALUE:
193  * Handle of the destination surface, used for all drawing operations.
194  *
195  *******************************************************************************/
196 unsigned long GfxBeginUpdateArea(unsigned long aHandle, int aX, int aY,
197  int aWidth, int aHeight);
198 
199 /*******************************************************************************
200  * FUNCTION:
201  * GfxEndUpdate
202  *
203  * DESCRIPTION:
204  * The function GfxEndUpdate is called from the Graphics Engine, to
205  * finalize the screen update cycle.
206  *
207  * ARGUMENTS:
208  * aHandle - Handle of the surface descriptor (viewport).
209  * aX,
210  * aY,
211  * aWidth,
212  * aHeight - Position and size of the area affected from the screen update
213  * (dirty rectangle).
214  *
215  * RETURN VALUE:
216  * None
217  *
218  *******************************************************************************/
219 void GfxEndUpdate(unsigned long aHandle, int aX, int aY, int aWidth,
220  int aHeight);
221 
222 /* Redirect the following operations to the functions within this module */
223 #define EwGfxInit GfxInitGfx
224 #define EwGfxInitViewport GfxInitViewport
225 #define EwGfxDoneViewport GfxDoneViewport
226 #define EwGfxBeginUpdate GfxBeginUpdate
227 #define EwGfxBeginUpdateArea GfxBeginUpdateArea
228 #define EwGfxEndUpdate GfxEndUpdate
229 
230 /*******************************************************************************
231  * FUNCTION:
232  * GfxCreateSurface
233  *
234  * DESCRIPTION:
235  * The function GfxCreateSurface() reserves pixel memory for a new surface
236  * with the given size and color format. The function returns a handle to the
237  * new surface.
238  *
239  * ARGUMENTS:
240  * aFormat - Color format of the surface. (See EW_PIXEL_FORMAT_XXX).
241  * aWidth,
242  * aHeight - Size of the surface in pixel to create.
243  *
244  * RETURN VALUE:
245  * The function returns a handle to the created surface. This can be a pointer
246  * to a dynamically allocated data structure, an index in a list of surfaces,
247  * or a handle returned by the lower level API.
248  *
249  * If the creation is failed, the function should return 0.
250  *
251  *******************************************************************************/
252 unsigned long GfxCreateSurface(int aFormat, int aWidth, int aHeight);
253 
254 /*******************************************************************************
255  * FUNCTION:
256  * GfxCreateConstSurface
257  *
258  * DESCRIPTION:
259  * The function GfxCreateConstSurface() creates a surface structure
260  * that refers to a constant pixel memory. The function returns a handle to
261  *the new surface.
262  *
263  * ARGUMENTS:
264  * aFormat - Color format of the surface. (See EW_PIXEL_FORMAT_XXX).
265  * aWidth,
266  * aHeight - Size of the surface in pixel.
267  * aMemory - Pointer to constant pixel memory.
268  *
269  * RETURN VALUE:
270  * The function returns a handle to the created surface.
271  * If the creation is failed, the function should return 0.
272  *
273  *******************************************************************************/
274 unsigned long GfxCreateConstSurface(int aFormat, int aWidth, int aHeight,
275  XSurfaceMemory *aMemory);
276 
277 /*******************************************************************************
278  * FUNCTION:
279  * GfxDestroySurface
280  *
281  * DESCRIPTION:
282  * The function GfxDestroySurface() frees the resources of the given surface.
283  * This function is a counterpart to GfxCreateSurface().
284  *
285  * ARGUMENTS:
286  * aHandle - Handle to the surface to free.
287  *
288  * RETURN VALUE:
289  * None
290  *
291  *******************************************************************************/
292 void GfxDestroySurface(unsigned long aHandle);
293 
294 /*******************************************************************************
295  * FUNCTION:
296  * GfxLockSurface
297  *
298  * DESCRIPTION:
299  * The function GfxLockSurface() provides a direct access to the pixel memory
300  *of the given surface. The function returns a lock object containing pointers
301  *to memory, where the caller can read/write the surface pixel values.
302  *Additional pitch values also returned in the object allow the caller to
303  *calculate the desired pixel addresses.
304  *
305  * ARGUMENTS:
306  * aHandle - Handle to the surface to obtain the direct memory access.
307  * aX, aY,
308  * aWidth,
309  * aHeight - Area within the surface affected by the access operation.
310  * (Relative to the top-left corner of the surface). This is the area, the
311  * caller wish to read/write the pixel data.
312  * aIndex,
313  * Count - Optional start index and number of entries within the CLUT,
314  * the caller wish to read/write. These paramaters are used for surfaces
315  * with the index8 color format only.
316  * aReadPixel - Is != 0, if the caller intends to read the pixel information
317  * from the surface memory. If == 0, the memory content may remain undefined
318  * depending on the underlying graphics sub-system and its video-memory
319  * management.
320  * aWritePixel - Is != 0, if the caller intends to modify the pixel
321  *information within the surface memory. If == 0, any modifications within the
322  *memory may remain ignored depending on the underlying graphics sub-system and
323  *its video-memory management. aReadClut - Is != 0, if the caller intends to
324  *read the CLUT information. If == 0, the CLUT content may remain undefined.
325  * aWriteClut - Is != 0, if the caller intends to modify the CLUT
326  *information. If == 0, any modifications within the memory may remain ignored
327  *depending on the underlying graphics sub-system and its video-memory
328  *management. aMemory - Pointer to an object, where the desired surface
329  *pointers should be stored.
330  *
331  * RETURN VALUE:
332  * If successful, the function should return a kind of a lock object. This
333  * object can contain additional information needed when the surface is
334  * unlocked again. If you don't want to return additional information, return
335  * any value != 0.
336  *
337  * If there was not possible to lock the surface, or the desired access mode
338  * is just not supported by the underlying graphics sub-system, the function
339  * fails and returns zero. (e.g. OpenGL based sub-systems usually allow the
340  * write access to surfaces (textures) only. Read access may fail in this
341  * case).
342  *
343  *******************************************************************************/
344 unsigned long GfxLockSurface(unsigned long aHandle, int aX, int aY, int aWidth,
345  int aHeight, int aIndex, int aCount,
346  int aReadPixel, int aWritePixel, int aReadClut,
347  int aWriteClut, XSurfaceMemory *aMemory);
348 
349 /*******************************************************************************
350  * FUNCTION:
351  * GfxUnlockSurface
352  *
353  * DESCRIPTION:
354  * The function GfxUnlockSurface() has the job to unlock the given surface and
355  * if necessary free any temporary used resources.
356  * This function is a counterpart to GfxLockSurface().
357  *
358  * ARGUMENTS:
359  * aSurfaceHandle - Handle to the surface to release the direct memory access.
360  * aLockHandle - value returned by the corresponding LockSurface() call.
361  * If LockSurface() has allocated memory for the lock object, you will need
362  * to free it now.
363  * aX, aY,
364  * aWidth,
365  * aHeight - Area within the surface affected by the access operation.
366  * (Relative to the top-left corner of the surface). This is the area, the
367  * caller wished to read/write the pixel data.
368  * aIndex,
369  * Count - Optional start index and number of entries within the CLUT,
370  * the caller wished to read/write. These paramaters are used for surfaces
371  * with the index8 color format only.
372  * aWritePixel - Is != 0, if the caller has modified the pixel information
373  * within the surface memory. If == 0, no modification took place, so no
374  * surface updates are needed.
375  * aWriteClut - Is != 0, if the caller has modified the CLUT information.
376  * If == 0, no modification took place, so no surface updates are needed.
377  *
378  * RETURN VALUE:
379  * None
380  *
381  *******************************************************************************/
382 void GfxUnlockSurface(unsigned long aSurfaceHandle, unsigned long aLockHandle,
383  int aX, int aY, int aWidth, int aHeight, int aIndex,
384  int aCount, int aWritePixel, int aWriteClut);
385 
386 /* Macros to redirect the Graphics Engine operations to the above functions. */
387 #define EwGfxCreateNativeSurface GfxCreateSurface
388 #define EwGfxCreateConstNativeSurface GfxCreateConstSurface
389 #define EwGfxDestroyNativeSurface GfxDestroySurface
390 #define EwGfxLockNativeSurface GfxLockSurface
391 #define EwGfxUnlockNativeSurface GfxUnlockSurface
392 
393 #define EwGfxCreateAlpha8Surface GfxCreateSurface
394 #define EwGfxCreateConstAlpha8Surface GfxCreateConstSurface
395 #define EwGfxDestroyAlpha8Surface GfxDestroySurface
396 #define EwGfxLockAlpha8Surface GfxLockSurface
397 #define EwGfxUnlockAlpha8Surface GfxUnlockSurface
398 
399 #define EwGfxCreateIndex8Surface GfxCreateSurface
400 #define EwGfxCreateConstIndex8Surface GfxCreateConstSurface
401 #define EwGfxDestroyIndex8Surface GfxDestroySurface
402 #define EwGfxLockIndex8Surface GfxLockSurface
403 #define EwGfxUnlockIndex8Surface GfxUnlockSurface
404 
405 #define EwGfxCreateRGB565Surface GfxCreateSurface
406 #define EwGfxCreateConstRGB565Surface GfxCreateConstSurface
407 #define EwGfxDestroyRGB565Surface GfxDestroySurface
408 #define EwGfxLockRGB565Surface GfxLockSurface
409 #define EwGfxUnlockRGB565Surface GfxUnlockSurface
410 
411 #define EwGfxLockScreenSurface GfxLockSurface
412 #define EwGfxUnlockScreenSurface GfxUnlockSurface
413 
414 /*******************************************************************************
415  * FUNCTION:
416  * GfxFillDriver
417  *
418  * DESCRIPTION:
419  * The function GfxFillDriver is called from the Graphics Engine, when a
420  * rectangular area should be filled by using the graphics hardware.
421  *
422  * ARGUMENTS:
423  * aDstHandle - Handle to the destination surface (native/screen color
424  *format). See the function CreateSurface(). aDstX, aDstY - Origin of the
425  *area to fill (relative to the top-left corner of the destination surface).
426  * aWidth,
427  * aHeight - Size of the area to fill.
428  * aBlend - != 0 if the operation should be performed with alpha
429  *blending. aColors - Array with 4 RGBA8888 color values. The four color
430  *values do correspond to the four corners of the area: top-left, top-right,
431  *bottom- right and bottom-left.
432  *
433  * RETURN VALUE:
434  * None
435  *
436  *******************************************************************************/
437 void GfxFillDriver(unsigned long aDstHandle, int aDstX, int aDstY, int aWidth,
438  int aHeight, int aBlend, unsigned long *aColors);
439 
440 /* Macros to redirect the Graphics Engine operations to the above functions. */
441 #ifdef EW_USE_GRAPHICS_ACCELERATOR
442 #define EwGfxFillSolid GfxFillDriver
443 #define EwGfxFillSolidBlend GfxFillDriver
444 #define EwGfxScreenFillSolid GfxFillDriver
445 #define EwGfxScreenFillSolidBlend GfxFillDriver
446 #endif
447 
448 /*******************************************************************************
449  * FUNCTION:
450  * GfxCopyDriver
451  *
452  * DESCRIPTION:
453  * The function GfxCopyDriver is called from the Graphics Engine, when a
454  * rectangular bitmap area should be copied by using the graphics hardware.
455  *
456  * ARGUMENTS:
457  * aDstHandle - Handle to the destination surface (native/screen color
458  *format). See the function CreateSurface(). aSrcHandle - Handle to the source
459  *surface (native/index8/alpha8/rgb565 color format). See the function
460  *CreateSurface(). aDstX, aDstY - Origin of the area to fill with the
461  *copied source surface pixel (relative to the top-left corner of the
462  *destination surface). aWidth, aHeight - Size of the area to fill with the
463  *copied source surface pixel. aSrcX, aSrcY - Origin of the area to copy
464  *from the source surface. aBlend - != 0 if the operation should be
465  *performed with alpha blending. aColors - Array with 4 color values. These
466  *four values do correspond to the four corners of the area: top-left,
467  *top-right, bottom-right and bottom-left. In case of an alpha8 source surface
468  *if all colors are equal, the solid variant of the operation is assumed. In
469  *case of native and index8 source surfaces if all colors are equal but their
470  *alpha value < 255, the solid variant of the operation is assumed. In case of
471  *native and index8 source surfaces if all colors are equal and their alpha
472  *value == 255, the variant without any modulation is assumed.
473  *
474  * RETURN VALUE:
475  * None
476  *
477  *******************************************************************************/
478 void GfxCopyDriver(unsigned long aDstHandle, unsigned long aSrcHandle,
479  int aDstX, int aDstY, int aSrcX, int aSrcY, int aWidth,
480  int aHeight, int aBlend, unsigned long *aColors);
481 
482 /* Macros to redirect the Graphics Engine operations to the above function. */
483 #ifdef EW_USE_GRAPHICS_ACCELERATOR
484 #define EwGfxCopyNative GfxCopyDriver
485 #define EwGfxCopyNativeSolid GfxCopyDriver
486 #define EwGfxCopyAlpha8Solid GfxCopyDriver
487 #define EwGfxCopyIndex8 GfxCopyDriver
488 #define EwGfxCopyIndex8Solid GfxCopyDriver
489 #define EwGfxCopyRGB565 GfxCopyDriver
490 #define EwGfxCopyRGB565Solid GfxCopyDriver
491 #define EwGfxScreenCopyNative GfxCopyDriver
492 #define EwGfxScreenCopyNativeSolid GfxCopyDriver
493 #define EwGfxScreenCopyAlpha8Solid GfxCopyDriver
494 #define EwGfxScreenCopyIndex8 GfxCopyDriver
495 #define EwGfxScreenCopyIndex8Solid GfxCopyDriver
496 #define EwGfxScreenCopyRGB565 GfxCopyDriver
497 #define EwGfxScreenCopyRGB565Solid GfxCopyDriver
498 #endif
499 
500 /*******************************************************************************
501  * FUNCTION:
502  * GfxBlendDriver
503  *
504  * DESCRIPTION:
505  * The function GfxBlendDriver is called from the Graphics Engine, when a
506  * rectangular bitmap area should be blended by using the graphics hardware.
507  *
508  * ARGUMENTS:
509  * aDstHandle - Handle to the destination surface (native/screen color
510  *format). See the function CreateSurface(). aSrcHandle - Handle to the source
511  *surface (native/index8/alpha8/rgb565 color format). See the function
512  *CreateSurface(). aDstX, aDstY - Origin of the area to fill with the
513  *copied source surface pixel (relative to the top-left corner of the
514  *destination surface). aWidth, aHeight - Size of the area to fill with the
515  *copied source surface pixel. aSrcX, aSrcY - Origin of the area to copy
516  *from the source surface. aBlend - != 0 if the operation should be
517  *performed with alpha blending. aColors - Array with 4 color values. These
518  *four values do correspond to the four corners of the area: top-left,
519  *top-right, bottom-right and bottom-left. In case of an alpha8 source surface
520  *if all colors are equal, the solid variant of the operation is assumed. In
521  *case of native and index8 source surfaces if all colors are equal but their
522  *alpha value < 255, the solid variant of the operation is assumed. In case of
523  *native and index8 source surfaces if all colors are equal and their alpha
524  *value == 255, the variant withouto any modulation is assumed.
525  *
526  * RETURN VALUE:
527  * None
528  *
529  *******************************************************************************/
530 void GfxBlendDriver(unsigned long aDstHandle, unsigned long aSrcHandle,
531  int aDstX, int aDstY, int aSrcX, int aSrcY, int aWidth,
532  int aHeight, int aBlend, unsigned long *aColors);
533 
534 /* Macros to redirect the Graphics Engine operations to the above function. */
535 #ifdef EW_USE_GRAPHICS_ACCELERATOR
536 #define EwGfxCopyNativeBlend GfxBlendDriver
537 #define EwGfxCopyNativeSolidBlend GfxBlendDriver
538 #define EwGfxCopyAlpha8SolidBlend GfxBlendDriver
539 #define EwGfxCopyIndex8Blend GfxBlendDriver
540 #define EwGfxCopyIndex8SolidBlend GfxBlendDriver
541 #define EwGfxCopyRGB565SolidBlend GfxBlendDriver
542 #define EwGfxScreenCopyNativeBlend GfxBlendDriver
543 #define EwGfxScreenCopyNativeSolidBlend GfxBlendDriver
544 #define EwGfxScreenCopyAlpha8SolidBlend GfxBlendDriver
545 #define EwGfxScreenCopyIndex8Blend GfxBlendDriver
546 #define EwGfxScreenCopyIndex8SolidBlend GfxBlendDriver
547 #define EwGfxScreenCopyRGB565SolidBlend GfxBlendDriver
548 #endif
549 
550 /*******************************************************************************
551  * FUNCTION:
552  * GfxUseGraphicsAccelerator
553  *
554  * DESCRIPTION:
555  * The function GfxUseGraphicsAccelerator can be used to switch on/off the
556  *usage of the graphics accelerator dynamically during runtime. If it is
557  *deactivated, the software pixel driver of the Graphics Engine are used to
558  *execute the different drawing operations.
559  *
560  * ARGUMENTS:
561  * aActive - Flag to control the usage of the graphics accelerator.
562  *
563  * RETURN VALUE:
564  * None
565  *
566  *******************************************************************************/
567 #ifdef EW_USE_GRAPHICS_ACCELERATOR
568 void GfxUseGraphicsAccelerator(int aActive);
569 #endif
570 
571 /*******************************************************************************
572  * FUNCTION:
573  * GfxIsGraphicsAcceleratorUsed
574  *
575  * DESCRIPTION:
576  * The function GfxIsGraphicsAcceleratorUsed returns a non zero value, if the
577  * graphics accelerator hardware is activated.
578  *
579  * ARGUMENTS:
580  * None
581  *
582  * RETURN VALUE:
583  * A non zero value, if the graphics accelerator hardware is activated.
584  *
585  *******************************************************************************/
586 #ifdef EW_USE_GRAPHICS_ACCELERATOR
588 #endif
589 
590 #ifdef __cplusplus
591 }
592 #endif
593 
594 #endif /* EWEXTGFX_H */
595 
596 /* msy */
EwCopyNativeRowBlend
void EwCopyNativeRowBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EW_SURFACE_MODIFIED_BY_GA
#define EW_SURFACE_MODIFIED_BY_GA
Definition: ewextgfx.c:78
XSurfaceMemory
Definition: ewgfxdriver.h:186
EW_INVALIDATE_CACHE
#define EW_INVALIDATE_CACHE(addr, size)
Definition: ewextgfx.c:96
Err04
#define Err04
Definition: ewextgfx.c:68
EW_DISCARD_BITMAPS
#define EW_DISCARD_BITMAPS
Definition: ewgfxdefs.h:166
GfxFlushGraphics
static void GfxFlushGraphics(void)
Definition: ewextgfx.c:923
EW_SURFACE_MODIFIED_BY_CPU
#define EW_SURFACE_MODIFIED_BY_CPU
Definition: ewextgfx.c:77
GfxInitViewport
unsigned long GfxInitViewport(int aWidth, int aHeight, int aExtentX, int aExtentY, int aExtentWidth, int aExtentHeight, int aOrient, int aOpacity, void *aDisplay1, void *aDisplay2, void *aDisplay3)
Definition: ewextgfx.c:217
EwCopyAlpha8RowSolid
void EwCopyAlpha8RowSolid(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
ew_bsp_graphics.h
GfxCreateConstSurface
unsigned long GfxCreateConstSurface(int aFormat, int aWidth, int aHeight, XSurfaceMemory *aMemory)
Definition: ewextgfx.c:685
EwScreenCopyAlpha8RowSolid
void EwScreenCopyAlpha8RowSolid(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EW_DISCARD_BITMAPS_IF_NOT_USED_IN_CURRENT_UPDATE
#define EW_DISCARD_BITMAPS_IF_NOT_USED_IN_CURRENT_UPDATE
Definition: ewgfxdefs.h:174
LoadedClutSurface
static void * LoadedClutSurface
Definition: ewextgfx.c:47
EwMaxStringCacheSize
int EwMaxStringCacheSize
GfxSelectSurfaces
static void GfxSelectSurfaces(unsigned long aDstSurfaceHandle, unsigned long aSrcSurfaceHandle)
Definition: ewextgfx.c:930
ewrte.h
GfxDoneViewport
void GfxDoneViewport(unsigned long aHandle)
Definition: ewextgfx.c:353
XGfxViewport::FrameBuffer
XGfxSurface * FrameBuffer
Definition: ewextgfx.c:121
TrackMemoryUsage
static void TrackMemoryUsage(void)
Definition: ewextgfx.c:133
GfxDestroySurface
void GfxDestroySurface(unsigned long aHandle)
Definition: ewextgfx.c:746
EwScreenCopyNativeRowSolidBlend
void EwScreenCopyNativeRowSolidBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwEmulateCopy
void EwEmulateCopy(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aDstX, int aDstY, int aWidth, int aHeight, int aSrcX, int aSrcY, XGradient *aGradient, int aGrdX, int aGrdY, XCopyWorker aWorker)
EwZero
void EwZero(void *aDstPtr, int aCount)
Definition: ewextrte.c:335
EwMemoryPeak
int EwMemoryPeak
EwScreenCopyIndex8RowBlend
void EwScreenCopyIndex8RowBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwMaxIssueTasks
int EwMaxIssueTasks
EwAllocVideo
void * EwAllocVideo(int aSize)
EwLazyLoadBitmapsIfAnimatedOnly
int EwLazyLoadBitmapsIfAnimatedOnly
EwResourcesMemory
int EwResourcesMemory
EW_CACHE_LINE_SIZE
#define EW_CACHE_LINE_SIZE
Definition: ewextgfx.c:94
GfxLockSurface
unsigned long GfxLockSurface(unsigned long aHandle, int aX, int aY, int aWidth, int aHeight, int aIndex, int aCount, int aReadPixel, int aWritePixel, int aReadClut, int aWriteClut, XSurfaceMemory *aMemory)
Definition: ewextgfx.c:818
EwBspGraphicsWaitForCompletion
void EwBspGraphicsWaitForCompletion()
The function EwBspGraphicsWaitForCompletion returns as soon as the DMA2D has completed a pending grap...
Definition: ew_bsp_graphics.c:166
GfxUnlockSurface
void GfxUnlockSurface(unsigned long aSurfaceHandle, unsigned long aLockHandle, int aX, int aY, int aWidth, int aHeight, int aIndex, int aCount, int aWritePixel, int aWriteClut)
Definition: ewextgfx.c:904
EwCopyNativeRow
void EwCopyNativeRow(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
Err07
#define Err07
Definition: ewextgfx.c:71
EwStringsMemory
int EwStringsMemory
EwScreenCopyAlpha8RowSolidBlend
void EwScreenCopyAlpha8RowSolidBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
GfxCopyDriver
void GfxCopyDriver(unsigned long aDstHandle, unsigned long aSrcHandle, int aDstX, int aDstY, int aSrcX, int aSrcY, int aWidth, int aHeight, int aBlend, unsigned long *aColors)
Definition: ewextgfx.c:1098
EwBspDisplayWaitForCompletion
void EwBspDisplayWaitForCompletion(void)
The function EwBspDisplayWaitForCompletion is called from the Graphics Engine to ensure that all pend...
Definition: ew_bsp_display.c:621
GfxLockSurface
unsigned long GfxLockSurface(unsigned long aHandle, int aX, int aY, int aWidth, int aHeight, int aIndex, int aCount, int aReadPixel, int aWritePixel, int aReadClut, int aWriteClut, XSurfaceMemory *aMemory)
Definition: ewextgfx.c:818
XGfxSurface
Definition: ewextgfx.c:105
XCopyWorker
void(* XCopyWorker)(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
Definition: ewgfxdriver.h:288
EwBspGraphicsFillBlend
void EwBspGraphicsFillBlend(uint32_t aDstAddr, uint32_t aDstOffset, uint32_t aWidth, uint32_t aHeight, uint32_t aDstColorMode, uint32_t aSrcColor)
The function EwBspGraphicsFillBlend is used by the Graphics Engine, when a rectangular area should be...
Definition: ew_bsp_graphics.c:280
GfxBeginUpdate
unsigned long GfxBeginUpdate(unsigned long aHandle)
Definition: ewextgfx.c:402
EW_PIXEL_FORMAT_RGB565
#define EW_PIXEL_FORMAT_RGB565
Definition: ewgfxdriver.h:124
GfxCopyDriver
void GfxCopyDriver(unsigned long aDstHandle, unsigned long aSrcHandle, int aDstX, int aDstY, int aSrcX, int aSrcY, int aWidth, int aHeight, int aBlend, unsigned long *aColors)
Definition: ewextgfx.c:1098
EwCopyNativeRowSolidBlend
void EwCopyNativeRowSolidBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
GfxBlendDriver
void GfxBlendDriver(unsigned long aDstHandle, unsigned long aSrcHandle, int aDstX, int aDstY, int aSrcX, int aSrcY, int aWidth, int aHeight, int aBlend, unsigned long *aColors)
Definition: ewextgfx.c:1245
EW_MAX_STRING_CACHE_SIZE
#define EW_MAX_STRING_CACHE_SIZE
Definition: ewrte.h:117
ewextpxl_RGB565.h
UseGraphicsAccelerator
static unsigned char UseGraphicsAccelerator
Definition: ewextgfx.c:40
GfxBeginUpdate
unsigned long GfxBeginUpdate(unsigned long aHandle)
Definition: ewextgfx.c:402
TransactionNumber
static unsigned short TransactionNumber
Definition: ewextgfx.c:43
EW_DISCARD_BITMAPS_IF_NOT_USED_IN_RECENT_UPDATES
#define EW_DISCARD_BITMAPS_IF_NOT_USED_IN_RECENT_UPDATES
Definition: ewgfxdefs.h:178
ewgfx.h
EwCopyIndex8RowSolidBlend
void EwCopyIndex8RowSolidBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EW_MAX_SURFACE_CACHE_SIZE
#define EW_MAX_SURFACE_CACHE_SIZE
Definition: ewgfxdefs.h:89
XGfxSurface::Pixel
void * Pixel
Definition: ewextgfx.c:112
GfxCreateSurface
unsigned long GfxCreateSurface(int aFormat, int aWidth, int aHeight)
Definition: ewextgfx.c:606
GfxDoneViewport
void GfxDoneViewport(unsigned long aHandle)
Definition: ewextgfx.c:353
XGfxSurface::Clut
void * Clut
Definition: ewextgfx.c:115
EW_MAX_GLYPH_SURFACE_HEIGHT
#define EW_MAX_GLYPH_SURFACE_HEIGHT
Definition: ewgfxdefs.h:189
EwScreenCopyNativeRowSolid
void EwScreenCopyNativeRowSolid(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwFillRowSolidBlend
void EwFillRowSolidBlend(XSurfaceMemory *aDst, int aWidth, XGradient *aGradient)
Err01
#define Err01
Definition: ewextgfx.c:63
XGfxSurface::BytesPerPixel
int BytesPerPixel
Definition: ewextgfx.c:109
XSurfaceMemory::Pitch1X
int Pitch1X
Definition: ewgfxdriver.h:209
GfxIsGraphicsAcceleratorUsed
int GfxIsGraphicsAcceleratorUsed(void)
Definition: ewextgfx.c:1417
EwFree
void EwFree(void *aMemory)
Definition: ewextrte.c:123
EwCopyNativeRowSolid
void EwCopyNativeRowSolid(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwScreenCopyRGB565RowSolidBlend
void EwScreenCopyRGB565RowSolidBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EW_SURFACE_TRANSACTION_MASK
#define EW_SURFACE_TRANSACTION_MASK
Definition: ewextgfx.c:79
EwDiscardBitmapsIfNotUsedInRecentUpdates
int EwDiscardBitmapsIfNotUsedInRecentUpdates
EwCopyRGB565RowSolid
void EwCopyRGB565RowSolid(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwMaxSurfaceCacheSize
int EwMaxSurfaceCacheSize
EW_SURFACE_PREALLOCATED
#define EW_SURFACE_PREALLOCATED
Definition: ewextgfx.c:76
EwBspGraphicsFill
void EwBspGraphicsFill(uint32_t aDstAddr, uint32_t aDstOffset, uint32_t aWidth, uint32_t aHeight, uint32_t aDstColorMode, uint32_t aSrcColor)
The function EwBspGraphicsFill is used by the Graphics Engine, when a rectangular area should be fill...
Definition: ew_bsp_graphics.c:231
GfxIsGraphicsAcceleratorUsed
int GfxIsGraphicsAcceleratorUsed(void)
Definition: ewextgfx.c:1417
GfxUseGraphicsAccelerator
void GfxUseGraphicsAccelerator(int aActive)
Definition: ewextgfx.c:1378
XGfxViewport::DoubleBuffer
XGfxSurface * DoubleBuffer
Definition: ewextgfx.c:122
EwScreenCopyIndex8Row
void EwScreenCopyIndex8Row(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
XGfxSurface::AllocSize
int AllocSize
Definition: ewextgfx.c:111
EwScreenCopyNativeRowBlend
void EwScreenCopyNativeRowBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwCopyIndex8RowBlend
void EwCopyIndex8RowBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwPrint
void EwPrint(const char *aFormat,...)
EW_LAZY_LOAD_BITMAPS
#define EW_LAZY_LOAD_BITMAPS
Definition: ewgfxdefs.h:132
XGfxSurface::Width
int Width
Definition: ewextgfx.c:106
XSurfaceMemory::Clut
unsigned int * Clut
Definition: ewgfxdriver.h:214
ew_bsp_display.h
EwScreenFillRowSolidBlend
void EwScreenFillRowSolidBlend(XSurfaceMemory *aDst, int aWidth, XGradient *aGradient)
EwBspGraphicsInit
int EwBspGraphicsInit(uint32_t aDstColorMode)
Initialize the DMA2D graphics accelerator.
Definition: ew_bsp_graphics.c:115
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)
EW_PIXEL_FORMAT_SCREEN
#define EW_PIXEL_FORMAT_SCREEN
Definition: ewgfxdriver.h:120
GfxCreateSurface
unsigned long GfxCreateSurface(int aFormat, int aWidth, int aHeight)
Definition: ewextgfx.c:606
aOpacity
XRect CoreOutline aOutline GraphicsCanvas XRect XPoint XInt32 aOpacity
Definition: _CoreOutline.h:172
XGfxSurface::Format
int Format
Definition: ewextgfx.c:110
EW_PIXEL_FORMAT_NATIVE
#define EW_PIXEL_FORMAT_NATIVE
Definition: ewgfxdriver.h:121
EW_RED
#define EW_RED(aColor)
Definition: ewgfxdriver.h:75
EwCopyRGB565RowSolidBlend
void EwCopyRGB565RowSolidBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EW_LAZY_LOAD_BITMAPS_IF_ANIMATED_ONLY
#define EW_LAZY_LOAD_BITMAPS_IF_ANIMATED_ONLY
Definition: ewgfxdefs.h:136
EwAlloc
void * EwAlloc(int aSize)
Definition: ewextrte.c:100
GfxEndUpdate
void GfxEndUpdate(unsigned long aHandle, int aX, int aY, int aWidth, int aHeight)
Definition: ewextgfx.c:538
EW_CLEAN_CACHE
#define EW_CLEAN_CACHE(addr, size)
Definition: ewextgfx.c:97
GfxUnlockSurface
void GfxUnlockSurface(unsigned long aSurfaceHandle, unsigned long aLockHandle, int aX, int aY, int aWidth, int aHeight, int aIndex, int aCount, int aWritePixel, int aWriteClut)
Definition: ewextgfx.c:904
XGfxViewport
Definition: ewextgfx.c:120
EwBspGraphicsDone
void EwBspGraphicsDone(void)
Deinitialize the DMA2D graphics accelerator.
Definition: ew_bsp_graphics.c:153
EW_DISCARD_BITMAPS_IF_ANIMATED_ONLY
#define EW_DISCARD_BITMAPS_IF_ANIMATED_ONLY
Definition: ewgfxdefs.h:170
EW_MAX_ISSUE_TASKS
#define EW_MAX_ISSUE_TASKS
Definition: ewgfxdefs.h:226
GfxInitViewport
unsigned long GfxInitViewport(int aWidth, int aHeight, int aExtentX, int aExtentY, int aExtentWidth, int aExtentHeight, int aOrient, int aOpacity, void *aDisplay1, void *aDisplay2, void *aDisplay3)
Definition: ewextgfx.c:217
GfxCreateConstSurface
unsigned long GfxCreateConstSurface(int aFormat, int aWidth, int aHeight, XSurfaceMemory *aMemory)
Definition: ewextgfx.c:685
XGfxSurface::OrigHeight
int OrigHeight
Definition: ewextgfx.c:113
EwMaxGlyphSurfaceHeight
int EwMaxGlyphSurfaceHeight
EwMaxGlyphSurfaceWidth
int EwMaxGlyphSurfaceWidth
GfxFillDriver
void GfxFillDriver(unsigned long aDstHandle, int aDstX, int aDstY, int aWidth, int aHeight, int aBlend, unsigned long *aColors)
Definition: ewextgfx.c:1001
GfxBeginUpdateArea
unsigned long GfxBeginUpdateArea(unsigned long aHandle, int aX, int aY, int aWidth, int aHeight)
Definition: ewextgfx.c:453
EW_BLUE
#define EW_BLUE(aColor)
Definition: ewgfxdriver.h:77
EwScreenCopyRGB565Row
void EwScreenCopyRGB565Row(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwDiscardBitmapsIfNotUsedInCurrentUpdate
int EwDiscardBitmapsIfNotUsedInCurrentUpdate
GfxEndUpdate
void GfxEndUpdate(unsigned long aHandle, int aX, int aY, int aWidth, int aHeight)
Definition: ewextgfx.c:538
EwObjectsMemory
int EwObjectsMemory
XSurfaceMemory::Pitch1Y
int Pitch1Y
Definition: ewgfxdriver.h:210
GfxBeginUpdateArea
unsigned long GfxBeginUpdateArea(unsigned long aHandle, int aX, int aY, int aWidth, int aHeight)
Definition: ewextgfx.c:453
EwPreserveFramebufferContent
int EwPreserveFramebufferContent
EwBspGraphicsCopyBlend
void EwBspGraphicsCopyBlend(uint32_t aDstAddr, uint32_t aSrcAddr, uint32_t aDstOffset, uint32_t aSrcOffset, uint32_t aWidth, uint32_t aHeight, uint32_t aDstColorMode, uint32_t aSrcColorMode, uint32_t aSrcColor)
The function EwBspGraphicsCopyBlend is used by the Graphics Engine, when a source bitmap should be bl...
Definition: ew_bsp_graphics.c:431
Err02
#define Err02
Definition: ewextgfx.c:64
Err03
#define Err03
Definition: ewextgfx.c:67
EwBspDisplayCommitBuffer
void EwBspDisplayCommitBuffer(void *aAddress, int aX, int aY, int aWidth, int aHeight)
The function EwBspDisplayCommitBuffer is called from the Graphics Engine when the rendering of a cert...
Definition: ew_bsp_display.c:650
EwLazyLoadBitmaps
int EwLazyLoadBitmaps
EwCopyAlpha8RowSolidBlend
void EwCopyAlpha8RowSolidBlend(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
XSurfaceMemory::Pixel1
void * Pixel1
Definition: ewgfxdriver.h:208
XGfxSurface::Height
int Height
Definition: ewextgfx.c:107
XGradient
Definition: ewgfxdriver.h:217
EwFreeVideo
void EwFreeVideo(void *aMemory)
EwResourcesMemoryPeak
int EwResourcesMemoryPeak
EwBspGraphicsCopy
void EwBspGraphicsCopy(uint32_t aDstAddr, uint32_t aSrcAddr, uint32_t aDstOffset, uint32_t aSrcOffset, uint32_t aWidth, uint32_t aHeight, uint32_t aDstColorMode, uint32_t aSrcColorMode, uint32_t aSrcColor)
The function EwBspGraphicsCopy is used by the Graphics Engine, when a source bitmap should be copied ...
Definition: ew_bsp_graphics.c:357
GfxBlendDriver
void GfxBlendDriver(unsigned long aDstHandle, unsigned long aSrcHandle, int aDstX, int aDstY, int aSrcX, int aSrcY, int aWidth, int aHeight, int aBlend, unsigned long *aColors)
Definition: ewextgfx.c:1245
GfxUseGraphicsAccelerator
void GfxUseGraphicsAccelerator(int aActive)
Definition: ewextgfx.c:1378
EW_UNUSED_ARG
#define EW_UNUSED_ARG(aArg)
Definition: ewrte.h:966
GfxInitGfx
int GfxInitGfx(void *aArgs)
Definition: ewextgfx.c:158
EwFillRowSolid
void EwFillRowSolid(XSurfaceMemory *aDst, int aWidth, XGradient *aGradient)
EW_MAX_GLYPH_SURFACE_WIDTH
#define EW_MAX_GLYPH_SURFACE_WIDTH
Definition: ewgfxdefs.h:185
EW_ALPHA
#define EW_ALPHA(aColor)
Definition: ewgfxdriver.h:78
EW_GREEN
#define EW_GREEN(aColor)
Definition: ewgfxdriver.h:76
GfxDestroySurface
void GfxDestroySurface(unsigned long aHandle)
Definition: ewextgfx.c:746
EwCopyIndex8RowSolid
void EwCopyIndex8RowSolid(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwDiscardBitmapsIfAnimatedOnly
int EwDiscardBitmapsIfAnimatedOnly
GfxFillDriver
void GfxFillDriver(unsigned long aDstHandle, int aDstX, int aDstY, int aWidth, int aHeight, int aBlend, unsigned long *aColors)
Definition: ewextgfx.c:1001
EW_CACHE_ALIGNMENT
#define EW_CACHE_ALIGNMENT
Definition: ewextgfx.c:95
EW_PIXEL_FORMAT_ALPHA8
#define EW_PIXEL_FORMAT_ALPHA8
Definition: ewgfxdriver.h:123
EwCopyRGB565Row
void EwCopyRGB565Row(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwDiscardBitmaps
int EwDiscardBitmaps
EwScreenCopyRGB565RowSolid
void EwScreenCopyRGB565RowSolid(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
XGfxSurface::OrigPixel
void * OrigPixel
Definition: ewextgfx.c:114
aBlend
XRect CoreOutline aOutline GraphicsCanvas XRect XPoint XInt32 XBool aBlend
Definition: _CoreOutline.h:172
XFillWorker
void(* XFillWorker)(XSurfaceMemory *aDst, int aWidth, XGradient *aGradient)
Definition: ewgfxdriver.h:267
EW_PIXEL_FORMAT_INDEX8
#define EW_PIXEL_FORMAT_INDEX8
Definition: ewgfxdriver.h:122
EwCopyIndex8Row
void EwCopyIndex8Row(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
EwScreenCopyIndex8RowSolid
void EwScreenCopyIndex8RowSolid(XSurfaceMemory *aDst, XSurfaceMemory *aSrc, int aWidth, XGradient *aGradient)
XGfxSurface::Flags
int Flags
Definition: ewextgfx.c:108
EW_ERROR
#define EW_ERROR(aMsg)
Definition: ewrte.h:181
EwEmulateFill
void EwEmulateFill(XSurfaceMemory *aDst, int aDstX, int aDstY, int aWidth, int aHeight, XGradient *aGradient, int aGrdX, int aGrdY, XFillWorker aWorker)
EwInitColorGradient
void EwInitColorGradient(int aWidth, int aHeight, unsigned int *aColors, XGradient *aGradient)
GfxInitGfx
int GfxInitGfx(void *aArgs)
Definition: ewextgfx.c:158
Err05
#define Err05
Definition: ewextgfx.c:69
EwBspGraphicsLoadClut
void EwBspGraphicsLoadClut(uint32_t aClutAddr, uint32_t aClutSize)
The function EwBspGraphicsLoadClut is used by the Graphics Engine, when a Index8 source bitmap should...
Definition: ew_bsp_graphics.c:508
Err06
#define Err06
Definition: ewextgfx.c:70