1
0
mirror of https://github.com/lvgl/lvgl.git synced 2025-01-28 07:03:00 +08:00

fix(dave2d): follow lvgl changes (#5334)

This commit is contained in:
Gabor Kiss-Vamosi 2024-01-15 16:54:17 +01:00 committed by GitHub
parent 106519bd2d
commit b086c76152
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 28 additions and 75 deletions

View File

@ -473,7 +473,7 @@ static void execute_drawing(lv_draw_dave2d_unit_t * u)
lv_area_move(&clipped_area, x, y); lv_area_move(&clipped_area, x, y);
/* Invalidate cache */ /* Invalidate cache */
lv_draw_buf_invalidate_cache(layer->buf, layer->buf_stride, layer->color_format, &clipped_area); lv_draw_buf_invalidate_cache(layer->draw_buf->data, layer->draw_buf->header.stride, layer->color_format, &clipped_area);
#endif #endif
#endif #endif

View File

@ -52,12 +52,7 @@ void lv_draw_dave2d_arc(lv_draw_dave2d_unit_t * u, const lv_draw_arc_dsc_t * dsc
// //
// Generate render operations // Generate render operations
// //
d2_framebuffer(u->d2_handle, d2_framebuffer_from_layer(u->d2_handle, u->base_unit.target_layer);
u->base_unit.target_layer->buf,
(d2_s32)u->base_unit.target_layer->buf_stride / lv_color_format_get_size(u->base_unit.target_layer->color_format),
(d2_u32)lv_area_get_width(&buffer_area),
(d2_u32)lv_area_get_height(&buffer_area),
lv_draw_dave2d_lv_colour_fmt_to_d2_fmt(u->base_unit.target_layer->color_format));
d2_setalpha(u->d2_handle, dsc->opa); d2_setalpha(u->d2_handle, dsc->opa);

View File

@ -51,7 +51,6 @@ static void dave2d_draw_border_simple(lv_draw_dave2d_unit_t * u, const lv_area_t
lv_area_t clip_area; lv_area_t clip_area;
lv_area_t local_outer_area; lv_area_t local_outer_area;
lv_area_t local_inner_area; lv_area_t local_inner_area;
lv_area_t buffer_area;
int32_t x; int32_t x;
int32_t y; int32_t y;
bool is_common; bool is_common;
@ -67,7 +66,6 @@ static void dave2d_draw_border_simple(lv_draw_dave2d_unit_t * u, const lv_area_t
} }
#endif #endif
buffer_area = u->base_unit.target_layer->buf_area;
local_outer_area = *outer_area; local_outer_area = *outer_area;
local_inner_area = *inner_area; local_inner_area = *inner_area;
@ -75,7 +73,6 @@ static void dave2d_draw_border_simple(lv_draw_dave2d_unit_t * u, const lv_area_t
y = 0 - u->base_unit.target_layer->buf_area.y1; y = 0 - u->base_unit.target_layer->buf_area.y1;
lv_area_move(&clip_area, x, y); lv_area_move(&clip_area, x, y);
lv_area_move(&buffer_area, x, y);
lv_area_move(&local_outer_area, x, y); lv_area_move(&local_outer_area, x, y);
lv_area_move(&local_inner_area, x, y); lv_area_move(&local_inner_area, x, y);
@ -85,12 +82,8 @@ static void dave2d_draw_border_simple(lv_draw_dave2d_unit_t * u, const lv_area_t
// //
// Generate render operations // Generate render operations
// //
d2_framebuffer(u->d2_handle,
u->base_unit.target_layer->buf, d2_framebuffer_from_layer(u->d2_handle, u->base_unit.target_layer);
(d2_s32)u->base_unit.target_layer->buf_stride / lv_color_format_get_size(u->base_unit.target_layer->color_format),
(d2_u32)lv_area_get_width(&buffer_area),
(d2_u32)lv_area_get_height(&buffer_area),
lv_draw_dave2d_lv_colour_fmt_to_d2_fmt(u->base_unit.target_layer->color_format));
d2_setcolor(u->d2_handle, 0, lv_draw_dave2d_lv_colour_to_d2_colour(color)); d2_setcolor(u->d2_handle, 0, lv_draw_dave2d_lv_colour_to_d2_colour(color));
d2_setalpha(u->d2_handle, opa); d2_setalpha(u->d2_handle, opa);
@ -174,7 +167,6 @@ static void dave2d_draw_border_complex(lv_draw_dave2d_unit_t * u, const lv_area_
lv_area_t draw_area; lv_area_t draw_area;
lv_area_t outer_area; lv_area_t outer_area;
lv_area_t inner_area; lv_area_t inner_area;
lv_area_t buffer_area;
int32_t x; int32_t x;
int32_t y; int32_t y;
d2_s32 result; d2_s32 result;
@ -193,13 +185,10 @@ static void dave2d_draw_border_complex(lv_draw_dave2d_unit_t * u, const lv_area_
} }
#endif #endif
buffer_area = u->base_unit.target_layer->buf_area;
x = 0 - u->base_unit.target_layer->buf_area.x1; x = 0 - u->base_unit.target_layer->buf_area.x1;
y = 0 - u->base_unit.target_layer->buf_area.y1; y = 0 - u->base_unit.target_layer->buf_area.y1;
lv_area_move(&draw_area, x, y); lv_area_move(&draw_area, x, y);
lv_area_move(&buffer_area, x, y);
lv_area_move(&outer_area, x, y); lv_area_move(&outer_area, x, y);
lv_area_move(&inner_area, x, y); lv_area_move(&inner_area, x, y);
@ -209,12 +198,8 @@ static void dave2d_draw_border_complex(lv_draw_dave2d_unit_t * u, const lv_area_
// //
// Generate render operations // Generate render operations
// //
d2_framebuffer(u->d2_handle,
u->base_unit.target_layer->buf, d2_framebuffer_from_layer(u->d2_handle, u->base_unit.target_layer);
(d2_s32)u->base_unit.target_layer->buf_stride / lv_color_format_get_size(u->base_unit.target_layer->color_format),
(d2_u32)lv_area_get_width(&buffer_area),
(d2_u32)lv_area_get_height(&buffer_area),
lv_draw_dave2d_lv_colour_fmt_to_d2_fmt(u->base_unit.target_layer->color_format));
d2_setcolor(u->d2_handle, 0, lv_draw_dave2d_lv_colour_to_d2_colour(color)); d2_setcolor(u->d2_handle, 0, lv_draw_dave2d_lv_colour_to_d2_colour(color));
d2_setalpha(u->d2_handle, opa); d2_setalpha(u->d2_handle, opa);

View File

@ -4,7 +4,6 @@
void lv_draw_dave2d_fill(lv_draw_dave2d_unit_t * u, const lv_draw_fill_dsc_t * dsc, const lv_area_t * coords) void lv_draw_dave2d_fill(lv_draw_dave2d_unit_t * u, const lv_draw_fill_dsc_t * dsc, const lv_area_t * coords)
{ {
lv_area_t draw_area; lv_area_t draw_area;
lv_area_t buffer_area;
lv_area_t coordinates; lv_area_t coordinates;
bool is_common; bool is_common;
int32_t x; int32_t x;
@ -26,14 +25,12 @@ void lv_draw_dave2d_fill(lv_draw_dave2d_unit_t * u, const lv_draw_fill_dsc_t * d
} }
#endif #endif
buffer_area = u->base_unit.target_layer->buf_area;
lv_area_copy(&coordinates, coords); lv_area_copy(&coordinates, coords);
x = 0 - u->base_unit.target_layer->buf_area.x1; x = 0 - u->base_unit.target_layer->buf_area.x1;
y = 0 - u->base_unit.target_layer->buf_area.y1; y = 0 - u->base_unit.target_layer->buf_area.y1;
lv_area_move(&draw_area, x, y); lv_area_move(&draw_area, x, y);
lv_area_move(&buffer_area, x, y);
lv_area_move(&coordinates, x, y); lv_area_move(&coordinates, x, y);
// //
@ -43,12 +40,7 @@ void lv_draw_dave2d_fill(lv_draw_dave2d_unit_t * u, const lv_draw_fill_dsc_t * d
d2_selectrenderbuffer(u->d2_handle, u->renderbuffer); d2_selectrenderbuffer(u->d2_handle, u->renderbuffer);
#endif #endif
d2_framebuffer(u->d2_handle, d2_framebuffer_from_layer(u->d2_handle, u->base_unit.target_layer);
u->base_unit.target_layer->buf,
(d2_s32)u->base_unit.target_layer->buf_stride / lv_color_format_get_size(u->base_unit.target_layer->color_format),
(d2_u32)lv_area_get_width(&buffer_area),
(d2_u32)lv_area_get_height(&buffer_area),
lv_draw_dave2d_lv_colour_fmt_to_d2_fmt(u->base_unit.target_layer->color_format));
if(LV_GRAD_DIR_NONE != dsc->grad.dir) { if(LV_GRAD_DIR_NONE != dsc->grad.dir) {
float a1; float a1;

View File

@ -202,12 +202,7 @@ static void img_draw_core(lv_draw_unit_t * u_base, const lv_draw_image_dsc_t * d
} }
d2_framebuffer(u->d2_handle, d2_framebuffer_from_layer(u->d2_handle, u->base_unit.target_layer);
u->base_unit.target_layer->buf,
(d2_s32)u->base_unit.target_layer->buf_stride / lv_color_format_get_size(u->base_unit.target_layer->color_format),
(d2_u32)lv_area_get_width(&buffer_area),
(d2_u32)lv_area_get_height(&buffer_area),
lv_draw_dave2d_lv_colour_fmt_to_d2_fmt(u->base_unit.target_layer->color_format));
d2_cliprect(u->d2_handle, (d2_border)clipped_area.x1, (d2_border)clipped_area.y1, (d2_border)clipped_area.x2, d2_cliprect(u->d2_handle, (d2_border)clipped_area.x1, (d2_border)clipped_area.y1, (d2_border)clipped_area.x2,
(d2_border)clipped_area.y2); (d2_border)clipped_area.y2);

View File

@ -22,13 +22,11 @@ static void lv_draw_dave2d_draw_letter_cb(lv_draw_unit_t * u, lv_draw_glyph_dsc_
d2_u8 current_fillmode; d2_u8 current_fillmode;
lv_area_t clip_area; lv_area_t clip_area;
lv_area_t buffer_area;
lv_area_t letter_coords; lv_area_t letter_coords;
int32_t x; int32_t x;
int32_t y; int32_t y;
buffer_area = unit->base_unit.target_layer->buf_area;
letter_coords = *glyph_draw_dsc->letter_coords; letter_coords = *glyph_draw_dsc->letter_coords;
bool is_common; bool is_common;
@ -39,7 +37,6 @@ static void lv_draw_dave2d_draw_letter_cb(lv_draw_unit_t * u, lv_draw_glyph_dsc_
y = 0 - unit->base_unit.target_layer->buf_area.y1; y = 0 - unit->base_unit.target_layer->buf_area.y1;
lv_area_move(&clip_area, x, y); lv_area_move(&clip_area, x, y);
lv_area_move(&buffer_area, x, y);
lv_area_move(&letter_coords, x, y); lv_area_move(&letter_coords, x, y);
#if LV_USE_OS #if LV_USE_OS
@ -57,12 +54,8 @@ static void lv_draw_dave2d_draw_letter_cb(lv_draw_unit_t * u, lv_draw_glyph_dsc_
// //
// Generate render operations // Generate render operations
// //
d2_framebuffer(unit->d2_handle,
unit->base_unit.target_layer->buf, d2_framebuffer_from_layer(unit->d2_handle, unit->base_unit.target_layer);
(d2_s32)unit->base_unit.target_layer->buf_stride / lv_color_format_get_size(unit->base_unit.target_layer->color_format),
(d2_u32)lv_area_get_width(&buffer_area),
(d2_u32)lv_area_get_height(&buffer_area),
lv_draw_dave2d_lv_colour_fmt_to_d2_fmt(unit->base_unit.target_layer->color_format));
current_fillmode = d2_getfillmode(unit->d2_handle); current_fillmode = d2_getfillmode(unit->d2_handle);

View File

@ -58,12 +58,7 @@ void lv_draw_dave2d_line(lv_draw_dave2d_unit_t * u, const lv_draw_line_dsc_t * d
// //
// Generate render operations // Generate render operations
// //
d2_framebuffer(u->d2_handle, d2_framebuffer_from_layer(u->d2_handle, u->base_unit.target_layer);
u->base_unit.target_layer->buf,
(d2_s32)u->base_unit.target_layer->buf_stride / lv_color_format_get_size(u->base_unit.target_layer->color_format),
(d2_u32)lv_area_get_width(&buffer_area),
(d2_u32)lv_area_get_height(&buffer_area),
lv_draw_dave2d_lv_colour_fmt_to_d2_fmt(u->base_unit.target_layer->color_format));
d2_setcolor(u->d2_handle, 0, lv_draw_dave2d_lv_colour_to_d2_colour(dsc->color)); d2_setcolor(u->d2_handle, 0, lv_draw_dave2d_lv_colour_to_d2_colour(dsc->color));

View File

@ -4,7 +4,6 @@
void lv_draw_dave2d_mask_rect(lv_draw_dave2d_unit_t * u, const lv_draw_mask_rect_dsc_t * dsc, const lv_area_t * coords) void lv_draw_dave2d_mask_rect(lv_draw_dave2d_unit_t * u, const lv_draw_mask_rect_dsc_t * dsc, const lv_area_t * coords)
{ {
lv_area_t clipped_area; lv_area_t clipped_area;
lv_area_t buffer_area;
lv_area_t coordinates; lv_area_t coordinates;
int32_t x; int32_t x;
int32_t y; int32_t y;
@ -14,11 +13,9 @@ void lv_draw_dave2d_mask_rect(lv_draw_dave2d_unit_t * u, const lv_draw_mask_rect
x = 0 - u->base_unit.target_layer->buf_area.x1; x = 0 - u->base_unit.target_layer->buf_area.x1;
y = 0 - u->base_unit.target_layer->buf_area.y1; y = 0 - u->base_unit.target_layer->buf_area.y1;
buffer_area = u->base_unit.target_layer->buf_area;
coordinates = *coords; coordinates = *coords;
lv_area_move(&clipped_area, x, y); lv_area_move(&clipped_area, x, y);
lv_area_move(&buffer_area, x, y);
lv_area_move(&coordinates, x, y); lv_area_move(&coordinates, x, y);
#if LV_USE_OS #if LV_USE_OS
@ -33,12 +30,7 @@ void lv_draw_dave2d_mask_rect(lv_draw_dave2d_unit_t * u, const lv_draw_mask_rect
d2_selectrenderbuffer(u->d2_handle, u->renderbuffer); d2_selectrenderbuffer(u->d2_handle, u->renderbuffer);
#endif #endif
d2_framebuffer(u->d2_handle, d2_framebuffer_from_layer(u->d2_handle, u->base_unit.target_layer);
u->base_unit.target_layer->buf,
lv_area_get_width(&u->base_unit.target_layer->buf_area),
(d2_u32)lv_area_get_width(&u->base_unit.target_layer->buf_area),
(d2_u32)lv_area_get_height(&u->base_unit.target_layer->buf_area),
lv_draw_dave2d_lv_colour_fmt_to_d2_fmt(u->base_unit.target_layer->color_format));
d2_cliprect(u->d2_handle, (d2_border)clipped_area.x1, (d2_border)clipped_area.y1, (d2_border)clipped_area.x2, d2_cliprect(u->d2_handle, (d2_border)clipped_area.x1, (d2_border)clipped_area.y1, (d2_border)clipped_area.x2,
(d2_border)clipped_area.y2); (d2_border)clipped_area.y2);

View File

@ -6,7 +6,6 @@ void lv_draw_dave2d_triangle(lv_draw_dave2d_unit_t * u, const lv_draw_triangle_d
lv_area_t clipped_area; lv_area_t clipped_area;
d2_u32 flags = 0; d2_u32 flags = 0;
d2_u8 current_alpha_mode = 0; d2_u8 current_alpha_mode = 0;
lv_area_t buffer_area;
int32_t x; int32_t x;
int32_t y; int32_t y;
@ -29,10 +28,7 @@ void lv_draw_dave2d_triangle(lv_draw_dave2d_unit_t * u, const lv_draw_triangle_d
x = 0 - u->base_unit.target_layer->buf_area.x1; x = 0 - u->base_unit.target_layer->buf_area.x1;
y = 0 - u->base_unit.target_layer->buf_area.y1; y = 0 - u->base_unit.target_layer->buf_area.y1;
buffer_area = u->base_unit.target_layer->buf_area;
lv_area_move(&clipped_area, x, y); lv_area_move(&clipped_area, x, y);
lv_area_move(&buffer_area, x, y);
#if D2_RENDER_EACH_OPERATION #if D2_RENDER_EACH_OPERATION
d2_selectrenderbuffer(u->d2_handle, u->renderbuffer); d2_selectrenderbuffer(u->d2_handle, u->renderbuffer);
@ -146,12 +142,7 @@ void lv_draw_dave2d_triangle(lv_draw_dave2d_unit_t * u, const lv_draw_triangle_d
} }
d2_framebuffer(u->d2_handle, d2_framebuffer_from_layer(u->d2_handle, u->base_unit.target_layer);
u->base_unit.target_layer->buf,
(d2_s32)u->base_unit.target_layer->buf_stride / lv_color_format_get_size(u->base_unit.target_layer->color_format),
(d2_u32)lv_area_get_width(&buffer_area),
(d2_u32)lv_area_get_height(&buffer_area),
lv_draw_dave2d_lv_colour_fmt_to_d2_fmt(u->base_unit.target_layer->color_format));
d2_cliprect(u->d2_handle, (d2_border)clipped_area.x1, (d2_border)clipped_area.y1, (d2_border)clipped_area.x2, d2_cliprect(u->d2_handle, (d2_border)clipped_area.x1, (d2_border)clipped_area.y1, (d2_border)clipped_area.x2,
(d2_border)clipped_area.y2); (d2_border)clipped_area.y2);

View File

@ -120,6 +120,19 @@ d2_u32 lv_draw_dave2d_lv_colour_fmt_to_d2_fmt(lv_color_format_t colour_format)
return d2_lvgl_mode; return d2_lvgl_mode;
} }
void d2_framebuffer_from_layer(d2_device * handle, lv_layer_t * layer)
{
lv_draw_buf_t * draw_buf = layer->draw_buf;
lv_area_t buffer_area = layer->buf_area;
lv_area_move(&buffer_area, -layer->buf_area.x1, -layer->buf_area.y1);
d2_framebuffer(handle, draw_buf->data,
(d2_s32) draw_buf->header.stride / lv_color_format_get_size(layer->color_format),
(d2_u32)lv_area_get_width(&buffer_area),
(d2_u32)lv_area_get_height(&buffer_area),
lv_draw_dave2d_lv_colour_fmt_to_d2_fmt(layer->color_format));
}
/********************** /**********************
* STATIC FUNCTIONS * STATIC FUNCTIONS
**********************/ **********************/

View File

@ -32,6 +32,8 @@ d2_s32 lv_draw_dave2d_cf_fb_get(void);
d2_u32 lv_draw_dave2d_lv_colour_fmt_to_d2_fmt(lv_color_format_t colour_format); d2_u32 lv_draw_dave2d_lv_colour_fmt_to_d2_fmt(lv_color_format_t colour_format);
void d2_framebuffer_from_layer(d2_device * handle, lv_layer_t * layer);
/********************** /**********************
* MACROS * MACROS
**********************/ **********************/