mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-02-17 01:52:02 +00:00
embed/extmod/modtrezorui: text functions return width
This commit is contained in:
parent
f72667c761
commit
6ceb3f2770
@ -194,10 +194,12 @@ STATIC mp_obj_t mod_trezorui_Display_print(mp_obj_t self, mp_obj_t text) {
|
|||||||
}
|
}
|
||||||
STATIC MP_DEFINE_CONST_FUN_OBJ_2(mod_trezorui_Display_print_obj, mod_trezorui_Display_print);
|
STATIC MP_DEFINE_CONST_FUN_OBJ_2(mod_trezorui_Display_print_obj, mod_trezorui_Display_print);
|
||||||
|
|
||||||
/// def text(self, x: int, y: int, text: str, font: int, fgcolor: int, bgcolor: int, minwidth: int=None) -> None:
|
/// def text(self, x: int, y: int, text: str, font: int, fgcolor: int, bgcolor: int, minwidth: int=None) -> int:
|
||||||
/// '''
|
/// '''
|
||||||
/// Renders left-aligned text at position (x,y) where x is left position and y is baseline.
|
/// Renders left-aligned text at position (x,y) where x is left position and y is baseline.
|
||||||
/// Font font is used for rendering, fgcolor is used as foreground color, bgcolor as background.
|
/// Font font is used for rendering, fgcolor is used as foreground color, bgcolor as background.
|
||||||
|
/// Fills at least minwidth pixels with bgcolor.
|
||||||
|
/// Returns width of rendered text in pixels.
|
||||||
/// '''
|
/// '''
|
||||||
STATIC mp_obj_t mod_trezorui_Display_text(size_t n_args, const mp_obj_t *args) {
|
STATIC mp_obj_t mod_trezorui_Display_text(size_t n_args, const mp_obj_t *args) {
|
||||||
mp_int_t x = mp_obj_get_int(args[1]);
|
mp_int_t x = mp_obj_get_int(args[1]);
|
||||||
@ -214,14 +216,16 @@ STATIC mp_obj_t mod_trezorui_Display_text(size_t n_args, const mp_obj_t *args) {
|
|||||||
display_bar(x, y - 18, barwidth, 23, bgcolor);
|
display_bar(x, y - 18, barwidth, 23, bgcolor);
|
||||||
// prefill end
|
// prefill end
|
||||||
display_text(x, y, text.buf, text.len, font, fgcolor, bgcolor);
|
display_text(x, y, text.buf, text.len, font, fgcolor, bgcolor);
|
||||||
return mp_const_none;
|
return mp_obj_new_int(w);
|
||||||
}
|
}
|
||||||
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(mod_trezorui_Display_text_obj, 7, 8, mod_trezorui_Display_text);
|
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(mod_trezorui_Display_text_obj, 7, 8, mod_trezorui_Display_text);
|
||||||
|
|
||||||
/// def text_center(self, x: int, y: int, text: str, font: int, fgcolor: int, bgcolor: int, minwidth: int=None) -> None:
|
/// def text_center(self, x: int, y: int, text: str, font: int, fgcolor: int, bgcolor: int, minwidth: int=None) -> int:
|
||||||
/// '''
|
/// '''
|
||||||
/// Renders text centered at position (x,y) where x is text center and y is baseline.
|
/// Renders text centered at position (x,y) where x is text center and y is baseline.
|
||||||
/// Font font is used for rendering, fgcolor is used as foreground color, bgcolor as background.
|
/// Font font is used for rendering, fgcolor is used as foreground color, bgcolor as background.
|
||||||
|
/// Fills at least minwidth pixels with bgcolor.
|
||||||
|
/// Returns width of rendered text in pixels.
|
||||||
/// '''
|
/// '''
|
||||||
STATIC mp_obj_t mod_trezorui_Display_text_center(size_t n_args, const mp_obj_t *args) {
|
STATIC mp_obj_t mod_trezorui_Display_text_center(size_t n_args, const mp_obj_t *args) {
|
||||||
mp_int_t x = mp_obj_get_int(args[1]);
|
mp_int_t x = mp_obj_get_int(args[1]);
|
||||||
@ -238,14 +242,16 @@ STATIC mp_obj_t mod_trezorui_Display_text_center(size_t n_args, const mp_obj_t *
|
|||||||
display_bar(x - barwidth / 2, y - 18, barwidth, 23, bgcolor);
|
display_bar(x - barwidth / 2, y - 18, barwidth, 23, bgcolor);
|
||||||
// prefill end
|
// prefill end
|
||||||
display_text_center(x, y, text.buf, text.len, font, fgcolor, bgcolor);
|
display_text_center(x, y, text.buf, text.len, font, fgcolor, bgcolor);
|
||||||
return mp_const_none;
|
return mp_obj_new_int(w);
|
||||||
}
|
}
|
||||||
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(mod_trezorui_Display_text_center_obj, 7, 8, mod_trezorui_Display_text_center);
|
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(mod_trezorui_Display_text_center_obj, 7, 8, mod_trezorui_Display_text_center);
|
||||||
|
|
||||||
/// def text_right(self, x: int, y: int, text: str, font: int, fgcolor: int, bgcolor: int, minwidth: int=None) -> None:
|
/// def text_right(self, x: int, y: int, text: str, font: int, fgcolor: int, bgcolor: int, minwidth: int=None) -> int:
|
||||||
/// '''
|
/// '''
|
||||||
/// Renders right-aligned text at position (x,y) where x is right position and y is baseline.
|
/// Renders right-aligned text at position (x,y) where x is right position and y is baseline.
|
||||||
/// Font font is used for rendering, fgcolor is used as foreground color, bgcolor as background.
|
/// Font font is used for rendering, fgcolor is used as foreground color, bgcolor as background.
|
||||||
|
/// Fills at least minwidth pixels with bgcolor.
|
||||||
|
/// Returns width of rendered text in pixels.
|
||||||
/// '''
|
/// '''
|
||||||
STATIC mp_obj_t mod_trezorui_Display_text_right(size_t n_args, const mp_obj_t *args) {
|
STATIC mp_obj_t mod_trezorui_Display_text_right(size_t n_args, const mp_obj_t *args) {
|
||||||
mp_int_t x = mp_obj_get_int(args[1]);
|
mp_int_t x = mp_obj_get_int(args[1]);
|
||||||
@ -262,7 +268,7 @@ STATIC mp_obj_t mod_trezorui_Display_text_right(size_t n_args, const mp_obj_t *a
|
|||||||
display_bar(x - barwidth, y - 18, barwidth, 23, bgcolor);
|
display_bar(x - barwidth, y - 18, barwidth, 23, bgcolor);
|
||||||
// prefill end
|
// prefill end
|
||||||
display_text_right(x, y, text.buf, text.len, font, fgcolor, bgcolor);
|
display_text_right(x, y, text.buf, text.len, font, fgcolor, bgcolor);
|
||||||
return mp_const_none;
|
return mp_obj_new_int(w);
|
||||||
}
|
}
|
||||||
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(mod_trezorui_Display_text_right_obj, 7, 8, mod_trezorui_Display_text_right);
|
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(mod_trezorui_Display_text_right_obj, 7, 8, mod_trezorui_Display_text_right);
|
||||||
|
|
||||||
@ -275,7 +281,7 @@ STATIC mp_obj_t mod_trezorui_Display_text_width(mp_obj_t self, mp_obj_t text, mp
|
|||||||
mp_get_buffer_raise(text, &txt, MP_BUFFER_READ);
|
mp_get_buffer_raise(text, &txt, MP_BUFFER_READ);
|
||||||
mp_int_t f = mp_obj_get_int(font);
|
mp_int_t f = mp_obj_get_int(font);
|
||||||
int w = display_text_width(txt.buf, txt.len, f);
|
int w = display_text_width(txt.buf, txt.len, f);
|
||||||
return MP_OBJ_NEW_SMALL_INT(w);
|
return mp_obj_new_int(w);
|
||||||
}
|
}
|
||||||
STATIC MP_DEFINE_CONST_FUN_OBJ_3(mod_trezorui_Display_text_width_obj, mod_trezorui_Display_text_width);
|
STATIC MP_DEFINE_CONST_FUN_OBJ_3(mod_trezorui_Display_text_width_obj, mod_trezorui_Display_text_width);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user