diff --git a/core/embed/trezorhal/stm32f4/display/stm32f429i-disc1/display_driver.c b/core/embed/trezorhal/stm32f4/display/stm32f429i-disc1/display_driver.c index b488d2dba..5c6c84f70 100644 --- a/core/embed/trezorhal/stm32f4/display/stm32f429i-disc1/display_driver.c +++ b/core/embed/trezorhal/stm32f4/display/stm32f429i-disc1/display_driver.c @@ -133,6 +133,16 @@ void display_copy_rgb565(const gl_bitblt_t *bb) { gl_rgb565_copy_rgb565(&bb_new); } +void display_copy_mono1p(const gl_bitblt_t *bb) { + display_driver_t *drv = &g_display_driver; + + gl_bitblt_t bb_new = *bb; + bb_new.dst_row = drv->framebuf + (DISPLAY_RESX * bb_new.dst_y); + bb_new.dst_stride = DISPLAY_RESX * sizeof(uint16_t); + + gl_rgba8565_copy_mono1p(&bb_new); +} + void display_copy_mono4(const gl_bitblt_t *bb) { display_driver_t *drv = &g_display_driver; diff --git a/core/embed/trezorhal/xdisplay.h b/core/embed/trezorhal/xdisplay.h index f1619b0e9..53cfb54e4 100644 --- a/core/embed/trezorhal/xdisplay.h +++ b/core/embed/trezorhal/xdisplay.h @@ -129,13 +129,17 @@ void display_set_compatible_settings(void); // // bb->dst_row and bb->dst_stride must be 0 -// Fills a rectangle with a solid color +// Fills a rectangle with a solid color. +// This function is supported by all types of displays. void display_fill(const gl_bitblt_t *bb); -// Copies an RGB565 bitmap +// Copies an RGB565 bitmap. +// This function is supported by RGB displays only. void display_copy_rgb565(const gl_bitblt_t *bb); -// Copies a MONO4 bitmap +// Copies a MONO4 bitmap (supported only with RGB displays). +// This function is supported by RGB displays only. void display_copy_mono4(const gl_bitblt_t *bb); -// Copies a MONO1P bitmap +// Copies a MONO1P bitmap. +// This function is supported by all types of displays. void display_copy_mono1p(const gl_bitblt_t *bb); #ifdef TREZOR_EMULATOR