MPLABĀ® Harmony Graphics Suite
legato_widget_circular_gauge.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_circular_gauge.h
32 
33  Summary:
34 
35 
36  Description:
37  This module implements circular gauge drawing widget functions.
38 *******************************************************************************/
45 #ifndef LEGATO_WIDGET_CIRCULAR_GAUGE_H
46 #define LEGATO_WIDGET_CIRCULAR_GAUGE_H
47 
49 
50 #if LE_CIRCULARGAUGE_WIDGET_ENABLED == 1
51 
56 
57 
58 // *****************************************************************************
59 // *****************************************************************************
60 // Section: Data Types and Constants
61 // *****************************************************************************
62 // *****************************************************************************
63 
64 typedef struct leCircularGaugeWidget leCircularGaugeWidget;
65 
66 
67 // *****************************************************************************
68 /* Function Pointer:
69  leCircularGaugeWidget_ValueChangedEvent
70 
71  Summary:
72  Value changed event function callback type
73 */
78 typedef void (*leCircularGaugeWidget_ValueChangedEvent)(leCircularGaugeWidget*,
79  int32_t value);
80 
81 
82 /* internal use only */
87 #define LE_CIRCULARGAUGEWIDGET_VTABLE(THIS_TYPE) \
88  LE_WIDGET_VTABLE(THIS_TYPE) \
89  \
90  uint32_t (*getRadius)(const THIS_TYPE* _this); \
91  leResult (*setRadius)(THIS_TYPE* _this, uint32_t rad); \
92  int32_t (*getStartAngle)(const THIS_TYPE* _this); \
93  leResult (*setStartAngle)(THIS_TYPE* _this, int32_t ang); \
94  int32_t (*getCenterAngle)(const THIS_TYPE* _this); \
95  leResult (*setCenterAngle)(THIS_TYPE* _this, int32_t ang); \
96  uint32_t (*getValue)(const THIS_TYPE* _this); \
97  leResult (*setValue)(THIS_TYPE* _this, uint32_t val); \
98  \
99  int32_t (*addArc)(THIS_TYPE* _this, uint32_t startAngle, uint32_t endAngle, int32_t offset, const leScheme* schm, uint32_t thk); \
100  leResult (*deleteArc)(THIS_TYPE* _this, uint32_t idx); \
101  leResult (*deleteAllArcs)(THIS_TYPE* _this); \
102  uint32_t (*arcCount)(const THIS_TYPE* _this); \
103  leBool (*getArcEnabled)(const THIS_TYPE* _this, uint32_t idx); \
104  leResult (*setArcEnabled)(THIS_TYPE* _this, uint32_t idx, leBool b); \
105  uint32_t (*getArcStartAngle)(const THIS_TYPE* _this, uint32_t idx); \
106  leResult (*setArcStartAngle)(THIS_TYPE* _this, uint32_t idx, uint32_t val); \
107  uint32_t (*getArcEndAngle)(const THIS_TYPE* _this, uint32_t idx); \
108  leResult (*setArcEndAngle)(THIS_TYPE* _this, uint32_t idx, uint32_t val); \
109  int32_t (*getArcOffset)(const THIS_TYPE* _this, uint32_t idx); \
110  leResult (*setArcOffset)(THIS_TYPE* _this, uint32_t idx, int32_t offs); \
111  const leScheme* (*getArcScheme)(const THIS_TYPE* _this, uint32_t idx); \
112  leResult (*setArcScheme)(THIS_TYPE* _this, uint32_t idx, const leScheme* schm); \
113  uint32_t (*getArcThickness)(const THIS_TYPE* _this, uint32_t idx); \
114  leResult (*setArcThickness)(THIS_TYPE* _this, uint32_t idx, uint32_t thk); \
115  \
116  int32_t (*addTickRange)(THIS_TYPE* _this, uint32_t startAngle, uint32_t endAngle, int32_t offset, const leScheme* schm, uint32_t thk, uint32_t div); \
117  leResult (*deleteTickRange)(THIS_TYPE* _this, uint32_t idx); \
118  leResult (*deleteAllTickRanges)(THIS_TYPE* _this); \
119  uint32_t (*tickRangeCount)(const THIS_TYPE* _this); \
120  leBool (*getTickRangeEnabled)(const THIS_TYPE* _this, uint32_t idx); \
121  leResult (*setTickRangeEnabled)(THIS_TYPE* _this, uint32_t idx, leBool b); \
122  uint32_t (*getTickRangeStartAngle)(const THIS_TYPE* _this, uint32_t idx); \
123  leResult (*setTickRangeStartAngle)(THIS_TYPE* _this, uint32_t idx, uint32_t val); \
124  uint32_t (*getTickRangeEndAngle)(const THIS_TYPE* _this, uint32_t idx); \
125  leResult (*setTickRangeEndAngle)(THIS_TYPE* _this, uint32_t idx, uint32_t val); \
126  int32_t (*getTickRangeOffset)(const THIS_TYPE* _this, uint32_t idx); \
127  leResult (*setTickRangeOffset)(THIS_TYPE* _this, uint32_t idx, int32_t offs); \
128  const leScheme* (*getTickRangeScheme)(const THIS_TYPE* _this, uint32_t idx); \
129  leResult (*setTickRangeScheme)(THIS_TYPE* _this, uint32_t idx, const leScheme* schm); \
130  uint32_t (*getTickRangeThickness)(const THIS_TYPE* _this, uint32_t idx); \
131  leResult (*setTickRangeThickness)(THIS_TYPE* _this, uint32_t idx, uint32_t thk); \
132  uint32_t (*getTickRangeDivisions)(const THIS_TYPE* _this, uint32_t idx); \
133  leResult (*setTickRangeDivisions)(THIS_TYPE* _this, uint32_t idx, uint32_t div); \
134  \
135  int32_t (*addLabelRange)(THIS_TYPE* _this, uint32_t startVal, uint32_t endVal, int32_t offset, const leScheme* schm, const leFont* fnt, uint32_t div); \
136  leResult (*deleteLabelRange)(THIS_TYPE* _this, uint32_t idx); \
137  leResult (*deleteAllLabelRanges)(THIS_TYPE* _this); \
138  uint32_t (*labelRangeCount)(const THIS_TYPE* _this); \
139  leBool (*getLabelRangeEnabled)(const THIS_TYPE* _this, uint32_t idx); \
140  leResult (*setLabelRangeEnabled)(THIS_TYPE* _this, uint32_t idx, leBool b); \
141  uint32_t (*getLabelRangeStartAngle)(const THIS_TYPE* _this, uint32_t idx); \
142  leResult (*setLabelRangeStartAngle)(THIS_TYPE* _this, uint32_t idx, uint32_t val); \
143  uint32_t (*getLabelRangeEndAngle)(const THIS_TYPE* _this, uint32_t idx); \
144  leResult (*setLabelRangeEndAngle)(THIS_TYPE* _this, uint32_t idx, uint32_t val); \
145  int32_t (*getLabelRangeOffset)(const THIS_TYPE* _this, uint32_t idx); \
146  leResult (*setLabelRangeOffset)(THIS_TYPE* _this, uint32_t idx, int32_t offs); \
147  const leScheme* (*getLabelRangeScheme)(const THIS_TYPE* _this, uint32_t idx); \
148  leResult (*setLabelRangeScheme)(THIS_TYPE* _this, uint32_t idx, const leScheme* schm); \
149  const leFont* (*getLabelRangeFont)(const THIS_TYPE* _this, uint32_t idx); \
150  leResult (*setLabelRangeFont)(THIS_TYPE* _this, uint32_t idx, const leFont* font); \
151  uint32_t (*getLabelRangeDivisions)(const THIS_TYPE* _this, uint32_t idx); \
152  leResult (*setLabelRangeDivisions)(THIS_TYPE* _this, uint32_t idx, uint32_t div); \
153  \
154  leBool (*getHandVisible)(const THIS_TYPE* _this); \
155  leResult (*setHandVisible)(THIS_TYPE* _this, leBool vis); \
156  uint32_t (*getHandRadius)(const THIS_TYPE* _this); \
157  leResult (*setHandRadius)(THIS_TYPE* _this, uint32_t rad); \
158  leBool (*getCenterCircleVisible)(const THIS_TYPE* _this); \
159  leResult (*setCenterCircleVisible)(THIS_TYPE* _this, leBool vis); \
160  uint32_t (*getCenterCircleRadius)(const THIS_TYPE* _this); \
161  leResult (*setCenterCircleRadius)(THIS_TYPE* _this, uint32_t rad); \
162  uint32_t (*getCenterCircleThickness)(const THIS_TYPE* _this); \
163  leResult (*setCenterCircleThickness)(THIS_TYPE* _this, uint32_t thk); \
164  leResult (*setValueChangedEventCallback)(THIS_TYPE* _this, leCircularGaugeWidget_ValueChangedEvent cb); \
165 
166 typedef struct leCircularGaugeWidgetVTable
167 {
168  LE_CIRCULARGAUGEWIDGET_VTABLE(leCircularGaugeWidget)
169 } leCircularGaugeWidgetVTable;
170 
176 // *****************************************************************************
177 /* Structure:
178  leCircularGaugeWidget
179 
180  Summary:
181  Implementation of a circular gauge widget.
182 
183  Description:
184  A circular gauge widget draws a circular gauge of the specified properties
185  inside the widget bounds. All coordinates are expressed in local widget space.
186 
187  Remarks:
188  None.
189 */
196 typedef struct leCircularGaugeWidget
197 {
198  leWidget widget; // base widget header
199 
200  const leCircularGaugeWidgetVTable* fn;
201 
202  //Widget properties
203  uint32_t value;
204  uint32_t radius; // the radius of the circular gauge
205  int32_t startAngle; //the start angle of the arc
206  int32_t centerAngle; //the center/span angle of the outer arc
207 
208  //hand properties
209  leBool handVisible;
210  uint32_t handRadius;
211  leBool centerCircleVisible;
212  uint32_t centerCircleRadius;
213  uint32_t centerCircleThickness;
214 
215  //Advanced config arrays
216  leArray arcsArray; //ArcsArray list
217  leArray ticksArray; //ArcsArray list
218  leArray labelsArray; //ArcsArray list
219 
220  leCircularGaugeWidget_ValueChangedEvent cb; //value changed event callback
221 } leCircularGaugeWidget;
222 
223 // *****************************************************************************
224 /* Structure:
225  leCircularGaugeArc
226 
227  Summary:
228  Internal structure for the arcs in the circular gauge widget
229 
230  Description:
231  Contains state values for a circular gauge arc
232 
233  Remarks:
234  None.
235 */
241 typedef struct leCircularGaugeArc
242 {
243  leBool enabled;
244  uint32_t startAngle;
245  uint32_t endAngle;
246  int32_t offset;
247  const leScheme* scheme;
248  uint32_t thickness;
249 } leCircularGaugeArc;
250 
251 // *****************************************************************************
252 /* Structure:
253  leCircularGaugeTickRange
254 
255  Summary:
256  Tick range for a circular gauge
257 
258  Description:
259  Contains properties of a circular gauge tick range
260 
261  Remarks:
262  None.
263 */
269 typedef struct leCircularGaugeTickRange
270 {
271  leBool enabled;
272  uint32_t startAngle;
273  uint32_t endAngle;
274  int32_t offset;
275  const leScheme* scheme;
276  uint32_t thickness;
277  uint32_t divisions;
278 } leCircularGaugeTickRange;
279 
280 // *****************************************************************************
281 /* Structure:
282  typedef struct leCircularGaugeLabel
283 
284  Summary:
285  Contains state values for a circular gauge label range
286 
287  Description:
288  Contains properties of the labels in the gauge
289 
290  Remarks:
291  None.
292 */
298 typedef struct leCircularGaugeLabelRange
299 {
300  leBool enabled;
301  uint32_t startAngle;
302  uint32_t endAngle;
303  int32_t offset;
304  const leScheme* scheme;
305  const leFont* font;
306  uint32_t divisions;
307 } leCircularGaugeLabelRange;
308 
309 // *****************************************************************************
310 // *****************************************************************************
311 // Section: Routines
312 // *****************************************************************************
313 // *****************************************************************************
314 
326 leCircularGaugeWidget* leCircularGaugeWidget_New();
327 
328 
339 void leCircularGaugeWidget_Constructor(leCircularGaugeWidget* gauge);
340 
341 
342 #ifdef _DOXYGEN_
343 #define THIS_TYPE struct leWidget
344 
345 // *****************************************************************************
356 virtual uint32_t getRadius(const leCircularGaugeWidget* _this);
357 
358 
359 // *****************************************************************************
360 /* Virtual Member Function:
361  leResult setRadius(leCircularGaugeWidget* _this,
362  uint32_t rad)
363 
364  Summary:
365  Sets the radius
366 
367  Description:
368  Sets the radius
369 
370  Parameters:
371  leCircularGaugeWidget* _this - The gauge to operate on
372  uint32_t rad - the radius value
373 
374  Remarks:
375  Usage - _this->fn->setRadius(_this, rad);
376 
377  Returns:
378  leResult - the result of the operation
379 */
393 virtual leResult setRadius(leCircularGaugeWidget* _this,
394  uint32_t rad);
395 
396 // *****************************************************************************
407 virtual int32_t getStartAngle(const leCircularGaugeWidget* _this);
408 
409 
410 // *****************************************************************************
424 virtual leResult setStartAngle(leCircularGaugeWidget* _this,
425  int32_t ang);
426 
427 // *****************************************************************************
438 virtual int32_t getCenterAngle(const leCircularGaugeWidget* _this);
439 
440 
441 // *****************************************************************************
455 virtual leResult setCenterAngle(leCircularGaugeWidget* _this,
456  int32_t ang);
457 
458 
459 
460 // *****************************************************************************
471 virtual leBool getHandVisible(const leCircularGaugeWidget* _this);
472 
473 // *****************************************************************************
487 virtual leResult setTickLabelsVisible(leCircularGaugeWidget* _this,
488  leBool vis);
489 
490 // *****************************************************************************
501 virtual leBool getHandVisible(const leCircularGaugeWidget* _this);
502 
503 // *****************************************************************************
517 virtual leResult setHandVisible(leCircularGaugeWidget* _this,
518  leBool vis);
519 
520 // *****************************************************************************
531 virtual uint32_t getHandRadius(const leCircularGaugeWidget* _this);
532 
533 // *****************************************************************************
547 virtual leResult setHandRadius(leCircularGaugeWidget* _this,
548  uint32_t rad);
549 
550 
551 // *****************************************************************************
562 virtual leBool getCenterCircleVisible(const leCircularGaugeWidget* _this);
563 
564 
565 // *****************************************************************************
579 virtual leResult setCenterCircleVisible(leCircularGaugeWidget* _this,
580  leBool vis);
581 
582 // *****************************************************************************
593 virtual uint32_t getCenterCircleRadius(const leCircularGaugeWidget* _this);
594 
595 
596 // *****************************************************************************
610 virtual leResult setCenterCircleRadius(leCircularGaugeWidget* _this,
611  uint32_t rad);
612 
613 
614 // *****************************************************************************
625 virtual uint32_t getCenterCircleThickness(const leCircularGaugeWidget* _this);
626 
627 
628 // *****************************************************************************
642 virtual leResult setCenterCircleThickness(leCircularGaugeWidget* _this,
643  uint32_t rad);
644 
658 virtual leResult setValueChangedEventCallback(leCircularGaugeWidget* _this,
659  leCircularGaugeWidget_ValueChangedEvent cb);
660 
661 #undef THIS_TYPE
662 #endif
663 
664 #endif // LE_CIRCULARGAUGE_WIDGET_ENABLED
665 #endif /* LEGATO_WIDGET_CIRCULAR_GAUGE_H */
_leWidget_SetAlphaAmount
leResult _leWidget_SetAlphaAmount(leWidget *_this, uint32_t alpha)
Set alpha amount.
Definition: legato_widget.c:570
getStartAngle
virtual int32_t getStartAngle(const leArcWidget *_this)
Get start angle of the arc.
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
_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
leArray_RemoveAt
leResult leArray_RemoveAt(leArray *arr, uint32_t idx)
Remove value at index.
Definition: legato_array.c:197
_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
getCenterAngle
virtual int32_t getCenterAngle(const leArcWidget *_this)
Get thickness of an arc.
_leWidget_SetX
leResult _leWidget_SetX(leWidget *_this, int32_t x)
Set widget x position.
Definition: legato_widget.c:190
_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
setCenterAngle
virtual leResult setCenterAngle(THIS_TYPE *_this, int32_t angle)
Set center angle of an arc.
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
legato_widget_circle.h
Circle widget functions and definitions.
_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.
legato_array.h
An array implementation for storing pointers.
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
_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
getRadius
virtual uint32_t getRadius(const leArcWidget *_this)
Get radius of an arc.
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
_leWidget_GetChildAtIndex
leWidget * _leWidget_GetChildAtIndex(const leWidget *_this, uint32_t idx)
Get child at index.
Definition: legato_widget.c:888
setStartAngle
virtual leResult setStartAngle(leArcWidget *_this, int32_t angle)
Set start angle of an arc.
_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
legato_widget_circular_gauge.h
Circular guage widget functions and definitions.
_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
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_scheme.h
Schemes support various properties that make it possible to customize the color of widgets.
legato_dynamicstring.h
Dynamic string functions and definitions.
legato.h
The header file joins all header files used in the graphics object library.
_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
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
setRadius
virtual leResult setRadius(leArcWidget *_this, uint32_t rad)
Set radius of an arc.
_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
_leWidget_RemoveChild
leResult _leWidget_RemoveChild(leWidget *_this, leWidget *child)
Remove child from widget.
Definition: legato_widget.c:785
_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
_leWidget_GetY
int32_t _leWidget_GetY(const leWidget *_this)
Get widget y position.
Definition: legato_widget.c:215