1 /** 2 * @file lv_image_private.h 3 * 4 */ 5 6 #ifndef LV_IMAGE_PRIVATE_H 7 #define LV_IMAGE_PRIVATE_H 8 9 #ifdef __cplusplus 10 extern "C" { 11 #endif 12 13 /********************* 14 * INCLUDES 15 *********************/ 16 17 #include "../../core/lv_obj_private.h" 18 #include "lv_image.h" 19 20 #if LV_USE_IMAGE != 0 21 22 /********************* 23 * DEFINES 24 *********************/ 25 26 /********************** 27 * TYPEDEFS 28 **********************/ 29 30 /** 31 * Data of image 32 */ 33 struct _lv_image_t { 34 lv_obj_t obj; 35 const void * src; /**< Image source: Pointer to an array or a file or a symbol*/ 36 const lv_image_dsc_t * bitmap_mask_src; /**< Pointer to an A8 bitmap mask */ 37 lv_point_t offset; 38 int32_t w; /**< Width of the image (Handled by the library)*/ 39 int32_t h; /**< Height of the image (Handled by the library)*/ 40 uint32_t rotation; /**< Rotation angle of the image*/ 41 uint32_t scale_x; /**< 256 means no zoom, 512 double size, 128 half size*/ 42 uint32_t scale_y; /**< 256 means no zoom, 512 double size, 128 half size*/ 43 lv_point_t pivot; /**< Rotation center of the image*/ 44 uint32_t src_type : 2; /**< See: lv_image_src_t*/ 45 uint32_t cf : 5; /**< Color format from `lv_color_format_t`*/ 46 uint32_t antialias : 1; /**< Apply anti-aliasing in transformations (rotate, zoom)*/ 47 uint32_t align: 4; /**< Image size mode when image size and object size is different. See lv_image_align_t*/ 48 uint32_t blend_mode: 4; /**< Element of `lv_blend_mode_t`*/ 49 }; 50 51 52 /********************** 53 * GLOBAL PROTOTYPES 54 **********************/ 55 56 /********************** 57 * MACROS 58 **********************/ 59 60 #endif /* LV_USE_IMAGE != 0 */ 61 62 #ifdef __cplusplus 63 } /*extern "C"*/ 64 #endif 65 66 #endif /*LV_IMAGE_PRIVATE_H*/ 67