fix(vector): change draw rectangle rx, ry to float type. (#5084)

Signed-off-by: zhangjipeng <zhangjipeng@xiaomi.com>
Co-authored-by: zhangjipeng <zhangjipeng@xiaomi.com>
This commit is contained in:
Zhang Ji Peng
2023-12-23 05:18:23 +08:00
committed by GitHub
parent 6b7b8dbe67
commit 8f58b8ec26
2 changed files with 7 additions and 7 deletions

View File

@@ -295,7 +295,7 @@ void lv_vector_path_close(lv_vector_path_t * path)
LV_ARRAY_APPEND_VALUE(&path->ops, op); LV_ARRAY_APPEND_VALUE(&path->ops, op);
} }
void lv_vector_path_append_rect(lv_vector_path_t * path, const lv_area_t * rect, int32_t rx, int32_t ry) void lv_vector_path_append_rect(lv_vector_path_t * path, const lv_area_t * rect, float rx, float ry)
{ {
float x = rect->x1; float x = rect->x1;
float y = rect->y1; float y = rect->y1;
@@ -305,8 +305,8 @@ void lv_vector_path_append_rect(lv_vector_path_t * path, const lv_area_t * rect,
float hw = w * 0.5f; float hw = w * 0.5f;
float hh = h * 0.5f; float hh = h * 0.5f;
if(rx > hw) rx = (int32_t)hw; if(rx > hw) rx = hw;
if(ry > hh) ry = (int32_t)hh; if(ry > hh) ry = hh;
if(rx == 0 && ry == 0) { if(rx == 0 && ry == 0) {
lv_fpoint_t pt = {x, y}; lv_fpoint_t pt = {x, y};
@@ -319,7 +319,7 @@ void lv_vector_path_append_rect(lv_vector_path_t * path, const lv_area_t * rect,
lv_vector_path_line_to(path, &pt); lv_vector_path_line_to(path, &pt);
lv_vector_path_close(path); lv_vector_path_close(path);
} }
else if(rx == (int32_t)hw && ry == (int32_t)hh) { else if(rx == hw && ry == hh) {
lv_fpoint_t pt = {x + w * 0.5f, y + h * 0.5f}; lv_fpoint_t pt = {x + w * 0.5f, y + h * 0.5f};
lv_vector_path_append_circle(path, &pt, rx, ry); lv_vector_path_append_circle(path, &pt, rx, ry);
} }
@@ -383,7 +383,7 @@ void lv_vector_path_append_rect(lv_vector_path_t * path, const lv_area_t * rect,
} }
} }
void lv_vector_path_append_circle(lv_vector_path_t * path, const lv_fpoint_t * c, int32_t rx, int32_t ry) void lv_vector_path_append_circle(lv_vector_path_t * path, const lv_fpoint_t * c, float rx, float ry)
{ {
float krx = rx * 0.552284f; float krx = rx * 0.552284f;
float kry = ry * 0.552284f; float kry = ry * 0.552284f;

View File

@@ -276,7 +276,7 @@ void lv_vector_path_close(lv_vector_path_t * path);
* @param rx the horizontal radius for rounded rectangle * @param rx the horizontal radius for rounded rectangle
* @param ry the vertical radius for rounded rectangle * @param ry the vertical radius for rounded rectangle
*/ */
void lv_vector_path_append_rect(lv_vector_path_t * path, const lv_area_t * rect, int32_t rx, int32_t ry); void lv_vector_path_append_rect(lv_vector_path_t * path, const lv_area_t * rect, float rx, float ry);
/** /**
* Add a circle to the path * Add a circle to the path
@@ -285,7 +285,7 @@ void lv_vector_path_append_rect(lv_vector_path_t * path, const lv_area_t * rect,
* @param rx the horizontal radius for circle * @param rx the horizontal radius for circle
* @param ry the vertical radius for circle * @param ry the vertical radius for circle
*/ */
void lv_vector_path_append_circle(lv_vector_path_t * path, const lv_fpoint_t * c, int32_t rx, int32_t ry); void lv_vector_path_append_circle(lv_vector_path_t * path, const lv_fpoint_t * c, float rx, float ry);
/** /**
* Add an sub path to the path * Add an sub path to the path