logo

qmk_firmware

custom branch of QMK firmware git clone https://anongit.hacktivis.me/git/qmk_firmware.git

lvgl_helpers.c (4435B)


  1. // Copyright 2023 zzeneg (@zzeneg)
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #include "lvgl_helpers.h"
  4. lv_obj_t *create_button(lv_obj_t *parent, const char *text, lv_style_t *style, lv_style_t *style_pressed) {
  5. lv_obj_t *label = lv_label_create(parent);
  6. lv_label_set_text(label, text);
  7. lv_obj_add_style(label, style, 0);
  8. lv_obj_add_style(label, style_pressed, LV_STATE_PRESSED);
  9. return label;
  10. }
  11. void use_flex_row(void *obj) {
  12. lv_obj_set_layout(obj, LV_LAYOUT_FLEX);
  13. lv_obj_set_flex_flow(obj, LV_FLEX_FLOW_ROW);
  14. lv_obj_set_flex_align(obj, LV_FLEX_ALIGN_SPACE_AROUND, LV_FLEX_ALIGN_CENTER, LV_FLEX_ALIGN_CENTER);
  15. }
  16. void use_flex_column(void *obj) {
  17. lv_obj_set_layout(obj, LV_LAYOUT_FLEX);
  18. lv_obj_set_flex_flow(obj, LV_FLEX_FLOW_COLUMN);
  19. lv_obj_set_flex_align(obj, LV_FLEX_ALIGN_SPACE_AROUND, LV_FLEX_ALIGN_CENTER, LV_FLEX_ALIGN_CENTER);
  20. }
  21. void toggle_state(void *obj, lv_state_t state, bool enabled) {
  22. if (enabled) {
  23. lv_obj_add_state(obj, state);
  24. } else {
  25. lv_obj_clear_state(obj, state);
  26. }
  27. }
  28. void toggle_hidden(void *obj, bool visible) {
  29. if (visible) {
  30. lv_obj_clear_flag(obj, LV_OBJ_FLAG_HIDDEN);
  31. } else {
  32. lv_obj_add_flag(obj, LV_OBJ_FLAG_HIDDEN);
  33. }
  34. }
  35. void resize_font(void *label, int32_t font_size) {
  36. dprintf("font size %ld\n", font_size);
  37. #if LV_FONT_MONTSERRAT_8
  38. if (font_size == 8) return lv_obj_set_style_text_font(label, &lv_font_montserrat_8, LV_PART_MAIN);
  39. #endif
  40. #if LV_FONT_MONTSERRAT_10
  41. if (font_size <= 10) return lv_obj_set_style_text_font(label, &lv_font_montserrat_8, LV_PART_MAIN);
  42. #endif
  43. #if LV_FONT_MONTSERRAT_12
  44. if (font_size <= 12) return lv_obj_set_style_text_font(label, &lv_font_montserrat_12, LV_PART_MAIN);
  45. #endif
  46. #if LV_FONT_MONTSERRAT_14
  47. if (font_size <= 14) return lv_obj_set_style_text_font(label, &lv_font_montserrat_14, LV_PART_MAIN);
  48. #endif
  49. #if LV_FONT_MONTSERRAT_16
  50. if (font_size <= 16) return lv_obj_set_style_text_font(label, &lv_font_montserrat_16, LV_PART_MAIN);
  51. #endif
  52. #if LV_FONT_MONTSERRAT_18
  53. if (font_size <= 18) return lv_obj_set_style_text_font(label, &lv_font_montserrat_18, LV_PART_MAIN);
  54. #endif
  55. #if LV_FONT_MONTSERRAT_20
  56. if (font_size <= 20) return lv_obj_set_style_text_font(label, &lv_font_montserrat_20, LV_PART_MAIN);
  57. #endif
  58. #if LV_FONT_MONTSERRAT_22
  59. if (font_size <= 22) return lv_obj_set_style_text_font(label, &lv_font_montserrat_22, LV_PART_MAIN);
  60. #endif
  61. #if LV_FONT_MONTSERRAT_24
  62. if (font_size <= 24) return lv_obj_set_style_text_font(label, &lv_font_montserrat_24, LV_PART_MAIN);
  63. #endif
  64. #if LV_FONT_MONTSERRAT_26
  65. if (font_size <= 26) return lv_obj_set_style_text_font(label, &lv_font_montserrat_26, LV_PART_MAIN);
  66. #endif
  67. #if LV_FONT_MONTSERRAT_28
  68. if (font_size <= 28) return lv_obj_set_style_text_font(label, &lv_font_montserrat_28, LV_PART_MAIN);
  69. #endif
  70. #if LV_FONT_MONTSERRAT_30
  71. if (font_size <= 30) return lv_obj_set_style_text_font(label, &lv_font_montserrat_30, LV_PART_MAIN);
  72. #endif
  73. #if LV_FONT_MONTSERRAT_32
  74. if (font_size <= 32) return lv_obj_set_style_text_font(label, &lv_font_montserrat_32, LV_PART_MAIN);
  75. #endif
  76. #if LV_FONT_MONTSERRAT_34
  77. if (font_size <= 34) return lv_obj_set_style_text_font(label, &lv_font_montserrat_34, LV_PART_MAIN);
  78. #endif
  79. #if LV_FONT_MONTSERRAT_36
  80. if (font_size <= 36) return lv_obj_set_style_text_font(label, &lv_font_montserrat_36, LV_PART_MAIN);
  81. #endif
  82. #if LV_FONT_MONTSERRAT_38
  83. if (font_size <= 38) return lv_obj_set_style_text_font(label, &lv_font_montserrat_38, LV_PART_MAIN);
  84. #endif
  85. #if LV_FONT_MONTSERRAT_40
  86. if (font_size <= 40) return lv_obj_set_style_text_font(label, &lv_font_montserrat_40, LV_PART_MAIN);
  87. #endif
  88. #if LV_FONT_MONTSERRAT_42
  89. if (font_size <= 42) return lv_obj_set_style_text_font(label, &lv_font_montserrat_42, LV_PART_MAIN);
  90. #endif
  91. #if LV_FONT_MONTSERRAT_44
  92. if (font_size <= 44) return lv_obj_set_style_text_font(label, &lv_font_montserrat_44, LV_PART_MAIN);
  93. #endif
  94. #if LV_FONT_MONTSERRAT_46
  95. if (font_size <= 46) return lv_obj_set_style_text_font(label, &lv_font_montserrat_46, LV_PART_MAIN);
  96. #endif
  97. #if LV_FONT_MONTSERRAT_48
  98. if (font_size <= 48) return lv_obj_set_style_text_font(label, &lv_font_montserrat_48, LV_PART_MAIN);
  99. #endif
  100. }
  101. void debug_set_obj_border(lv_obj_t *obj) {
  102. lv_color_t red = lv_color_hex(0xFF0000);
  103. lv_obj_set_style_border_color(obj, red, 0);
  104. lv_obj_set_style_border_width(obj, 1, 0);
  105. }