1 /** 2 * @file lv_gpu_stm32_dma2d.h 3 * 4 */ 5 6 #ifndef LV_GPU_STM32_DMA2D_H 7 #define LV_GPU_STM32_DMA2D_H 8 9 #ifdef __cplusplus 10 extern "C" { 11 #endif 12 13 /********************* 14 * INCLUDES 15 *********************/ 16 #include "../../misc/lv_color.h" 17 #include "../../hal/lv_hal_disp.h" 18 #include "../sw/lv_draw_sw.h" 19 20 #if LV_USE_GPU_STM32_DMA2D 21 22 /********************* 23 * DEFINES 24 *********************/ 25 26 #define LV_DMA2D_ARGB8888 0 27 #define LV_DMA2D_RGB888 1 28 #define LV_DMA2D_RGB565 2 29 #define LV_DMA2D_ARGB1555 3 30 #define LV_DMA2D_ARGB4444 4 31 32 /********************** 33 * TYPEDEFS 34 **********************/ 35 typedef lv_draw_sw_ctx_t lv_draw_stm32_dma2d_ctx_t; 36 37 struct _lv_disp_drv_t; 38 39 /********************** 40 * GLOBAL PROTOTYPES 41 **********************/ 42 43 /** 44 * Turn on the peripheral and set output color mode, this only needs to be done once 45 */ 46 void lv_draw_stm32_dma2d_init(void); 47 48 void lv_draw_stm32_dma2d_ctx_init(struct _lv_disp_drv_t * drv, lv_draw_ctx_t * draw_ctx); 49 50 void lv_draw_stm32_dma2d_ctx_deinit(struct _lv_disp_drv_t * drv, lv_draw_ctx_t * draw_ctx); 51 52 void lv_draw_stm32_dma2d_blend(lv_draw_ctx_t * draw_ctx, const lv_draw_sw_blend_dsc_t * dsc); 53 54 void lv_gpu_stm32_dma2d_wait_cb(lv_draw_ctx_t * draw_ctx); 55 56 /********************** 57 * MACROS 58 **********************/ 59 60 #endif /*LV_USE_GPU_STM32_DMA2D*/ 61 62 #ifdef __cplusplus 63 } /*extern "C"*/ 64 #endif 65 66 #endif /*LV_GPU_STM32_DMA2D_H*/ 67