1 #ifndef _LOTTIE_COMMON_H_
2 #define _LOTTIE_COMMON_H_
7 #define LOT_EXPORT __declspec(dllexport)
12 #define LOT_EXPORT __declspec(dllimport)
17 #define LOT_EXPORT __attribute__((visibility("default")))
28 * @defgroup Lottie_Animation Lottie_Animation
30 * Lottie Animation is a modern style vector based animation design. Its animation
31 * resource(within json format) could be generated by Adobe After Effect using
32 * bodymovin plugin. You can find a good examples in Lottie Community which
33 * shares many free resources(see: www.lottiefiles.com).
35 * This Lottie_Animation is a common engine to manipulate, control Lottie
36 * Animation from the Lottie resource - json file. It provides a scene-graph
37 * node tree per frames by user demand as well as rasterized frame images.
42 * @ingroup Lottie_Animation
47 * @brief Enumeration for Lottie Player error code.
51 //TODO: Coding convention??
52 LOT_ANIMATION_ERROR_NONE = 0,
53 LOT_ANIMATION_ERROR_NOT_PERMITTED,
54 LOT_ANIMATION_ERROR_OUT_OF_MEMORY,
55 LOT_ANIMATION_ERROR_INVALID_PARAMETER,
56 LOT_ANIMATION_ERROR_RESULT_OUT_OF_RANGE,
57 LOT_ANIMATION_ERROR_ALREADY_IN_PROGRESS,
58 LOT_ANIMATION_ERROR_UNKNOWN
93 typedef struct LOTGradientStop
96 unsigned char r, g, b, a;
107 typedef struct LOTMask {
126 typedef struct LOTNode {
128 #define ChangeFlagNone 0x0000
129 #define ChangeFlagPath 0x0001
130 #define ChangeFlagPaint 0x0010
131 #define ChangeFlagAll (ChangeFlagPath & ChangeFlagPaint)
141 unsigned char r, g, b, a;
145 unsigned char enable;
155 LOTGradientType type;
156 LOTGradientStop *stopPtr;
157 unsigned int stopCount;
160 } start, end, center, focal;
166 LOTBrushType mBrushType;
167 LOTFillRule mFillRule;
172 typedef struct LOTLayerNode {
180 struct LOTLayerNode **ptr;
198 #endif // _LOTTIE_COMMON_H_