From 4f102d7b6b2e9f9fa68ab7b976d93762107549a4 Mon Sep 17 00:00:00 2001 From: Gabor Kiss-Vamosi Date: Tue, 1 Aug 2023 09:50:41 +0200 Subject: [PATCH] fix: use const lv_img_dsc_t * dsc function parameter in lv_img_buf.h/ fixes #4421 --- src/draw/lv_img_buf.c | 81 +++---------------------------------------- src/draw/lv_img_buf.h | 10 +++--- 2 files changed, 10 insertions(+), 81 deletions(-) diff --git a/src/draw/lv_img_buf.c b/src/draw/lv_img_buf.c index 4c939dd83..5ac1eadf5 100644 --- a/src/draw/lv_img_buf.c +++ b/src/draw/lv_img_buf.c @@ -38,17 +38,7 @@ * GLOBAL FUNCTIONS **********************/ -/** - * Get the color of an image's pixel - * @param dsc an image descriptor - * @param x x coordinate of the point to get - * @param y x coordinate of the point to get - * @param color the color of the image. In case of `LV_IMG_CF_ALPHA_1/2/4/8` this color is used. - * Not used in other cases. - * @param safe true: check out of bounds - * @return color of the point - */ -lv_color_t lv_img_buf_get_px_color(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_color_t color) +lv_color_t lv_img_buf_get_px_color(const lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_color_t color) { lv_color_t p_color = lv_color_black(); uint8_t * buf_u8 = (uint8_t *)dsc->data; @@ -107,15 +97,7 @@ lv_color_t lv_img_buf_get_px_color(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t return p_color; } -/** - * Get the alpha value of an image's pixel - * @param dsc pointer to an image descriptor - * @param x x coordinate of the point to set - * @param y x coordinate of the point to set - * @param safe true: check out of bounds - * @return alpha value of the point - */ -lv_opa_t lv_img_buf_get_px_alpha(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y) +lv_opa_t lv_img_buf_get_px_alpha(const lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y) { uint8_t * buf_u8 = (uint8_t *)dsc->data; @@ -170,15 +152,7 @@ lv_opa_t lv_img_buf_get_px_alpha(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y) return LV_OPA_COVER; } -/** - * Set the alpha value of a pixel of an image. The color won't be affected - * @param dsc pointer to an image descriptor - * @param x x coordinate of the point to set - * @param y x coordinate of the point to set - * @param opa the desired opacity - * @param safe true: check out of bounds - */ -void lv_img_buf_set_px_alpha(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_opa_t opa) +void lv_img_buf_set_px_alpha(const lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_opa_t opa) { uint8_t * buf_u8 = (uint8_t *)dsc->data; @@ -229,15 +203,7 @@ void lv_img_buf_set_px_alpha(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_ } } -/** - * Set the color of a pixel of an image. The alpha channel won't be affected. - * @param dsc pointer to an image descriptor - * @param x x coordinate of the point to set - * @param y x coordinate of the point to set - * @param c color of the point - * @param safe true: check out of bounds - */ -void lv_img_buf_set_px_color(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_color_t c) +void lv_img_buf_set_px_color(const lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_color_t c) { uint8_t * buf_u8 = (uint8_t *)dsc->data; @@ -296,17 +262,7 @@ void lv_img_buf_set_px_color(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_ } } -/** - * Set the palette color of an indexed image. Valid only for `LV_IMG_CF_INDEXED1/2/4/8` - * @param dsc pointer to an image descriptor - * @param id the palette color to set: - * - for `LV_IMG_CF_INDEXED1`: 0..1 - * - for `LV_IMG_CF_INDEXED2`: 0..3 - * - for `LV_IMG_CF_INDEXED4`: 0..15 - * - for `LV_IMG_CF_INDEXED8`: 0..255 - * @param c the color to set - */ -void lv_img_buf_set_palette(lv_img_dsc_t * dsc, uint8_t id, lv_color_t c) +void lv_img_buf_set_palette(const lv_img_dsc_t * dsc, uint8_t id, lv_color_t c) { if((dsc->header.cf == LV_IMG_CF_ALPHA_1BIT && id > 1) || (dsc->header.cf == LV_IMG_CF_ALPHA_2BIT && id > 3) || (dsc->header.cf == LV_IMG_CF_ALPHA_4BIT && id > 15) || (dsc->header.cf == LV_IMG_CF_ALPHA_8BIT)) { @@ -320,13 +276,6 @@ void lv_img_buf_set_palette(lv_img_dsc_t * dsc, uint8_t id, lv_color_t c) lv_memcpy_small(&buf[id * sizeof(c32)], &c32, sizeof(c32)); } -/** - * Allocate an image buffer in RAM - * @param w width of image - * @param h height of image - * @param cf a color format (`LV_IMG_CF_...`) - * @return an allocated image, or NULL on failure - */ lv_img_dsc_t * lv_img_buf_alloc(lv_coord_t w, lv_coord_t h, lv_img_cf_t cf) { /*Allocate image descriptor*/ @@ -359,10 +308,6 @@ lv_img_dsc_t * lv_img_buf_alloc(lv_coord_t w, lv_coord_t h, lv_img_cf_t cf) return dsc; } -/** - * Free an allocated image buffer - * @param dsc image buffer to free - */ void lv_img_buf_free(lv_img_dsc_t * dsc) { if(dsc != NULL) { @@ -373,13 +318,6 @@ void lv_img_buf_free(lv_img_dsc_t * dsc) } } -/** - * Get the memory consumption of a raw bitmap, given color format and dimensions. - * @param w width - * @param h height - * @param cf color format - * @return size in bytes - */ uint32_t lv_img_buf_get_img_size(lv_coord_t w, lv_coord_t h, lv_img_cf_t cf) { switch(cf) { @@ -411,15 +349,6 @@ uint32_t lv_img_buf_get_img_size(lv_coord_t w, lv_coord_t h, lv_img_cf_t cf) } } -/** - * Get the area of a rectangle if its rotated and scaled - * @param res store the coordinates here - * @param w width of the rectangle to transform - * @param h height of the rectangle to transform - * @param angle angle of rotation - * @param zoom zoom, (256 no zoom) - * @param pivot x,y pivot coordinates of rotation - */ void _lv_img_buf_get_transformed_area(lv_area_t * res, lv_coord_t w, lv_coord_t h, int16_t angle, uint16_t zoom, const lv_point_t * pivot) { diff --git a/src/draw/lv_img_buf.h b/src/draw/lv_img_buf.h index 1be7bb652..71c3bd0b2 100644 --- a/src/draw/lv_img_buf.h +++ b/src/draw/lv_img_buf.h @@ -167,7 +167,7 @@ lv_img_dsc_t * lv_img_buf_alloc(lv_coord_t w, lv_coord_t h, lv_img_cf_t cf); * @param safe true: check out of bounds * @return color of the point */ -lv_color_t lv_img_buf_get_px_color(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_color_t color); +lv_color_t lv_img_buf_get_px_color(const lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_color_t color); /** * Get the alpha value of an image's pixel @@ -177,7 +177,7 @@ lv_color_t lv_img_buf_get_px_color(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t * @param safe true: check out of bounds * @return alpha value of the point */ -lv_opa_t lv_img_buf_get_px_alpha(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y); +lv_opa_t lv_img_buf_get_px_alpha(const lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y); /** * Set the color of a pixel of an image. The alpha channel won't be affected. @@ -187,7 +187,7 @@ lv_opa_t lv_img_buf_get_px_alpha(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y) * @param c color of the point * @param safe true: check out of bounds */ -void lv_img_buf_set_px_color(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_color_t c); +void lv_img_buf_set_px_color(const lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_color_t c); /** * Set the alpha value of a pixel of an image. The color won't be affected @@ -197,7 +197,7 @@ void lv_img_buf_set_px_color(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_ * @param opa the desired opacity * @param safe true: check out of bounds */ -void lv_img_buf_set_px_alpha(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_opa_t opa); +void lv_img_buf_set_px_alpha(const lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_opa_t opa); /** * Set the palette color of an indexed image. Valid only for `LV_IMG_CF_INDEXED1/2/4/8` @@ -209,7 +209,7 @@ void lv_img_buf_set_px_alpha(lv_img_dsc_t * dsc, lv_coord_t x, lv_coord_t y, lv_ * - for `LV_IMG_CF_INDEXED8`: 0..255 * @param c the color to set */ -void lv_img_buf_set_palette(lv_img_dsc_t * dsc, uint8_t id, lv_color_t c); +void lv_img_buf_set_palette(const lv_img_dsc_t * dsc, uint8_t id, lv_color_t c); /** * Free an allocated image buffer