MPLAB® Harmony Graphics Suite
|
Structure: laWidget_t
Specifies Graphics widget structure to manage all properties and events associated with the widget. It also contains information about the parent and children for the widget to manage the tree structure that the library supports.
typedef struct laWidget_t { uint32_t id; laWidgetType type; laBool editable; laBool visible; laBool enabled; GFX_Rect rect; uint32_t cornerRadius; laMargin margin; laBorderType borderType; laBackgroundType backgroundType; uint32_t optimizationFlags; uint32_t drawCount; GFX_PixelBuffer* cache; laBool cacheInvalid; laBool alphaEnabled; uint32_t alphaAmount; uint32_t dirtyState; uint32_t drawState; laWidget_DrawFunction_FnPtr drawFunc; laScheme* scheme; laBool root; laWidget* parent; laArray children; laWidget_Destructor_FnPtr destructor; laWidget_Moved_FnPtr moved; laWidget_Resized_FnPtr resized; laWidget_Focus_FnPtr focusGained; laWidget_Focus_FnPtr focusLost; laWidget_Update_FnPtr update; laWidget_Paint_FnPtr paint; laWidget_TouchDownEvent_FnPtr touchDown; laWidget_TouchUpEvent_FnPtr touchUp; laWidget_TouchMovedEvent_FnPtr touchMoved; laWidget_LanguageChangingEvent_FnPtr languageChangeEvent; laWidget_InvalidateBorderAreas_FnPtr invalidateBorderAreas; } laWidget;
Members |
Description |
uint32_t id; |
the id of the widget |
laWidgetType type; |
the type of the widget |
laBool editable; |
indicates if this widget implements the editable interface |
laBool visible; |
the widget visible flag |
laBool enabled; |
the widget enabled flag |
GFX_Rect rect; |
the bounding rectangle of the widget |
uint32_t cornerRadius; |
corner radius, draws round corners if > 0 |
laMargin margin; |
the margin settings for the widget |
laBorderType borderType; |
the widget border type |
laBackgroundType backgroundType; |
the widget background type |
uint32_t optimizationFlags; |
optimization flags |
uint32_t drawCount; |
number of times this widget has been drawn for the active screen |
GFX_PixelBuffer* cache; |
the local framebuffer cache for the widget this can be used to avoid costly parent redraw operations at the cost of using more memory |
laBool cacheInvalid; |
indicates that the local cache is invalid and needs to be refilled |
laBool alphaEnabled; |
indicates that the global alpha blending setting is enabled for this widget |
uint32_t alphaAmount; |
the global alpha amount to apply to this widget (cumulative with parent widgets) |
uint32_t dirtyState; |
the widget's dirty state |
uint32_t drawState; |
the widget's draw state |
laWidget_DrawFunction_FnPtr drawFunc; |
the next draw function to call |
laScheme* scheme; |
the widget's color scheme |
laBool root; |
indicates if this widget is a root widget |
laWidget* parent; |
pointer to the widget's parent |
laArray children; |
pointers for the widget's children |
laWidget_Destructor_FnPtr destructor; |
the widget's destructor |
laWidget_Moved_FnPtr moved; |
moved function pointer |
laWidget_Resized_FnPtr resized; |
resized function pointer |
laWidget_Focus_FnPtr focusGained; |
focus gained function pointer |
laWidget_Focus_FnPtr focusLost; |
focus lost function pointer |
laWidget_Update_FnPtr update; |
update function pointer |
laWidget_Paint_FnPtr paint; |
paint function pointer |
laWidget_TouchDownEvent_FnPtr touchDown; |
touch down function pointer |
laWidget_TouchUpEvent_FnPtr touchUp; |
touch up function pointer |
laWidget_TouchMovedEvent_FnPtr touchMoved; |
touch moved function pointer |
laWidget_LanguageChangingEvent_FnPtr languageChangeEvent; |
languaged event pointer |
None.
MPLAB® Harmony Graphics Suite
|