add new bitmaps, bitmap drawing func (broken)
This commit is contained in:
+58
-2
@@ -3,6 +3,60 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
|
|
||||||
|
/* 24x24: no_flame */
|
||||||
|
// ··········██····█·······
|
||||||
|
// ···········██···██······
|
||||||
|
// ············██··········
|
||||||
|
// ············███·····█···
|
||||||
|
// ·······█····███····█····
|
||||||
|
// ·····██····█████··█···█·
|
||||||
|
// ····██···██████··█···█··
|
||||||
|
// ····█···██████··█···█···
|
||||||
|
// ···██··██████··█···█····
|
||||||
|
// ···█··██████··█···█·····
|
||||||
|
// ···█··█████··█···█······
|
||||||
|
// ······████··█···█·······
|
||||||
|
// ·······██··█···█··█··█··
|
||||||
|
// ··········█···█··██··██·
|
||||||
|
// ···█·····█···█··████··█·
|
||||||
|
// ··█·····█···█··█████····
|
||||||
|
// ··██···█···█··██████····
|
||||||
|
// ··██··█···█····█████····
|
||||||
|
// ·····█···█·····█████····
|
||||||
|
// ····█···█······█·███····
|
||||||
|
// ···█···█·········██·····
|
||||||
|
// ··█···█·········██······
|
||||||
|
// ·····█··██······█·······
|
||||||
|
// ····█··········█········
|
||||||
|
static const uint8_t G_NO_FLAME_BYTES[] = { 0x00, 0x00, 0x00, 0x00, 0xc0, 0x60, 0x20, 0x10, 0x80, 0xc0, 0xc1, 0xe3, 0xfe, 0xfc, 0x78, 0x20, 0x83, 0x42, 0x20, 0x10, 0x88, 0x40, 0x20, 0x00, 0x00, 0x00, 0x80, 0x47, 0x01, 0x00, 0x0e, 0x1f, 0x9f, 0x4f, 0x27, 0x13, 0x89, 0x44, 0x22, 0x91, 0xc8, 0xe4, 0xf2, 0xc1, 0x00, 0x30, 0x60, 0x00, 0x00, 0x00, 0x23, 0x13, 0x88, 0x44, 0x22, 0x11, 0x48, 0x44, 0x02, 0x01, 0x00, 0x00, 0x01, 0x8f, 0x67, 0x3f, 0x1f, 0x0f, 0x00, 0x00, 0x00, 0x00 };
|
||||||
|
|
||||||
|
/* 24x24: flame */
|
||||||
|
// ··········██····█·······
|
||||||
|
// ···········██···██······
|
||||||
|
// ············██··········
|
||||||
|
// ············███·········
|
||||||
|
// ·······█····███·········
|
||||||
|
// ·····██····█████···█····
|
||||||
|
// ····██···███████··█·····
|
||||||
|
// ····█···███████··██·····
|
||||||
|
// ···██··████████·██······
|
||||||
|
// ···█··████████··██······
|
||||||
|
// ···█··████████·███······
|
||||||
|
// ······████████·████·····
|
||||||
|
// ·······████·███·███··█··
|
||||||
|
// ········███·███████··██·
|
||||||
|
// ···█·····██··███████··█·
|
||||||
|
// ··█·······██·███████····
|
||||||
|
// ··██·····███··██████····
|
||||||
|
// ··█████·████···█████····
|
||||||
|
// ···█████████···█████····
|
||||||
|
// ····██████·····█·███····
|
||||||
|
// ·····███·········██·····
|
||||||
|
// ······███·······██······
|
||||||
|
// ········██······█·······
|
||||||
|
// ···············█········
|
||||||
|
static const uint8_t G_FLAME_BYTES[] = { 0x00, 0x00, 0x00, 0x00, 0xc0, 0x60, 0x20, 0x10, 0x80, 0xc0, 0xc1, 0xe3, 0xfe, 0xfc, 0xf8, 0x60, 0x03, 0x82, 0xc0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x47, 0x01, 0x00, 0x0e, 0x1f, 0x3f, 0x7f, 0xff, 0x8f, 0x3f, 0xff, 0xf1, 0xec, 0xff, 0xff, 0xf8, 0xc0, 0x00, 0x30, 0x60, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0e, 0x1e, 0x3e, 0x3c, 0x6e, 0x4f, 0x07, 0x07, 0x00, 0x00, 0x01, 0x8f, 0x67, 0x3f, 0x1f, 0x0f, 0x00, 0x00, 0x00, 0x00 };
|
||||||
|
|
||||||
/* 84x48: boot_logo */
|
/* 84x48: boot_logo */
|
||||||
// ····················································································
|
// ····················································································
|
||||||
// ·····································································████████·······
|
// ·····································································████████·······
|
||||||
@@ -55,17 +109,19 @@
|
|||||||
static const uint8_t G_BOOT_LOGO_BYTES[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0x40, 0xc0, 0xc0, 0x40, 0xc0, 0xa0, 0xa0, 0x20, 0xa0, 0xa0, 0xe0, 0x60, 0xd0, 0x90, 0xd0, 0xd0, 0xf0, 0xf0, 0xc8, 0xe8, 0xe8, 0xb8, 0xb8, 0x64, 0xd4, 0xb4, 0x94, 0x9c, 0x14, 0x0c, 0x0c, 0x1c, 0x14, 0x34, 0x34, 0x34, 0x12, 0x1a, 0x0a, 0x0a, 0x06, 0x82, 0x82, 0x82, 0x44, 0x44, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, 0xc0, 0x60, 0x60, 0x60, 0x50, 0x30, 0x30, 0x38, 0x3c, 0x3c, 0x2c, 0x2c, 0x3c, 0x2e, 0x2e, 0x3e, 0x3e, 0x37, 0x3d, 0x2b, 0x3f, 0x3d, 0x2f, 0x3f, 0x3f, 0x5f, 0x4d, 0xad, 0x25, 0x16, 0x1d, 0x1f, 0x1e, 0x0a, 0x1b, 0x09, 0x0d, 0x04, 0x02, 0x03, 0x03, 0xc3, 0x43, 0x43, 0x43, 0xa5, 0x63, 0x23, 0x22, 0x21, 0x91, 0xd1, 0x31, 0x11, 0x08, 0x08, 0x28, 0x58, 0x2c, 0x04, 0x34, 0x1c, 0x16, 0x0a, 0x0a, 0x16, 0x0a, 0x05, 0x01, 0x04, 0x0b, 0x0f, 0x3c, 0x10, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x09, 0x10, 0x10, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x38, 0xe8, 0x08, 0xf4, 0x4c, 0x32, 0x29, 0x10, 0x08, 0x00, 0x10, 0x48, 0x84, 0x02, 0x05, 0x02, 0x05, 0x02, 0x01, 0x00, 0x00, 0x02, 0x05, 0x82, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x80, 0x87, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x06, 0x08, 0x10, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x8c, 0xb0, 0xc0, 0x80, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x11, 0x16, 0x18, 0x30, 0x28, 0x08, 0x08, 0x08, 0x08, 0x04, 0x05, 0x06, 0x04, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0xa1, 0x41, 0xa1, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x0f, 0x10, 0x20, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x0c, 0x05, 0x06, 0x02, 0x02, 0x02, 0x01, 0x01, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x02, 0x07, 0x02, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x7f, 0x44, 0x44, 0x44, 0x2b, 0x10, 0x00, 0x02, 0xff, 0x19, 0x29, 0x29, 0x49, 0x49, 0xc6, 0x04, 0x0a, 0x09, 0x3f, 0x49, 0x49, 0x49, 0x49, 0x41, 0x21, 0x21, 0x00, 0x50, 0x38, 0x16, 0x11, 0x16, 0x18, 0x70, 0x40, 0x00, 0x21, 0x21, 0x3f, 0x21, 0x21, 0x11, 0x09, 0x06, 0x00, 0x0a, 0x09, 0x7f, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x1e, 0x21, 0x20, 0x20, 0x20, 0x20, 0x0e, 0x11, 0x20, 0x10, 0x09, 0x06, 0x00, 0x00, 0x00, 0x07, 0x18, 0x21, 0x1f, 0x08, 0x10, 0x20, 0x10, 0x0f, 0x00, 0x00, 0x00 };
|
static const uint8_t G_BOOT_LOGO_BYTES[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x20, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0x40, 0xc0, 0xc0, 0x40, 0xc0, 0xa0, 0xa0, 0x20, 0xa0, 0xa0, 0xe0, 0x60, 0xd0, 0x90, 0xd0, 0xd0, 0xf0, 0xf0, 0xc8, 0xe8, 0xe8, 0xb8, 0xb8, 0x64, 0xd4, 0xb4, 0x94, 0x9c, 0x14, 0x0c, 0x0c, 0x1c, 0x14, 0x34, 0x34, 0x34, 0x12, 0x1a, 0x0a, 0x0a, 0x06, 0x82, 0x82, 0x82, 0x44, 0x44, 0x28, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, 0xc0, 0x60, 0x60, 0x60, 0x50, 0x30, 0x30, 0x38, 0x3c, 0x3c, 0x2c, 0x2c, 0x3c, 0x2e, 0x2e, 0x3e, 0x3e, 0x37, 0x3d, 0x2b, 0x3f, 0x3d, 0x2f, 0x3f, 0x3f, 0x5f, 0x4d, 0xad, 0x25, 0x16, 0x1d, 0x1f, 0x1e, 0x0a, 0x1b, 0x09, 0x0d, 0x04, 0x02, 0x03, 0x03, 0xc3, 0x43, 0x43, 0x43, 0xa5, 0x63, 0x23, 0x22, 0x21, 0x91, 0xd1, 0x31, 0x11, 0x08, 0x08, 0x28, 0x58, 0x2c, 0x04, 0x34, 0x1c, 0x16, 0x0a, 0x0a, 0x16, 0x0a, 0x05, 0x01, 0x04, 0x0b, 0x0f, 0x3c, 0x10, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x09, 0x09, 0x10, 0x10, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x38, 0xe8, 0x08, 0xf4, 0x4c, 0x32, 0x29, 0x10, 0x08, 0x00, 0x10, 0x48, 0x84, 0x02, 0x05, 0x02, 0x05, 0x02, 0x01, 0x00, 0x00, 0x02, 0x05, 0x82, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x80, 0x87, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x06, 0x08, 0x10, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x8c, 0xb0, 0xc0, 0x80, 0x40, 0x40, 0x20, 0x20, 0x20, 0x20, 0x20, 0x11, 0x16, 0x18, 0x30, 0x28, 0x08, 0x08, 0x08, 0x08, 0x04, 0x05, 0x06, 0x04, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0xa1, 0x41, 0xa1, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x0f, 0x10, 0x20, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x0c, 0x05, 0x06, 0x02, 0x02, 0x02, 0x01, 0x01, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x02, 0x07, 0x02, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x7f, 0x44, 0x44, 0x44, 0x2b, 0x10, 0x00, 0x02, 0xff, 0x19, 0x29, 0x29, 0x49, 0x49, 0xc6, 0x04, 0x0a, 0x09, 0x3f, 0x49, 0x49, 0x49, 0x49, 0x41, 0x21, 0x21, 0x00, 0x50, 0x38, 0x16, 0x11, 0x16, 0x18, 0x70, 0x40, 0x00, 0x21, 0x21, 0x3f, 0x21, 0x21, 0x11, 0x09, 0x06, 0x00, 0x0a, 0x09, 0x7f, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x1e, 0x21, 0x20, 0x20, 0x20, 0x20, 0x0e, 0x11, 0x20, 0x10, 0x09, 0x06, 0x00, 0x00, 0x00, 0x07, 0x18, 0x21, 0x1f, 0x08, 0x10, 0x20, 0x10, 0x0f, 0x00, 0x00, 0x00 };
|
||||||
|
|
||||||
static const struct BitmapImage bitmaps[] = {
|
static const struct BitmapImage bitmaps[] = {
|
||||||
|
{ .name="no_flame", .width=24, .height=24, .bytes=G_NO_FLAME_BYTES },
|
||||||
|
{ .name="flame", .width=24, .height=24, .bytes=G_FLAME_BYTES },
|
||||||
{ .name="boot_logo", .width=84, .height=48, .bytes=G_BOOT_LOGO_BYTES },
|
{ .name="boot_logo", .width=84, .height=48, .bytes=G_BOOT_LOGO_BYTES },
|
||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct BitmapImage *Bitmap_Get(const char *name) {
|
const struct BitmapImage *Bitmap_Get(const char *name) {
|
||||||
const struct BitmapImage *ptr = &bitmaps[0];
|
const struct BitmapImage *ptr = bitmaps;
|
||||||
while (ptr->name) {
|
while (ptr->name) {
|
||||||
if (0 == strcmp(ptr->name, name)) {
|
if (0 == strcmp(ptr->name, name)) {
|
||||||
return ptr;
|
return ptr;
|
||||||
}
|
}
|
||||||
|
ptr++;
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
+22
-2
@@ -1,6 +1,7 @@
|
|||||||
#include "drawing.h"
|
#include "drawing.h"
|
||||||
#include "display_spec.h"
|
#include "display_spec.h"
|
||||||
#include "font.h"
|
#include "font.h"
|
||||||
|
#include "bitmaps.h"
|
||||||
|
|
||||||
extern uint8_t LCD_displayMap[LCD_WIDTH * LCD_HEIGHT / 8];
|
extern uint8_t LCD_displayMap[LCD_WIDTH * LCD_HEIGHT / 8];
|
||||||
|
|
||||||
@@ -314,13 +315,32 @@ void LCD_setStrEx(const char *dString, int x, int y, enum Color color, struct Te
|
|||||||
// This function will draw an array over the screen. (For now) the
|
// This function will draw an array over the screen. (For now) the
|
||||||
// array must be the same size as the screen, covering the entirety
|
// array must be the same size as the screen, covering the entirety
|
||||||
// of the display.
|
// of the display.
|
||||||
void LCD_setBitmap(const uint8_t *bitArray)
|
void LCD_setBitmapFullScreen(const uint8_t *bitArray)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < (LCD_WIDTH * LCD_HEIGHT / 8); i++) {
|
for (int i = 0; i < sizeof(LCD_displayMap); i++) {
|
||||||
LCD_displayMap[i] = bitArray[i];
|
LCD_displayMap[i] = bitArray[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void LCD_setBitmap(const struct BitmapImage *image, int x, int y, bool bg, enum Color color)
|
||||||
|
{
|
||||||
|
int byte_count = image->width * (image->height + 7) / 8;
|
||||||
|
|
||||||
|
for (int xi = 0; xi < image->width; xi++) {
|
||||||
|
for (int yi = 0; yi < image->height; yi++) {
|
||||||
|
int idx = xi + ((yi + 7) / 8) * image->width;
|
||||||
|
if (idx > byte_count) continue;
|
||||||
|
bool bit = image->bytes[idx] & (1 << yi);
|
||||||
|
if (bit) {
|
||||||
|
LCD_setPixel(x + xi, y + yi, color);
|
||||||
|
}
|
||||||
|
else if (bg) {
|
||||||
|
LCD_setPixel(x + xi, y + yi, !color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// This function clears the entire display either white (0) or
|
// This function clears the entire display either white (0) or
|
||||||
// black (1).
|
// black (1).
|
||||||
// The screen won't actually clear until you call updateDisplay()!
|
// The screen won't actually clear until you call updateDisplay()!
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
|
||||||
#include "utf8.h"
|
#include "utf8.h"
|
||||||
|
#include "bitmaps.h"
|
||||||
|
|
||||||
enum Color {
|
enum Color {
|
||||||
WHITE = 0,
|
WHITE = 0,
|
||||||
@@ -34,7 +35,7 @@ void LCD_setRect(int x0, int y0, int x1, int y1, bool fill, enum Color bw);
|
|||||||
// thickness ranging from 1 to the radius of the circle.
|
// thickness ranging from 1 to the radius of the circle.
|
||||||
void LCD_setCircle (int x0, int y0, int radius, enum Color bw, int lineThickness);
|
void LCD_setCircle (int x0, int y0, int radius, enum Color bw, int lineThickness);
|
||||||
|
|
||||||
void LCD_setBitmap(const uint8_t *bitArray);
|
void LCD_setBitmapFullScreen(const uint8_t *bitArray);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
FONT FUNCTIONS
|
FONT FUNCTIONS
|
||||||
@@ -84,4 +85,6 @@ void LCD_clearDisplay(enum Color bw);
|
|||||||
/* Invert colors (hard change in data; does NOT send to display immediately) */
|
/* Invert colors (hard change in data; does NOT send to display immediately) */
|
||||||
void LCD_invertDisplayData();
|
void LCD_invertDisplayData();
|
||||||
|
|
||||||
|
void LCD_setBitmap(const struct BitmapImage *image, int x, int y, bool bg, enum Color color);
|
||||||
|
|
||||||
#endif //LCD_DRAWING_H
|
#endif //LCD_DRAWING_H
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ static struct SceneEvent onTick(struct BootScene *self, uint32_t millis) {
|
|||||||
static void paint(struct BootScene *self)
|
static void paint(struct BootScene *self)
|
||||||
{
|
{
|
||||||
LCD_clearDisplay(0);
|
LCD_clearDisplay(0);
|
||||||
LCD_setBitmap(Bitmap_Get("boot_logo")->bytes);
|
LCD_setBitmapFullScreen(Bitmap_Get("boot_logo")->bytes);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct Scene *NewScene_Boot(void) {
|
struct Scene *NewScene_Boot(void) {
|
||||||
|
|||||||
@@ -78,12 +78,14 @@ static void paint(struct MenuScene *self)
|
|||||||
LCD_setStrEx(buf, XLINE/2, 0, BLACK, (struct TextStyle) {.size = FONT_DOUBLE, .align = ALIGN_CENTER});
|
LCD_setStrEx(buf, XLINE/2, 0, BLACK, (struct TextStyle) {.size = FONT_DOUBLE, .align = ALIGN_CENTER});
|
||||||
LCD_setStrEx("°C", XLINE/2, 17, BLACK, (struct TextStyle) {.align = ALIGN_CENTER}); //.size = FONT_BOLD,
|
LCD_setStrEx("°C", XLINE/2, 17, BLACK, (struct TextStyle) {.align = ALIGN_CENTER}); //.size = FONT_BOLD,
|
||||||
|
|
||||||
|
const struct BitmapImage *img;
|
||||||
if (fire_enabled()) {
|
if (fire_enabled()) {
|
||||||
strcpy(buf, "RUN");
|
img = Bitmap_Get("flame");
|
||||||
} else {
|
} else {
|
||||||
strcpy(buf, "Off");
|
img = Bitmap_Get("no_flame");
|
||||||
}
|
}
|
||||||
LCD_setStrEx(buf, 0, 30, BLACK, (struct TextStyle) {.size = FONT_BOLD});
|
|
||||||
|
LCD_setBitmap(img, XLINE/2-24/2, 26, false, BLACK);
|
||||||
|
|
||||||
priv->basePaint((struct Scene *) self);
|
priv->basePaint((struct Scene *) self);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user