97 lines
1.8 KiB
C
97 lines
1.8 KiB
C
|
/**
|
||
|
* @file lv_draw_sdl.h
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
#ifndef LV_DRAW_SDL_H
|
||
|
#define LV_DRAW_SDL_H
|
||
|
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
/*********************
|
||
|
* INCLUDES
|
||
|
*********************/
|
||
|
#include "../../lv_conf_internal.h"
|
||
|
|
||
|
#if LV_USE_GPU_SDL
|
||
|
|
||
|
#include LV_GPU_SDL_INCLUDE_PATH
|
||
|
|
||
|
#include "../lv_draw.h"
|
||
|
#include "../../core/lv_disp.h"
|
||
|
|
||
|
/*********************
|
||
|
* DEFINES
|
||
|
*********************/
|
||
|
|
||
|
#if SDL_BYTEORDER == SDL_BIG_ENDIAN
|
||
|
#define LV_DRAW_SDL_TEXTURE_FORMAT SDL_PIXELFORMAT_ARGB8888
|
||
|
#else
|
||
|
#define LV_DRAW_SDL_TEXTURE_FORMAT SDL_PIXELFORMAT_RGBA8888
|
||
|
#endif
|
||
|
|
||
|
/**********************
|
||
|
* TYPEDEFS
|
||
|
**********************/
|
||
|
|
||
|
struct lv_draw_sdl_context_internals_t;
|
||
|
|
||
|
typedef struct {
|
||
|
/**
|
||
|
* Render for display driver
|
||
|
*/
|
||
|
SDL_Renderer * renderer;
|
||
|
void * user_data;
|
||
|
} lv_draw_sdl_drv_param_t;
|
||
|
|
||
|
typedef struct {
|
||
|
lv_draw_ctx_t base_draw;
|
||
|
SDL_Renderer * renderer;
|
||
|
struct lv_draw_sdl_context_internals_t * internals;
|
||
|
} lv_draw_sdl_ctx_t;
|
||
|
|
||
|
/**********************
|
||
|
* GLOBAL PROTOTYPES
|
||
|
**********************/
|
||
|
|
||
|
void lv_draw_sdl_init_ctx(lv_disp_drv_t * disp_drv, lv_draw_ctx_t * draw_ctx);
|
||
|
|
||
|
/**
|
||
|
* @brief Free caches
|
||
|
*
|
||
|
*/
|
||
|
void lv_draw_sdl_deinit_ctx(lv_disp_drv_t * disp_drv, lv_draw_ctx_t * draw_ctx);
|
||
|
|
||
|
SDL_Texture * lv_draw_sdl_create_screen_texture(SDL_Renderer * renderer, lv_coord_t hor, lv_coord_t ver);
|
||
|
|
||
|
/*======================
|
||
|
* Add/remove functions
|
||
|
*=====================*/
|
||
|
|
||
|
/*=====================
|
||
|
* Setter functions
|
||
|
*====================*/
|
||
|
|
||
|
/*=====================
|
||
|
* Getter functions
|
||
|
*====================*/
|
||
|
|
||
|
/*=====================
|
||
|
* Other functions
|
||
|
*====================*/
|
||
|
|
||
|
/**********************
|
||
|
* MACROS
|
||
|
**********************/
|
||
|
|
||
|
#endif /*LV_USE_GPU_SDL*/
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
} /*extern "C"*/
|
||
|
#endif
|
||
|
|
||
|
#endif /*LV_DRAW_SDL_H*/
|