equals.c (1489B)
- // Copyright 2023 @boardsource
- // SPDX-License-Identifier: GPL-2.0-or-later
- #include "quantum.h"
- #ifdef QUANTUM_PAINTER_ENABLE
- #include "qp.h"
- #include "qp_st7735.h"
- #include "graphics/thintel15.qff.c"
- static painter_device_t oled;
- static painter_font_handle_t font;
- __attribute__((weak)) void ui_init(void) {
- oled = qp_st7735_make_spi_device(128, 160, OLED_CS_PIN, OLED_DC_PIN, OLED_RST_PIN, 8, 0);
- font = qp_load_font_mem(font_thintel15);
- qp_init(oled, QP_ROTATION_0);
- qp_rect(oled, 0, 0, 130, 162, 0, 0, 0, true);
- qp_rect(oled, 20, 20, 108, 60, 55, 55, 55, true);
- qp_rect(oled, 20, 80, 108, 120, 55, 55, 55, true);
- qp_flush(oled);
- }
- __attribute__((weak)) void ui_task(void) {
- static const char *text = "Layer:";
- int16_t width = qp_textwidth(font, text);
- qp_drawtext(oled, 20, 140, font, text);
- switch (get_highest_layer(layer_state)) {
- case 0:
- qp_drawtext(oled, (20 + width), 140, font, "QWERTY");
- break;
- case 1:
- qp_drawtext(oled, (20 + width), 140, font, "SYMBOL");
- break;
- case 2:
- qp_drawtext(oled, (20 + width), 140, font, "NUMBER");
- break;
- default:
- qp_drawtext(oled, (20 + width), 140, font, "_PANIC_");
- break;
- }
- }
- void keyboard_post_init_kb(void) {
- ui_init();
- keyboard_post_init_user();
- }
- void housekeeping_task_kb(void) {
- ui_task();
- }
- #endif // QUANTUM_PAINTER_ENABLE