diff --git a/applications/services/gui/canvas.c b/applications/services/gui/canvas.c index de09305aa..b310c9318 100644 --- a/applications/services/gui/canvas.c +++ b/applications/services/gui/canvas.c @@ -517,6 +517,19 @@ void canvas_draw_xbm( canvas_draw_u8g2_bitmap(&canvas->fb, x, y, width, height, bitmap, IconRotation0); } +void canvas_draw_xbm_mirrored( + Canvas* canvas, + int32_t x, + int32_t y, + size_t width, + size_t height, + const uint8_t* bitmap_data) { + furi_check(canvas); + x += canvas->offset_x; + y += canvas->offset_y; + canvas_draw_u8g2_bitmap(&canvas->fb, x, y, width, height, bitmap_data, IconRotation180); +} + void canvas_draw_glyph(Canvas* canvas, int32_t x, int32_t y, uint16_t ch) { furi_check(canvas); x += canvas->offset_x; diff --git a/applications/services/gui/canvas.h b/applications/services/gui/canvas.h index 9554a200e..be8334904 100644 --- a/applications/services/gui/canvas.h +++ b/applications/services/gui/canvas.h @@ -287,6 +287,23 @@ void canvas_draw_xbm( size_t height, const uint8_t* bitmap); +/** Draw mirrored XBM bitmap + * + * @param canvas Canvas instance + * @param x x coordinate + * @param y y coordinate + * @param[in] width bitmap width + * @param[in] height bitmap height + * @param bitmap pointer to XBM bitmap data + */ +void canvas_draw_xbm_mirrored( + Canvas* canvas, + int32_t x, + int32_t y, + size_t width, + size_t height, + const uint8_t* bitmap_data); + /** Draw dot at x,y * * @param canvas Canvas instance diff --git a/targets/f7/api_symbols.csv b/targets/f7/api_symbols.csv index cb3037e48..160c065e9 100644 --- a/targets/f7/api_symbols.csv +++ b/targets/f7/api_symbols.csv @@ -1,5 +1,5 @@ entry,status,name,type,params -Version,+,74.0,, +Version,+,75.0,, Header,+,applications/drivers/subghz/cc1101_ext/cc1101_ext_interconnect.h,, Header,+,applications/services/bt/bt_service/bt.h,, Header,+,applications/services/bt/bt_service/bt_keys_storage.h,, @@ -823,6 +823,7 @@ Function,+,canvas_draw_str,void,"Canvas*, int32_t, int32_t, const char*" Function,+,canvas_draw_str_aligned,void,"Canvas*, int32_t, int32_t, Align, Align, const char*" Function,+,canvas_draw_triangle,void,"Canvas*, int32_t, int32_t, size_t, size_t, CanvasDirection" Function,+,canvas_draw_xbm,void,"Canvas*, int32_t, int32_t, size_t, size_t, const uint8_t*" +Function,+,canvas_draw_xbm_mirrored,void,"Canvas*, int32_t, int32_t, size_t, size_t, const uint8_t*" Function,+,canvas_get_font_params,const CanvasFontParameters*,"const Canvas*, Font" Function,+,canvas_glyph_width,size_t,"Canvas*, uint16_t" Function,+,canvas_height,size_t,const Canvas*