mirror of
https://github.com/UberGuidoZ/Flipper.git
synced 2024-12-23 15:00:13 +00:00
31 lines
891 B
C
31 lines
891 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);
|
||
|
}
|