/** * @file lv_image_private.h * */ #ifndef LV_IMAGE_PRIVATE_H #define LV_IMAGE_PRIVATE_H #ifdef __cplusplus extern "C" { #endif /********************* * INCLUDES *********************/ #include "../../core/lv_obj_private.h" #include "lv_image.h" #if LV_USE_IMAGE != 0 /********************* * DEFINES *********************/ /********************** * TYPEDEFS **********************/ /** * Data of image */ struct _lv_image_t { lv_obj_t obj; const void * src; /**< Image source: Pointer to an array or a file or a symbol*/ const lv_image_dsc_t * bitmap_mask_src; /**< Pointer to an A8 bitmap mask */ lv_point_t offset; int32_t w; /**< Width of the image (Handled by the library)*/ int32_t h; /**< Height of the image (Handled by the library)*/ uint32_t rotation; /**< Rotation angle of the image*/ uint32_t scale_x; /**< 256 means no zoom, 512 double size, 128 half size*/ uint32_t scale_y; /**< 256 means no zoom, 512 double size, 128 half size*/ lv_point_t pivot; /**< Rotation center of the image*/ uint32_t src_type : 2; /**< See: lv_image_src_t*/ uint32_t cf : 5; /**< Color format from `lv_color_format_t`*/ uint32_t antialias : 1; /**< Apply anti-aliasing in transformations (rotate, zoom)*/ uint32_t align: 4; /**< Image size mode when image size and object size is different. See lv_image_align_t*/ uint32_t blend_mode: 4; /**< Element of `lv_blend_mode_t`*/ }; /********************** * GLOBAL PROTOTYPES **********************/ /********************** * MACROS **********************/ #endif /* LV_USE_IMAGE != 0 */ #ifdef __cplusplus } /*extern "C"*/ #endif #endif /*LV_IMAGE_PRIVATE_H*/