#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 H( \ A,B,C,a,b,c, \ D,E,F,d,e,f, \ G,H,I,g,h,i, \ J,K,L,j,k,l, \ M,N,O,m,n,o \ ) { \ ((char)( 0xF3 )), \ ((char)( 0xB8 | (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 )), \ ((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 GGG( \ a1,b1,c1,A,B,C,a,b,c, \ d1,e1,f1,D,E,F,d,e,f, \ g1,h1,i1,G,H,I,g,h,i, \ j1,k1,l1,J,K,L,j,k,l, \ m1,n1,o1,M,N,O,m,n,o \ ) { \ ((char)( 0xF3 )), \ ((char)( 0xB8 | (i1<<2) | (j1<<1) | k1 )), \ ((char)( 0x80 | (l1<<5) | (m1<<4) | (n1<<3) | (o1<<2) | (a1<<1) | b1 )), \ ((char)( 0x80 | (c1<<5) | (d1<<4) | (e1<<3) | (f1<<2) | (g1<<1) | h1 )), \ ((char)( 0xF3 )), \ ((char)( 0xB8 | (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 )), \ ((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"; H(X, X, X, X, X, _, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, _, _, _, _, _, _, _); static constexpr const char batteryEmpty[] = // "\xEF\x89\x84"; H(X, X, X, X, X, _, X, _, _, _, _, X, X, _, _, _, _, X, X, X, X, X, X, _, _, _, _, _, _, _); static constexpr const char batteryThreeQuarter[] = // Was: "\xEF\x89\x81"; H(X, X, X, X, X, _, X, X, X, X, _, X, X, X, X, X, _, X, X, X, X, X, X, _, _, _, _, _, _, _); static constexpr const char batteryHalf[] = // Was: "\xEF\x89\x82"; H(X, X, X, X, X, _, X, X, X, _, _, X, X, X, X, _, _, X, X, X, X, X, X, _, _, _, _, _, _, _); static constexpr const char batteryOneQuarter[] = // Was: "\xEF\x89\x83"; H(X, X, X, X, X, _, X, X, _, _, _, X, X, X, _, _, _, X, X, X, X, X, X, _, _, _, _, _, _, _); static constexpr const char heartBeat[] = // Was: "\xEF\x88\x9E" H(_, X, _, X, _, _, X, X, X, X, X, _, X, X, X, 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"; H(_, X, X, X, X, X, _, X, _, _, _, X, _, X, _, _, _, X, X, X, _, _, X, X, X, X, _, _, X, X); static constexpr const char clock[] = // "\xEF\x80\x97"; H(_, X, X, X, _, _, X, _, X, _, X, _, X, _, X, _, X, _, X, _, _, _, X, _, _, X, X, X, _, _); static constexpr const char alarmClock[] = // "\xEF\x80\x97"; // GGG(_, _, _, _, _, X, _, _, X, // _, _, _, _, _, X, _, _, X, // X, X, _, _, X, X, _, X, X, // _, _, X, _, _, _, _, _, _, // _, _, X, _, _, _, _, _, _); H(_, _, _, _, _, X, _, _, _, X, _, X, _, X, _, _, _, _, X, X, X, _, _, _, _, X, _, _, _, _); // H(_, _, _, X, _, X, // _, _, _, X, _, X, // _, X, _, _, _, X, // X, X, X, _, _, _, // _, X, _, _, _, _); // H(_, _, _, _, _, X, // _, _, _, X, _, X, // X, X, _, X, _, X, // X, X, _, _, _, _, // _, _, _, _, _, _); // H(_, X, X, _, _, X, // X, X, X, X, _, X, // X, X, X, X, _, X, // _, X, X, _, _, _, // X, _, _, X, _, _); // H(_, _, _, _, _, X, // _, X, X, _, _, X, // X, X, X, X, _, _, // X, X, X, X, _, _, // _, X, X, _, _, _); // H(_, X, X, _, _, X, // X, _, _, X, _, X, // X, _, _, X, _, _, // _, X, X, _, _, _, // X, X, X, X, _, _); // H(_, _, _, X, _, X, // _, _, _, X, _, X, // _, X, _, _, _, _, // X, X, X, _, _, _, // _, X, _, _, _, _); // H(_, _, X, _, _, X, // _, _, _, X, _, X, // _, X, _, _, _, _, // X, X, X, _, _, _, // _, X, _, _, _, _); // H(_, X, _, _, X, _, // X, _, _, _, _, X, // _, _, X, X, _, _, // _, X, _, _, X, _, // _, X, _, _, X, _); // H(X, X, _, _, X, _, // X, _, X, _, _, X, // X, _, X, _, _, X, // _, _, X, _, _, _, // X, X, _, _, _, _); // GGG(_, X, X, X, _, _, X, _, _, // X, _, X, _, X, _, _, X, _, // X, _, X, _, X, _, _, X, _, // X, _, _, _, X, _, _, _, _, // _, X, X, X, _, _, _, _, _); // GGG(_, X, X, X, _, _, _, X, _, // X, _, X, _, X, _, _, X, _, // X, _, X, _, X, _, X, _, _, // X, _, _, _, X, _, _, _, _, // _, X, X, X, _, _, _, _, _); // GGG(_, _, _, _, _, X, _, _, X, // X, X, _, _, _, X, _, _, X, // _, _, X, _, X, X, _, X, X, // _, _, X, _, _, _, _, _, _, // X, X, _, _, _, _, _, _, _); // H(X, _, _, _, _, X, // X, _, _, _, _, X, // _, _, X, X, _, _, // _, X, _, _, X, _, // _, X, _, _, X, _); // H(_, X, _, X, _, _, // X, X, X, X, X, _, // _, X, X, X, _, _, // X, _, _, _, X, _, // X, _, X, _, X, _); 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* tachometer = "\xEF\x8F\xBD"; static constexpr const char* asterisk = "\xEF\x81\xA9"; 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"; static constexpr const char* phone = "\xEF\x82\x95"; static constexpr const char* phoneSlash = "\xEF\x8F\x9D"; static constexpr const char* volumMute = "\xEF\x9A\xA9"; static constexpr const char* volumUp = "\xEF\x80\xA8"; 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"; 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"; H(_, _, X, X, _, _, X, _, X, X, _, X, _, X, _, _, X, _, _, X, _, _, X, _, _, _, X, X, _, _); // G(X, _, _, // X, X, _, // X, X, X, // X, X, _, // X, _, _); static constexpr const char hourGlass[] = // "\xEF\x89\x92"; H(_, X, X, X, X, _, _, X, _, _, X, _, _, _, X, X, _, _, _, X, X, X, X, _, _, X, X, X, X, _); // G(X, X, X, // X, _, X, // _, X, _, // X, X, X, // X, X, X); static constexpr const char lapsFlag[] = // "\xEF\x80\xA4"; H(X, X, X, _, _, X, X, X, X, X, X, X, X, X, X, X, X, X, X, _, _, X, X, _, X, _, _, _, _, _); // H(_, X, X, X, _, _, // K, _, X, _, X, _, // X, _, X, _, X, _, // X, _, _, _, X, _, // _, X, X, X, _, _); // 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 H(X, X, X, _, _, _, _, _, X, X, X, X, _, _, X, X, X, X, X, X, X, _, _, _, _, _, _, _, _, _); static constexpr const char brightnessHigh[] = // "\xEE\xA4\x84"; // e904 H(_, X, X, X, X, _, X, X, X, X, X, X, X, X, _, _, X, X, X, X, X, X, X, X, _, X, X, X, X, _); // G(X, X, X, // _, X, _, // X, X, X, // _, X, _, // X, X, X); static constexpr const char brightnessLow[] = // "\xEE\xA4\x85"; // e905 H(_, X, X, X, X, _, X, _, _, _, _, X, X, _, X, X, _, X, X, _, _, _, _, X, _, X, X, X, X, _); // G(_, _, _, // _, X, _, // X, X, X, // _, X, _, // _, _, _); static constexpr const char brightnessMedium[] = // "\xEE\xA4\x86"; // e906 H(_, X, X, X, X, _, X, X, X, _, _, X, X, X, _, X, _, X, X, X, X, _, _, X, _, X, X, X, X, _); // G(_, X, _, // X, X, X, // _, X, _, // X, X, X, // _, X, _); static constexpr const char notificationsOff[] = // "\xEE\xA4\x8B"; // e90b H(_, _, X, _, _, _, _, X, X, _, _, _, X, _, X, _, _, _, _, X, X, X, _, _, X, X, X, X, X, _); // G(_, X, _, // _, X, _, // X, X, _, // X, _, _, // _, X, X); static constexpr const char notificationsOn[] = // "\xEE\xA4\x8C"; // e90c H(_, _, _, _, _, X, _, _, _, _, X, X, X, X, X, X, X, X, _, X, _, X, X, X, _, _, X, _, _, X); // G(_, X, _, // _, X, _, // X, X, X, // X, X, X, // X, X, X); static constexpr const char highlight[] = // "\xEE\xA4\x87"; // e907 H(_, _, _, X, X, _, X, X, X, _, _, X, X, X, X, X, _, X, X, X, X, _, _, X, _, _, _, X, X, _); } } } } #undef GGG #undef H #undef G #undef X #undef _