From eb1de01dd99923a0d85a32b0c178d9b0efbde19b Mon Sep 17 00:00:00 2001 From: Felipe Neves Date: Wed, 10 Sep 2025 17:30:13 -0300 Subject: [PATCH] fix(draw/dave2d): redefine fixed point macros (#8859) --- src/draw/renesas/dave2d/lv_draw_dave2d.h | 29 ++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/draw/renesas/dave2d/lv_draw_dave2d.h b/src/draw/renesas/dave2d/lv_draw_dave2d.h index ebf3dd38d2..53b613d448 100644 --- a/src/draw/renesas/dave2d/lv_draw_dave2d.h +++ b/src/draw/renesas/dave2d/lv_draw_dave2d.h @@ -19,6 +19,35 @@ extern "C" { #include "../../lv_draw_private.h" #include "bsp_api.h" #include "dave_driver.h" + +#if LV_USE_FLOAT + +/* We need to redefine some of D2 fixed point math macros to deal with lv_precise_t being float now */ +#undef D2_FIX4 +#undef D2_INT4 +#undef D2_FLOOR4 +#undef D2_CEIL4 +#undef D2_FRAC4 +#undef D2_FIX16 +#undef D2_INT16 +#undef D2_FLOOR16 +#undef D2_CEIL16 +#undef D2_FRAC16 + +#define D2_FIX4(x) (((int32_t)(x)) << 4) +#define D2_INT4(x) (((int32_t)(x))(x) >> 4) +#define D2_FLOOR4(x) (((int32_t)(x))((d2_u32)(x)) & ~15u) +#define D2_CEIL4(x) ((((d2_u32)(x)) + 15u) & ~15u) +#define D2_FRAC4(x) (((d2_u32)(x)) & 15u) +#define D2_FIX16(x) (((int32_t)(x)) << 16) +#define D2_INT16(x) (((int32_t)(x)) >> 16) +#define D2_FLOOR16(x) (((d2_u32)(x)) & ~65535u) +#define D2_CEIL16(x) ((((d2_u32)(x)) + 65535u) & ~65535u) +#define D2_FRAC16(x) (((d2_u32)(x)) & 65535u) + +/* It also should be included here before the other LVGL Dave2D files */ +#endif + #include "lv_draw_dave2d_utils.h" #include "../../lv_draw_rect.h" #include "../../lv_draw_line.h"