From 7d84a9ffcd628a392bc27eef8521cc55b29af297 Mon Sep 17 00:00:00 2001 From: Nicolas Roggeman Date: Tue, 30 Jan 2024 16:46:13 +0100 Subject: [PATCH] Add new sizes of buttons, icons and other objects for Europa --- lib_nbgl/glyphs/leftArrow40px.bmp | Bin 0 -> 6454 bytes lib_nbgl/glyphs/left_half_64px_nocomp.bmp | Bin 0 -> 4662 bytes ...er_circle_bottom_left_44px_1bpp_nocomp.bmp | Bin 0 -> 5862 bytes ...arter_circle_top_left_44px_1bpp_nocomp.bmp | Bin 0 -> 5862 bytes ...rter_disc_bottom_left_44px_1bpp_nocomp.bmp | Bin 0 -> 5862 bytes ...quarter_disc_top_left_44px_1bpp_nocomp.bmp | Bin 0 -> 5862 bytes lib_nbgl/glyphs/rightArrow40px.bmp | Bin 0 -> 6454 bytes lib_nbgl/include/nbgl_draw.h | 5 +- lib_nbgl/include/nbgl_obj.h | 36 ++++++++++-- lib_nbgl/include/nbgl_types.h | 7 ++- lib_nbgl/src/nbgl_draw.c | 55 ++++++++++++++---- lib_nbgl/src/nbgl_obj.c | 28 ++++++--- lib_nbgl/src/nbgl_obj_keyboard.c | 20 +++++-- lib_nbgl/src/nbgl_obj_keyboard_nanos.c | 2 +- 14 files changed, 120 insertions(+), 33 deletions(-) create mode 100755 lib_nbgl/glyphs/leftArrow40px.bmp create mode 100755 lib_nbgl/glyphs/left_half_64px_nocomp.bmp create mode 100755 lib_nbgl/glyphs/quarter_circle_bottom_left_44px_1bpp_nocomp.bmp create mode 100755 lib_nbgl/glyphs/quarter_circle_top_left_44px_1bpp_nocomp.bmp create mode 100755 lib_nbgl/glyphs/quarter_disc_bottom_left_44px_1bpp_nocomp.bmp create mode 100755 lib_nbgl/glyphs/quarter_disc_top_left_44px_1bpp_nocomp.bmp create mode 100755 lib_nbgl/glyphs/rightArrow40px.bmp diff --git a/lib_nbgl/glyphs/leftArrow40px.bmp b/lib_nbgl/glyphs/leftArrow40px.bmp new file mode 100755 index 0000000000000000000000000000000000000000..85a0754374cb5ef5d6c021891be6b7b3d6b52833 GIT binary patch literal 6454 zcmeI$ElUJJ9LMo7+iW(YFW@*uymCcE1&hUU!D3JlgT?n?u~-BJu~;ky1(P=MRrvf2 zK5IF@|GOC&hCS>2lwJ7U?93hPhyU)}?oNH8+Ur_dmCybtU9PV+?)bi^yPfucbIo!q zEAU4vz%@K*QRL&Qk#nD#k`Ys#T#%-Z?GGy$ag2~l?+U&z`Wv}@7{XHyF^CWXTQiO`|KPUW#2s_qwKp|WbE|ryB~g&yJb$NYX^3Z`6gSrZQ=M>!rF`3 eEVd3KwN7Lna^@pti|SaxR|);HEi3TfD)0j?f8S^T literal 0 HcmV?d00001 diff --git a/lib_nbgl/glyphs/left_half_64px_nocomp.bmp b/lib_nbgl/glyphs/left_half_64px_nocomp.bmp new file mode 100755 index 0000000000000000000000000000000000000000..96a96dd22e57321ed1cace6d33d2de75324dfc78 GIT binary patch literal 4662 zcmeH{!41MN3`Jo94xAW)33^7{nVP}CN-C>z<8Q}Fq^e4!RF3`q`W+SCpXGi@YoX_p z_Jj6|_BBNmQ2l$$n@(x{4zt?*tRqF|+O~6Cdp+DJ0zXGIildVwy7ottvu`P8FsIm3 zOae|(uO&5(rq}XCjwS~AaUAecP!fKC5|>7B@EdWJ{a~3{JtoJrZ3^;Srpy!&$JBTP zXXSWipPG3C^9Eu!aMu5gj&pTE5u_uh9hK~Ku+*K?I2!xOLF`9CU4uB`>4cx~bVE6T v>56^=(*aJEE6nkuOimV<-=~vf8uN3ov09F1EWqKG?WJ)t9AsL!T{QjyBFYGy literal 0 HcmV?d00001 diff --git a/lib_nbgl/glyphs/quarter_circle_bottom_left_44px_1bpp_nocomp.bmp b/lib_nbgl/glyphs/quarter_circle_bottom_left_44px_1bpp_nocomp.bmp new file mode 100755 index 0000000000000000000000000000000000000000..ad16eae1b4540c29b02789c0df93ca9a2406279d GIT binary patch literal 5862 zcmeH{!3}^g2u14x9*rY-@azEI-P&1PLs67AQjdN((1c28;`{xe^Rjj6S`+O9#dt@P z`m26!Ys>KzcKCY8`3aDaVISFl8a{yOKcc)@qvZ&YyyyU8i74r19h2MA>5jGnZ0Y6o zG40kAaX=qoDozAoE?cFr1Jxr;F$6eqfMj4gt|{z*p#YNPqzl>{SS7k3V-TZg>wq)@ rHvAf7{zLF!f(H%J2p&#zAIt@Kn8wh+)9As67)b6#_z*tGS4qhMO*b74 literal 0 HcmV?d00001 diff --git a/lib_nbgl/glyphs/quarter_circle_top_left_44px_1bpp_nocomp.bmp b/lib_nbgl/glyphs/quarter_circle_top_left_44px_1bpp_nocomp.bmp new file mode 100755 index 0000000000000000000000000000000000000000..c60c0afa987bbd583f8ec4d16aca2b381ef03f34 GIT binary patch literal 5862 zcmeH`u?>JQ3+n%Sj zzTfS8y?l<6x*R1Hp@_l#%L8&K6^aDHUwFfgbc7!b8XDqsMGr@~IWq!bL{ zl#0If>IiHo7*JsaLokHVcZAJ`B_!YtzETY=j}4J{4iOIt!C>}IaO`s z(mFoZrrQtu{p-5TYuvc6{*0Zc?+OZ2Gvn9q9E^rD+tnRrdX%;*I+R+O=T#g`y6-@A z@HHt^DGmj+`gNut4p$-V!TMIdOpgy-j*C53 ze~iQI=1;%we(0bDv_Q0gF($gkwV(zltsO!K@e~%I2D=^5K{kaNp3eo;fEoTV?1kVh z@ia&=Iy8u+cy;K+z|Z)0fEmswv}Xh7j>I}}?#RD^r$*Aiz{oLBGcpaNjC=zfqsTzS zC^b+pDh%k1Is=@A^-gIqU|=xM2Pr8&0A7lEl#cb?nMt(hW6j B`CKL14HC3ZXY5-p)~=`+u{6l1vw7n={i=|056?$nyr4fSWZcE` z9vCm_j|&-h@VrHglS0Pri1CWCDIwz)p4Xs`*Yu}_jGK5~0^<$+86jgG&vRhBr9UfV zT*vbiG0q7Y*CNIyV+&a${h>q|f50{` z?pwrnkT545>SMKAap!lKc8b(E?qS6DbM5(iB*h-rDtQcizwX@>E_cql`tM8Oqh7Le z2R7Nc7n|&}3pUwjKWwtk&e&w%J+R5XyJ6cPvhTjwMu@E!_~#(0wF5UtRPfoli`3dn Wc22@(YgkfiS6N@)&MWX&1-=0CzTZy( literal 0 HcmV?d00001 diff --git a/lib_nbgl/include/nbgl_draw.h b/lib_nbgl/include/nbgl_draw.h index 2c52b0b11..de2838cc2 100644 --- a/lib_nbgl/include/nbgl_draw.h +++ b/lib_nbgl/include/nbgl_draw.h @@ -32,7 +32,10 @@ extern "C" { * GLOBAL PROTOTYPES **********************/ -void nbgl_drawIcon(nbgl_area_t *area, nbgl_color_map_t color_map, const nbgl_icon_details_t *icon); +void nbgl_drawIcon(nbgl_area_t *area, + nbgl_transformation_t transformation, + nbgl_color_map_t color_map, + const nbgl_icon_details_t *icon); void nbgl_drawRoundedRect(const nbgl_area_t *area, nbgl_radius_t radius, color_t innerColor); void nbgl_drawRoundedBorderedRect(const nbgl_area_t *area, nbgl_radius_t radius, diff --git a/lib_nbgl/include/nbgl_obj.h b/lib_nbgl/include/nbgl_obj.h index 74b74fb91..0b13d4386 100644 --- a/lib_nbgl/include/nbgl_obj.h +++ b/lib_nbgl/include/nbgl_obj.h @@ -28,8 +28,12 @@ extern "C" { // for Keyboard #ifdef HAVE_SE_TOUCH +#ifdef TARGET_STAX #define KEYBOARD_KEY_HEIGHT 60 -#else // HAVE_SE_TOUCH +#else // TARGET_STAX +#define KEYBOARD_KEY_HEIGHT 72 +#endif // TARGET_STAX +#else // HAVE_SE_TOUCH #define KEYBOARD_KEY_WIDTH 14 #define KEYBOARD_KEY_HEIGHT 14 #define KEYBOARD_WIDTH (5 * KEYBOARD_KEY_WIDTH) @@ -53,14 +57,27 @@ extern "C" { #define EXIT_PAGE 0xFF // external margin in pixels +#ifdef TARGET_STAX #define BORDER_MARGIN 24 +#else // TARGET_STAX +#define BORDER_MARGIN 32 +#endif // TARGET_STAX // Back button header height +#ifdef TARGET_STAX #define BACK_BUTTON_HEADER_HEIGHT 88 +#else // TARGET_STAX +#define BACK_BUTTON_HEADER_HEIGHT 96 +#endif // TARGET_STAX // common dimensions for buttons +#ifdef TARGET_STAX #define BUTTON_RADIUS RADIUS_40_PIXELS #define BUTTON_DIAMETER 80 +#else // TARGET_STAX +#define BUTTON_RADIUS RADIUS_44_PIXELS +#define BUTTON_DIAMETER 88 +#endif // TARGET_STAX #endif // HAVE_SE_TOUCH /********************** @@ -302,6 +319,7 @@ typedef struct PACKED__ nbgl_image_s { nbgl_obj_t obj; // common part color_t foregroundColor; ///< color set to '1' bits, for 1PBB images. '0' are set to background ///< color. + nbgl_transformation_t transformation; ///< usually NO_TRANSFORMATION const nbgl_icon_details_t *buffer; ///< buffer containing bitmap, with exact same size as ///< object (width*height*bpp/8 bytes) onImageDrawCallback_t onDrawCallback; ///< function called if buffer is NULL, with above token @@ -367,6 +385,15 @@ typedef struct PACKED__ nbgl_progress_bar_s { color_t foregroundColor; ///< color of the inner progress bar and border (if applicable) } nbgl_progress_bar_t; +/** + * @brief Style to apply to @ref nbgl_page_indicator_t + * + */ +typedef enum { + PROGRESSIVE_INDICATOR = 0, ///< all dashes before active page are black + CURRENT_INDICATOR ///< only current page dash is black +} nbgl_page_indicator_style_t; + /** * @brief struct to represent a navigation bar (@ref PAGE_INDICATOR type) * There can be up to 5 page indicators, whose shape is fixed. @@ -375,9 +402,10 @@ typedef struct PACKED__ nbgl_progress_bar_s { * @note height is fixed */ typedef struct PACKED__ nbgl_navigation_bar_s { - nbgl_obj_t obj; ///< common part - uint8_t nbPages; ///< number of pages. - uint8_t activePage; ///< index of active page (from 0 to nbPages-1). + nbgl_obj_t obj; ///< common part + uint8_t nbPages; ///< number of pages. + uint8_t activePage; ///< index of active page (from 0 to nbPages-1). + nbgl_page_indicator_style_t style; ///< Style to apply } nbgl_page_indicator_t; /** diff --git a/lib_nbgl/include/nbgl_types.h b/lib_nbgl/include/nbgl_types.h index aea8ed272..351ea687d 100644 --- a/lib_nbgl/include/nbgl_types.h +++ b/lib_nbgl/include/nbgl_types.h @@ -184,8 +184,13 @@ typedef enum nbgl_post_refresh_t { typedef enum { #ifdef SCREEN_SIZE_WALLET RADIUS_32_PIXELS = 0, ///< 32 pixels - RADIUS_40_PIXELS, ///< 48 pixels +#ifdef TARGET_STAX + RADIUS_40_PIXELS, ///< 40 pixels RADIUS_MAX = RADIUS_40_PIXELS, +#else // TARGET_STAX + RADIUS_44_PIXELS, ///< 44 pixels + RADIUS_MAX = RADIUS_44_PIXELS, +#endif // TARGET_STAX #else // SCREEN_SIZE_WALLET RADIUS_1_PIXEL = 0, ///< 1 pixel RADIUS_3_PIXELS, ///< 3 pixels diff --git a/lib_nbgl/src/nbgl_draw.c b/lib_nbgl/src/nbgl_draw.c index 8cb35e652..58be44170 100644 --- a/lib_nbgl/src/nbgl_draw.c +++ b/lib_nbgl/src/nbgl_draw.c @@ -71,7 +71,11 @@ static const uint8_t quarter_circle_3px_270_1bpp[] = {0x58, 0x00}; static const uint8_t radiusValues[] = { #ifdef SCREEN_SIZE_WALLET 32, - 40 +#ifdef TARGET_STAX + 40, +#else // TARGET_STAX + 44 +#endif // TARGET_STAX #else // SCREEN_SIZE_WALLET 1, 3 @@ -80,18 +84,42 @@ static const uint8_t radiusValues[] = { #ifdef SCREEN_SIZE_WALLET // indexed by nbgl_radius_t (except RADIUS_0_PIXELS) -static const uint8_t *topQuarterDiscs[] - = {C_quarter_disc_top_left_32px_1bpp_bitmap, C_quarter_disc_top_left_40px_1bpp_bitmap}; +static const uint8_t *topQuarterDiscs[] = { + C_quarter_disc_top_left_32px_1bpp_bitmap, +#ifdef TARGET_STAX + C_quarter_disc_top_left_40px_1bpp_bitmap, +#else // TARGET_STAX + C_quarter_disc_top_left_44px_1bpp_bitmap +#endif // TARGET_STAX +}; -static const uint8_t *bottomQuarterDiscs[] - = {C_quarter_disc_bottom_left_32px_1bpp_bitmap, C_quarter_disc_bottom_left_40px_1bpp_bitmap}; +static const uint8_t *bottomQuarterDiscs[] = { + C_quarter_disc_bottom_left_32px_1bpp_bitmap, +#ifdef TARGET_STAX + C_quarter_disc_bottom_left_40px_1bpp_bitmap, +#else // TARGET_STAX + C_quarter_disc_bottom_left_44px_1bpp_bitmap +#endif // TARGET_STAX +}; // indexed by nbgl_radius_t (except RADIUS_0_PIXELS) -static const uint8_t *topQuarterCircles[] - = {C_quarter_circle_top_left_32px_1bpp_bitmap, C_quarter_circle_top_left_40px_1bpp_bitmap}; +static const uint8_t *topQuarterCircles[] = { + C_quarter_circle_top_left_32px_1bpp_bitmap, +#ifdef TARGET_STAX + C_quarter_circle_top_left_40px_1bpp_bitmap, +#else // TARGET_STAX + C_quarter_circle_top_left_44px_1bpp_bitmap +#endif // TARGET_STAX +}; -static const uint8_t *bottomQuarterCircles[] = {C_quarter_circle_bottom_left_32px_1bpp_bitmap, - C_quarter_circle_bottom_left_40px_1bpp_bitmap}; +static const uint8_t *bottomQuarterCircles[] = { + C_quarter_circle_bottom_left_32px_1bpp_bitmap, +#ifdef TARGET_STAX + C_quarter_circle_bottom_left_40px_1bpp_bitmap, +#else // TARGET_STAX + C_quarter_circle_bottom_left_44px_1bpp_bitmap +#endif // TARGET_STAX +}; #endif // SCREEN_SIZE_WALLET #ifdef NBGL_QRCODE @@ -453,16 +481,21 @@ void nbgl_drawRoundedBorderedRect(const nbgl_area_t *area, * No transformation is applied to the icon. * * @param area Area of drawing + * @param transformation Transformation to apply to this icon (only available for raw image, not + * image file) * @param color_map Color map applied to icon * @param icon Icon details structure to draw */ -void nbgl_drawIcon(nbgl_area_t *area, nbgl_color_map_t color_map, const nbgl_icon_details_t *icon) +void nbgl_drawIcon(nbgl_area_t *area, + nbgl_transformation_t transformation, + nbgl_color_map_t color_map, + const nbgl_icon_details_t *icon) { if (icon->isFile) { nbgl_frontDrawImageFile(area, icon->bitmap, color_map, ramBuffer); } else { - nbgl_frontDrawImage(area, icon->bitmap, NO_TRANSFORMATION, color_map); + nbgl_frontDrawImage(area, icon->bitmap, transformation, color_map); } } diff --git a/lib_nbgl/src/nbgl_obj.c b/lib_nbgl/src/nbgl_obj.c index 7f80983a6..b24991957 100644 --- a/lib_nbgl/src/nbgl_obj.c +++ b/lib_nbgl/src/nbgl_obj.c @@ -340,8 +340,9 @@ static void draw_button(nbgl_button_t *obj, nbgl_obj_t *prevObj, bool computePos // inherit background from parent obj->obj.area.backgroundColor = obj->obj.parent->area.backgroundColor; - // draw the rounded corner rectangle - if (obj->innerColor == obj->borderColor) { + // draw the rounded corner rectangle if necessary + if ((obj->innerColor == obj->borderColor) + && (obj->innerColor != obj->obj.area.backgroundColor)) { nbgl_drawRoundedRect((nbgl_area_t *) obj, obj->radius, obj->innerColor); } else { @@ -404,7 +405,7 @@ static void draw_button(nbgl_button_t *obj, nbgl_obj_t *prevObj, bool computePos rectArea.height = obj->icon->height; rectArea.bpp = obj->icon->bpp; - nbgl_drawIcon(&rectArea, obj->foregroundColor, obj->icon); + nbgl_drawIcon(&rectArea, NO_TRANSFORMATION, obj->foregroundColor, obj->icon); } } @@ -510,7 +511,7 @@ static void draw_image(nbgl_image_t *obj, nbgl_obj_t *prevObj, bool computePosit colorMap = obj->foregroundColor; } - nbgl_drawIcon((nbgl_area_t *) obj, colorMap, iconDetails); + nbgl_drawIcon((nbgl_area_t *) obj, obj->transformation, colorMap, iconDetails); } #ifdef HAVE_SE_TOUCH @@ -575,10 +576,10 @@ static void draw_radioButton(nbgl_radio_t *obj, nbgl_obj_t *prevObj, bool comput rectArea.backgroundColor = obj->obj.area.backgroundColor; rectArea.bpp = NBGL_BPP_1; if (obj->state == OFF_STATE) { - nbgl_drawIcon(&rectArea, obj->borderColor, &C_radio_inactive_32px); + nbgl_drawIcon(&rectArea, NO_TRANSFORMATION, obj->borderColor, &C_radio_inactive_32px); } else { - nbgl_drawIcon(&rectArea, obj->activeColor, &C_radio_active_32px); + nbgl_drawIcon(&rectArea, NO_TRANSFORMATION, obj->activeColor, &C_radio_active_32px); } } #endif // HAVE_SE_TOUCH @@ -689,8 +690,12 @@ static void draw_pageIndicator(nbgl_page_indicator_t *obj, nbgl_area_t rectArea; uint16_t dashWidth; + if (obj->nbPages == 0) { + return; + } + if (obj->nbPages <= NB_MAX_PAGES_WITH_DASHES) { - uint8_t i; + int i; #define INTER_DASHES 10 // pixels // force height obj->obj.area.height = 4; @@ -719,10 +724,15 @@ static void draw_pageIndicator(nbgl_page_indicator_t *obj, rectArea.backgroundColor = obj->obj.area.backgroundColor; rectArea.bpp = NBGL_BPP_1; // draw dashes - for (i = 0; i <= obj->activePage; i++) { - nbgl_frontDrawHorizontalLine(&rectArea, 0xF, BLACK); + for (i = 0; i < obj->activePage; i++) { + nbgl_frontDrawHorizontalLine( + &rectArea, 0xF, (obj->style == PROGRESSIVE_INDICATOR) ? BLACK : LIGHT_GRAY); rectArea.x0 += dashWidth + INTER_DASHES; } + nbgl_frontDrawHorizontalLine(&rectArea, 0xF, BLACK); + rectArea.x0 += dashWidth + INTER_DASHES; + i++; + for (; i < obj->nbPages; i++) { nbgl_frontDrawHorizontalLine(&rectArea, 0xF, LIGHT_GRAY); rectArea.x0 += dashWidth + INTER_DASHES; diff --git a/lib_nbgl/src/nbgl_obj_keyboard.c b/lib_nbgl/src/nbgl_obj_keyboard.c index 388c159e4..3860ce833 100644 --- a/lib_nbgl/src/nbgl_obj_keyboard.c +++ b/lib_nbgl/src/nbgl_obj_keyboard.c @@ -354,6 +354,7 @@ static void keyboardDrawLetters(nbgl_keyboard_t *keyboard) nbgl_drawIcon( &rectArea, (keyboard->casing != LOWER_CASE) ? WHITE : BLACK, + NO_TRANSFORMATION, (keyboard->casing != LOCKED_UPPER_CASE) ? (&C_shift_lock32px) : (&C_shift32px)); rectArea.backgroundColor = WHITE; offsetX = keyboard->obj.area.x0 + SHIFT_KEY_WIDTH; @@ -386,7 +387,10 @@ static void keyboardDrawLetters(nbgl_keyboard_t *keyboard) else { rectArea.x0 += (BACKSPACE_KEY_WIDTH_LETTERS_ONLY - rectArea.width) / 2; } - nbgl_drawIcon(&rectArea, (keyboard->keyMask & (1 << 26)) ? WHITE : BLACK, &C_backspace32px); + nbgl_drawIcon(&rectArea, + NO_TRANSFORMATION, + (keyboard->keyMask & (1 << 26)) ? WHITE : BLACK, + &C_backspace32px); // 4th row, only in Full mode if (!keyboard->lettersOnly) { @@ -395,8 +399,10 @@ static void keyboardDrawLetters(nbgl_keyboard_t *keyboard) nbgl_drawText(&rectArea, ".?123", 5, SMALL_REGULAR_1BPP_FONT, BLACK); rectArea.x0 = SWITCH_KEY_WIDTH + (SPACE_KEY_WIDTH - C_space32px.width) / 2; - nbgl_drawIcon( - &rectArea, (keyboard->keyMask & (1 << SPACE_KEY_INDEX)) ? WHITE : BLACK, &C_space32px); + nbgl_drawIcon(&rectArea, + NO_TRANSFORMATION, + (keyboard->keyMask & (1 << SPACE_KEY_INDEX)) ? WHITE : BLACK, + &C_space32px); } } @@ -477,7 +483,7 @@ static void keyboardDrawDigits(nbgl_keyboard_t *keyboard) rectArea.y0 = keyboard->obj.area.y0 + KEYBOARD_KEY_HEIGHT * 2 + (((KEYBOARD_KEY_HEIGHT - rectArea.height) / 2) & 0xFFC); rectArea.x0 += (BACKSPACE_KEY_WIDTH_DIGITS - rectArea.width) / 2; - nbgl_drawIcon(&rectArea, BLACK, &C_backspace32px); + nbgl_drawIcon(&rectArea, NO_TRANSFORMATION, BLACK, &C_backspace32px); // 4th row rectArea.x0 = (SWITCH_KEY_WIDTH - nbgl_getTextWidth(SMALL_REGULAR_1BPP_FONT, "ABC")) / 2; @@ -485,8 +491,10 @@ static void keyboardDrawDigits(nbgl_keyboard_t *keyboard) nbgl_drawText(&rectArea, "ABC", 3, SMALL_REGULAR_1BPP_FONT, BLACK); rectArea.x0 = SWITCH_KEY_WIDTH + (SPACE_KEY_WIDTH - C_space32px.width) / 2; - nbgl_drawIcon( - &rectArea, (keyboard->keyMask & (1 << SPACE_KEY_INDEX)) ? WHITE : BLACK, &C_space32px); + nbgl_drawIcon(&rectArea, + NO_TRANSFORMATION, + (keyboard->keyMask & (1 << SPACE_KEY_INDEX)) ? WHITE : BLACK, + &C_space32px); } static void keyboardDraw(nbgl_keyboard_t *keyboard) diff --git a/lib_nbgl/src/nbgl_obj_keyboard_nanos.c b/lib_nbgl/src/nbgl_obj_keyboard_nanos.c index d26f70337..e5776de15 100644 --- a/lib_nbgl/src/nbgl_obj_keyboard_nanos.c +++ b/lib_nbgl/src/nbgl_obj_keyboard_nanos.c @@ -95,7 +95,7 @@ static void keyboardDrawIcon(int16_t x0, int8_t y0, bool inverted, const nbgl_ic // center rectArea.x0 = x0 + (KEYBOARD_KEY_WIDTH - icon->width) / 2; rectArea.y0 = y0 + (KEYBOARD_KEY_HEIGHT - icon->height) / 2; - nbgl_drawIcon(&rectArea, inverted ? BLACK : WHITE, icon); + nbgl_drawIcon(&rectArea, NO_TRANSFORMATION, inverted ? BLACK : WHITE, icon); } static void keyboardDrawChar(int16_t x0, int8_t y0, bool inverted, const char *charPtr)