MPLAB® Harmony Graphics Suite > Graphics Library > Aria Graphics Library > Aria User Interface Library Interface > b) Data Types and Constants > laWidget Structure
MPLAB® Harmony Graphics Suite
laWidget Structure

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.

C
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
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 
Remarks

None.

MPLAB® Harmony Graphics Suite