Files
Momentum-Firmware/applications/plugins/protoview/ui.c
2023-01-14 08:44:32 +01:00

27 lines
863 B
C

/* Copyright (C) 2022-2023 Salvatore Sanfilippo -- All Rights Reserved
* See the LICENSE file for information about the license. */
#include "app.h"
void canvas_draw_str_with_border(
Canvas* canvas,
uint8_t x,
uint8_t y,
const char* str,
Color text_color,
Color border_color) {
struct {
uint8_t x;
uint8_t y;
} dir[8] = {{-1, -1}, {0, -1}, {1, -1}, {1, 0}, {1, 1}, {0, 1}, {-1, 1}, {-1, 0}};
/* Rotate in all the directions writing the same string to create a
* border, then write the actual string in the other color in the
* middle. */
canvas_set_color(canvas, border_color);
for(int j = 0; j < 8; j++) canvas_draw_str(canvas, x + dir[j].x, y + dir[j].y, str);
canvas_set_color(canvas, text_color);
canvas_draw_str(canvas, x, y, str);
canvas_set_color(canvas, ColorBlack);
}