1 /** 2 * @file lv_draw_sdl.h 3 * 4 */ 5 6 #ifndef LV_DRAW_SDL_H 7 #define LV_DRAW_SDL_H 8 9 10 #ifdef __cplusplus 11 extern "C" { 12 #endif 13 14 /********************* 15 * INCLUDES 16 *********************/ 17 #include "../../lv_conf_internal.h" 18 19 #if LV_USE_GPU_SDL 20 21 #include LV_GPU_SDL_INCLUDE_PATH 22 23 #include "../lv_draw.h" 24 #include "../../core/lv_disp.h" 25 26 /********************* 27 * DEFINES 28 *********************/ 29 30 #if SDL_BYTEORDER == SDL_BIG_ENDIAN 31 #define LV_DRAW_SDL_TEXTURE_FORMAT SDL_PIXELFORMAT_ARGB8888 32 #else 33 #define LV_DRAW_SDL_TEXTURE_FORMAT SDL_PIXELFORMAT_RGBA8888 34 #endif 35 36 /********************** 37 * TYPEDEFS 38 **********************/ 39 40 struct lv_draw_sdl_context_internals_t; 41 42 typedef struct { 43 /** 44 * Render for display driver 45 */ 46 SDL_Renderer * renderer; 47 void * user_data; 48 } lv_draw_sdl_drv_param_t; 49 50 typedef struct { 51 lv_draw_ctx_t base_draw; 52 SDL_Renderer * renderer; 53 struct lv_draw_sdl_context_internals_t * internals; 54 } lv_draw_sdl_ctx_t; 55 56 /********************** 57 * GLOBAL PROTOTYPES 58 **********************/ 59 60 void lv_draw_sdl_init_ctx(lv_disp_drv_t * disp_drv, lv_draw_ctx_t * draw_ctx); 61 62 /** 63 * @brief Free caches 64 * 65 */ 66 void lv_draw_sdl_deinit_ctx(lv_disp_drv_t * disp_drv, lv_draw_ctx_t * draw_ctx); 67 68 SDL_Texture * lv_draw_sdl_create_screen_texture(SDL_Renderer * renderer, lv_coord_t hor, lv_coord_t ver); 69 70 /*====================== 71 * Add/remove functions 72 *=====================*/ 73 74 /*===================== 75 * Setter functions 76 *====================*/ 77 78 /*===================== 79 * Getter functions 80 *====================*/ 81 82 /*===================== 83 * Other functions 84 *====================*/ 85 86 /********************** 87 * MACROS 88 **********************/ 89 90 #endif /*LV_USE_GPU_SDL*/ 91 92 #ifdef __cplusplus 93 } /*extern "C"*/ 94 #endif 95 96 #endif /*LV_DRAW_SDL_H*/ 97