From d56ce08782852ff274141f69271464da87de96bc Mon Sep 17 00:00:00 2001 From: patricklaf Date: Sat, 12 Mar 2022 19:28:38 +0100 Subject: [PATCH] feat(dma2d): add lv_draw_stm32_dma2d_buffer_copy function (#3147) * Add lv_draw_stm32_dma2d_buffer_copy function * Code format * More code format --- src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c | 9 +++++++++ src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.h | 4 ++++ 2 files changed, 13 insertions(+) diff --git a/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c b/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c index 20344a567..3398cc8ee 100644 --- a/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c +++ b/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c @@ -103,6 +103,7 @@ void lv_draw_stm32_dma2d_ctx_init(lv_disp_drv_t * drv, lv_draw_ctx_t * draw_ctx) dma2d_draw_ctx->blend = lv_draw_stm32_dma2d_blend; // dma2d_draw_ctx->base_draw.draw_img_decoded = lv_draw_stm32_dma2d_img_decoded; dma2d_draw_ctx->base_draw.wait_for_finish = lv_gpu_stm32_dma2d_wait_cb; + dma2d_draw_ctx->base_draw.buffer_copy = lv_draw_stm32_dma2d_buffer_copy; } @@ -146,6 +147,14 @@ void lv_draw_stm32_dma2d_blend(lv_draw_ctx_t * draw_ctx, const lv_draw_sw_blend_ if(!done) lv_draw_sw_blend_basic(draw_ctx, dsc); } +void lv_draw_stm32_dma2d_buffer_copy(lv_draw_ctx_t * draw_ctx, + void * dest_buf, lv_coord_t dest_stride, const lv_area_t * dest_area, + void * src_buf, lv_coord_t src_stride, const lv_area_t * src_area) +{ + LV_UNUSED(draw_ctx); + lv_draw_stm32_dma2d_blend_map(dest_buf, dest_area, dest_stride, src_buf, src_stride, LV_OPA_MAX); +} + static void lv_draw_stm32_dma2d_img_decoded(lv_draw_ctx_t * draw_ctx, const lv_draw_img_dsc_t * dsc, const lv_area_t * coords, const uint8_t * map_p, lv_img_cf_t color_format) diff --git a/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.h b/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.h index 73054ca2d..fa7070e2a 100644 --- a/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.h +++ b/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.h @@ -51,6 +51,10 @@ void lv_draw_stm32_dma2d_ctx_deinit(struct _lv_disp_drv_t * drv, lv_draw_ctx_t * void lv_draw_stm32_dma2d_blend(lv_draw_ctx_t * draw_ctx, const lv_draw_sw_blend_dsc_t * dsc); +void lv_draw_stm32_dma2d_buffer_copy(lv_draw_ctx_t * draw_ctx, + void * dest_buf, lv_coord_t dest_stride, const lv_area_t * dest_area, + void * src_buf, lv_coord_t src_stride, const lv_area_t * src_area); + void lv_gpu_stm32_dma2d_wait_cb(lv_draw_ctx_t * draw_ctx); /**********************