summaryrefslogtreecommitdiff
path: root/src/displayapp/screens/Symbols.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/displayapp/screens/Symbols.h')
-rw-r--r--src/displayapp/screens/Symbols.h233
1 files changed, 207 insertions, 26 deletions
diff --git a/src/displayapp/screens/Symbols.h b/src/displayapp/screens/Symbols.h
index e68a7af..86b4b8b 100644
--- a/src/displayapp/screens/Symbols.h
+++ b/src/displayapp/screens/Symbols.h
@@ -1,29 +1,129 @@
#pragma once
+ // For neofont:
+ // Layout for 3-byte codes: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
+ // U+F0000: 11110011 10110000 000000 000000
+ // Neofont glyph: 11110011 10110zzz zzzzyy yyyyyy
+ // CDD DEEEAA ABBBCC
+ // \xF3 \xB[0-7] \x[8-B]. \x[8-B].
+ // "\xF3\xB5\x80\x97"
+
+// h + (g<<1) + (f<<2) + (e<<3) + (d << 4) + (c << 5) + (b << 6) + (a << 7), \
+// 0 + (o<<1) + (n<<2) + (m<<3) + (l << 4) + (k << 5) + (j << 6) + (i << 7) \
+
+#define G( \
+ a,b,c, \
+ d,e,f, \
+ g,h,i, \
+ j,k,l, \
+ m,n,o \
+) { \
+ ((char)( 0xF3 )), \
+ ((char)( 0xB0 | (i<<2) | (j<<1) | k )), \
+ ((char)( 0x80 | (l<<5) | (m<<4) | (n<<3) | (o<<2) | (a<<1) | b )), \
+ ((char)( 0x80 | (c<<5) | (d<<4) | (e<<3) | (f<<2) | (g<<1) | h )), \
+ 0 \
+}
+
+#define X 1
+#define _ 0
+
namespace Pinetime {
namespace Applications {
namespace Screens {
namespace Symbols {
static constexpr const char* none = "";
- static constexpr const char* batteryFull = "\xEF\x89\x80";
- static constexpr const char* batteryEmpty = "\xEF\x89\x84";
- static constexpr const char* batteryThreeQuarter = "\xEF\x89\x81";
- static constexpr const char* batteryHalf = "\xEF\x89\x82";
- static constexpr const char* batteryOneQuarter = "\xEF\x89\x83";
- static constexpr const char* heartBeat = "\xEF\x88\x9E";
- static constexpr const char* bluetoothFull = "\xEF\x8A\x93";
- static constexpr const char* bluetooth = "\xEF\x8A\x94";
- static constexpr const char* plug = "\xEF\x87\xA6";
- static constexpr const char* shoe = "\xEF\x95\x8B";
+ static constexpr const char batteryFull[] =
+ // "\xEF\x89\x80";
+ G(_, X, _,
+ X, X, X,
+ X, X, X,
+ X, X, X,
+ X, X, X);
+ static constexpr const char batteryEmpty[] =
+ // "\xEF\x89\x84";
+ G(_, X, _,
+ X, _, X,
+ X, _, X,
+ X, _, X, // l is ignored!
+ X, X, X);
+ static constexpr const char batteryThreeQuarter[] =
+ // Was: "\xEF\x89\x81";
+ G(_, X, _,
+ X, X, X,
+ X, _, X,
+ X, X, X,
+ X, X, X);
+ static constexpr const char batteryHalf[] =
+ // Was: "\xEF\x89\x82";
+ G(_, X, _,
+ X, _, X,
+ X, X, X,
+ X, X, X,
+ X, X, X);
+ static constexpr const char batteryOneQuarter[] =
+ // Was: "\xEF\x89\x83";
+ G(_, X, _,
+ X, _, X,
+ X, _, X,
+ X, X, X,
+ X, X, X);
+ static constexpr const char heartBeat[] =
+ // Was: "\xEF\x88\x9E"
+ G(_, _, _,
+ X, _, X,
+ X, X, X,
+ _, X, _,
+ _, _, _);
+ static constexpr const char bluetoothFull[] =
+ // "\xEF\x8A\x93";
+ G(X, X, _,
+ _, X, X,
+ X, X, _,
+ _, X, X,
+ X, X, _);
+ static constexpr const char bluetooth[] =
+ // "\xEF\x8A\x94";
+ G(_, X, _,
+ _, X, X,
+ X, X, _,
+ _, X, X,
+ _, X, _);
+ static constexpr const char plug[] =
+ // "\xEF\x87\xA6";
+ G(X, _, X,
+ X, X, X,
+ X, X, X,
+ _, X, _,
+ _, X, _);
+ static constexpr const char shoe[] =
+ // "\xEF\x95\x8B";
+ G(_, _, _,
+ _, _, _,
+ _, _, X,
+ X, _, X,
+ X, _, _);
+ static constexpr const char music[] =
+ // "\xEF\x80\x81";
+ G(_, X, X,
+ _, _, X,
+ _, X, X,
+ X, X, X,
+ _, X, _);
static constexpr const char* clock = "\xEF\x80\x97";
static constexpr const char* info = "\xEF\x84\xA9";
static constexpr const char* list = "\xEF\x80\xBA";
static constexpr const char* sun = "\xEF\x86\x85";
static constexpr const char* check = "\xEF\x95\xA0";
- static constexpr const char* music = "\xEF\x80\x81";
static constexpr const char* tachometer = "\xEF\x8F\xBD";
static constexpr const char* asterisk = "\xEF\x81\xA9";
- static constexpr const char* paintbrush = "\xEF\x87\xBC";
+ static constexpr const char paintbrush[] =
+ // "\xEF\x87\xBC";
+ G(_, X, X,
+ _, X, X,
+ _, X, X,
+ _, X, X,
+ X, X, _);
static constexpr const char* paddle = "\xEF\x91\x9D";
static constexpr const char* map = "\xEF\x96\xa0";
static constexpr const char* qrcode = "\xEF\x80\xa9";
@@ -34,30 +134,111 @@ namespace Pinetime {
static constexpr const char* volumDown = "\xEF\x80\xA7";
static constexpr const char* stepForward = "\xEF\x81\x91";
static constexpr const char* stepBackward = "\xEF\x81\x88";
- static constexpr const char* play = "\xEF\x81\x8B";
- static constexpr const char* pause = "\xEF\x81\x8C";
- static constexpr const char* stop = "\xEF\x81\x8D";
- static constexpr const char* stopWatch = "\xEF\x8B\xB2";
- static constexpr const char* hourGlass = "\xEF\x89\x92";
- static constexpr const char* lapsFlag = "\xEF\x80\xA4";
+ static constexpr const char play[] =
+ // "\xEF\x81\x8B";
+ G(X, _, _,
+ X, X, _,
+ X, X, X,
+ X, X, _,
+ X, _, _);
+ static constexpr const char pause[] =
+ // "\xEF\x81\x8C";
+ G(_, _, _,
+ X, _, X,
+ X, _, X,
+ X, _, X,
+ _, _, _);
+ static constexpr const char stop[] =
+ // "\xEF\x81\x8D";
+ G(_, _, _,
+ X, X, X,
+ X, X, X,
+ X, X, X,
+ _, _, _);
+ static constexpr const char stopWatch[] =
+ // "\xEF\x8B\xB2";
+ G(X, _, _,
+ X, X, _,
+ X, X, X,
+ X, X, _,
+ X, _, _);
+ static constexpr const char hourGlass[] =
+ // "\xEF\x89\x92";
+ G(X, X, X,
+ X, X, X,
+ _, X, _,
+ X, X, X,
+ X, X, X);
+ static constexpr const char lapsFlag[] =
+ // "\xEF\x80\xA4";
+ G(_, X, _,
+ X, _, X,
+ X, _, _,
+ X, _, X,
+ _, X, _);
static constexpr const char* drum = "\xEF\x95\xA9";
static constexpr const char* chartLine = "\xEF\x88\x81";
static constexpr const char* eye = "\xEF\x81\xAE";
static constexpr const char* home = "\xEF\x80\x95";
// lv_font_sys_48.c
- static constexpr const char* settings = "\xEE\xA4\x82"; // e902
-
- static constexpr const char* brightnessHigh = "\xEE\xA4\x84"; // e904
- static constexpr const char* brightnessLow = "\xEE\xA4\x85"; // e905
- static constexpr const char* brightnessMedium = "\xEE\xA4\x86"; // e906
+ static constexpr const char settings[] =
+ // "\xEE\xA4\x82"; // e902
+ G(_, X, X,
+ X, _, _,
+ _, X, X,
+ _, X, _,
+ _, X, _);
- static constexpr const char* notificationsOff = "\xEE\xA4\x8B"; // e90b
- static constexpr const char* notificationsOn = "\xEE\xA4\x8C"; // e90c
+ static constexpr const char brightnessHigh[] =
+ // "\xEE\xA4\x84"; // e904
+ G(X, X, X,
+ _, X, _,
+ X, X, X,
+ _, X, _,
+ X, X, X);
+ static constexpr const char brightnessLow[] =
+ // "\xEE\xA4\x85"; // e905
+ G(_, _, _,
+ _, X, _,
+ X, X, X,
+ _, X, _,
+ _, _, _);
+ static constexpr const char brightnessMedium[] =
+ // "\xEE\xA4\x86"; // e906
+ G(_, X, _,
+ X, X, X,
+ _, X, _,
+ X, X, X,
+ _, X, _);
- static constexpr const char* highlight = "\xEE\xA4\x87"; // e907
+ static constexpr const char notificationsOff[] =
+ // "\xEE\xA4\x8B"; // e90b
+ G(_, X, _,
+ _, X, _,
+ X, X, _,
+ X, _, _,
+ _, X, X);
+ static constexpr const char notificationsOn[] =
+ // "\xEE\xA4\x8C"; // e90c
+ G(_, X, _,
+ _, X, _,
+ X, X, X,
+ X, X, X,
+ X, X, X);
+ static constexpr const char highlight[] =
+ // "\xEE\xA4\x87"; // e907
+ G(X, X, X,
+ X, X, X,
+ _, X, _,
+ _, X, _,
+ _, X, _);
}
}
}
}
+
+#undef G
+#undef X
+#undef _