Embedded SDK
Embedded SDK
Loading...
Searching...
No Matches
nbgl_obj.h
Go to the documentation of this file.
1
7#ifndef NBGL_OBJ_H
8#define NBGL_OBJ_H
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14#include "nbgl_types.h"
15#include "nbgl_fonts.h"
16#include "nbgl_icons.h"
17#include "ux_loc.h"
18
19/*********************
20 * INCLUDES
21 *********************/
22
23/*********************
24 * DEFINES
25 *********************/
26// Keypad special key values
27#define BACKSPACE_KEY 8
28#define VALIDATE_KEY '\r'
29
30// for Keyboard
31#ifdef NBGL_KEYBOARD
32#ifdef SCREEN_SIZE_WALLET
33#if defined(TARGET_STAX)
34#define KEYBOARD_KEY_HEIGHT 60
35#elif defined(TARGET_FLEX)
36#define KEYBOARD_KEY_HEIGHT 72
37#elif defined(TARGET_APEX)
38#define KEYBOARD_KEY_HEIGHT 51
39#endif // TARGETS
40
41// index of keys for keyMask field of nbgl_keyboard_t
42#define SHIFT_KEY_INDEX 26
43#define DIGITS_SWITCH_KEY_INDEX 27
44#define BACKSPACE_KEY_INDEX 28
45#define SPACE_KEY_INDEX 29
46#define SPECIAL_KEYS_INDEX 30
47
48#else // SCREEN_SIZE_WALLET
49#define KEYBOARD_KEY_WIDTH 14
50#define KEYBOARD_KEY_HEIGHT 14
51#define KEYBOARD_WIDTH (5 * KEYBOARD_KEY_WIDTH)
52
53#define BACKSPACE_KEY_INDEX 26
54#define VALIDATE_INDEX 27
55#define SHIFT_KEY_INDEX 28
56#define KEYBOARD_MAX_TITLE 20
57#endif // SCREEN_SIZE_WALLET
58#endif // NBGL_KEYBOARD
59
60// for Keypad
61#ifdef SCREEN_SIZE_WALLET
62#if defined(TARGET_STAX)
63#define KEYPAD_KEY_HEIGHT 104
64#elif defined(TARGET_FLEX)
65#define KEYPAD_KEY_HEIGHT 88
66#elif defined(TARGET_APEX)
67#define KEYPAD_KEY_HEIGHT 60
68#endif // TARGETS
69#else // SCREEN_SIZE_WALLET
70#define KEYPAD_WIDTH 114
71#define KEYPAD_HEIGHT 18
72#endif // SCREEN_SIZE_WALLET
73#define KEYPAD_MAX_DIGITS 12
74
75#ifdef SCREEN_SIZE_WALLET
76// external margin in pixels
77#if defined(TARGET_STAX)
78#define BORDER_MARGIN 24
79#define VERTICAL_BORDER_MARGIN 24
80#elif defined(TARGET_FLEX)
81#define BORDER_MARGIN 32
82#define VERTICAL_BORDER_MARGIN 24
83#elif defined(TARGET_APEX)
84#define BORDER_MARGIN 16
85#define VERTICAL_BORDER_MARGIN 24
86#endif // TARGETS
87
88// Back button header height
89#if defined(TARGET_STAX)
90#define BACK_BUTTON_HEADER_HEIGHT 88
91#elif defined(TARGET_FLEX)
92#define BACK_BUTTON_HEADER_HEIGHT 96
93#elif defined(TARGET_APEX)
94#define BACK_BUTTON_HEADER_HEIGHT 60
95#endif // TARGETS
96
97// common dimensions for buttons
98#if COMMON_RADIUS == 40
99#define BUTTON_RADIUS RADIUS_40_PIXELS
100#elif COMMON_RADIUS == 44
101#define BUTTON_RADIUS RADIUS_44_PIXELS
102#elif COMMON_RADIUS == 28
103#define BUTTON_RADIUS RADIUS_28_PIXELS
104#endif // COMMON_RADIUS
105#define BUTTON_DIAMETER (COMMON_RADIUS * 2)
106// on Apex, "round" buttons are not exactly round
107#if defined(TARGET_APEX)
108#define BUTTON_WIDTH (BUTTON_DIAMETER - 2)
109#else
110#define BUTTON_WIDTH BUTTON_DIAMETER
111#endif
112
113// width & height for spinner
114#if defined(TARGET_STAX)
115#define SPINNER_WIDTH 60
116#define SPINNER_HEIGHT 44
117#elif defined(TARGET_FLEX)
118#define SPINNER_WIDTH 64
119#define SPINNER_HEIGHT 48
120#elif defined(TARGET_APEX)
121#define SPINNER_WIDTH 40
122#define SPINNER_HEIGHT 32
123#endif // TARGETS
124
125// width for indicator
126#if defined(TARGET_STAX)
127#define STEPPER_2_PAGES_WIDTH 136
128#define STEPPER_N_PAGES_WIDTH 184
129#elif defined(TARGET_FLEX)
130#define STEPPER_2_PAGES_WIDTH 136
131#define STEPPER_N_PAGES_WIDTH 184
132#elif defined(TARGET_APEX)
133#define STEPPER_2_PAGES_WIDTH 108
134#define STEPPER_N_PAGES_WIDTH 104
135#endif // TARGETS
136
137// width & height for radio button
138#if defined(TARGET_STAX)
139#define RADIO_WIDTH 32
140#define RADIO_HEIGHT 32
141#elif defined(TARGET_FLEX)
142#define RADIO_WIDTH 40
143#define RADIO_HEIGHT 40
144#elif defined(TARGET_APEX)
145#define RADIO_WIDTH 24
146#define RADIO_HEIGHT 24
147#endif // TARGETS
148
149// Icon defines are in nbgl_icons.h (included above)
150
151// max number of pages when nbgl_page_indicator_t uses dashes (above, it uses n / nb_pages)
152#define NB_MAX_PAGES_WITH_DASHES 6
153
154// number of spinner positions
155#define NB_SPINNER_POSITIONS 4
156#endif // SCREEN_SIZE_WALLET
157
158#if NB_COLOR_BITS == 1
159#define INACTIVE_COLOR WHITE
160#define INACTIVE_TEXT_COLOR BLACK
161#define INACTIVE_ARROW_COLOR WHITE
162#define INACTIVE_SMALL_FONT SMALL_REGULAR_FONT
163#define LIGHT_TEXT_COLOR BLACK
164#define BUTTON_STROKE 1
165#else
166#define INACTIVE_COLOR LIGHT_GRAY
167#define INACTIVE_TEXT_COLOR LIGHT_GRAY
168#define INACTIVE_ARROW_COLOR LIGHT_GRAY
169#define INACTIVE_SMALL_FONT SMALL_BOLD_FONT
170#define LIGHT_TEXT_COLOR DARK_GRAY
171#define BUTTON_STROKE 2
172#endif
173
174#define KEYPAD_REINIT_KEYS 0x1F
175
176/**********************
177 * TYPEDEFS
178 **********************/
179
180#define SWIPE_MASK \
181 ((1 << SWIPED_UP) | (1 << SWIPED_DOWN) | (1 << SWIPED_LEFT) | (1 << SWIPED_RIGHT))
182
187#define LEFT_BUTTON 0x01
188#define RIGHT_BUTTON 0x02
189#define BOTH_BUTTONS 0x03
190#define RELEASED_MASK 0x80
191#define CONTINUOUS_MASK 0x40
192
204
211typedef void (*nbgl_buttonCallback_t)(void *obj, nbgl_buttonEvent_t buttonEvent);
212
217typedef struct {
219#ifdef HAVE_HW_TOUCH_SWIPE
221#endif // HAVE_HW_TOUCH_SWIPE
222 int16_t
224 int16_t y;
226
232typedef void (*nbgl_touchCallback_t)(void *obj, nbgl_touchType_t eventType);
233
253
267
281
288typedef nbgl_icon_details_t *(*onImageDrawCallback_t)(uint8_t token);
289
305
312 nbgl_obj_t obj; // common part
313 const uint8_t *buffer;
315
328
341
352
367
376
390
397typedef char *(*onTextDrawCallback_t)(uint8_t token);
398
420
443
454
460
471
477typedef void (*keyboardCallback_t)(char touchedKey);
478
483typedef enum {
484#ifdef HAVE_SE_TOUCH
485 MODE_LETTERS = 0,
486 MODE_DIGITS,
487 MODE_SPECIAL
488#else // HAVE_SE_TOUCH
492 MODE_NONE
493#endif // HAVE_SE_TOUCH
495
505
510typedef struct PACKED__ nbgl_keyboard_s {
515#ifdef SCREEN_SIZE_WALLET
516 bool needsRefresh;
517 keyboardCase_t casing;
518#else // SCREEN_SIZE_WALLET
523#endif // SCREEN_SIZE_WALLET
525 uint32_t keyMask;
530
535typedef struct PACKED__ nbgl_keypad_s {
538#ifdef SCREEN_SIZE_WALLET
539 uint8_t softValidation : 1;
540 uint8_t enableDigits : 1;
541 uint8_t digitsChanged : 1;
542 uint8_t validateChanged : 1;
543 uint8_t enableBackspace : 1;
544 uint8_t enableValidate : 1;
545 uint8_t shuffled : 1;
546 uint8_t digitIndexes[5];
547#else // SCREEN_SIZE_WALLET
548 uint8_t selectedKey : 5;
549 uint8_t enableBackspace : 1;
550 uint8_t enableValidate : 1;
551 uint8_t shuffled : 1;
552#endif // SCREEN_SIZE_WALLET
554
559enum {
579 CONTROLS_ID, // when multiple controls in the same pages (buttons, switches, radios)
582
583/**********************
584 * GLOBAL VARIABLES
585 **********************/
586
587extern uint8_t ramBuffer[];
588
589/**********************
590 * GLOBAL PROTOTYPES
591 **********************/
592
593void nbgl_refresh(void);
598
599void nbgl_objInit(void);
601void nbgl_objAllowDrawing(bool enable);
602uint8_t *nbgl_objGetRAMBuffer(void);
604
605void nbgl_objPoolRelease(uint8_t layer);
609 uint8_t nbObjs,
610 uint8_t layer,
611 nbgl_obj_t **objArray);
612uint8_t nbgl_objPoolGetNbUsed(uint8_t layer);
613void nbgl_containerPoolRelease(uint8_t layer);
614nbgl_obj_t **nbgl_containerPoolGet(uint8_t nbObjs, uint8_t layer);
615uint8_t nbgl_containerPoolGetNbUsed(uint8_t layer);
616
617// for internal use
620#ifdef HAVE_SE_TOUCH
621void nbgl_keyboardTouchCallback(nbgl_obj_t *obj, nbgl_touchType_t eventType);
622void nbgl_keypadTouchCallback(nbgl_obj_t *obj, nbgl_touchType_t eventType);
623
624bool nbgl_keyboardGetPosition(nbgl_keyboard_t *kbd, char index, uint16_t *x, uint16_t *y);
625bool nbgl_keypadGetPosition(nbgl_keypad_t *kbd, char index, uint16_t *x, uint16_t *y);
626#else // HAVE_SE_TOUCH
629#endif // HAVE_SE_TOUCH
630
631/**********************
632 * MACROS
633 **********************/
634
635#ifdef __cplusplus
636} /* extern "C" */
637#endif
638
639#endif /* NBGL_OBJ_H */
nbgl_font_id_e
Definition nbgl_fonts.h:141
Semantic icon defines for NBGL.
struct PACKED__ nbgl_line_s nbgl_line_t
struct to represent a vertical or horizontal line
struct PACKED__ nbgl_navigation_bar_s nbgl_page_indicator_t
struct to represent a navigation bar (PAGE_INDICATOR type) There can be up to 5 page indicators,...
struct PACKED__ nbgl_radio_s nbgl_radio_t
struct to represent a radio button (RADIO_BUTTON type)
void(* nbgl_touchCallback_t)(void *obj, nbgl_touchType_t eventType)
prototype of function to be called when a touch event is received by an object
Definition nbgl_obj.h:232
struct PACKED__ nbgl_text_area_s nbgl_text_area_t
struct to represent a text area (TEXT_AREA type)
uint8_t nbgl_containerPoolGetNbUsed(uint8_t layer)
nbgl_icon_details_t *(* onImageDrawCallback_t)(uint8_t token)
prototype of function to be called when a IMAGE object is drawned, and no buffer was provided
Definition nbgl_obj.h:288
void nbgl_objDraw(nbgl_obj_t *obj)
void nbgl_refresh(void)
struct PACKED__ nbgl_progress_bar_s nbgl_progress_bar_t
struct to represent a progress bar (PROGRESS_BAR type)
nbgl_obj_t ** nbgl_containerPoolGet(uint8_t nbObjs, uint8_t layer)
struct PACKED__ nbgl_keypad_s nbgl_keypad_t
struct to represent a keypad (KEYPAD type)
void nbgl_refreshReset(void)
struct PACKED__ nbgl_mask_control_s nbgl_mask_control_t
void nbgl_keyboardCallback(nbgl_obj_t *obj, nbgl_buttonEvent_t buttonEvent)
keyboardCase_t
Letters casing in which to open/set the keyboard.
Definition nbgl_obj.h:500
@ LOCKED_UPPER_CASE
locked upper case mode
Definition nbgl_obj.h:503
@ LOWER_CASE
lower case mode
Definition nbgl_obj.h:501
@ UPPER_CASE
upper case mode for one character
Definition nbgl_obj.h:502
nbgl_obj_t * nbgl_objPoolGet(nbgl_obj_type_t type, uint8_t layer)
void nbgl_objAllowDrawing(bool enable)
struct PACKED__ nbgl_text_entry_s nbgl_text_entry_t
struct to represent a text entry area (TEXT_ENTRY type)
uint8_t ramBuffer[]
struct PACKED__ nbgl_keyboard_s nbgl_keyboard_t
struct to represent a keyboard (KEYBOARD type)
void nbgl_refreshSpecial(nbgl_refresh_mode_t mode)
nbgl_buttonEvent_t
Definition nbgl_obj.h:193
@ BUTTON_BOTH_TOUCHED
Sent when both buttons are touched.
Definition nbgl_obj.h:201
@ BUTTON_LEFT_CONTINUOUS_PRESSED
Definition nbgl_obj.h:196
@ BUTTON_BOTH_PRESSED
Sent when both buttons are released.
Definition nbgl_obj.h:200
@ BUTTON_RIGHT_CONTINUOUS_PRESSED
Definition nbgl_obj.h:198
@ BUTTON_LEFT_PRESSED
Sent when Left button is released.
Definition nbgl_obj.h:194
@ BUTTON_RIGHT_PRESSED
Send when Right button is released.
Definition nbgl_obj.h:195
@ INVALID_BUTTON_EVENT
Definition nbgl_obj.h:202
void nbgl_containerPoolRelease(uint8_t layer)
struct PACKED__ nbgl_image_s nbgl_image_t
struct to represent an image (IMAGE type)
int nbgl_objPoolGetArray(nbgl_obj_type_t type, uint8_t nbObjs, uint8_t layer, nbgl_obj_t **objArray)
bool nbgl_objIsUx(nbgl_obj_t *obj)
char *(* onTextDrawCallback_t)(uint8_t token)
prototype of function to be called when a TEXT_AREA object is drawned, and no text was provided
Definition nbgl_obj.h:397
uint8_t nbgl_objPoolGetId(nbgl_obj_t *obj)
void nbgl_keypadCallback(nbgl_obj_t *obj, nbgl_buttonEvent_t buttonEvent)
struct PACKED__ nbgl_button_s nbgl_button_t
struct to represent a button (BUTTON type) that can contain a text and/or an icon
void(* nbgl_buttonCallback_t)(void *obj, nbgl_buttonEvent_t buttonEvent)
prototype of function to be called when a button event is received by an object (TODO: change to scre...
Definition nbgl_obj.h:211
keyboardMode_t
Mode in which to open/set the keyboard.
Definition nbgl_obj.h:483
@ MODE_LOWER_LETTERS
lower case letters mode
Definition nbgl_obj.h:489
@ MODE_NONE
no mode defined (only for Nanos)
Definition nbgl_obj.h:492
@ MODE_DIGITS_AND_SPECIALS
digits and some special characters mode
Definition nbgl_obj.h:491
@ MODE_UPPER_LETTERS
upper case letters mode
Definition nbgl_obj.h:490
void nbgl_objDrawKeyboard(nbgl_keyboard_t *kbd)
void nbgl_refreshSpecialWithPostRefresh(nbgl_refresh_mode_t mode, nbgl_post_refresh_t post_refresh)
uint8_t nbgl_objPoolGetNbUsed(uint8_t layer)
@ CHOICE_1_ID
Definition nbgl_obj.h:568
@ TOP_RIGHT_BUTTON_ID
Definition nbgl_obj.h:564
@ LONG_PRESS_BUTTON_ID
Definition nbgl_obj.h:577
@ CONTROLS_ID
Definition nbgl_obj.h:579
@ ENTERED_TEXT_ID
Definition nbgl_obj.h:573
@ LEFT_BUTTON_ID
Definition nbgl_obj.h:561
@ VALUE_BUTTON_2_ID
Definition nbgl_obj.h:575
@ VALUE_BUTTON_3_ID
Definition nbgl_obj.h:576
@ RIGHT_BUTTON_ID
Definition nbgl_obj.h:562
@ WHOLE_SCREEN_ID
Definition nbgl_obj.h:563
@ BOTTOM_BUTTON_ID
Definition nbgl_obj.h:560
@ CHOICE_3_ID
Definition nbgl_obj.h:570
@ SINGLE_BUTTON_ID
Definition nbgl_obj.h:566
@ BACK_BUTTON_ID
Definition nbgl_obj.h:565
@ VALUE_BUTTON_1_ID
Definition nbgl_obj.h:574
@ KEYPAD_ID
Definition nbgl_obj.h:571
@ NB_CONTROL_IDS
Definition nbgl_obj.h:580
@ TIP_BOX_ID
Definition nbgl_obj.h:578
@ KEYBOARD_ID
Definition nbgl_obj.h:572
@ EXTRA_BUTTON_ID
Definition nbgl_obj.h:567
@ CHOICE_2_ID
Definition nbgl_obj.h:569
void(* keyboardCallback_t)(char touchedKey)
prototype of function to be called when a valid key is pressed on keyboard Backspace is equal to 0x8 ...
Definition nbgl_obj.h:477
void nbgl_objDrawKeypad(nbgl_keypad_t *kbd)
struct PACKED__ nbgl_container_s nbgl_container_t
struct to represent a container (CONTAINER type)
uint8_t * nbgl_objGetRAMBuffer(void)
nbgl_page_indicator_style_t
Style to apply to nbgl_page_indicator_t.
Definition nbgl_obj.h:372
@ CURRENT_INDICATOR
only current page dash is black
Definition nbgl_obj.h:374
@ PROGRESSIVE_INDICATOR
all dashes before active page are black
Definition nbgl_obj.h:373
void nbgl_objPoolRelease(uint8_t layer)
bool nbgl_refreshIsNeeded(void)
struct PACKED__ nbgl_switch_s nbgl_switch_t
struct to represent a switch (size is fixed) (SWITCH type)
struct PACKED__ nbgl_obj_s nbgl_obj_t
Common structure for all graphical objects.
struct PACKED__ nbgl_spinner_s nbgl_spinner_t
struct to represent a "spinner", represented by the Ledger corners, in gray, with one of the corners ...
void nbgl_objInit(void)
struct PACKED__ nbgl_image_file_s nbgl_image_file_t
struct to represent an image file object (IMAGE_FILE type) The source of the data is an image file wi...
struct PACKED__ nbgl_qrcode_s nbgl_qrcode_t
struct to represent a QR code (QR_CODE type), whose size is fixed
common types for Graphical Library
color_t
Definition nbgl_types.h:152
uint8_t nbgl_transformation_t
Represents the transformation to be applied on the bitmap before rendering This is a bitfield using m...
Definition nbgl_types.h:394
nbgl_state_t
to represent a boolean state.
Definition nbgl_types.h:211
nbgl_post_refresh_t
Post refresh modes.
Definition nbgl_types.h:363
nbgl_radius_t
possible radius indexes for objects
Definition nbgl_types.h:374
nbgl_touchType_t
The different types of Touchscreen events.
Definition nbgl_types.h:271
nbgl_qrcode_version_t
possible modes for QR Code
Definition nbgl_types.h:241
nbgl_direction_t
Directions for layout or lines.
Definition nbgl_types.h:220
struct PACKED__ nbgl_icon_details_s nbgl_icon_details_t
Represents all information about an icon.
nbgl_aligment_t
All types of alignments.
Definition nbgl_types.h:191
nbgl_hardwareSwipe_t
Hardware powered detected swipe states.
Definition nbgl_types.h:259
nbgl_obj_type_t
All types of graphical objects.
Definition nbgl_types.h:166
nbgl_touchState_t
the 2 possible states of a finger on the Touchscreen
Definition nbgl_types.h:251
nbgl_style_t
possible styles for text area border
Definition nbgl_types.h:229
#define PACKED__
Definition nbgl_types.h:139
struct PACKED__ nbgl_area_s nbgl_area_t
Represents a rectangle area of the screen.
nbgl_refresh_mode_t
different modes of refresh for nbgl_refreshSpecial()
Definition nbgl_types.h:337
struct to represent a button (BUTTON type) that can contain a text and/or an icon
Definition nbgl_obj.h:405
const char * text
single line UTF-8 text (NULL terminated)
Definition nbgl_obj.h:407
color_t foregroundColor
Definition nbgl_obj.h:412
onTextDrawCallback_t onDrawCallback
function called if not NULL, with above token as
Definition nbgl_obj.h:408
uint8_t token
token to use as param of onDrawCallback
Definition nbgl_obj.h:418
color_t borderColor
color set to button's border
Definition nbgl_obj.h:411
color_t innerColor
color set inside of the button
Definition nbgl_obj.h:410
nbgl_radius_t radius
radius of the corners, must be a multiple of 4.
Definition nbgl_obj.h:414
nbgl_font_id_e fontId
id of the font to use, if any
Definition nbgl_obj.h:415
nbgl_obj_t obj
common part
Definition nbgl_obj.h:406
const nbgl_icon_details_t * icon
buffer containing icons bitmap. Set to NULL when no icon
Definition nbgl_obj.h:409
struct to represent a container (CONTAINER type)
Definition nbgl_obj.h:260
nbgl_obj_t obj
common part
Definition nbgl_obj.h:261
nbgl_direction_t layout
layout of children inside this object
Definition nbgl_obj.h:263
bool forceClean
if set to true, a paint will be done with background color
Definition nbgl_obj.h:265
uint8_t nbChildren
Definition nbgl_obj.h:264
nbgl_obj_t ** children
children of this object (nbChildren size)
Definition nbgl_obj.h:262
struct to represent an image file object (IMAGE_FILE type) The source of the data is an image file wi...
Definition nbgl_obj.h:311
nbgl_obj_t obj
Definition nbgl_obj.h:312
const uint8_t * buffer
buffer containing image file
Definition nbgl_obj.h:313
struct to represent an image (IMAGE type)
Definition nbgl_obj.h:294
nbgl_transformation_t transformation
usually NO_TRANSFORMATION
Definition nbgl_obj.h:302
onImageDrawCallback_t onDrawCallback
Definition nbgl_obj.h:298
uint8_t token
token to use as param of onDrawCallback
Definition nbgl_obj.h:303
const nbgl_icon_details_t * buffer
Definition nbgl_obj.h:296
color_t foregroundColor
Definition nbgl_obj.h:300
nbgl_obj_t obj
Definition nbgl_obj.h:295
struct to represent a keyboard (KEYBOARD type)
Definition nbgl_obj.h:510
uint8_t selectedCharIndex
Definition nbgl_obj.h:522
uint32_t keyMask
Definition nbgl_obj.h:525
color_t textColor
color set to letters.
Definition nbgl_obj.h:512
bool enableValidate
if true, Validate key is enabled
Definition nbgl_obj.h:520
bool lettersOnly
if true, only display letter keys and Backspace
Definition nbgl_obj.h:514
nbgl_obj_t obj
common part
Definition nbgl_obj.h:511
keyboardMode_t mode
keyboard mode to start with
Definition nbgl_obj.h:524
bool enableBackspace
if true, Backspace key is enabled
Definition nbgl_obj.h:519
color_t borderColor
color set to key borders
Definition nbgl_obj.h:513
keyboardCallback_t callback
function called when an active key is pressed
Definition nbgl_obj.h:528
struct to represent a keypad (KEYPAD type)
Definition nbgl_obj.h:535
nbgl_obj_t obj
common part
Definition nbgl_obj.h:536
uint8_t enableValidate
if true, Validate key is enabled
Definition nbgl_obj.h:550
uint8_t selectedKey
selected key position
Definition nbgl_obj.h:548
uint8_t enableBackspace
if true, Backspace key is enabled
Definition nbgl_obj.h:549
uint8_t shuffled
if true, Digit keys are shuffled
Definition nbgl_obj.h:551
keyboardCallback_t callback
function called when an active key is pressed
Definition nbgl_obj.h:537
struct to represent a vertical or horizontal line
Definition nbgl_obj.h:272
nbgl_obj_t obj
common part
Definition nbgl_obj.h:273
nbgl_direction_t direction
direction of the line, e.g VERTICAL or HORIZONTAL
Definition nbgl_obj.h:274
color_t lineColor
color of the line
Definition nbgl_obj.h:275
uint8_t thickness
Definition nbgl_obj.h:276
uint8_t offset
Definition nbgl_obj.h:278
nbgl_obj_t obj
common part
Definition nbgl_obj.h:456
bool enableMasking
true: Enable masking of area / false: Disable masking of area
Definition nbgl_obj.h:457
uint8_t maskIndex
index of mask
Definition nbgl_obj.h:458
struct to represent a navigation bar (PAGE_INDICATOR type) There can be up to 5 page indicators,...
Definition nbgl_obj.h:384
nbgl_obj_t obj
common part
Definition nbgl_obj.h:385
nbgl_page_indicator_style_t style
Style to apply.
Definition nbgl_obj.h:388
uint8_t activePage
index of active page (from 0 to nbPages-1).
Definition nbgl_obj.h:387
uint8_t nbPages
number of pages.
Definition nbgl_obj.h:386
Common structure for all graphical objects.
Definition nbgl_obj.h:239
uint8_t objId
id of the obj in the screen (only used externally)
Definition nbgl_obj.h:251
uint16_t touchMask
bit mask to tell engine which touch events are handled by this object
Definition nbgl_obj.h:248
struct nbgl_obj_s * parent
parent of this object (automatically set)
Definition nbgl_obj.h:244
uint8_t touchId
Definition nbgl_obj.h:249
nbgl_obj_type_t type
type of the graphical object, must be explicitly set
Definition nbgl_obj.h:242
int16_t alignmentMarginY
vertical margin when aligning
Definition nbgl_obj.h:247
nbgl_area_t area
Definition nbgl_obj.h:240
struct nbgl_obj_s * alignTo
object to align to (parent if NULL)
Definition nbgl_obj.h:245
int16_t alignmentMarginX
horizontal margin when aligning
Definition nbgl_obj.h:246
nbgl_aligment_t alignment
type of alignment
Definition nbgl_obj.h:243
struct to represent a progress bar (PROGRESS_BAR type)
Definition nbgl_obj.h:357
color_t foregroundColor
color of the inner progress bar and border (if applicable)
Definition nbgl_obj.h:365
uint8_t withBorder
if set to true, a border in black surround the whole object
Definition nbgl_obj.h:362
uint16_t previousWidth
Definition nbgl_obj.h:359
uint8_t partialRedraw
set to true to redraw only partially the object (update state).
Definition nbgl_obj.h:361
uint8_t resetIfOverriden
Definition nbgl_obj.h:363
uint8_t state
state of the progress, in % (from 0 to 100).
Definition nbgl_obj.h:360
struct to represent a QR code (QR_CODE type), whose size is fixed
Definition nbgl_obj.h:320
nbgl_obj_t obj
Definition nbgl_obj.h:321
nbgl_qrcode_version_t version
Definition nbgl_obj.h:325
color_t foregroundColor
Definition nbgl_obj.h:323
const char * text
text single line (NULL terminated)
Definition nbgl_obj.h:322
struct to represent a radio button (RADIO_BUTTON type)
Definition nbgl_obj.h:335
color_t activeColor
color set to to inner circle, when active.
Definition nbgl_obj.h:337
color_t borderColor
color set to border.
Definition nbgl_obj.h:338
nbgl_state_t state
state of the radio button. Active is when state == ON_STATE
Definition nbgl_obj.h:339
nbgl_obj_t obj
Definition nbgl_obj.h:336
struct to represent a "spinner", represented by the Ledger corners, in gray, with one of the corners ...
Definition nbgl_obj.h:466
uint8_t position
Definition nbgl_obj.h:468
nbgl_obj_t obj
common part
Definition nbgl_obj.h:467
struct to represent a switch (size is fixed) (SWITCH type)
Definition nbgl_obj.h:346
color_t offColor
color set to border and knob, when OFF (knob on the left).
Definition nbgl_obj.h:349
color_t onColor
color set to border and knob, when ON (knob on the right).
Definition nbgl_obj.h:348
nbgl_obj_t obj
Definition nbgl_obj.h:347
nbgl_state_t state
state of the switch.
Definition nbgl_obj.h:350
struct to represent a text area (TEXT_AREA type)
Definition nbgl_obj.h:425
onTextDrawCallback_t onDrawCallback
function called if not NULL to get the text of the text area
Definition nbgl_obj.h:439
uint16_t len
number of bytes to write (if 0, max number of chars or strlen is used)
Definition nbgl_obj.h:437
nbgl_style_t style
to define the style of border
Definition nbgl_obj.h:429
uint8_t wrapping
if set to true, break lines on ' ' when possible
Definition nbgl_obj.h:433
uint8_t nbMaxLines
if >0, only display the nbMaxLines first lines
Definition nbgl_obj.h:435
color_t textColor
color set to '1' bits in text. '0' are set to backgroundColor color.
Definition nbgl_obj.h:427
uint8_t hideEndOfLastLine
if set to true, replace 3 last chars of last line by "..."
Definition nbgl_obj.h:434
bool autoHideLongLine
Definition nbgl_obj.h:431
uint8_t token
token to use as param of onDrawCallback
Definition nbgl_obj.h:440
nbgl_aligment_t textAlignment
alignment of text within the area
Definition nbgl_obj.h:428
nbgl_font_id_e fontId
id of the font to use
Definition nbgl_obj.h:430
nbgl_obj_t obj
common part
Definition nbgl_obj.h:426
const char * text
ASCII text to draw (NULL terminated). Can be NULL.
Definition nbgl_obj.h:436
struct to represent a text entry area (TEXT_ENTRY type)
Definition nbgl_obj.h:448
nbgl_font_id_e fontId
id of the font to use
Definition nbgl_obj.h:451
const char * text
text to display (up to nbChars chars).
Definition nbgl_obj.h:450
uint8_t nbChars
number of char placeholders to display (8 or 9 chars).
Definition nbgl_obj.h:452
nbgl_obj_t obj
common part
Definition nbgl_obj.h:449
The low level Touchscreen event, coming from driver.
Definition nbgl_obj.h:217
int16_t y
vertical position of the touch (or for a RELEASED the last touched point)
Definition nbgl_obj.h:224
int16_t x
horizontal position of the touch (or for a RELEASED the last touched point)
Definition nbgl_obj.h:223
nbgl_touchState_t state
state of the touch event, e.g PRESSED or RELEASED
Definition nbgl_obj.h:218