  | 
  
    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