30
30
enum {
31
31
TITLE_INDEX = 0 ,
32
32
INPUT_INDEX ,
33
- LINE_INDEX ,
34
33
NB_CHILDREN
35
34
};
36
35
37
36
#if defined(TARGET_STAX )
38
- #define ENTRY_DIGITS_HEIGHT 50
39
- #define ENTRY_DIGITS_CONTAINER_HEIGHT 44
37
+ #define ENTRY_DIGITS_LINE_WIDTH 288
38
+ #define ENTRY_DIGITS_HEIGHT 52
39
+ #define ENTRY_DIGITS_CONTAINER_HEIGHT 52
40
40
#define INTER_ENTRY_DIGITS 10
41
41
#define TITLE_MARGIN_Y 8
42
42
#define TITLE_MARGIN_Y_SMALL 8
@@ -436,18 +436,23 @@ int nbgl_layoutAddKeypadContent(nbgl_layout_t *layout,
436
436
// create digits container, to store "discs"
437
437
digitsContainer = (nbgl_container_t * ) nbgl_objPoolGet (CONTAINER , layoutInt -> layer );
438
438
digitsContainer -> nbChildren = nbDigits ;
439
+ #ifdef TARGET_STAX
440
+ // for stax, add line as child
441
+ digitsContainer -> nbChildren ++ ;
442
+ #endif // TARGET_STAX
439
443
digitsContainer -> children
440
444
= nbgl_containerPoolGet (digitsContainer -> nbChildren , layoutInt -> layer );
441
445
// <space> pixels between each icon (knowing that the effective round are 18px large and the
442
446
// icon 24px)
443
- digitsContainer -> obj .area .width = nbDigits * DIGIT_ICON .width + (nbDigits - 1 ) * space ;
444
- digitsContainer -> obj .area .height = ENTRY_DIGITS_CONTAINER_HEIGHT ;
445
- // align at the bottom of title
446
- digitsContainer -> obj .alignTo = container -> children [0 ];
447
- digitsContainer -> obj .alignment = BOTTOM_MIDDLE ;
448
447
#ifdef TARGET_STAX
449
- digitsContainer -> obj .alignmentMarginY = 28 ;
448
+ digitsContainer -> obj .area .width = ENTRY_DIGITS_LINE_WIDTH ;
449
+ #else // TARGET_STAX
450
+ digitsContainer -> obj .area .width = nbDigits * DIGIT_ICON .width + (nbDigits - 1 ) * space ;
450
451
#endif // TARGET_STAX
452
+ digitsContainer -> obj .area .height = ENTRY_DIGITS_CONTAINER_HEIGHT ;
453
+ // align at the bottom of title
454
+ digitsContainer -> obj .alignTo = container -> children [0 ];
455
+ digitsContainer -> obj .alignment = BOTTOM_MIDDLE ;
451
456
container -> children [INPUT_INDEX ] = (nbgl_obj_t * ) digitsContainer ;
452
457
container -> obj .area .height += digitsContainer -> obj .area .height ;
453
458
@@ -467,6 +472,22 @@ int nbgl_layoutAddKeypadContent(nbgl_layout_t *layout,
467
472
image -> obj .alignment = MID_LEFT ;
468
473
}
469
474
}
475
+ #ifdef TARGET_STAX
476
+ nbgl_line_t * line ;
477
+ // create gray line
478
+ line = (nbgl_line_t * ) nbgl_objPoolGet (LINE , layoutInt -> layer );
479
+ line -> lineColor = LIGHT_GRAY ;
480
+ line -> obj .alignTo = container -> children [INPUT_INDEX ];
481
+ line -> obj .alignment = BOTTOM_MIDDLE ;
482
+ line -> obj .area .width = ENTRY_DIGITS_LINE_WIDTH ;
483
+ line -> obj .area .height = 4 ;
484
+ line -> direction = HORIZONTAL ;
485
+ line -> thickness = 2 ;
486
+ line -> offset = 2 ;
487
+ digitsContainer -> children [nbDigits ] = (nbgl_obj_t * ) line ;
488
+ digitsContainer -> children [0 ]-> alignmentMarginX
489
+ = (line -> obj .area .width - (nbDigits * DIGIT_ICON .width + (nbDigits - 1 ) * space )) / 2 ;
490
+ #endif // TARGET_STAX
470
491
}
471
492
else {
472
493
// create text area
@@ -490,20 +511,6 @@ int nbgl_layoutAddKeypadContent(nbgl_layout_t *layout,
490
511
491
512
// set this new container as child of the main container
492
513
layoutAddObject (layoutInt , (nbgl_obj_t * ) container );
493
- #ifdef TARGET_STAX
494
- nbgl_line_t * line ;
495
- // create gray line
496
- line = (nbgl_line_t * ) nbgl_objPoolGet (LINE , layoutInt -> layer );
497
- line -> lineColor = LIGHT_GRAY ;
498
- line -> obj .alignTo = container -> children [INPUT_INDEX ];
499
- line -> obj .alignment = BOTTOM_MIDDLE ;
500
- line -> obj .area .width = 288 ;
501
- line -> obj .area .height = 4 ;
502
- line -> direction = HORIZONTAL ;
503
- line -> thickness = 2 ;
504
- line -> offset = 2 ;
505
- container -> children [LINE_INDEX ] = (nbgl_obj_t * ) line ;
506
- #endif // TARGET_STAX
507
514
508
515
// return height of the area
509
516
return container -> obj .area .height ;
0 commit comments