From 7b57f31fbf1c5fc441969d78a5a3442a0ed1f791 Mon Sep 17 00:00:00 2001 From: Joachim LF Date: Mon, 8 Mar 2021 17:56:49 +0100 Subject: [PATCH 1/2] [Python/kandinsky] Added in draw_string choice of font --- python/port/mod/kandinsky/modkandinsky.cpp | 3 ++- python/port/mod/kandinsky/modkandinsky_table.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/python/port/mod/kandinsky/modkandinsky.cpp b/python/port/mod/kandinsky/modkandinsky.cpp index f6f797bc7..6ae2a0fa2 100644 --- a/python/port/mod/kandinsky/modkandinsky.cpp +++ b/python/port/mod/kandinsky/modkandinsky.cpp @@ -60,8 +60,9 @@ mp_obj_t modkandinsky_draw_string(size_t n_args, const mp_obj_t * args) { KDPoint point(mp_obj_get_int(args[1]), mp_obj_get_int(args[2])); KDColor textColor = (n_args >= 4) ? MicroPython::Color::Parse(args[3]) : KDColorBlack; KDColor backgroundColor = (n_args >= 5) ? MicroPython::Color::Parse(args[4]) : KDColorWhite; + const KDFont * font = (n_args >= 6) ? ((mp_obj_is_true(args[5])) ? KDFont::SmallFont : KDFont::LargeFont) : KDFont::LargeFont; MicroPython::ExecutionEnvironment::currentExecutionEnvironment()->displaySandbox(); - KDIonContext::sharedContext()->drawString(text, point, KDFont::LargeFont, textColor, backgroundColor); + KDIonContext::sharedContext()->drawString(text, point, font, textColor, backgroundColor); return mp_const_none; } diff --git a/python/port/mod/kandinsky/modkandinsky_table.c b/python/port/mod/kandinsky/modkandinsky_table.c index ff916f915..5bb2fe9cd 100644 --- a/python/port/mod/kandinsky/modkandinsky_table.c +++ b/python/port/mod/kandinsky/modkandinsky_table.c @@ -3,7 +3,7 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(modkandinsky_color_obj, 1, 3, modkandinsky_color); STATIC MP_DEFINE_CONST_FUN_OBJ_2(modkandinsky_get_pixel_obj, modkandinsky_get_pixel); STATIC MP_DEFINE_CONST_FUN_OBJ_3(modkandinsky_set_pixel_obj, modkandinsky_set_pixel); -STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(modkandinsky_draw_string_obj, 3, 5, modkandinsky_draw_string); +STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(modkandinsky_draw_string_obj, 3, 6, modkandinsky_draw_string); STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(modkandinsky_fill_rect_obj, 5, 5, modkandinsky_fill_rect); STATIC const mp_rom_map_elem_t modkandinsky_module_globals_table[] = { From 8feb8e3ea2eb2da15fb842854041b502fcc76fdf Mon Sep 17 00:00:00 2001 From: Joachim LF Date: Mon, 8 Mar 2021 18:03:15 +0100 Subject: [PATCH 2/2] [Python/kandinsky] Added font constant --- python/port/genhdr/qstrdefs.in.h | 2 ++ python/port/mod/kandinsky/modkandinsky_table.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/python/port/genhdr/qstrdefs.in.h b/python/port/genhdr/qstrdefs.in.h index fa1aa21b7..d17b348a1 100644 --- a/python/port/genhdr/qstrdefs.in.h +++ b/python/port/genhdr/qstrdefs.in.h @@ -377,6 +377,8 @@ Q(draw_string) Q(fill_rect) Q(get_pixel) Q(set_pixel) +Q(large_font) +Q(small_font) // Matplotlib QSTRs Q(arrow) diff --git a/python/port/mod/kandinsky/modkandinsky_table.c b/python/port/mod/kandinsky/modkandinsky_table.c index 5bb2fe9cd..7ae68decd 100644 --- a/python/port/mod/kandinsky/modkandinsky_table.c +++ b/python/port/mod/kandinsky/modkandinsky_table.c @@ -13,6 +13,8 @@ STATIC const mp_rom_map_elem_t modkandinsky_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_set_pixel), (mp_obj_t)&modkandinsky_set_pixel_obj }, { MP_ROM_QSTR(MP_QSTR_draw_string), (mp_obj_t)&modkandinsky_draw_string_obj }, { MP_ROM_QSTR(MP_QSTR_fill_rect), (mp_obj_t)&modkandinsky_fill_rect_obj }, + { MP_ROM_QSTR(MP_QSTR_large_font), mp_const_true }, + { MP_ROM_QSTR(MP_QSTR_small_font), mp_const_false }, }; STATIC MP_DEFINE_CONST_DICT(modkandinsky_module_globals, modkandinsky_module_globals_table);