MPLABĀ® Harmony Graphics Suite
legato_widget_bar_graph.h
Go to the documentation of this file.
1 /*******************************************************************************
2 * Copyright (C) 2020 Microchip Technology Inc. and its subsidiaries.
3 *
4 * Subject to your compliance with these terms, you may use Microchip software
5 * and any derivatives exclusively with Microchip products. It is your
6 * responsibility to comply with third party license terms applicable to your
7 * use of third party software (including open source software) that may
8 * accompany Microchip software.
9 *
10 * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
11 * EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED
12 * WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A
13 * PARTICULAR PURPOSE.
14 *
15 * IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
16 * INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
17 * WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS
18 * BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE
19 * FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN
20 * ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
21 * THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
22 *******************************************************************************/
23 
24 /*******************************************************************************
25  Module for Microchip Graphics Library - Legato User Interface Library
26 
27  Company:
28  Microchip Technology Inc.
29 
30  File Name:
31  legato_widget_bar_graph.h
32 
33  Summary:
34 
35 
36  Description:
37  This module implements bar graph drawing widget functions.
38 *******************************************************************************/
45 #ifndef LEGATO_WIDGET_BAR_GRAPH_H
46 #define LEGATO_WIDGET_BAR_GRAPH_H
47 
49 
50 #if LE_BARGRAPH_WIDGET_ENABLED
51 
54 
55 // *****************************************************************************
56 // *****************************************************************************
57 // Section: Data Types and Constants
58 // *****************************************************************************
59 // *****************************************************************************
60 
61 
62 // *****************************************************************************
63 /* Enumeration:
64  leBarGraphValueAxis
65 
66  Summary:
67  The value axis index value
68 */
73 typedef enum leBarGraphValueAxis
74 {
75  BAR_GRAPH_AXIS_0 = 0,
76 // BAR_GRAPH_AXIS_1, //unsupported
77 } leBarGraphValueAxis;
78 
79 // *****************************************************************************
80 /* Enumeration:
81  leBarGraphTickPosition
82 
83  Summary:
84  The tick position relative to axis
85 */
91 typedef enum leBarGraphTickPosition
92 {
93  BAR_GRAPH_TICK_IN,
94  BAR_GRAPH_TICK_OUT,
95  BAR_GRAPH_TICK_CENTER,
96 } leBarGraphTickPosition;
97 
98 // *****************************************************************************
99 /* Structure:
100  leBarGraphDataSeries
101 
102  Summary:
103  The data series object that contains the series properties and data
104 
105  Description:
106 
107 
108  Remarks:
109  None.
110 */
116 typedef struct leBarGraphDataSeries
117 {
118  const leScheme* scheme;
119  leArray data;
120  leBarGraphValueAxis axis;
121 } leBarGraphDataSeries;
122 
123 typedef struct leBarGraphCategory
124 {
125  const leString* str;
126  uint32_t drawX;
127 } leBarGraphCategory;
128 
129 /* internal use only */typedef struct leBarGraphWidget leBarGraphWidget;
134 
135 #define LE_BARGRAPHWIDGET_VTABLE(THIS_TYPE) \
136  LE_WIDGET_VTABLE(THIS_TYPE) \
137  \
138  uint32_t (*getTickLength)(const THIS_TYPE* _this); \
139  leResult (*setTickLength)(THIS_TYPE* _this, uint32_t len); \
140  uint32_t (*getMinValue)(const THIS_TYPE* _this, leBarGraphValueAxis axis); \
141  leResult (*setMinValue)(THIS_TYPE* _this, leBarGraphValueAxis axis, int32_t min); \
142  uint32_t (*getMaxValue)(const THIS_TYPE* _this, leBarGraphValueAxis axis); \
143  leResult (*setMaxValue)(THIS_TYPE* _this, leBarGraphValueAxis axis, int32_t max); \
144  leBool (*getValueAxisLabelsVisible)(const THIS_TYPE* _this, leBarGraphValueAxis axis); \
145  leResult (*setValueAxisLabelsVisible)(THIS_TYPE* _this, leBarGraphValueAxis axis, leBool vis); \
146  leBool (*getValueAxisTicksVisible)(const THIS_TYPE* _this, leBarGraphValueAxis axis); \
147  leResult (*setValueAxisTicksVisible)(THIS_TYPE* _this, leBarGraphValueAxis axis, leBool vis); \
148  uint32_t (*getValueAxisTicksInterval)(const THIS_TYPE* _this, leBarGraphValueAxis axis); \
149  leResult (*setValueAxisTicksInterval)(THIS_TYPE* _this, leBarGraphValueAxis axis, uint32_t itv); \
150  leBarGraphTickPosition (*getValueAxisTicksPosition)(const THIS_TYPE* _this, leBarGraphValueAxis axis); \
151  leResult (*setValueAxisTicksPosition)(THIS_TYPE* _this, leBarGraphValueAxis axis, leBarGraphTickPosition pos); \
152  leBool (*getValueAxisSubticksVisible)(const THIS_TYPE* _this, leBarGraphValueAxis axis); \
153  leResult (*setValueAxisSubticksVisible)(THIS_TYPE* _this, leBarGraphValueAxis axis, leBool vis); \
154  uint32_t (*getValueAxisSubticksInterval)(const THIS_TYPE* _this, leBarGraphValueAxis axis); \
155  leResult (*setValueAxisSubticksInterval)(THIS_TYPE* _this, leBarGraphValueAxis axis, uint32_t itv); \
156  leBarGraphTickPosition (*getValueAxisSubticksPosition)(const THIS_TYPE* _this, leBarGraphValueAxis axis); \
157  leResult (*setValueAxisSubticksPosition)(THIS_TYPE* _this, leBarGraphValueAxis axis, leBarGraphTickPosition pos); \
158  leBool (*getCategoryAxisTicksVisible)(const THIS_TYPE* _this); \
159  leResult (*setCategoryAxisTicksVisible)(THIS_TYPE* _this, leBool vis); \
160  leBarGraphTickPosition (*getCategoryAxisTicksPosition)(const THIS_TYPE* _this); \
161  leResult (*setCategoryAxisTicksPosition)(THIS_TYPE* _this, leBarGraphTickPosition pos); \
162  leBool (*getCategoryAxisLabelsVisible)(const THIS_TYPE* _this); \
163  leResult (*setCategoryAxisLabelsVisible)(THIS_TYPE* _this, leBool vis); \
164  leResult (*addSeries)(THIS_TYPE* _this, uint32_t* seriesID); \
165  leScheme* (*getSeriesScheme)(const THIS_TYPE* _this, uint32_t seriesID); \
166  leResult (*setSeriesScheme)(THIS_TYPE* _this, uint32_t seriesID, const leScheme* schm); \
167  leResult (*addDataToSeries)(THIS_TYPE* _this, uint32_t seriesID, int32_t val, uint32_t* idx); \
168  leResult (*setDataInSeries)(THIS_TYPE* _this, uint32_t seriesID, uint32_t index, int32_t value); \
169  leResult (*clearData)(THIS_TYPE* _this); \
170  leFont* (*getTicksLabelFont)(THIS_TYPE* _this); \
171  leResult (*setTicksLabelFont)(THIS_TYPE* _this, const leFont* font); \
172  leBool (*getGridLinesVisible)(const THIS_TYPE* _this, leBarGraphValueAxis axis); \
173  leResult (*setGridLinesVisible)(THIS_TYPE* _this, leBarGraphValueAxis axis, leBool vis); \
174  leResult (*addCategory)(THIS_TYPE* _this, uint32_t* id); \
175  leString* (*getCategoryString)(const THIS_TYPE* _this, uint32_t id); \
176  leResult (*setCategoryString)(THIS_TYPE* _this, uint32_t id, const leString* str); \
177  leBool (*getStacked)(const THIS_TYPE* _this); \
178  leResult (*setStacked)(THIS_TYPE* _this, leBool stk); \
179  leBool (*getFillGraphArea)(const THIS_TYPE* _this); \
180  leResult (*setFillGraphArea)(THIS_TYPE* _this, leBool fill); \
181 
182 
183 
184 typedef struct leBarGraphWidgetVTable
185 {
186  LE_BARGRAPHWIDGET_VTABLE(leBarGraphWidget)
187 } leBarGraphWidgetVTable;
188 
194 // *****************************************************************************
195 /* Structure:
196  leBarGraphWidget
197 
198  Summary:
199  Implementation of a bar graph widget.
200 
201  Description:
202  A bar graph widget draws a bar graph. All coordinates are expressed in local widget space.
203 
204  The color of the graph is determined by the widget scheme's 'foreground'
205  color.
206 
207  Remarks:
208  None.
209 */
216 typedef struct leBarGraphWidget
217 {
218  leWidget widget; // base widget header
219 
220  const leBarGraphWidgetVTable* fn;
221 
222  uint32_t tickLength;
223  leBool fillGraphArea;
224 
225  //Value axis properties
226  int32_t maxValue;
227  int32_t minValue;
228  uint32_t tickInterval;
229  uint32_t subtickInterval;
230  leBool valueAxisLabelsVisible;
231  leBool valueAxisTicksVisible;
232  leBool valueAxisSubticksVisible;
233  leBool valueGridLinesVisible;
234  leBool stacked;
235  leArray dataSeriesArray;
236  const leFont* ticksLabelFont;
237  leBarGraphTickPosition valueAxisTicksPosition;
238  leBarGraphTickPosition valueAxisSubticksPosition;
239 
240  //Category axis properties
241  leBool categAxisLabelsVisible;
242  leBool categAxisTicksVisible;
243  leBarGraphTickPosition categAxisTicksPosition;
244  leArray categories;
245 } leBarGraphWidget;
246 
247 // *****************************************************************************
248 // *****************************************************************************
249 // Section: Routines
250 // *****************************************************************************
251 // *****************************************************************************
252 
264 LIB_EXPORT leBarGraphWidget* leBarGraphWidget_New();
265 
276 LIB_EXPORT void leBarGraphWidget_Constructor(leBarGraphWidget* wgt);
277 
278 #ifdef _DOXYGEN_
279 #define THIS_TYPE struct leWidget
280 
292 uint32_t getTickLength(const leBarGraphWidget* _this);
293 
294 
309 virtual leResult setTickLength(leBarGraphWidget* _this,
310  uint32_t len);
311 
312 
326 virtual uint32_t getMinValue(const leBarGraphWidget* _this,
327  leBarGraphValueAxis axis);
328 
345 virtual leResult setMinValue(leBarGraphWidget* _this,
346  leBarGraphValueAxis axis,
347  int32_t min);
348 
349 
363 virtual uint32_t getMaxValue(const leBarGraphWidget* _this,
364  leBarGraphValueAxis axis);
365 
382 virtual leResult setMaxValue(leBarGraphWidget* _this,
383  leBarGraphValueAxis axis,
384  int32_t max);
385 
399 virtual leBool getValueAxisLabelsVisible(const leBarGraphWidget* _this,
400  leBarGraphValueAxis axis);
401 
402 
419 virtual leResult setValueAxisLabelsVisible(leBarGraphWidget* _this,
420  leBarGraphValueAxis axis,
421  leBool vis);
422 
423 
437 virtual leBool getValueAxisTicksVisible(const leBarGraphWidget* _this,
438  leBarGraphValueAxis axis);
439 
440 
457 virtual leResult setValueAxisTicksVisible(leBarGraphWidget* _this,
458  leBarGraphValueAxis axis,
459  leBool vis);
460 
461 
475 virtual uint32_t getValueAxisTicksInterval(const leBarGraphWidget* _this,
476  leBarGraphValueAxis axis);
477 
478 
495 virtual leResult setValueAxisTicksInterval(leBarGraphWidget* _this,
496  leBarGraphValueAxis axis,
497  uint32_t itv);
498 
499 
500 
514 virtual leBarGraphTickPosition getValueAxisTicksPosition(const leBarGraphWidget* _this,
515  leBarGraphValueAxis axis);
516 
533 virtual leResult setValueAxisTicksPosition(leBarGraphWidget* _this,
534  leBarGraphValueAxis axis,
535  leBarGraphTickPosition pos);
536 
537 
538 
552 virtual leBool getValueAxisSubticksVisible(const leBarGraphWidget* _this,
553  leBarGraphValueAxis axis);
554 
555 
572 virtual leResult setValueAxisSubticksVisible(leBarGraphWidget* _this,
573  leBarGraphValueAxis axis,
574  leBool vis);
575 
576 
577 
591 virtual uint32_t getValueAxisSubticksInterval(const leBarGraphWidget* _this,
592  leBarGraphValueAxis axis);
593 
594 
611 virtual leResult setValueAxisSubticksInterval(leBarGraphWidget* _this,
612  leBarGraphValueAxis axis,
613  uint32_t itv);
614 
615 
629 virtual leBarGraphTickPosition getValueAxisSubticksPosition(const leBarGraphWidget* _this,
630  leBarGraphValueAxis axis);
631 
632 
648 virtual leResult setValueAxisSubticksPosition(leBarGraphWidget* _this,
649  leBarGraphValueAxis axis,
650  leBarGraphTickPosition pos);
651 
652 
664 virtual leBool getCategoryAxisTicksVisible(const leBarGraphWidget* _this);
665 
679 virtual leResult setCategoryAxisTicksVisible(leBarGraphWidget* _this,
680  leBool vis);
681 
693 virtual leBarGraphTickPosition getCategoryAxisTicksPosition(const leBarGraphWidget* _this);
694 
708 virtual leResult setCategoryAxisTicksPosition(leBarGraphWidget* _this,
709  leBarGraphTickPosition pos)
710 
711 
726 virtual leResult setCategoryAxisLabelsVisible(leBarGraphWidget* _this,
727  leBool vis)
728 
729 
742 virtual leResult addSeries(leBarGraphWidget* _this,
743  uint32_t* seriesID);
744 
757 virtual leScheme* getSeriesScheme(const leBarGraphWidget* _this,
758  uint32_t seriesID);
759 
776 leResult setSeriesScheme(leBarGraphWidget* _this,
777  uint32_t seriesID,
778  const leScheme* schm);
779 
798  leResult setDataInSeries(leBarGraphWidget* _this,
799  uint32_t seriesID,
800  uint32_t index,
801  int32_t value)
802 
803 
813 virtual leResult clearData(leBarGraphWidget* _this);
814 
815 
826 virtual leFont* getTicksLabelFont(leBarGraphWidget* _this);
827 
828 
842 virtual leResult setTicksLabelFont(const leBarGraphWidget* _this,
843  const leFont* font);
844 
858 virtual leBool getGridLinesVisible(const leBarGraphWidget* _this,
859  leBarGraphValueAxis axis);
860 
877 virtual leResult setGridLinesVisible(leBarGraphWidget* _this,
878  leBarGraphValueAxis axis,
879  leBool vis);
880 
894 virtual leResult addCategory(leBarGraphWidget* _this,
895  uint32_t* id);
896 
910 virtual leString* getCategoryString(const leBarGraphWidget* _this,
911  uint32_t id);
912 
928 virtual leResult setCategoryString(leBarGraphWidget* _this,
929  uint32_t id,
930  const leString* str);
931 
942 virtual leBool getStacked(const leBarGraphWidget* _this);
943 
957 virtual leResult setStacked(leBarGraphWidget* _this,
958  leBool stk);
959 
970 virtual leBool getFillGraphArea(const leBarGraphWidget* _this);
971 
984 virtual leResult setFillGraphArea(THIS_TYPE* _this,
985  leBool fill);
986 #undef THIS_TYPE
987 #endif
988 
989 
990 #endif // LE_BARGRAPH_WIDGET_ENABLED
991 #endif /* LEGATO_WIDGET_BAR_GRAPH_H */
_leWidget_SetAlphaAmount
leResult _leWidget_SetAlphaAmount(leWidget *_this, uint32_t alpha)
Set alpha amount.
Definition: legato_widget.c:570
leArcWidget::roundEdge
leBool roundEdge
Definition: legato_widget_arc.h:106
legato_math.h
Defines common math functions for general use.
legato_error.h
Error functions, macros and definitions.
_leWidget_GetType
leWidgetType _leWidget_GetType(const leWidget *_this)
Get widget type.
Definition: legato_widget.c:176
leArcWidget::centerAngle
int32_t centerAngle
Definition: legato_widget_arc.h:103
_leWidget_GetScheme
leScheme * _leWidget_GetScheme(const leWidget *_this)
Get widget scheme.
Definition: legato_widget.c:938
leResult
leResult
This enum represents function call results.
Definition: legato_common.h:134
leArcWidget::fn
const leArcWidgetVTable * fn
Definition: legato_widget_arc.h:100
_leWidget_RectToScreenSpace
leRect _leWidget_RectToScreenSpace(const leWidget *_this)
Get widget rectangle.
Definition: legato_widget.c:701
leRect
This struct represents a rectangle.
Definition: legato_common.h:405
_leWidget_IsOpaque
leBool _leWidget_IsOpaque(const leWidget *_this)
Determine is widget is opaque.
Definition: legato_widget.c:594
_leWidget_SetBorderType
leResult _leWidget_SetBorderType(leWidget *_this, leBorderType type)
Set widget scheme.
Definition: legato_widget.c:967
_leWidget_RemoveAllChildren
void _leWidget_RemoveAllChildren(leWidget *_this)
Remove all children from widget.
Definition: legato_widget.c:823
_leWidget_SetParent
leResult _leWidget_SetParent(leWidget *_this, leWidget *parent)
Set parent widget.
Definition: legato_widget.c:862
_leWidget_InvalidateContents
void _leWidget_InvalidateContents(const leWidget *_this)
Invalidate widget contents.
Definition: legato_widget.c:1210
_leWidget_SetCornerRadius
leResult _leWidget_SetCornerRadius(leWidget *_this, uint32_t radius)
Set widget scheme.
Definition: legato_widget.c:1091
_leWidget_InstallEventFilter
leResult _leWidget_InstallEventFilter(leWidget *_this, leWidgetEventFilter fltr)
Install event filter.
Definition: legato_widget.c:1215
_leWidget_SetX
leResult _leWidget_SetX(leWidget *_this, int32_t x)
Set widget x position.
Definition: legato_widget.c:190
leArcWidget::startAngle
int32_t startAngle
Definition: legato_widget_arc.h:102
_leWidget_SetSize
leResult _leWidget_SetSize(leWidget *_this, uint32_t width, uint32_t height)
Set widget height.
Definition: legato_widget.c:381
_leWidget_HasFocus
leBool _leWidget_HasFocus(const leWidget *_this)
Determines the focus status.
Definition: legato_widget.c:1110
legato_memory.h
Memory functions and definitions.
_leWidget_Resize
leResult _leWidget_Resize(leWidget *_this, int32_t width, int32_t height)
Resize widget.
Definition: legato_widget.c:426
_leWidget_SetAlphaEnabled
leResult _leWidget_SetAlphaEnabled(leWidget *_this, leBool enable)
Set cumulative alpha enable status.
Definition: legato_widget.c:501
leArray_PushBack
leResult leArray_PushBack(leArray *arr, void *val)
Push value on back.
Definition: legato_array.c:147
_leWidget_ContainsDescendant
leBool _leWidget_ContainsDescendant(const leWidget *_this, const leWidget *wgt)
Determine widget exists.
Definition: legato_widget.c:910
_leWidget_SetBackgroundType
leResult _leWidget_SetBackgroundType(leWidget *_this, leBackgroundType type)
Set widget scheme.
Definition: legato_widget.c:989
_leWidget_GetWidth
uint32_t _leWidget_GetWidth(const leWidget *_this)
Get widget width.
Definition: legato_widget.c:317
_leWidget_GetCumulativeAlphaEnabled
leBool _leWidget_GetCumulativeAlphaEnabled(const leWidget *_this)
Get cumulative alpha enable status.
Definition: legato_widget.c:484
_leWidget_RectToParentSpace
leRect _leWidget_RectToParentSpace(const leWidget *_this)
Get widget rectangle.
Definition: legato_widget.c:684
_leWidget_Translate
leResult _leWidget_Translate(leWidget *_this, int32_t x, int32_t y)
Translate widget x and y position.
Definition: legato_widget.c:282
legato_renderer.h
_leWidget_SetHeight
leResult _leWidget_SetHeight(leWidget *_this, uint32_t height)
Set widget height.
Definition: legato_widget.c:356
_leWidget_SetWidth
leResult _leWidget_SetWidth(leWidget *_this, uint32_t width)
Set the widget width.
Definition: legato_widget.c:324
legato_widget_arc.h
Arc widget definitions and functions.
_leWidget_SetVisible
leResult _leWidget_SetVisible(leWidget *_this, leBool visible)
Set widget visible status.
Definition: legato_widget.c:649
_leWidget_GetRootWidget
leWidget * _leWidget_GetRootWidget(const leWidget *_this)
Get root widget.
Definition: legato_widget.c:843
_leWidget_Update
void _leWidget_Update(leWidget *_this, uint32_t dt)
Update widget.
Definition: legato_widget.c:1491
leArray
This struct represents a array.
Definition: legato_array.h:61
legato_widget.h
Legato widget definitions.
leFont
This struct represents a font object.
Definition: legato_font.h:136
leArray_Create
leResult leArray_Create(leArray *arr)
Create a new array.
Definition: legato_array.c:73
_leWidget_GetHAlignment
leHAlignment _leWidget_GetHAlignment(const leWidget *_this)
Get widget horizontal alignment.
Definition: legato_widget.c:1003
_leWidget_GetHeight
uint32_t _leWidget_GetHeight(const leWidget *_this)
Get widget height.
Definition: legato_widget.c:349
leString
This struct represents a string.
Definition: legato_string.h:108
_leWidget_LocalRect
leRect _leWidget_LocalRect(const leWidget *_this)
Get widget rectangle.
Definition: legato_widget.c:670
leBool
leBool
This enum represents booleans.
Definition: legato_common.h:157
_leWidget_GetBackgroundType
leBackgroundType _leWidget_GetBackgroundType(const leWidget *_this)
Get widget background type.
Definition: legato_widget.c:982
_leWidget_SetScheme
leResult _leWidget_SetScheme(leWidget *_this, const leScheme *scheme)
Set widget scheme.
Definition: legato_widget.c:945
_leWidget_SetHAlignment
leResult _leWidget_SetHAlignment(leWidget *_this, leHAlignment align)
Set widget scheme.
Definition: legato_widget.c:1010
_leWidget_GetEnabled
leBool _leWidget_GetEnabled(const leWidget *_this)
Get widget enabled flag.
Definition: legato_widget.c:615
length
virtual uint32_t length(const leString *_this)
Get length of the string.
leUtils_PointToScreenSpace
void leUtils_PointToScreenSpace(const leWidget *widget, lePoint *pnt)
Converts a point from widget space into screen space.
Definition: legato_utils.c:75
_leWidget_SetFocus
leResult _leWidget_SetFocus(leWidget *_this)
Set widget scheme.
Definition: legato_widget.c:1117
LE_FALSE
@ LE_FALSE
Definition: legato_common.h:158
_leWidget_GetAlphaEnabled
leBool _leWidget_GetAlphaEnabled(const leWidget *_this)
Get alpha enable status.
Definition: legato_widget.c:473
leArcWidget::radius
uint32_t radius
Definition: legato_widget_arc.h:101
_leWidget_GetChildAtIndex
leWidget * _leWidget_GetChildAtIndex(const leWidget *_this, uint32_t idx)
Get child at index.
Definition: legato_widget.c:888
_leWidget_GetCumulativeAlphaAmount
uint32_t _leWidget_GetCumulativeAlphaAmount(const leWidget *_this)
Get cumulative alpha amount.
Definition: legato_widget.c:538
_leWidget_SetY
leResult _leWidget_SetY(leWidget *_this, int32_t y)
Set widget y position.
Definition: legato_widget.c:222
_leWidget_GetBorderType
leBorderType _leWidget_GetBorderType(const leWidget *_this)
Get widget bordertype.
Definition: legato_widget.c:960
_leWidget_SetMargins
leResult _leWidget_SetMargins(leWidget *_this, uint32_t l, uint32_t t, uint32_t r, uint32_t b)
Set widget margins.
Definition: legato_widget.c:1058
legato_utils.h
General internal utilities for the library.
_leWidget_GetVAlignment
leVAlignment _leWidget_GetVAlignment(const leWidget *_this)
Get widget vertical alignment.
Definition: legato_widget.c:1027
leArcWidget
This struct represents a arc widget.
Definition: legato_widget_arc.h:98
legato_string.h
Fixed string functions and definitions.
leArray_Clear
leResult leArray_Clear(leArray *arr)
Clear array.
Definition: legato_array.c:279
LE_WIDGET_BACKGROUND_NONE
@ LE_WIDGET_BACKGROUND_NONE
Definition: legato_widget.h:225
leWidget
Used to define a widget.
Definition: legato_widget.h:623
legato_stringutils.h
String utility functions and definitions.
legato_dynamicstring.h
Dynamic string functions and definitions.
legato.h
The header file joins all header files used in the graphics object library.
leArcWidget::widget
leWidget widget
Definition: legato_widget_arc.h:99
_leWidget_GetX
int32_t _leWidget_GetX(const leWidget *_this)
Get widget x position.
Definition: legato_widget.c:183
_leWidget_SetVAlignment
leResult _leWidget_SetVAlignment(leWidget *_this, leVAlignment align)
Set widget vertical alignment.
Definition: legato_widget.c:1034
_leWidget_GetVisible
leBool _leWidget_GetVisible(const leWidget *_this)
Get widget visible status.
Definition: legato_widget.c:642
leArcWidget::thickness
uint32_t thickness
Definition: legato_widget_arc.h:105
leScheme
Definition: legato_scheme.h:154
_leWidget_AddChild
leResult _leWidget_AddChild(leWidget *_this, leWidget *child)
Add child to widget.
Definition: legato_widget.c:734
_leWidget_GetIndexOfChild
uint32_t _leWidget_GetIndexOfChild(const leWidget *_this, const leWidget *child)
Get index of child.
Definition: legato_widget.c:899
leArray_Get
void * leArray_Get(const leArray *arr, uint32_t idx)
Get entry at index.
Definition: legato_array.c:224
_leWidget_GetChildCount
uint32_t _leWidget_GetChildCount(const leWidget *_this)
Get child count.
Definition: legato_widget.c:881
_leWidget_GetMargins
leMargin _leWidget_GetMargins(const leWidget *_this)
Get widget margins.
Definition: legato_widget.c:1051
leWidget_Constructor
LIB_EXPORT void leWidget_Constructor(leWidget *wgt)
Initialize widget.
Definition: legato_widget.c:67
leScheme_GetRenderColor
leColor leScheme_GetRenderColor(const leScheme *schm, leSchemeColor clr)
Gets a scheme render color for the current layer color mode.
Definition: legato_scheme.c:68
LE_TRUE
@ LE_TRUE
Definition: legato_common.h:159
_leWidget_GetAlphaAmount
uint32_t _leWidget_GetAlphaAmount(const leWidget *_this)
Get alpha amount.
Definition: legato_widget.c:527
_leWidget_GetCornerRadius
uint32_t _leWidget_GetCornerRadius(const leWidget *_this)
Get widget corner radius.
Definition: legato_widget.c:1084
legato_common.h
Common macros and definitions used by Legato.
_leWidget_RemoveEventFilter
leResult _leWidget_RemoveEventFilter(leWidget *_this, leWidgetEventFilter fltr)
Remove event filter.
Definition: legato_widget.c:1238
leString::fn
const leStringVTable * fn
Definition: legato_string.h:109
legato_state.h
leGetDefaultScheme
LIB_EXPORT leScheme * leGetDefaultScheme()
Get default scheme.
Definition: legato_state.c:485
_leWidget_RemoveChild
leResult _leWidget_RemoveChild(leWidget *_this, leWidget *child)
Remove child from widget.
Definition: legato_widget.c:785
leStringUtils_GetRectCStr
LIB_EXPORT leResult leStringUtils_GetRectCStr(const char *str, const leFont *font, leRect *rect)
Gets the bounding rectangle for a C-style string.
Definition: legato_stringutils.c:128
_leWidget_SetEnabled
leResult _leWidget_SetEnabled(leWidget *_this, leBool enable)
Set widget enabled flag.
Definition: legato_widget.c:620
_leWidget_SetPosition
leResult _leWidget_SetPosition(leWidget *_this, int32_t x, int32_t y)
Set widget x and y position.
Definition: legato_widget.c:247
_leWidget_Invalidate
void _leWidget_Invalidate(const leWidget *_this)
Invalidate widget.
Definition: legato_widget.c:1142
lePoint
This structure represents a integer Cartesian point.
Definition: legato_common.h:357
legato_widget_bar_graph.h
Bar graph widget functions and definitions.
_leWidget_GetY
int32_t _leWidget_GetY(const leWidget *_this)
Get widget y position.
Definition: legato_widget.c:215