mirror of
https://github.com/lvgl/lvgl.git
synced 2026-06-01 00:51:49 +08:00
fix(vg_lite): add grad image buffer check (#5552)
Signed-off-by: pengyiqiang <pengyiqiang@xiaomi.com> Co-authored-by: pengyiqiang <pengyiqiang@xiaomi.com>
This commit is contained in:
@@ -819,18 +819,27 @@ bool lv_vg_lite_buffer_check(const vg_lite_buffer_t * buffer, bool is_src)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!(buffer->image_mode == VG_LITE_NORMAL_IMAGE_MODE
|
switch(buffer->image_mode) {
|
||||||
|| buffer->image_mode == VG_LITE_NONE_IMAGE_MODE
|
case VG_LITE_ZERO:
|
||||||
|| buffer->image_mode == VG_LITE_MULTIPLY_IMAGE_MODE)) {
|
case VG_LITE_NORMAL_IMAGE_MODE:
|
||||||
LV_LOG_ERROR("buffer image_mode(%d) is invalid", (int)buffer->image_mode);
|
case VG_LITE_MULTIPLY_IMAGE_MODE:
|
||||||
return false;
|
case VG_LITE_STENCIL_MODE:
|
||||||
|
case VG_LITE_NONE_IMAGE_MODE:
|
||||||
|
case VG_LITE_RECOLOR_MODE:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
LV_LOG_ERROR("buffer image_mode(%d) is invalid", (int)buffer->image_mode);
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!(buffer->transparency_mode == VG_LITE_IMAGE_OPAQUE
|
switch(buffer->transparency_mode) {
|
||||||
|| buffer->transparency_mode == VG_LITE_IMAGE_TRANSPARENT)) {
|
case VG_LITE_IMAGE_OPAQUE:
|
||||||
LV_LOG_ERROR("buffer transparency_mode(%d) is invalid",
|
case VG_LITE_IMAGE_TRANSPARENT:
|
||||||
(int)buffer->transparency_mode);
|
break;
|
||||||
return false;
|
default:
|
||||||
|
LV_LOG_ERROR("buffer transparency_mode(%d) is invalid",
|
||||||
|
(int)buffer->transparency_mode);
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@@ -960,6 +969,10 @@ void lv_vg_lite_draw_linear_grad(
|
|||||||
vg_lite_scale(lv_area_get_width(area) / 256.0f, 1, grad_matrix);
|
vg_lite_scale(lv_area_get_width(area) / 256.0f, 1, grad_matrix);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LV_VG_LITE_ASSERT_DEST_BUFFER(buffer);
|
||||||
|
LV_VG_LITE_ASSERT_SRC_BUFFER(&gradient.image);
|
||||||
|
LV_VG_LITE_ASSERT_PATH(path);
|
||||||
|
|
||||||
LV_PROFILER_BEGIN_TAG("vg_lite_draw_grad");
|
LV_PROFILER_BEGIN_TAG("vg_lite_draw_grad");
|
||||||
LV_VG_LITE_CHECK_ERROR(vg_lite_draw_grad(
|
LV_VG_LITE_CHECK_ERROR(vg_lite_draw_grad(
|
||||||
buffer,
|
buffer,
|
||||||
|
|||||||
Reference in New Issue
Block a user