 |
MPLABĀ® Harmony Graphics Suite
|
Go to the documentation of this file.
29 #ifndef LEGATO_RENDERER_H
30 #define LEGATO_RENDERER_H
36 #include "gfx/legato/image/legato_palette.h"
37 #include "gfx/driver/gfx_driver.h"
57 LE_FRAME_WAITFORBUFFER,
85 const gfxDisplayDriver* dispDriver;
86 const gfxGraphicsProcessor* gpuDriver;
93 uint32_t frameRectIdx;
105 uint32_t frameDrawCount;
111 #if LE_ALPHA_BLENDING_ENABLED == 1
134 leResult leRenderer_Initialize(
const gfxDisplayDriver* dispDriver,
135 const gfxGraphicsProcessor* gpuDriver);
138 void leRenderer_Shutdown();
164 leResult leRenderer_DamageArea(
const leRect* rect, uint32_t layerIdx);
167 void leRenderer_Paint();
218 lePalette* leRenderer_GetGlobalPalette();
254 leColor leRenderer_GlobalPaletteLookup(uint32_t idx);
273 leColor leRenderer_ConvertColor(leColor inColor,
leColorMode inMode);
290 leRect leRenderer_GetDrawRect();
327 leBool leRenderer_CullDrawXY(int32_t x, int32_t y);
364 void leRenderer_ClipDrawRect(
const leRect* rect,
leRect* res);
383 leColor leRenderer_GetPixel(int32_t x,
406 leResult leRenderer_GetPixel_Safe(int32_t x,
430 leResult leRenderer_PutPixel(int32_t x,
456 leResult leRenderer_BlendPixel(int32_t x,
481 leResult leRenderer_PutPixel_Safe(int32_t x,
507 leResult leRenderer_BlendPixel_Safe(int32_t x,
540 leResult leRenderer_FillArea(int32_t x,
573 leResult leRenderer_FillArea_Safe(int32_t x,
604 leResult leRenderer_HorzLine(int32_t x,
634 leResult leRenderer_VertLine(int32_t x,
666 leResult leRenderer_DrawLine(int32_t x0,
871 leResult leRenderer_ArcLine(int32_t x,
952 leResult leRenderer_EllipseLine(int32_t x,
967 #endif // LEGATO_RENDERER_H
uint32_t size
Definition: legato_color.h:215
leResult
This enum represents function call results.
Definition: legato_common.h:134
struct leRenderState leRenderState
This structs represents global state of the renderer.
leColorMode
This enum represents the supported RGB color formats.
Definition: legato_color.h:146
This struct represents a rectangle.
Definition: legato_common.h:405
LIB_EXPORT leBool lePixelBuffer_IsLocked(const lePixelBuffer *const buffer)
Determines the lock state.
Definition: legato_pixelbuffer.c:470
uint32_t size
Definition: legato_array.h:63
LIB_EXPORT leColorMode leGetLayerColorMode(uint32_t lyrIdx)
Get layer color mode.
Definition: legato_state.c:394
Pixel Buffer functions and definitions.
This enum presents a event. An event contains valid event ids.
Definition: legato_event.h:88
leRect * rects
Definition: legato_rectarray.h:72
LIB_EXPORT leResult leRectArray_RemoveDuplicates(leRectArray *arr)
Removes any duplicate rectangles from an array.
Definition: legato_rectarray.c:258
Definition: legato_renderer.h:122
int32_t width
Definition: legato_common.h:382
LIB_EXPORT leResult leRectArray_MergeSimilar(leRectArray *arr)
Merge rectangles.
Definition: legato_rectarray.c:371
LIB_EXPORT leBool leRectIntersects(const leRect *l_rect, const leRect *r_rect)
Determines if two rectangles are intersecting.
Definition: legato_rect.c:51
This struct represents a array.
Definition: legato_array.h:61
LIB_EXPORT leResult leRectArray_RemoveOverlapping(leRectArray *arr)
Remove overlappping rectangles.
Definition: legato_rectarray.c:393
LIB_EXPORT leResult leRectArray_RemoveAt(leRectArray *arr, uint32_t idx)
Removes a rectangle from the array at an index.
Definition: legato_rectarray.c:199
This struct represents a rectange array.
Definition: legato_rectarray.h:71
LIB_EXPORT leRect leRectCombine(const leRect *l_rect, const leRect *r_rect)
Combine rectangles.
Definition: legato_rect.c:61
void ** values
Definition: legato_array.h:62
Definition: legato_renderer.h:63
leBool
This enum represents booleans.
Definition: legato_common.h:157
An array implementation for storing rectangles for the Legato user interface library.
LIB_EXPORT leResult leRectArray_Create(leRectArray *arr)
Creates a new rectangle.
Definition: legato_rectarray.c:82
LIB_EXPORT leBool leRectContainsRect(const leRect *l_rect, const leRect *r_rect)
Determines if a rectangle is completely inside another rectangle.
Definition: legato_rect.c:40
LIB_EXPORT leResult leRectArray_SortByX(leRectArray *arr)
Sort array by X coordinate.
Definition: legato_rectarray.c:311
LIB_EXPORT leResult leRectArray_SortByY(leRectArray *arr)
Sort array by Y coordinate.
Definition: legato_rectarray.c:341
LIB_EXPORT leResult leRectArray_Clear(leRectArray *arr)
Removes all values from a given array.
Definition: legato_rectarray.c:230
@ LE_WIDGET_EVENT_PAINT
Definition: legato_event.h:74
@ LE_FALSE
Definition: legato_common.h:158
LIB_EXPORT leBool leRectContainsPoint(const leRect *rect, const lePoint *point)
Determines if a point is inside a rectangle.
Definition: legato_rect.c:31
leBool leGetLayerRenderHorizontal(uint32_t lyrIdx)
Get layer render direction.
Definition: legato_state.c:413
General internal utilities for the library.
leResult leRectArray_CropToSizeX(leRectArray *arr, uint32_t size)
Slices an array of rectangles to a given pixel count.
Definition: legato_rectarray.c:487
This struct represents a palette asset.
Definition: legato_palette.h:70
Rectangle functions and definitions.
LIB_EXPORT void leRectClip(const leRect *l_rect, const leRect *r_rect, leRect *result)
Clips a rectangle to the space of another rectangle.
Definition: legato_rect.c:122
LIB_EXPORT leColor leColorConvert(leColorMode mode_in, leColorMode mode_out, leColor color)
Convert to color value.
Definition: legato_color_convert.c:579
This struct represents the state of the library.
Definition: legato_state.h:69
This structs represents global state of the renderer.
Definition: legato_renderer.h:84
LIB_EXPORT leResult leRectArray_Destroy(leRectArray *arr)
Destroy array.
Definition: legato_rectarray.c:240
leWidget rootWidget[LE_LAYER_COUNT]
Definition: legato_state.h:83
uint32_t size
Definition: legato_rectarray.h:73
leFrameState
This enum represents state of the renderer.
Definition: legato_renderer.h:48
@ LE_TRUE
Definition: legato_common.h:159
Common macros and definitions used by Legato.
LIB_EXPORT uint32_t leRectSplit(const leRect *sub, const leRect *obj, leRect res[4])
Split rectangles.
Definition: legato_rect.c:198
LIB_EXPORT leResult leRectArray_PushBack(leRectArray *arr, const leRect *rect)
Push value on back.
Definition: legato_rectarray.c:149
leResult leRectArray_CropToSizeY(leRectArray *arr, uint32_t size)
Slices an array of rectangles to a given pixel count.
Definition: legato_rectarray.c:447
int32_t height
Definition: legato_common.h:383
LIB_EXPORT leResult leRectArray_Copy(leRectArray *src, leRectArray *dest)
Copy array.
Definition: legato_rectarray.c:209
const leColorModeInfo leColorInfoTable[]
This array represents information reference table.
Definition: legato_color.c:29
This structure represents a integer Cartesian point.
Definition: legato_common.h:357
Definition: legato_pixelbuffer.h:91