 |
MPLABĀ® Harmony Graphics Suite
|
Go to the documentation of this file.
46 #ifndef LEGATO_IMAGESEQUENCE_H
47 #define LEGATO_IMAGESEQUENCE_H
51 #if LE_IMAGESEQUENCE_WIDGET_ENABLED
62 #define LE_IMAGESEQ_RESTART -1
68 typedef struct leImageSequenceWidget leImageSequenceWidget;
82 typedef void (*leImageSequenceImageChangedEvent_FnPtr)(leImageSequenceWidget*);
107 typedef struct leImageSequenceEntry
115 } leImageSequenceEntry;
122 #define LE_IMAGESEQUENCEWIDGET_VTABLE(THIS_TYPE) \
123 LE_WIDGET_VTABLE(THIS_TYPE) \
125 uint32_t (*getImageCount)(const THIS_TYPE* _this); \
126 leResult (*setImageCount)(THIS_TYPE* _this, uint32_t cnt); \
127 leImage* (*getImage)(const THIS_TYPE* _this, uint32_t idx); \
128 leResult (*setImage)(THIS_TYPE* _this, uint32_t idx, const leImage* img); \
129 uint32_t (*getImageDelay)(const THIS_TYPE* _this, uint32_t idx); \
130 leResult (*setImageDelay)(THIS_TYPE* _this, uint32_t idx, uint32_t dly); \
131 leHAlignment (*getImageHAlignment)(const THIS_TYPE* _this, uint32_t idx); \
132 leResult (*setImageHAlignment)(THIS_TYPE* _this, uint32_t idx, leHAlignment align); \
133 leVAlignment (*getImageVAlignment)(const THIS_TYPE* _this, uint32_t idx); \
134 leResult (*setImageVAlignment)(THIS_TYPE* _this, uint32_t idx, leVAlignment align); \
135 leResult (*stop)(THIS_TYPE* _this); \
136 leResult (*play)(THIS_TYPE* _this); \
137 leResult (*rewind)(THIS_TYPE* _this); \
138 leBool (*isPlaying)(const THIS_TYPE* _this); \
139 leBool (*getRepeat)(const THIS_TYPE* _this); \
140 leResult (*setRepeat)(THIS_TYPE* _this, leBool rpt); \
141 leResult (*showImage)(THIS_TYPE* _this, uint32_t idx); \
142 leResult (*showNextImage)(THIS_TYPE* _this); \
143 leResult (*showPreviousImage)(THIS_TYPE* _this); \
144 leImageSequenceImageChangedEvent_FnPtr (*getImageChangedEventCallback)(const THIS_TYPE* _this); \
145 leResult (*setImageChangedEventCallback)(THIS_TYPE* _this, leImageSequenceImageChangedEvent_FnPtr cb); \
147 typedef struct leImageSequenceWidgetVTable
149 LE_IMAGESEQUENCEWIDGET_VTABLE(leImageSequenceWidget)
150 } leImageSequenceWidgetVTable;
166 typedef struct leImageSequenceWidget
170 const leImageSequenceWidgetVTable* fn;
173 leImageSequenceEntry* images;
183 leImageSequenceImageChangedEvent_FnPtr cb;
184 } leImageSequenceWidget;
203 LIB_EXPORT leImageSequenceWidget* leImageSequenceWidget_New();
215 LIB_EXPORT
void leImageSequenceWidget_Constructor(leImageSequenceWidget* wgt);
218 #define THIS_TYPE struct leWidget
249 virtual uint32_t getImageCount(
const leImageSequenceWidget* _this);
286 virtual leResult setImageCount(leImageSequenceWidget* _this,
320 virtual leImage* getImage(
const leImageSequenceWidget* _this,
361 virtual leResult setImage(leImageSequenceWidget* _this,
397 virtual uint32_t getImageDelay(
const leImageSequenceWidget* _this,
439 virtual leResult setImageDelay(leImageSequenceWidget* _this,
477 virtual leHAlignment getImageHAlignment(
const leImageSequenceWidget* _this,
519 virtual leResult setImageHAlignment(leImageSequenceWidget* _this,
556 virtual leVAlignment getImageVAlignment(
const leImageSequenceWidget* _this,
598 virtual leResult setImageVAlignment(leImageSequenceWidget* _this,
632 virtual leResult stop(leImageSequenceWidget* _this);
664 leResult play(leImageSequenceWidget* _this);
696 leResult play(leImageSequenceWidget* _this);
728 virtual leBool isPlaying(
const leImageSequenceWidget* _this);
759 virtual leBool getRepeat(
const leImageSequenceWidget* _this);
794 virtual leResult setRepeat(leImageSequenceWidget* _this,
830 virtual leResult showImage(leImageSequenceWidget* _this,
863 virtual leResult showNextImage(leImageSequenceWidget* _this);
894 virtual leResult showPreviousImage(leImageSequenceWidget* _this);
906 virtual leImageSequenceImageChangedEvent_FnPtr getImageChangedEventCallback(
const leImageSequenceWidget* _this);
921 virtual leResult setImageChangedEventCallback(leImageSequenceWidget* _this,
922 leImageSequenceImageChangedEvent_FnPtr cb);
927 #endif // LE_IMAGESEQUENCE_WIDGET_ENABLED
Defines common math functions for general use.
Error functions, macros and definitions.
leResult
This enum represents function call results.
Definition: legato_common.h:134
LIB_EXPORT uint32_t lePercentWholeRounded(uint32_t l, uint32_t r)
Calculate percent whole rounded.
Definition: legato_math.c:204
This struct represents a rectangle.
Definition: legato_common.h:405
Image functions and defintions.
Memory functions and definitions.
LIB_EXPORT uint32_t lePercentOf(uint32_t num, uint32_t percent)
Calculate percent of a number.
Definition: legato_math.c:218
leHAlignment
This enum represents the horizontal alignment mode of objects.
Definition: legato_common.h:206
Definition: legato_image.h:180
@ LE_VALIGN_MIDDLE
Definition: legato_common.h:183
@ LE_HALIGN_CENTER
Definition: legato_common.h:208
leBool
This enum represents booleans.
Definition: legato_common.h:157
@ LE_FALSE
Definition: legato_common.h:158
General internal utilities for the library.
Fixed string functions and definitions.
void leUtils_RectToScreenSpace(const leWidget *widget, leRect *rect)
Convert rectangle from widget local space to screen space.
Definition: legato_utils.c:151
LIB_EXPORT void leRectClip(const leRect *l_rect, const leRect *r_rect, leRect *result)
Clips a rectangle to the space of another rectangle.
Definition: legato_rect.c:122
LIB_EXPORT leResult leImage_ResizeDraw(const leImage *src, const leRect *sourceRect, leImageFilterMode mode, uint32_t sizeX, uint32_t sizeY, int32_t x, int32_t y, uint32_t a)
Resize draw image.
Definition: legato_image.c:211
@ LE_TRUE
Definition: legato_common.h:159
Common macros and definitions used by Legato.
virtual void destructor(leString *_this)
Destruct string.
leVAlignment
This enum represents the vertical alignment mode of objects.
Definition: legato_common.h:181