MPLABĀ® Harmony Graphics Suite
legato_widget_line_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_line_graph.h
32 
33  Summary:
34 
35 
36  Description:
37  This module implements line graph drawing widget functions.
38 *******************************************************************************/
45 #ifndef LEGATO_WIDGET_LINE_GRAPH_H
46 #define LEGATO_WIDGET_LINE_GRAPH_H
47 
49 
50 #if LE_LINEGRAPH_WIDGET_ENABLED == 1
51 
54 
55 // *****************************************************************************
56 // *****************************************************************************
57 // Section: Data Types and Constants
58 // *****************************************************************************
59 // *****************************************************************************
60 
61 // *****************************************************************************
62 /* Enumeration:
63  leLineGraphValueAxis
64 
65  Summary:
66  The value axis index value
67 */
68 typedef enum leLineGraphValueAxis
69 {
70  LINE_GRAPH_AXIS_0 = 0,
71 // LINE_GRAPH_AXIS_1, //unsupported
72 } leLineGraphValueAxis;
73 
74 // *****************************************************************************
75 /* Enumeration:
76  leLineGraphTickPosition
77 
78  Summary:
79  The tick position relative to axis
80 */
81 typedef enum leLineGraphTickPosition
82 {
83  LINE_GRAPH_TICK_IN,
84  LINE_GRAPH_TICK_OUT,
85  LINE_GRAPH_TICK_CENTER,
86 } leLineGraphTickPosition;
87 
88 // *****************************************************************************
89 /* Enumeration:
90  leLineGraphDataPointType
91 
92  Summary:
93  The graph data point type
94 */
95 typedef enum leLineGraphDataPointType
96 {
97  LINE_GRAPH_DATA_POINT_NONE,
98  LINE_GRAPH_DATA_POINT_CIRCLE,
99  LINE_GRAPH_DATA_POINT_SQUARE,
100 } leLineGraphDataPointType;
101 
102 // *****************************************************************************
103 /* Structure:
104  leLineGraphDataSeries
105 
106  Summary:
107  The data series object that contains the series properties and data
108 
109  Description:
110 
111 
112  Remarks:
113  None.
114 */
115 typedef struct leLineGraphDataSeries
116 {
117  const leScheme* scheme;
118  leArray data;
119  leLineGraphValueAxis axis;
120  leLineGraphDataPointType pointType;
121  uint32_t pointSize;
122  leBool fillPoints;
123  leBool drawLines;
124 } leLineGraphDataSeries;
125 
126 // *****************************************************************************
127 /* Structure:
128  leLineGraphCategory
129 
130  Summary:
131  Contains the Category properties
132 
133  Description:
134 
135 
136  Remarks:
137  None.
138 */
139 typedef struct leLineGraphCategory
140 {
141  const leString* text;
142  int32_t stackValue;
143  int32_t drawX;
144 } leLineGraphCategory;
145 
146 /* internal use only */
151 typedef struct leLineGraphWidget leLineGraphWidget;
152 
153 #define LE_LINEGRAPHWIDGET_VTABLE(THIS_TYPE) \
154  LE_WIDGET_VTABLE(THIS_TYPE) \
155  \
156  uint32_t (*getTickLength)(const THIS_TYPE* _this); \
157  leResult (*setTickLength)(THIS_TYPE* _this, uint32_t len); \
158  leBool (*getStacked)(const THIS_TYPE* _this); \
159  leResult (*setStacked)(THIS_TYPE* _this, leBool stk); \
160  int32_t (*getMaxValue)(const THIS_TYPE* _this, leLineGraphValueAxis axis); \
161  leResult (*setMaxValue)(THIS_TYPE* _this, leLineGraphValueAxis axis, int32_t val); \
162  int32_t (*getMinValue)(const THIS_TYPE* _this, leLineGraphValueAxis axis); \
163  leResult (*setMinValue)(THIS_TYPE* _this, leLineGraphValueAxis axis, int32_t val); \
164  leBool (*getValueAxisLabelsVisible)(const THIS_TYPE* _this, leLineGraphValueAxis axis); \
165  leResult (*setValueAxisLabelsVisible)(THIS_TYPE* _this, leLineGraphValueAxis axis, leBool vis); \
166  leBool (*getFillGraphArea)(const THIS_TYPE* _this); \
167  leResult (*setFillGraphArea)(THIS_TYPE* _this, leBool fill); \
168  leBool (*getFillSeriesArea)(const THIS_TYPE* _this); \
169  leResult (*setFillSeriesArea)(THIS_TYPE* _this, leBool fill); \
170  leBool (*getGridLinesVisible)(const THIS_TYPE* _this, leLineGraphValueAxis axis); \
171  leResult (*setGridLinesVisible)(THIS_TYPE* _this, leLineGraphValueAxis axis, leBool visible); \
172  leBool (*getValueAxisTicksVisible)(const THIS_TYPE* _this, leLineGraphValueAxis axis); \
173  leResult (*setValueAxisTicksVisible)(THIS_TYPE* _this, leLineGraphValueAxis axis, leBool vis); \
174  uint32_t (*getValueAxisTickInterval)(const THIS_TYPE* _this, leLineGraphValueAxis axis); \
175  leResult (*setValueAxisTickInterval)(THIS_TYPE* _this, leLineGraphValueAxis axis, uint32_t inv); \
176  uint32_t (*getValueAxisSubtickInterval)(const THIS_TYPE* _this, leLineGraphValueAxis axis); \
177  leResult (*setValueAxisSubtickInterval)(THIS_TYPE* _this, leLineGraphValueAxis axis, uint32_t inv); \
178  leBool (*getValueAxisSubticksVisible)(const THIS_TYPE* _this, leLineGraphValueAxis axis); \
179  leResult (*setValueAxisSubticksVisible)(THIS_TYPE* _this, leLineGraphValueAxis axis, leBool vis); \
180  leBool (*getCategoryAxisTicksVisible)(const THIS_TYPE* _this); \
181  leResult (*setCategoryAxisTicksVisible)(THIS_TYPE* _this, leBool vis); \
182  int32_t (*addCategory)(THIS_TYPE* _this); \
183  leString* (*getCategoryString)(const THIS_TYPE* _this, int32_t categoryID); \
184  leResult (*setCategoryString)(THIS_TYPE* _this, int32_t categoryID, const leString* str); \
185  int32_t (*addSeries)(THIS_TYPE* _this); \
186  int32_t (*addDataToSeries)(THIS_TYPE* _this, int32_t seriesID, int32_t val); \
187  leResult (*setDataInSeries)(THIS_TYPE* _this, int32_t seriesID, int32_t idx, int32_t val); \
188  leScheme* (*getSeriesScheme)(const THIS_TYPE* _this, int32_t seriesID); \
189  leResult (*setSeriesScheme)(THIS_TYPE* _this, int32_t seriesID, const leScheme* schm); \
190  leBool (*getSeriesFillPoints)(const THIS_TYPE* _this, int32_t seriesID); \
191  leResult (*setSeriesFillPoints)(THIS_TYPE* _this, int32_t seriesID, leBool fill); \
192  leBool (*getSeriesLinesVisible)(const THIS_TYPE* _this, int32_t seriesID); \
193  leResult (*setSeriesLinesVisible)(THIS_TYPE* _this, int32_t seriesID, leBool vis); \
194  leLineGraphDataPointType (*getSeriesPointType)(const THIS_TYPE* _this, int32_t seriesID); \
195  leResult (*setSeriesPointType)(THIS_TYPE* _this, int32_t seriesID, leLineGraphDataPointType type); \
196  uint32_t (*getSeriesPointSize)(const THIS_TYPE* _this, int32_t seriesID); \
197  leResult (*setSeriesPointSize)(THIS_TYPE* _this, int32_t seriesID, uint32_t size); \
198  leResult (*clear)(THIS_TYPE* _this); \
199  leResult (*setTicksLabelFont)(THIS_TYPE* _this, const leFont* font); \
200  leBool (*getCategoryAxisLabelsVisible)(const THIS_TYPE* _this); \
201  leResult (*setCategoryAxisLabelsVisible)(THIS_TYPE* _this, leBool vis); \
202  leLineGraphTickPosition (*getValueAxisTicksPosition)(const THIS_TYPE* _this, leLineGraphValueAxis axis); \
203  leResult (*setValueAxisTicksPosition)(THIS_TYPE* _this, leLineGraphValueAxis axis, leLineGraphTickPosition position); \
204  leLineGraphTickPosition (*getValueAxisSubticksPosition)(const THIS_TYPE* _this, leLineGraphValueAxis axis); \
205  leResult (*setValueAxisSubticksPosition)(THIS_TYPE* _this, leLineGraphValueAxis axis, leLineGraphTickPosition position); \
206  leLineGraphTickPosition (*getCategoryAxisTicksPosition)(const THIS_TYPE* _this); \
207  leResult (*setCategoryAxisTicksPosition)(THIS_TYPE* _this, leLineGraphTickPosition position); \
208 
209 typedef struct leLineGraphWidgetVTable
210 {
211  LE_LINEGRAPHWIDGET_VTABLE(leLineGraphWidget)
212 } leLineGraphWidgetVTable;
213 
219 // *****************************************************************************
226 typedef struct leLineGraphWidget
227 {
228  leWidget widget; // base widget header
229 
230  const leLineGraphWidgetVTable* fn;
231 
232  uint32_t tickLength;
233  leBool fillGraphArea;
234  leBool fillValueArea;
235 
236  //Value axis properties
237  int32_t maxValue;
238  int32_t minValue;
239  uint32_t tickInterval;
240  uint32_t subtickInterval;
241  leBool valueAxisLabelsVisible;
242  leBool valueAxisTicksVisible;
243  leBool valueAxisSubticksVisible;
244  leBool valueGridLinesVisible;
245  leBool stacked;
246  leArray dataSeries;
247  const leFont* ticksLabelFont; // ticks label font
248  leLineGraphTickPosition valueAxisTicksPosition;
249  leLineGraphTickPosition valueAxisSubticksPosition;
250 
251  //Category axis properties
252  leBool categAxisLabelsVisible;
253  leBool categAxisTicksVisible;
254  leLineGraphTickPosition categAxisTicksPosition;
255  leArray categories;
256 } leLineGraphWidget;
257 
258 // *****************************************************************************
259 // *****************************************************************************
260 // Section: Routines
261 // *****************************************************************************
262 // *****************************************************************************
263 
275 LIB_EXPORT leLineGraphWidget* leLineGraphWidget_New();
276 
287 LIB_EXPORT void leLineGraphWidget_Constructor(leLineGraphWidget* wgt);
288 
289 // *****************************************************************************
290 /* Virtual Member Function:
291  uint32_t getTickLength(const leLineGraphWidget* _this)
292 
293  Summary:
294  Gets the tick length
295 
296  Description:
297  Gets the tick length
298 
299  Parameters:
300  const leLineGraphWidget* _this - The line graph widget to operate on
301 
302  Remarks:
303  Usage - _this->fn->getTickLength(_this);
304 
305  Returns:
306  uint32_t - the length value
307 */
308 
309 // *****************************************************************************
310 /* Virtual Member Function:
311  leResult setTickLength(leLineGraphWidget* _this,
312  uint32_t len)
313 
314  Summary:
315  Sets the tick length
316 
317  Description:
318  Sets the tick length
319 
320  Parameters:
321  leLineGraphWidget* _this - The line graph widget to operate on
322  uint32_t len - the length value
323 
324  Remarks:
325  Usage - _this->fn->setTickLength(_this, len);
326 
327  Returns:
328  leResult - the result of the operation
329 */
330 
331 // *****************************************************************************
332 /* Virtual Member Function:
333  leBool getStacked(const leLineGraphWidget* _this)
334 
335  Summary:
336  Gets the stacked setting
337 
338  Description:
339  Gets the stacked setting
340 
341  Parameters:
342  const leLineGraphWidget* _this - The line graph widget to operate on
343 
344  Remarks:
345  Usage - _this->fn->getStacked(_this);
346 
347  Returns:
348  leBool - the setting value
349 */
350 
351 // *****************************************************************************
352 /* Virtual Member Function:
353  leResult setStacked(leLineGraphWidget* _this,
354  leBool stk)
355 
356  Summary:
357  Sets the stacked setting
358 
359  Description:
360  Sets the stacked setting
361 
362  Parameters:
363  leLineGraphWidget* _this - The line graph widget to operate on
364  leBool stk - the setting value
365 
366  Remarks:
367  Usage - _this->fn->setStacked(_this, stk);
368 
369  Returns:
370  leResult - the result of the operation
371 */
372 
373 // *****************************************************************************
374 /* Virtual Member Function:
375  uint32_t getMinValue(const leLineGraphWidget* _this,
376  leLineGraphValueAxis axis)
377 
378  Summary:
379  Gets the minimum value
380 
381  Description:
382  Gets the minimum value
383 
384  Parameters:
385  const leLineGraphWidget* _this - The line graph widget to operate on
386  lleLineGraphValueAxis axis - the axis to modify
387 
388  Remarks:
389  Usage - _this->fn->getMinValue(_this, axis);
390 
391  Returns:
392  uint32_t - the value
393 */
394 
395 // *****************************************************************************
396 /* Virtual Member Function:
397  leResult setMinValue(leLineGraphWidget* _this,
398  leLineGraphValueAxis axis,
399  int32_t min)
400 
401  Summary:
402  Sets the minimum value
403 
404  Description:
405  Sets the minimum value
406 
407  Parameters:
408  leLineGraphWidget* _this - The line graph widget to operate on
409  lleLineGraphValueAxis axis - the axis to modify
410  int32_t min - the minimum value
411 
412  Remarks:
413  Usage - _this->fn->setMinValue(_this, axis, min);
414 
415  Returns:
416  leResult - the result of the operation
417 */
418 
419 // *****************************************************************************
420 /* Virtual Member Function:
421  uint32_t getMaxValue(const leLineGraphWidget* _this,
422  leLineGraphValueAxis axis)
423 
424  Summary:
425  Gets the maximum value
426 
427  Description:
428  Gets the maximum value
429 
430  Parameters:
431  const leLineGraphWidget* _this - The line graph widget to operate on
432  lleLineGraphValueAxis axis - the axis to modify
433 
434  Remarks:
435  Usage - _this->fn->getMaxValue(_this, axis);
436 
437  Returns:
438  uint32_t - the value
439 */
440 
441 // *****************************************************************************
442 /* Virtual Member Function:
443  leResult setMaxValue(leLineGraphWidget* _this,
444  leLineGraphValueAxis axis,
445  int32_t max)
446 
447  Summary:
448  Sets the maximum value
449 
450  Description:
451  Sets the maximum value
452 
453  Parameters:
454  leLineGraphWidget* _this - The line graph widget to operate on
455  lleLineGraphValueAxis axis - the axis to modify
456  int32_t max - the maximum value
457 
458  Remarks:
459  Usage - _this->fn->setMaxValue(_this, axis, max);
460 
461  Returns:
462  leResult - the result of the operation
463 */
464 
465 // *****************************************************************************
466 /* Virtual Member Function:
467  leBool getValueAxisLabelsVisible(const leLineGraphWidget* _this,
468  leLineGraphValueAxis axis)
469 
470  Summary:
471  Gets the visible value axis label setting
472 
473  Description:
474  Gets the visible value axis label setting
475 
476  Parameters:
477  const leLineGraphWidget* _this - The line graph widget to operate on
478  lleLineGraphValueAxis axis - the axis to modify
479 
480  Remarks:
481  Usage - _this->fn->getValueAxisLabelsVisible(_this, axis);
482 
483  Returns:
484  leBool - the visibility setting
485 */
486 
487 // *****************************************************************************
488 /* Virtual Member Function:
489  leResult setValueAxisLabelsVisible(leLineGraphWidget* _this,
490  leLineGraphValueAxis axis,
491  leBool vis)
492 
493  Summary:
494  Sets the visibility of the value axis labels
495 
496  Description:
497  Sets the visibility of the value axis labels
498 
499  Parameters:
500  leLineGraphWidget* _this - The line graph widget to operate on
501  lleLineGraphValueAxis axis - the axis to modify
502  leBool vis - the visibility setting
503 
504  Remarks:
505  Usage - _this->fn->setValueAxisLabelsVisible(_this, axis, vis);
506 
507  Returns:
508  leResult - the result of the operation
509 */
510 
511 // *****************************************************************************
512 /* Virtual Member Function:
513  leBool getFillGraphArea(const leLineGraphWidget* _this)
514 
515  Summary:
516  Gets the graph fill setting
517 
518  Description:
519  Gets the graph fill setting
520 
521  Parameters:
522  const leLineGraphWidget* _this - The line graph widget to operate on
523 
524  Remarks:
525  Usage - _this->fn->getFillGraphArea(_this);
526 
527  Returns:
528  leBool - the setting value
529 */
530 
531 // *****************************************************************************
532 /* Virtual Member Function:
533  leResult setFillGraphArea(leLineGraphWidget* _this,
534  leBool fill)
535 
536  Summary:
537  Sets the graph fill setting
538 
539  Description:
540  Sets the graph fill setting
541 
542  Parameters:
543  leLineGraphWidget* _this - The line graph widget to operate on
544  leBool fill - the fill setting
545 
546  Remarks:
547  Usage - _this->fn->setFillGraphArea(_this, fill);
548 
549  Returns:
550  leResult - the result of the operation
551 */
552 
553 // *****************************************************************************
554 /* Virtual Member Function:
555  leBool getFillSeriesArea(const leLineGraphWidget* _this)
556 
557  Summary:
558  Gets the fill series area setting
559 
560  Description:
561  Gets the fill series area setting
562 
563  Parameters:
564  const leLineGraphWidget* _this - The line graph widget to operate on
565 
566  Remarks:
567  Usage - _this->fn->getFillSeriesArea(_this);
568 
569  Returns:
570  leBool - the setting value
571 */
572 
573 // *****************************************************************************
574 /* Virtual Member Function:
575  leResult setFillSeriesArea(leLineGraphWidget* _this,
576  leBool fill)
577 
578  Summary:
579  Sets the fill series area setting
580 
581  Description:
582  Sets the fill series area setting
583 
584  Parameters:
585  leLineGraphWidget* _this - The line graph widget to operate on
586  leBool fill - the fill setting
587 
588  Remarks:
589  Usage - _this->fn->setFillSeriesArea(_this, fill);
590 
591  Returns:
592  leResult - the result of the operation
593 */
594 
595 // *****************************************************************************
596 /* Virtual Member Function:
597  leBool getGridLinesVisible(const leLineGraphWidget* _this,
598  leLineGraphValueAxis axis)
599 
600  Summary:
601  Gets the visible grid lines setting
602 
603  Description:
604  Gets the visible grid lines setting
605 
606  Parameters:
607  const leLineGraphWidget* _this - The line graph widget to operate on
608  lleLineGraphValueAxis axis - the axis to modify
609 
610  Remarks:
611  Usage - _this->fn->getGridLinesVisible(_this, axis);
612 
613  Returns:
614  leBool - the visibility setting
615 */
616 
617 // *****************************************************************************
618 /* Virtual Member Function:
619  leResult setGridLinesVisible(leLineGraphWidget* _this,
620  leLineGraphValueAxis axis,
621  leBool vis)
622 
623  Summary:
624  Sets the visibility of the grid lines
625 
626  Description:
627  Sets the visibility of the grid lines
628 
629  Parameters:
630  leLineGraphWidget* _this - The line graph widget to operate on
631  lleLineGraphValueAxis axis - the axis to modify
632  leBool vis - the visibility setting
633 
634  Remarks:
635  Usage - _this->fn->setGridLinesVisible(_this, axis, vis);
636 
637  Returns:
638  leResult - the result of the operation
639 */
640 
641 // *****************************************************************************
642 /* Virtual Member Function:
643  leBool getValueAxisTicksVisible(const leLineGraphWidget* _this,
644  leLineGraphValueAxis axis)
645 
646  Summary:
647  Gets the visible value ticks setting
648 
649  Description:
650  Gets the visible value ticks setting
651 
652  Parameters:
653  const leLineGraphWidget* _this - The line graph widget to operate on
654  lleLineGraphValueAxis axis - the axis to modify
655 
656  Remarks:
657  Usage - _this->fn->getValueAxisTicksVisible(_this, axis);
658 
659  Returns:
660  leBool - the visibility setting
661 */
662 
663 // *****************************************************************************
664 /* Virtual Member Function:
665  leResult setValueAxisTicksVisible(leLineGraphWidget* _this,
666  leLineGraphValueAxis axis,
667  leBool vis)
668 
669  Summary:
670  Sets the visibility of the value axis ticks
671 
672  Description:
673  Sets the visibility of the value axis ticks
674 
675  Parameters:
676  leLineGraphWidget* _this - The line graph widget to operate on
677  lleLineGraphValueAxis axis - the axis to modify
678  leBool vis - the visibility setting
679 
680  Remarks:
681  Usage - _this->fn->setValueAxisTicksVisible(_this, axis, vis);
682 
683  Returns:
684  leResult - the result of the operation
685 */
686 
687 // *****************************************************************************
688 /* Virtual Member Function:
689  uint32_t getValueAxisTicksInterval(const leLineGraphWidget* _this,
690  leLineGraphValueAxis axis)
691 
692  Summary:
693  Gets the value axis ticks interval setting
694 
695  Description:
696  Gets the value axis ticks interval setting
697 
698  Parameters:
699  const leLineGraphWidget* _this - The line graph widget to operate on
700  lleLineGraphValueAxis axis - the axis to modify
701 
702  Remarks:
703  Usage - _this->fn->getValueAxisTicksInterval(_this, axis);
704 
705  Returns:
706  uint32_t - the value
707 */
708 
709 // *****************************************************************************
710 /* Virtual Member Function:
711  leResult setValueAxisTicksInterval(leLineGraphWidget* _this,
712  leLineGraphValueAxis axis,
713  uint32_t itv)
714 
715  Summary:
716  Sets the inverval of the value axis ticks
717 
718  Description:
719  Sets the inverval of the value axis ticks
720 
721  Parameters:
722  leLineGraphWidget* _this - The line graph widget to operate on
723  lleLineGraphValueAxis axis - the axis to modify
724  uint32_t itv -
725 
726  Remarks:
727  Usage - _this->fn->setValueAxisTicksInterval(_this, axis, itv);
728 
729  Returns:
730  leResult - the result of the operation
731 */
732 
733 // *****************************************************************************
734 /* Virtual Member Function:
735  leBool getValueAxisSubticksVisible(const leLineGraphWidget* _this,
736  leLineGraphValueAxis axis)
737 
738  Summary:
739  Gets the value axis subticks position
740 
741  Description:
742  Gets the value axis subticks position
743 
744  Parameters:
745  const leLineGraphWidget* _this - The line graph widget to operate on
746  lleLineGraphValueAxis axis - the axis to modify
747 
748  Remarks:
749  Usage - _this->fn->getValueAxisSubticksVisible(_this, axis);
750 
751  Returns:
752  leBool - the visibility setting
753 */
754 
755 // *****************************************************************************
756 /* Virtual Member Function:
757  leResult setValueAxisSubticksVisible(leLineGraphWidget* _this,
758  leLineGraphValueAxis axis,
759  leBool vis)
760 
761  Summary:
762  Sets the value axis subticks position
763 
764  Description:
765  Sets the value axis subticks position
766 
767  Parameters:
768  leLineGraphWidget* _this - The line graph widget to operate on
769  lleLineGraphValueAxis axis - the axis to modify
770  leBool vis - the visibility setting
771 
772  Remarks:
773  Usage - _this->fn->setValueAxisSubticksVisible(_this, axis, vis);
774 
775  Returns:
776  leResult - the result of the operation
777 */
778 
779 // *****************************************************************************
780 /* Virtual Member Function:
781  uint32_t getValueAxisSubticksInterval(const leLineGraphWidget* _this,
782  leLineGraphValueAxis axis)
783 
784  Summary:
785  Gets the value axis subticks interval
786 
787  Description:
788  Gets the value axis subticks interval
789 
790  Parameters:
791  const leLineGraphWidget* _this - The line graph widget to operate on
792  lleLineGraphValueAxis axis - the axis to modify
793 
794  Remarks:
795  Usage - _this->fn->getValueAxisSubticksInterval(_this, axis);
796 
797  Returns:
798  uint32_t - the value
799 */
800 
801 // *****************************************************************************
802 /* Virtual Member Function:
803  leResult setValueAxisSubticksInterval(leLineGraphWidget* _this,
804  leLineGraphValueAxis axis,
805  uint32_t itv)
806 
807  Summary:
808  Sets the value axis subticks interval
809 
810  Description:
811  Sets the value axis subticks interval
812 
813  Parameters:
814  leLineGraphWidget* _this - The line graph widget to operate on
815  lleLineGraphValueAxis axis - the axis to modify
816  uint32_t itv - the interval value
817 
818  Remarks:
819  Usage - _this->fn->setValueAxisSubticksInterval(_this, axis, itv);
820 
821  Returns:
822  leResult - the result of the operation
823 */
824 
825 // *****************************************************************************
826 /* Virtual Member Function:
827  leBool getCategoryAxisTicksVisible(const leLineGraphWidget* _this)
828 
829  Summary:
830  Gets the category axis ticks visible setting
831 
832  Description:
833  Gets the category axis ticks visible setting
834 
835  Parameters:
836  const leLineGraphWidget* _this - The line graph widget to operate on
837 
838  Remarks:
839  Usage - _this->fn->getCategoryAxisTicksVisible(_this);
840 
841  Returns:
842  leBool - the visibility setting
843 */
844 
845 // *****************************************************************************
846 /* Virtual Member Function:
847  leResult setCategoryAxisTicksVisible(leLineGraphWidget* _this,
848  leBool vis)
849 
850  Summary:
851  Sets the category axis ticks visible setting
852 
853  Description:
854  Sets the category axis ticks visible setting
855 
856  Parameters:
857  leLineGraphWidget* _this - The line graph widget to operate on
858  leBool vis - the visibility setting
859 
860  Remarks:
861  Usage - _this->fn->setCategoryAxisTicksVisible(_this, vis);
862 
863  Returns:
864  leResult - the result of the operation
865 */
866 
867 // *****************************************************************************
868 /* Virtual Member Function:
869  leResult addCategory(leLineGraphWidget* _this,
870  uint32_t* id)
871 
872  Summary:
873  Adds a data category
874 
875  Description:
876  Adds a data category
877 
878  Parameters:
879  leLineGraphWidget* _this - The line graph widget to operate on
880  uint32_t* id - will contain the ID of the new category
881 
882  Remarks:
883  Usage - _this->fn->addCategory(_this, id);
884 
885  Returns:
886  leResult - the result of the operation
887 */
888 
889 // *****************************************************************************
890 /* Virtual Member Function:
891  leString* getCategoryString(const leLineGraphWidget* _this,
892  uint32_t id)
893 
894  Summary:
895  Gets the string currently assigned to a category
896 
897  Description:
898  Gets the string currently assigned to a category
899 
900  Parameters:
901  const leLineGraphWidget* _this - The line graph widget to operate on
902  uint32_t id - the category ID to modify
903 
904  Remarks:
905  Usage - _this->fn->getCategoryString(_this, id);
906 
907  Returns:
908  leString* - the string pointer
909 */
910 
911 // *****************************************************************************
912 /* Virtual Member Function:
913  leResult setCategoryString(leLineGraphWidget* _this,
914  uint32_t id,
915  const leString* str)
916 
917  Summary:
918  Assigns a string to a category
919 
920  Description:
921  Assigns a string to a category
922 
923  Parameters:
924  leLineGraphWidget* _this - The line graph widget to operate on
925  uint32_t id - the ID of the category to modify
926  const leString* str - the string pointer
927 
928  Remarks:
929  Usage - _this->fn->setCategoryString(_this, id, str);
930 
931  Returns:
932  leResult - the result of the operation
933 */
934 
935 // *****************************************************************************
936 /* Virtual Member Function:
937  int32_t addSeries(leLineGraphWidget* _this)
938 
939  Summary:
940  Adds a data series to the graph
941 
942  Description:
943  Adds a data series to the graph
944 
945  Parameters:
946  leLineGraphWidget* _this - The line graph widget to operate on
947 
948  Remarks:
949  Usage - _this->fn->addSeries(_this);
950 
951  Returns:
952  int32_t - the ID of the new series
953 */
954 
955 // *****************************************************************************
956 /* Virtual Member Function:
957  int32_t addDataToSeries(leLineGraphWidget* _this,
958  int32_t seriesID,
959  int32_t val)
960 
961  Summary:
962  Adds data to an existing series
963 
964  Description:
965  Adds data to an existing series
966 
967  Parameters:
968  leLineGraphWidget* _this - The line graph widget to operate on
969  int32_t seriesID - the series ID to modify
970  int32_t val - the value
971 
972  Remarks:
973  Usage - _this->fn->addDataToSeries(_this, seriesID, val);
974 
975  Returns:
976  int32_t - the ID of the new value
977 */
978 
979 // *****************************************************************************
980 /* Virtual Member Function:
981  leResult setDataInSeries(leLineGraphWidget* _this,
982  int32_t seriesID,
983  int32_t idx,
984  int32_t val)
985 
986  Summary:
987  Sets data in an existing series
988 
989  Description:
990  Sets data in an existing series
991 
992  Parameters:
993  leLineGraphWidget* _this - The line graph widget to operate on
994  int32_t seriesID -
995  int32_t idx - the index
996  int32_t val - the value
997 
998  Remarks:
999  Usage - _this->fn->setDataInSeries(_this, seriesID, idx, val);
1000 
1001  Returns:
1002  leResult - the result of the operation
1003 */
1004 
1005 // *****************************************************************************
1006 /* Virtual Member Function:
1007  leScheme* getSeriesScheme(const leLineGraphWidget* _this,
1008  uint32_t seriesID)
1009 
1010  Summary:
1011  Gets the scheme for a data series
1012 
1013  Description:
1014  Gets the scheme for a data series
1015 
1016  Parameters:
1017  const leLineGraphWidget* _this - The line graph widget to operate on
1018  uint32_t seriesID - the ID of the series to modify
1019 
1020  Remarks:
1021  Usage - _this->fn->getSeriesScheme(_this, seriesID);
1022 
1023  Returns:
1024  leScheme* - the scheme pointer
1025 */
1026 
1027 // *****************************************************************************
1028 /* Virtual Member Function:
1029  leResult setSeriesScheme(leLineGraphWidget* _this,
1030  uint32_t seriesID,
1031  const leScheme* schm)
1032 
1033  Summary:
1034  Sets a data series' scheme pointer
1035 
1036  Description:
1037  Sets a data series' scheme pointer
1038 
1039  Parameters:
1040  leLineGraphWidget* _this - The line graph widget to operate on
1041  uint32_t seriesID -
1042  const leScheme* schm - the scheme pointer
1043 
1044  Remarks:
1045  Usage - _this->fn->setSeriesScheme(_this, seriesID, schm);
1046 
1047  Returns:
1048  leResult - the result of the operation
1049 */
1050 
1051 // *****************************************************************************
1052 /* Virtual Member Function:
1053  leBool getSeriesFillPoints(const leLineGraphWidget* _this,
1054  int32_t seriesID)
1055 
1056  Summary:
1057  Gets the series fill point setting
1058 
1059  Description:
1060  Gets the series fill point setting
1061 
1062  Parameters:
1063  const leLineGraphWidget* _this - The line graph widget to operate on
1064  int32_t seriesID -
1065 
1066  Remarks:
1067  Usage - _this->fn->getSeriesFillPoints(_this, seriesID);
1068 
1069  Returns:
1070  leBool - the setting value
1071 */
1072 
1073 // *****************************************************************************
1074 /* Virtual Member Function:
1075  leResult setSeriesFillPoints(leLineGraphWidget* _this,
1076  int32_t seriesID,
1077  leBool fill)
1078 
1079  Summary:
1080  Sets the series fill point setting
1081 
1082  Description:
1083  Sets the series fill point setting
1084 
1085  Parameters:
1086  leLineGraphWidget* _this - The line graph widget to operate on
1087  int32_t seriesID -
1088  leBool fill - the fill setting
1089 
1090  Remarks:
1091  Usage - _this->fn->setSeriesFillPoints(_this, seriesID, fill);
1092 
1093  Returns:
1094  leResult - the result of the operation
1095 */
1096 
1097 // *****************************************************************************
1098 /* Virtual Member Function:
1099  leBool getSeriesLinesVisible(const leLineGraphWidget* _this,
1100  int32_t seriesID)
1101 
1102  Summary:
1103  Gets the series lines visible setting
1104 
1105  Description:
1106  Gets the series lines visible setting
1107 
1108  Parameters:
1109  const leLineGraphWidget* _this - The line graph widget to operate on
1110  int32_t seriesID -
1111 
1112  Remarks:
1113  Usage - _this->fn->getSeriesLinesVisible(_this, seriesID);
1114 
1115  Returns:
1116  leBool - the visibility setting
1117 */
1118 
1119 // *****************************************************************************
1120 /* Virtual Member Function:
1121  leResult setSeriesLinesVisible(leLineGraphWidget* _this,
1122  int32_t seriesID,
1123  leBool vis)
1124 
1125  Summary:
1126  Sets the series lines visible setting
1127 
1128  Description:
1129  Sets the series lines visible setting
1130 
1131  Parameters:
1132  leLineGraphWidget* _this - The line graph widget to operate on
1133  int32_t seriesID -
1134  leBool vis - the visibility setting
1135 
1136  Remarks:
1137  Usage - _this->fn->setSeriesLinesVisible(_this, seriesID, vis);
1138 
1139  Returns:
1140  leResult - the result of the operation
1141 */
1142 
1143 // *****************************************************************************
1144 /* Virtual Member Function:
1145  leLineGraphDataPointType getSeriesPointType(const leLineGraphWidget* _this,
1146  int32_t seriesID)
1147 
1148  Summary:
1149  Ges the series point type setting
1150 
1151  Description:
1152  Ges the series point type setting
1153 
1154  Parameters:
1155  const leLineGraphWidget* _this - The line graph widget to operate on
1156  int32_t seriesID -
1157 
1158  Remarks:
1159  Usage - _this->fn->getSeriesPointType(_this, seriesID);
1160 
1161  Returns:
1162  leLineGraphDataPointType - the type
1163 */
1164 
1165 // *****************************************************************************
1166 /* Virtual Member Function:
1167  leResult setSeriesPointType(leLineGraphWidget* _this,
1168  int32_t seriesID,
1169  leLineGraphDataPointType type)
1170 
1171  Summary:
1172  Sets the series point type setting
1173 
1174  Description:
1175  Sets the series point type setting
1176 
1177  Parameters:
1178  leLineGraphWidget* _this - The line graph widget to operate on
1179  int32_t seriesID -
1180  leLineGraphDataPointType type - the type
1181 
1182  Remarks:
1183  Usage - _this->fn->setSeriesPointType(_this, seriesID, type);
1184 
1185  Returns:
1186  leResult - the result of the operation
1187 */
1188 
1189 // *****************************************************************************
1190 /* Virtual Member Function:
1191  uint32_t getSeriesPointSize(const leLineGraphWidget* _this,
1192  int32_t seriesID)
1193 
1194  Summary:
1195  Gets the series point size seting
1196 
1197  Description:
1198  Gets the series point size seting
1199 
1200  Parameters:
1201  const leLineGraphWidget* _this - The line graph widget to operate on
1202  int32_t seriesID -
1203 
1204  Remarks:
1205  Usage - _this->fn->getSeriesPointSize(_this, seriesID);
1206 
1207  Returns:
1208  uint32_t - the point size value
1209 */
1210 
1211 // *****************************************************************************
1212 /* Virtual Member Function:
1213  leResult setSeriesPointSize(leLineGraphWidget* _this,
1214  int32_t seriesID,
1215  uint32_t size)
1216 
1217  Summary:
1218  Sets the series point size setting
1219 
1220  Description:
1221  Sets the series point size setting
1222 
1223  Parameters:
1224  leLineGraphWidget* _this - The line graph widget to operate on
1225  int32_t seriesID - the series ID to modify
1226  uint32_t size - the size value
1227 
1228  Remarks:
1229  Usage - _this->fn->setSeriesPointSize(_this, seriesID, size);
1230 
1231  Returns:
1232  leResult - the result of the operation
1233 */
1234 
1235 // *****************************************************************************
1236 /* Virtual Member Function:
1237  leResult clear(leLineGraphWidget* _this)
1238 
1239  Summary:
1240  Clears all series data
1241 
1242  Description:
1243  Clears all series data
1244 
1245  Parameters:
1246  leLineGraphWidget* _this - The line graph widget to operate on
1247 
1248  Remarks:
1249  Usage - _this->fn->clear(_this);
1250 
1251  Returns:
1252  leResult - the result of the operation
1253 */
1254 
1255 // *****************************************************************************
1256 /* Virtual Member Function:
1257  leResult setTicksLabelFont(leLineGraphWidget* _this,
1258  const leFont* font)
1259 
1260  Summary:
1261  Sets the font to use for rendering tick labels
1262 
1263  Description:
1264  Sets the font to use for rendering tick labels
1265 
1266  Parameters:
1267  leLineGraphWidget* _this - The line graph widget to operate on
1268  const leFont* font - the font pointer
1269 
1270  Remarks:
1271  Usage - _this->fn->setTicksLabelFont(_this, font);
1272 
1273  Returns:
1274  leResult - the result of the operation
1275 */
1276 
1277 // *****************************************************************************
1278 /* Virtual Member Function:
1279  leBool getCategoryAxisLabelsVisible(const leLineGraphWidget* _this)
1280 
1281  Summary:
1282  Gets the category axis labels visible setting
1283 
1284  Description:
1285  Gets the category axis labels visible setting
1286 
1287  Parameters:
1288  const leLineGraphWidget* _this - The line graph widget to operate on
1289 
1290  Remarks:
1291  Usage - _this->fn->getCategoryAxisLabelsVisible(_this);
1292 
1293  Returns:
1294  leBool - the visibility setting
1295 */
1296 
1297 // *****************************************************************************
1298 /* Virtual Member Function:
1299  leResult setCategoryAxisLabelsVisible(leLineGraphWidget* _this,
1300  leBool vis)
1301 
1302  Summary:
1303  Sets the category axis labels visible setting
1304 
1305  Description:
1306  Sets the category axis labels visible setting
1307 
1308  Parameters:
1309  leLineGraphWidget* _this - The line graph widget to operate on
1310  leBool vis - the visibility setting
1311 
1312  Remarks:
1313  Usage - _this->fn->setCategoryAxisLabelsVisible(_this, vis);
1314 
1315  Returns:
1316  leResult - the result of the operation
1317 */
1318 
1319 // *****************************************************************************
1320 /* Virtual Member Function:
1321  leLineGraphTickPosition getValueAxisTicksPosition(const leLineGraphWidget* _this,
1322  leLineGraphValueAxis axis)
1323 
1324  Summary:
1325  Gets the value axis ticks position
1326 
1327  Description:
1328  Gets the value axis ticks position
1329 
1330  Parameters:
1331  const leLineGraphWidget* _this - The line graph widget to operate on
1332  lleLineGraphValueAxis axis - the axis to modify
1333 
1334  Remarks:
1335  Usage - _this->fn->getValueAxisTicksPosition(_this, axis);
1336 
1337  Returns:
1338  leLineGraphTickPosition - the value
1339 */
1340 
1341 // *****************************************************************************
1342 /* Virtual Member Function:
1343  leResult setValueAxisTicksPosition(leLineGraphWidget* _this,
1344  leLineGraphValueAxis axis,
1345  leLineGraphTickPosition pos)
1346 
1347  Summary:
1348  Sets the value axis ticks position
1349 
1350  Description:
1351  Sets the value axis ticks position
1352 
1353  Parameters:
1354  leLineGraphWidget* _this - The line graph widget to operate on
1355  lleLineGraphValueAxis axis - the axis to modify
1356  leLineGraphTickPosition pos -
1357 
1358  Remarks:
1359  Usage - _this->fn->setValueAxisTicksPosition(_this, axis, pos);
1360 
1361  Returns:
1362  leResult - the result of the operation
1363 */
1364 
1365 // *****************************************************************************
1366 /* Virtual Member Function:
1367  leLineGraphTickPosition getValueAxisSubticksPosition(const leLineGraphWidget* _this,
1368  leLineGraphValueAxis axis)
1369 
1370  Summary:
1371  Gets the value axis subticks position
1372 
1373  Description:
1374  Gets the value axis subticks position
1375 
1376  Parameters:
1377  const leLineGraphWidget* _this - The line graph widget to operate on
1378  lleLineGraphValueAxis axis - the axis to modify
1379 
1380  Remarks:
1381  Usage - _this->fn->getValueAxisSubticksPosition(_this, axis);
1382 
1383  Returns:
1384  leLineGraphTickPosition - the value
1385 */
1386 
1387 // *****************************************************************************
1388 /* Virtual Member Function:
1389  leResult setValueAxisSubticksPosition(leLineGraphWidget* _this,
1390  leLineGraphValueAxis axis,
1391  leLineGraphTickPosition pos)
1392 
1393  Summary:
1394  Sets the value axis subticks position
1395 
1396  Description:
1397  Sets the value axis subticks position
1398 
1399  Parameters:
1400  leLineGraphWidget* _this - The line graph widget to operate on
1401  lleLineGraphValueAxis axis - the axis to modify
1402  leLineGraphTickPosition pos -
1403 
1404  Remarks:
1405  Usage - _this->fn->setValueAxisSubticksPosition(_this, axis, pos);
1406 
1407  Returns:
1408  leResult - the result of the operation
1409 */
1410 
1411 // *****************************************************************************
1412 /* Virtual Member Function:
1413  leLineGraphTickPosition getCategoryAxisTicksPosition(const leLineGraphWidget* _this)
1414 
1415  Summary:
1416  Gets the category axis ticks position
1417 
1418  Description:
1419  Gets the category axis ticks position
1420 
1421  Parameters:
1422  const leLineGraphWidget* _this - The line graph widget to operate on
1423 
1424  Remarks:
1425  Usage - _this->fn->getCategoryAxisTicksPosition(_this);
1426 
1427  Returns:
1428  leLineGraphTickPosition -
1429 */
1430 
1431 // *****************************************************************************
1432 /* Virtual Member Function:
1433  leResult setCategoryAxisTicksPosition(leLineGraphWidget* _this,
1434  leLineGraphTickPosition pos)
1435 
1436  Summary:
1437  Sets the category axis ticks position
1438 
1439  Description:
1440  Sets the category axis ticks position
1441 
1442  Parameters:
1443  leLineGraphWidget* _this - The line graph widget to operate on
1444  leLineGraphTickPosition pos -
1445 
1446  Remarks:
1447  Usage - _this->fn->setCategoryAxisTicksPosition(_this, pos);
1448 
1449  Returns:
1450  leResult - the result of the operation
1451 */
1452 
1453 
1454 
1455 #endif // LE_LINEGRAPH_WIDGET_ENABLED
1456 #endif /* LEGATO_WIDGET_LINE_GRAPH_H */
_leWidget_SetAlphaAmount
leResult _leWidget_SetAlphaAmount(leWidget *_this, uint32_t alpha)
Set alpha amount.
Definition: legato_widget.c:570
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
_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
_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
_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.
leRectCombine
LIB_EXPORT leRect leRectCombine(const leRect *l_rect, const leRect *r_rect)
Combine rectangles.
Definition: legato_rect.c:61
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
_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
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.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
_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
clear
virtual void clear(leString *_this)
Clear string.
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
_leWidget_RemoveChild
leResult _leWidget_RemoveChild(leWidget *_this, leWidget *child)
Remove child from widget.
Definition: legato_widget.c:785
destructor
virtual void destructor(leString *_this)
Destruct string.
legato_widget_line_graph.h
Line draw functions and definitions.
_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