Replace bitmap icons by font icons (provided by AwesomeFont and LVGL). These icons are smaller in memory and quicker to draw.
BLE and battery icon replaced in Clock screen. Added heartbeat and step icons in Clock screen. Replace all labels in Menu by icons. Add doc to generate new font.
This commit is contained in:
parent
bb11891b6e
commit
da39f402e5
24 changed files with 343 additions and 9275 deletions
|
@ -363,7 +363,7 @@ list(APPEND SOURCE_FILES
|
||||||
${TINYCRYPT_SRC}
|
${TINYCRYPT_SRC}
|
||||||
${NIMBLE_SRC}
|
${NIMBLE_SRC}
|
||||||
${LVGL_SRC}
|
${LVGL_SRC}
|
||||||
${IMAGE_FILES}
|
#${IMAGE_FILES}
|
||||||
${SDK_SOURCE_FILES}
|
${SDK_SOURCE_FILES}
|
||||||
|
|
||||||
DisplayApp/LittleVgl.cpp
|
DisplayApp/LittleVgl.cpp
|
||||||
|
@ -443,6 +443,7 @@ set(INCLUDE_FILES
|
||||||
DisplayApp/LittleVgl.h
|
DisplayApp/LittleVgl.h
|
||||||
SystemTask/SystemTask.h
|
SystemTask/SystemTask.h
|
||||||
SystemTask/SystemMonitor.h
|
SystemTask/SystemMonitor.h
|
||||||
|
DisplayApp/Screens/Symbols.h
|
||||||
)
|
)
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
#include <Components/Brightness/BrightnessController.h>
|
#include <Components/Brightness/BrightnessController.h>
|
||||||
#include <Components/Ble/BleController.h>
|
#include <Components/Ble/BleController.h>
|
||||||
#include <Components/DateTime/DateTimeController.h>
|
#include <Components/DateTime/DateTimeController.h>
|
||||||
#include "Fonts/lcdfont14.h"
|
|
||||||
#include "../drivers/Cst816s.h"
|
#include "../drivers/Cst816s.h"
|
||||||
#include "LittleVgl.h"
|
#include "LittleVgl.h"
|
||||||
#include <date/date.h>
|
#include <date/date.h>
|
||||||
|
|
15
src/DisplayApp/Fonts/Readme.md
Normal file
15
src/DisplayApp/Fonts/Readme.md
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
#Fonts
|
||||||
|
* [Jetbrains Mono](https://www.jetbrains.com/fr-fr/lp/mono/)
|
||||||
|
* [Awesome font from LVGL](https://lvgl.io/assets/others/FontAwesome5-Solid+Brands+Regular.woff)
|
||||||
|
|
||||||
|
## Generate the fonts:
|
||||||
|
|
||||||
|
* Open the [LVGL font converter](https://lvgl.io/tools/fontconverter)
|
||||||
|
* Name : jetbrains_mono_bold_20
|
||||||
|
* Size : 20
|
||||||
|
* Bpp : 1 bit-per-pixel
|
||||||
|
* Do not enable font compression and horizontal subpixel hinting
|
||||||
|
* Load the file `JetBrainsMono-Bold.woff` and specify the following range : `0x20-0x7f`
|
||||||
|
* Add a 2nd font, load the file `FontAwesome5-Solid+Brands+Regular.woff` and specify the following range : `0xf293, 0xf294, 0xf244, 0xf240, 0xf242, 0xf243, 0xf241, 0xf54b, 0xf21e, 0xf1e6, 0xf54b, 0xf017, 0xf129, 0xf03a, 0xf185`
|
||||||
|
* Click on Convert, and download the file `jetbrains_mono_bold_20.c` and copy it in `src/DisplayApp/Fonts`
|
||||||
|
|
|
@ -33,9 +33,9 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
|
||||||
0x82, 0x30, 0xc4, 0x0,
|
0x82, 0x30, 0xc4, 0x0,
|
||||||
|
|
||||||
/* U+24 "$" */
|
/* U+24 "$" */
|
||||||
0x1c, 0x7, 0x3, 0xf1, 0xfe, 0xe3, 0xf8, 0x7e,
|
0x8, 0x2, 0x1, 0xc1, 0xfe, 0xeb, 0xf2, 0x7c,
|
||||||
0x3, 0xe0, 0x7f, 0x7, 0xe0, 0x3c, 0x7, 0xe1,
|
0x83, 0xa0, 0x7c, 0xf, 0xc0, 0xf8, 0x27, 0x9,
|
||||||
0xfc, 0xf7, 0xf8, 0xfc, 0x1c, 0x7, 0x0,
|
0xf2, 0x7f, 0xf9, 0xfc, 0x8, 0x2, 0x0, 0x80,
|
||||||
|
|
||||||
/* U+25 "%" */
|
/* U+25 "%" */
|
||||||
0x78, 0x1f, 0x83, 0x30, 0x66, 0x1f, 0xcc, 0xf2,
|
0x78, 0x1f, 0x83, 0x30, 0x66, 0x1f, 0xcc, 0xf2,
|
||||||
|
@ -83,7 +83,7 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
|
||||||
0xe, 0x3, 0x80, 0xc0, 0x70, 0x18, 0xe, 0x0,
|
0xe, 0x3, 0x80, 0xc0, 0x70, 0x18, 0xe, 0x0,
|
||||||
|
|
||||||
/* U+30 "0" */
|
/* U+30 "0" */
|
||||||
0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xe1, 0xfb, 0x7e,
|
0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xed, 0xfb, 0x7e,
|
||||||
0xdf, 0xb7, 0xed, 0xf8, 0x7e, 0x1f, 0xcf, 0x7f,
|
0xdf, 0xb7, 0xed, 0xf8, 0x7e, 0x1f, 0xcf, 0x7f,
|
||||||
0x8f, 0x80,
|
0x8f, 0x80,
|
||||||
|
|
||||||
|
@ -241,7 +241,7 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
|
||||||
0xb8, 0x70,
|
0xb8, 0x70,
|
||||||
|
|
||||||
/* U+53 "S" */
|
/* U+53 "S" */
|
||||||
0x3f, 0x1f, 0xee, 0x3f, 0x87, 0xe0, 0x3e, 0x7,
|
0x3f, 0x1f, 0xee, 0x1f, 0x87, 0xe0, 0x3e, 0x7,
|
||||||
0xf0, 0x7e, 0x3, 0xc0, 0x7e, 0x1f, 0xcf, 0x7f,
|
0xf0, 0x7e, 0x3, 0xc0, 0x7e, 0x1f, 0xcf, 0x7f,
|
||||||
0x8f, 0xc0,
|
0x8f, 0xc0,
|
||||||
|
|
||||||
|
@ -260,9 +260,9 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
|
||||||
0x80, 0xf0, 0xf, 0x0, 0xf0,
|
0x80, 0xf0, 0xf, 0x0, 0xf0,
|
||||||
|
|
||||||
/* U+57 "W" */
|
/* U+57 "W" */
|
||||||
0xc6, 0x3c, 0x73, 0x47, 0x36, 0xf3, 0x6f, 0x26,
|
0xc6, 0x78, 0xcf, 0x39, 0xe7, 0x3e, 0xa6, 0xd6,
|
||||||
0xf6, 0x6d, 0x66, 0xd6, 0x69, 0x66, 0x9e, 0x69,
|
0xda, 0xdb, 0x5b, 0x6b, 0x6d, 0x2d, 0xe7, 0x3c,
|
||||||
0xe6, 0x9e, 0x39, 0xe3, 0x9e,
|
0xe7, 0x9c, 0xe3, 0x80,
|
||||||
|
|
||||||
/* U+58 "X" */
|
/* U+58 "X" */
|
||||||
0xe1, 0xd8, 0x67, 0x38, 0xcc, 0x3f, 0x7, 0x81,
|
0xe1, 0xd8, 0x67, 0x38, 0xcc, 0x3f, 0x7, 0x81,
|
||||||
|
@ -302,8 +302,8 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
|
||||||
0x63, 0x8e,
|
0x63, 0x8e,
|
||||||
|
|
||||||
/* U+61 "a" */
|
/* U+61 "a" */
|
||||||
0x1f, 0x1f, 0xef, 0x1c, 0x7, 0x3f, 0xdf, 0xfe,
|
0x3f, 0x1f, 0xee, 0x1c, 0x7, 0x3f, 0xdf, 0xfe,
|
||||||
0x1f, 0x87, 0xe3, 0xff, 0xf7, 0x9c,
|
0x1f, 0x87, 0xe3, 0xff, 0xf7, 0xdc,
|
||||||
|
|
||||||
/* U+62 "b" */
|
/* U+62 "b" */
|
||||||
0xe0, 0x38, 0xe, 0x3, 0xbc, 0xff, 0xbc, 0xfe,
|
0xe0, 0x38, 0xe, 0x3, 0xbc, 0xff, 0xbc, 0xfe,
|
||||||
|
@ -338,12 +338,12 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
|
||||||
0xc7, 0xe3, 0xf1, 0xf8, 0xfc, 0x7e, 0x3f, 0x1c,
|
0xc7, 0xe3, 0xf1, 0xf8, 0xfc, 0x7e, 0x3f, 0x1c,
|
||||||
|
|
||||||
/* U+69 "i" */
|
/* U+69 "i" */
|
||||||
0x8, 0x7, 0x0, 0x80, 0x0, 0xfc, 0x3f, 0x1,
|
0x1c, 0x7, 0x0, 0x0, 0x0, 0xfc, 0x3f, 0x1,
|
||||||
0xc0, 0x70, 0x1c, 0x7, 0x1, 0xc0, 0x70, 0x1c,
|
0xc0, 0x70, 0x1c, 0x7, 0x1, 0xc0, 0x70, 0x1c,
|
||||||
0x3f, 0xff, 0xfc,
|
0x3f, 0xff, 0xfc,
|
||||||
|
|
||||||
/* U+6A "j" */
|
/* U+6A "j" */
|
||||||
0x2, 0x7, 0x2, 0x0, 0x7f, 0x7f, 0x7, 0x7,
|
0x7, 0x7, 0x0, 0x0, 0x7f, 0x7f, 0x7, 0x7,
|
||||||
0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0xf,
|
0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0x7, 0xf,
|
||||||
0xfe, 0xfc,
|
0xfe, 0xfc,
|
||||||
|
|
||||||
|
@ -367,7 +367,7 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
|
||||||
|
|
||||||
/* U+6F "o" */
|
/* U+6F "o" */
|
||||||
0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0x7e,
|
0x3f, 0x1f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0x7e,
|
||||||
0x1f, 0x87, 0xf3, 0xdf, 0xe1, 0xf0,
|
0x1f, 0x87, 0xf3, 0xdf, 0xe3, 0xf0,
|
||||||
|
|
||||||
/* U+70 "p" */
|
/* U+70 "p" */
|
||||||
0xef, 0x3f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0x7e,
|
0xef, 0x3f, 0xef, 0x3f, 0x87, 0xe1, 0xf8, 0x7e,
|
||||||
|
@ -401,9 +401,8 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
|
||||||
0x30, 0xfc, 0x1e, 0x7, 0x81, 0xe0,
|
0x30, 0xfc, 0x1e, 0x7, 0x81, 0xe0,
|
||||||
|
|
||||||
/* U+77 "w" */
|
/* U+77 "w" */
|
||||||
0xc6, 0x24, 0x62, 0x4e, 0x66, 0xf6, 0x6f, 0x66,
|
0xc6, 0x79, 0xcf, 0x39, 0xb5, 0x36, 0xa6, 0xd6,
|
||||||
0xf6, 0x6b, 0x66, 0x94, 0x79, 0x43, 0x9c, 0x39,
|
0xda, 0xdb, 0x4e, 0x79, 0xcf, 0x38, 0xc7, 0x0,
|
||||||
0xc0,
|
|
||||||
|
|
||||||
/* U+78 "x" */
|
/* U+78 "x" */
|
||||||
0xe1, 0xdc, 0xe3, 0x30, 0xfc, 0x1e, 0x7, 0x81,
|
0xe1, 0xdc, 0xe3, 0x30, 0xfc, 0x1e, 0x7, 0x81,
|
||||||
|
@ -415,11 +414,11 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
|
||||||
0x6, 0x0,
|
0x6, 0x0,
|
||||||
|
|
||||||
/* U+7A "z" */
|
/* U+7A "z" */
|
||||||
0xff, 0xff, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
|
0xff, 0xff, 0xc1, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
|
||||||
0xe0, 0xe0, 0x7f, 0xff, 0xe0,
|
0xe0, 0xe0, 0x7f, 0xff, 0xe0,
|
||||||
|
|
||||||
/* U+7B "{" */
|
/* U+7B "{" */
|
||||||
0x3, 0x87, 0xc3, 0x81, 0xc0, 0xe0, 0x70, 0x38,
|
0x7, 0x87, 0xc3, 0x81, 0xc0, 0xe0, 0x70, 0x38,
|
||||||
0x1c, 0xfc, 0x7e, 0x3, 0x81, 0xc0, 0xe0, 0x70,
|
0x1c, 0xfc, 0x7e, 0x3, 0x81, 0xc0, 0xe0, 0x70,
|
||||||
0x38, 0x1c, 0xf, 0x83, 0xc0,
|
0x38, 0x1c, 0xf, 0x83, 0xc0,
|
||||||
|
|
||||||
|
@ -432,7 +431,110 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
|
||||||
0x7, 0x1, 0xc0, 0x70, 0xf8, 0x3c, 0x0,
|
0x7, 0x1, 0xc0, 0x70, 0xf8, 0x3c, 0x0,
|
||||||
|
|
||||||
/* U+7E "~" */
|
/* U+7E "~" */
|
||||||
0x78, 0xff, 0x3c, 0xff, 0x1e
|
0x78, 0xff, 0x3c, 0xff, 0x1e,
|
||||||
|
|
||||||
|
/* U+F017 "" */
|
||||||
|
0x3, 0xf8, 0x1, 0xff, 0xc0, 0x7f, 0xfc, 0x1f,
|
||||||
|
0xff, 0xc7, 0xf1, 0xfc, 0xfe, 0x3f, 0x9f, 0xc7,
|
||||||
|
0xf7, 0xf8, 0xff, 0xff, 0x1f, 0xff, 0xe3, 0xff,
|
||||||
|
0xfc, 0x3f, 0xff, 0x83, 0xff, 0xfc, 0x7e, 0xff,
|
||||||
|
0xcf, 0x9f, 0xff, 0xf1, 0xff, 0xfc, 0x1f, 0xff,
|
||||||
|
0x1, 0xff, 0xc0, 0x1f, 0xf0, 0x0, 0x70, 0x0,
|
||||||
|
|
||||||
|
/* U+F03A "" */
|
||||||
|
0xf0, 0x0, 0xf, 0x3f, 0xff, 0xf3, 0xff, 0xff,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0xf, 0x0, 0x0, 0xf3, 0xff, 0xff, 0x3f,
|
||||||
|
0xff, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0xf, 0x0, 0x0, 0xf3, 0xff, 0xff, 0x3f, 0xff,
|
||||||
|
0xf0, 0x0, 0x0,
|
||||||
|
|
||||||
|
/* U+F129 "" */
|
||||||
|
0x3c, 0x7e, 0x7e, 0x7e, 0x3c, 0x0, 0x0, 0xfc,
|
||||||
|
0xfc, 0xfc, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c,
|
||||||
|
0xff, 0xff, 0xff,
|
||||||
|
|
||||||
|
/* U+F185 "" */
|
||||||
|
0x0, 0x60, 0x0, 0x6, 0x0, 0x0, 0xf0, 0x1,
|
||||||
|
0xcf, 0x38, 0x1f, 0xff, 0x81, 0xf0, 0xf8, 0xc,
|
||||||
|
0xf3, 0x1, 0xdf, 0xb8, 0x7b, 0xfd, 0xef, 0xbf,
|
||||||
|
0xdf, 0x7b, 0xfd, 0xe1, 0x9f, 0x98, 0xc, 0xf3,
|
||||||
|
0x0, 0xc0, 0x30, 0x1f, 0xf, 0x81, 0xff, 0xf8,
|
||||||
|
0x1c, 0xf3, 0x80, 0xf, 0x0, 0x0, 0x60, 0x0,
|
||||||
|
0x6, 0x0,
|
||||||
|
|
||||||
|
/* U+F1E6 "" */
|
||||||
|
0x18, 0x30, 0x70, 0x70, 0xe0, 0xe1, 0xc1, 0xc3,
|
||||||
|
0x83, 0x80, 0x0, 0x3f, 0xff, 0xff, 0xff, 0x7f,
|
||||||
|
0xfc, 0xff, 0xf9, 0xff, 0xf1, 0xff, 0xc3, 0xff,
|
||||||
|
0x83, 0xfe, 0x3, 0xf8, 0x1, 0xc0, 0x3, 0x80,
|
||||||
|
0x7, 0x0, 0xe, 0x0,
|
||||||
|
|
||||||
|
/* U+F21E "" */
|
||||||
|
0x1e, 0x7, 0x83, 0xf9, 0xfe, 0x7f, 0xff, 0xef,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xfc,
|
||||||
|
0xf7, 0xf7, 0xd6, 0x3e, 0x79, 0x6b, 0xe0, 0x34,
|
||||||
|
0x80, 0x1f, 0x9f, 0x80, 0xf9, 0xf0, 0x7, 0xfe,
|
||||||
|
0x0, 0x3f, 0xc0, 0x1, 0xf8, 0x0, 0xf, 0x0,
|
||||||
|
0x0, 0x60, 0x0,
|
||||||
|
|
||||||
|
/* U+F240 "" */
|
||||||
|
0x7f, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xb8, 0x0,
|
||||||
|
0x1, 0xfd, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0x7f,
|
||||||
|
0x7f, 0xff, 0x9f, 0xbf, 0xff, 0xcf, 0xdf, 0xff,
|
||||||
|
0xe7, 0xe0, 0x0, 0x7, 0xf0, 0x0, 0x3, 0xff,
|
||||||
|
0xff, 0xff, 0xcf, 0xff, 0xff, 0xe0,
|
||||||
|
|
||||||
|
/* U+F241 "" */
|
||||||
|
0x7f, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xb8, 0x0,
|
||||||
|
0x1, 0xfd, 0xff, 0xe0, 0xfe, 0xff, 0xf0, 0x7f,
|
||||||
|
0x7f, 0xf8, 0x1f, 0xbf, 0xfc, 0xf, 0xdf, 0xfe,
|
||||||
|
0x7, 0xe0, 0x0, 0x7, 0xf0, 0x0, 0x3, 0xff,
|
||||||
|
0xff, 0xff, 0xcf, 0xff, 0xff, 0xe0,
|
||||||
|
|
||||||
|
/* U+F242 "" */
|
||||||
|
0x7f, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xb8, 0x0,
|
||||||
|
0x1, 0xfd, 0xfe, 0x0, 0xfe, 0xff, 0x0, 0x7f,
|
||||||
|
0x7f, 0x80, 0x1f, 0xbf, 0xc0, 0xf, 0xdf, 0xe0,
|
||||||
|
0x7, 0xe0, 0x0, 0x7, 0xf0, 0x0, 0x3, 0xff,
|
||||||
|
0xff, 0xff, 0xcf, 0xff, 0xff, 0xe0,
|
||||||
|
|
||||||
|
/* U+F243 "" */
|
||||||
|
0x7f, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xb8, 0x0,
|
||||||
|
0x1, 0xfd, 0xf0, 0x0, 0xfe, 0xf8, 0x0, 0x7f,
|
||||||
|
0x7c, 0x0, 0x1f, 0xbe, 0x0, 0xf, 0xdf, 0x0,
|
||||||
|
0x7, 0xe0, 0x0, 0x7, 0xf0, 0x0, 0x3, 0xff,
|
||||||
|
0xff, 0xff, 0xcf, 0xff, 0xff, 0xe0,
|
||||||
|
|
||||||
|
/* U+F244 "" */
|
||||||
|
0x7f, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xb8, 0x0,
|
||||||
|
0x1, 0xfc, 0x0, 0x0, 0xfe, 0x0, 0x0, 0x7f,
|
||||||
|
0x0, 0x0, 0x1f, 0x80, 0x0, 0xf, 0xc0, 0x0,
|
||||||
|
0x7, 0xe0, 0x0, 0x7, 0xf0, 0x0, 0x3, 0xff,
|
||||||
|
0xff, 0xff, 0xcf, 0xff, 0xff, 0xe0,
|
||||||
|
|
||||||
|
/* U+F293 "" */
|
||||||
|
0x7, 0xe0, 0x3f, 0xe0, 0xfb, 0xe3, 0xf3, 0xe7,
|
||||||
|
0xe3, 0xdf, 0xd3, 0xf9, 0xb3, 0xf9, 0x4f, 0xf8,
|
||||||
|
0x3f, 0xf8, 0xff, 0xf1, 0xff, 0xc1, 0xff, 0x29,
|
||||||
|
0xfc, 0xd9, 0xff, 0xa7, 0xbf, 0x1e, 0x7e, 0x7c,
|
||||||
|
0x7d, 0xf0, 0x7f, 0xe0, 0x7f, 0x0,
|
||||||
|
|
||||||
|
/* U+F294 "" */
|
||||||
|
0x0, 0x0, 0x80, 0x18, 0x3, 0x80, 0x78, 0x8d,
|
||||||
|
0xb9, 0x9b, 0xb6, 0x3f, 0x83, 0xe0, 0x38, 0x7,
|
||||||
|
0x81, 0xf8, 0x6d, 0x99, 0x9a, 0x36, 0x7, 0x80,
|
||||||
|
0xe0, 0x18, 0x2, 0x0, 0x0,
|
||||||
|
|
||||||
|
/* U+F54B "" */
|
||||||
|
0x0, 0xf, 0xf8, 0x1, 0xdf, 0xff, 0x1, 0xef,
|
||||||
|
0xff, 0xc0, 0xf7, 0xff, 0xf0, 0x7b, 0xff, 0xf8,
|
||||||
|
0x1d, 0xff, 0xfc, 0x0, 0x1f, 0xfc, 0x0, 0x3,
|
||||||
|
0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x7, 0xf8, 0x0, 0xf, 0xfe,
|
||||||
|
0x3, 0xbf, 0xff, 0x83, 0xdf, 0xff, 0xc1, 0xef,
|
||||||
|
0xff, 0xe0, 0xf7, 0xff, 0xe0, 0x3b, 0xff, 0xe0,
|
||||||
|
0x0, 0x7f, 0xc0, 0x0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -446,58 +548,58 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
|
||||||
{.bitmap_index = 1, .adv_w = 192, .box_w = 3, .box_h = 14, .ofs_x = 4, .ofs_y = 0},
|
{.bitmap_index = 1, .adv_w = 192, .box_w = 3, .box_h = 14, .ofs_x = 4, .ofs_y = 0},
|
||||||
{.bitmap_index = 7, .adv_w = 192, .box_w = 7, .box_h = 6, .ofs_x = 3, .ofs_y = 8},
|
{.bitmap_index = 7, .adv_w = 192, .box_w = 7, .box_h = 6, .ofs_x = 3, .ofs_y = 8},
|
||||||
{.bitmap_index = 13, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 13, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 33, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = -2},
|
{.bitmap_index = 33, .adv_w = 192, .box_w = 10, .box_h = 19, .ofs_x = 1, .ofs_y = -3},
|
||||||
{.bitmap_index = 56, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 57, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 76, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 77, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 96, .adv_w = 192, .box_w = 3, .box_h = 6, .ofs_x = 5, .ofs_y = 8},
|
{.bitmap_index = 97, .adv_w = 192, .box_w = 3, .box_h = 6, .ofs_x = 5, .ofs_y = 8},
|
||||||
{.bitmap_index = 99, .adv_w = 192, .box_w = 7, .box_h = 19, .ofs_x = 3, .ofs_y = -2},
|
{.bitmap_index = 100, .adv_w = 192, .box_w = 7, .box_h = 19, .ofs_x = 3, .ofs_y = -2},
|
||||||
{.bitmap_index = 116, .adv_w = 192, .box_w = 7, .box_h = 19, .ofs_x = 2, .ofs_y = -2},
|
{.bitmap_index = 117, .adv_w = 192, .box_w = 7, .box_h = 19, .ofs_x = 2, .ofs_y = -2},
|
||||||
{.bitmap_index = 133, .adv_w = 192, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 1},
|
{.bitmap_index = 134, .adv_w = 192, .box_w = 10, .box_h = 10, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 146, .adv_w = 192, .box_w = 10, .box_h = 9, .ofs_x = 1, .ofs_y = 2},
|
{.bitmap_index = 147, .adv_w = 192, .box_w = 10, .box_h = 9, .ofs_x = 1, .ofs_y = 2},
|
||||||
{.bitmap_index = 158, .adv_w = 192, .box_w = 5, .box_h = 6, .ofs_x = 3, .ofs_y = -3},
|
{.bitmap_index = 159, .adv_w = 192, .box_w = 5, .box_h = 6, .ofs_x = 3, .ofs_y = -3},
|
||||||
{.bitmap_index = 162, .adv_w = 192, .box_w = 8, .box_h = 2, .ofs_x = 2, .ofs_y = 5},
|
{.bitmap_index = 163, .adv_w = 192, .box_w = 8, .box_h = 2, .ofs_x = 2, .ofs_y = 5},
|
||||||
{.bitmap_index = 164, .adv_w = 192, .box_w = 4, .box_h = 4, .ofs_x = 4, .ofs_y = 0},
|
{.bitmap_index = 165, .adv_w = 192, .box_w = 4, .box_h = 4, .ofs_x = 4, .ofs_y = 0},
|
||||||
{.bitmap_index = 166, .adv_w = 192, .box_w = 10, .box_h = 19, .ofs_x = 1, .ofs_y = -2},
|
{.bitmap_index = 167, .adv_w = 192, .box_w = 10, .box_h = 19, .ofs_x = 1, .ofs_y = -2},
|
||||||
{.bitmap_index = 190, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 191, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 208, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
|
{.bitmap_index = 209, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
|
||||||
{.bitmap_index = 224, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 225, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 242, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 243, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 260, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 261, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 276, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
|
{.bitmap_index = 277, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
|
||||||
{.bitmap_index = 292, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 293, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 310, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 311, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 328, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 329, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 346, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 347, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 364, .adv_w = 192, .box_w = 3, .box_h = 11, .ofs_x = 4, .ofs_y = 0},
|
{.bitmap_index = 365, .adv_w = 192, .box_w = 3, .box_h = 11, .ofs_x = 4, .ofs_y = 0},
|
||||||
{.bitmap_index = 369, .adv_w = 192, .box_w = 5, .box_h = 14, .ofs_x = 3, .ofs_y = -3},
|
{.bitmap_index = 370, .adv_w = 192, .box_w = 5, .box_h = 14, .ofs_x = 3, .ofs_y = -3},
|
||||||
{.bitmap_index = 378, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 1},
|
{.bitmap_index = 379, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 1},
|
||||||
{.bitmap_index = 391, .adv_w = 192, .box_w = 9, .box_h = 7, .ofs_x = 2, .ofs_y = 3},
|
{.bitmap_index = 392, .adv_w = 192, .box_w = 9, .box_h = 7, .ofs_x = 2, .ofs_y = 3},
|
||||||
{.bitmap_index = 399, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 1},
|
{.bitmap_index = 400, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 1},
|
||||||
{.bitmap_index = 412, .adv_w = 192, .box_w = 8, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
|
{.bitmap_index = 413, .adv_w = 192, .box_w = 8, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
|
||||||
{.bitmap_index = 426, .adv_w = 192, .box_w = 11, .box_h = 17, .ofs_x = 1, .ofs_y = -3},
|
{.bitmap_index = 427, .adv_w = 192, .box_w = 11, .box_h = 17, .ofs_x = 1, .ofs_y = -3},
|
||||||
{.bitmap_index = 450, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
|
{.bitmap_index = 451, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
|
||||||
{.bitmap_index = 471, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 472, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 489, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 490, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 507, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 508, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 525, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
|
{.bitmap_index = 526, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
|
||||||
{.bitmap_index = 541, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
|
{.bitmap_index = 542, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
|
||||||
{.bitmap_index = 557, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 558, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 575, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 576, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 591, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
|
{.bitmap_index = 592, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
|
||||||
{.bitmap_index = 607, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 608, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 625, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 626, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 645, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
|
{.bitmap_index = 646, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
|
||||||
{.bitmap_index = 661, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 662, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 679, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 680, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 695, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 696, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 713, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 714, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 731, .adv_w = 192, .box_w = 10, .box_h = 17, .ofs_x = 1, .ofs_y = -3},
|
{.bitmap_index = 732, .adv_w = 192, .box_w = 10, .box_h = 17, .ofs_x = 1, .ofs_y = -3},
|
||||||
{.bitmap_index = 753, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 754, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 771, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 772, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 789, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 790, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 807, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 808, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 823, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
|
{.bitmap_index = 824, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
|
||||||
{.bitmap_index = 844, .adv_w = 192, .box_w = 12, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
|
{.bitmap_index = 845, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 0, .ofs_y = 0},
|
||||||
{.bitmap_index = 865, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 865, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 883, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 883, .adv_w = 192, .box_w = 11, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 903, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
|
{.bitmap_index = 903, .adv_w = 192, .box_w = 9, .box_h = 14, .ofs_x = 2, .ofs_y = 0},
|
||||||
|
@ -529,21 +631,38 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
|
||||||
{.bitmap_index = 1296, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 1296, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 1314, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 1314, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 1327, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 1327, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 1341, .adv_w = 192, .box_w = 12, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
|
{.bitmap_index = 1341, .adv_w = 192, .box_w = 11, .box_h = 11, .ofs_x = 0, .ofs_y = 0},
|
||||||
{.bitmap_index = 1358, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 1357, .adv_w = 192, .box_w = 10, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 1372, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = -3},
|
{.bitmap_index = 1371, .adv_w = 192, .box_w = 10, .box_h = 14, .ofs_x = 1, .ofs_y = -3},
|
||||||
{.bitmap_index = 1390, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 1389, .adv_w = 192, .box_w = 9, .box_h = 11, .ofs_x = 2, .ofs_y = 0},
|
||||||
{.bitmap_index = 1403, .adv_w = 192, .box_w = 9, .box_h = 18, .ofs_x = 2, .ofs_y = -2},
|
{.bitmap_index = 1402, .adv_w = 192, .box_w = 9, .box_h = 18, .ofs_x = 2, .ofs_y = -2},
|
||||||
{.bitmap_index = 1424, .adv_w = 192, .box_w = 3, .box_h = 18, .ofs_x = 5, .ofs_y = -2},
|
{.bitmap_index = 1423, .adv_w = 192, .box_w = 3, .box_h = 18, .ofs_x = 5, .ofs_y = -2},
|
||||||
{.bitmap_index = 1431, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = -2},
|
{.bitmap_index = 1430, .adv_w = 192, .box_w = 10, .box_h = 18, .ofs_x = 1, .ofs_y = -2},
|
||||||
{.bitmap_index = 1454, .adv_w = 192, .box_w = 10, .box_h = 4, .ofs_x = 1, .ofs_y = 5}
|
{.bitmap_index = 1453, .adv_w = 192, .box_w = 10, .box_h = 4, .ofs_x = 1, .ofs_y = 5},
|
||||||
|
{.bitmap_index = 1458, .adv_w = 320, .box_w = 19, .box_h = 20, .ofs_x = 0, .ofs_y = -3},
|
||||||
|
{.bitmap_index = 1506, .adv_w = 320, .box_w = 20, .box_h = 17, .ofs_x = 0, .ofs_y = -1},
|
||||||
|
{.bitmap_index = 1549, .adv_w = 120, .box_w = 8, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
|
||||||
|
{.bitmap_index = 1568, .adv_w = 320, .box_w = 20, .box_h = 20, .ofs_x = 0, .ofs_y = -3},
|
||||||
|
{.bitmap_index = 1618, .adv_w = 240, .box_w = 15, .box_h = 19, .ofs_x = 0, .ofs_y = -2},
|
||||||
|
{.bitmap_index = 1654, .adv_w = 320, .box_w = 20, .box_h = 17, .ofs_x = 0, .ofs_y = -1},
|
||||||
|
{.bitmap_index = 1697, .adv_w = 400, .box_w = 25, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
|
||||||
|
{.bitmap_index = 1735, .adv_w = 400, .box_w = 25, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
|
||||||
|
{.bitmap_index = 1773, .adv_w = 400, .box_w = 25, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
|
||||||
|
{.bitmap_index = 1811, .adv_w = 400, .box_w = 25, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
|
||||||
|
{.bitmap_index = 1849, .adv_w = 400, .box_w = 25, .box_h = 12, .ofs_x = 0, .ofs_y = 1},
|
||||||
|
{.bitmap_index = 1887, .adv_w = 280, .box_w = 15, .box_h = 20, .ofs_x = 1, .ofs_y = -3},
|
||||||
|
{.bitmap_index = 1925, .adv_w = 200, .box_w = 11, .box_h = 21, .ofs_x = 0, .ofs_y = -3},
|
||||||
|
{.bitmap_index = 1954, .adv_w = 400, .box_w = 25, .box_h = 19, .ofs_x = 0, .ofs_y = -2}
|
||||||
};
|
};
|
||||||
|
|
||||||
/*---------------------
|
/*---------------------
|
||||||
* CHARACTER MAPPING
|
* CHARACTER MAPPING
|
||||||
*--------------------*/
|
*--------------------*/
|
||||||
|
|
||||||
|
static const uint16_t unicode_list_1[] = {
|
||||||
|
0x0, 0x23, 0x112, 0x16e, 0x1cf, 0x207, 0x229, 0x22a,
|
||||||
|
0x22b, 0x22c, 0x22d, 0x27c, 0x27d, 0x534
|
||||||
|
};
|
||||||
|
|
||||||
/*Collect the unicode lists and glyph_id offsets*/
|
/*Collect the unicode lists and glyph_id offsets*/
|
||||||
static const lv_font_fmt_txt_cmap_t cmaps[] =
|
static const lv_font_fmt_txt_cmap_t cmaps[] =
|
||||||
|
@ -551,6 +670,10 @@ static const lv_font_fmt_txt_cmap_t cmaps[] =
|
||||||
{
|
{
|
||||||
.range_start = 32, .range_length = 95, .glyph_id_start = 1,
|
.range_start = 32, .range_length = 95, .glyph_id_start = 1,
|
||||||
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.range_start = 61463, .range_length = 1333, .glyph_id_start = 96,
|
||||||
|
.unicode_list = unicode_list_1, .glyph_id_ofs_list = NULL, .list_length = 14, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -567,7 +690,7 @@ static lv_font_fmt_txt_dsc_t font_dsc = {
|
||||||
.cmaps = cmaps,
|
.cmaps = cmaps,
|
||||||
.kern_dsc = NULL,
|
.kern_dsc = NULL,
|
||||||
.kern_scale = 0,
|
.kern_scale = 0,
|
||||||
.cmap_num = 1,
|
.cmap_num = 2,
|
||||||
.bpp = 1,
|
.bpp = 1,
|
||||||
.kern_classes = 0,
|
.kern_classes = 0,
|
||||||
.bitmap_format = 0
|
.bitmap_format = 0
|
||||||
|
@ -582,7 +705,7 @@ static lv_font_fmt_txt_dsc_t font_dsc = {
|
||||||
lv_font_t jetbrains_mono_bold_20 = {
|
lv_font_t jetbrains_mono_bold_20 = {
|
||||||
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
|
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
|
||||||
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
|
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
|
||||||
.line_height = 20, /*The maximum line height required by the font*/
|
.line_height = 21, /*The maximum line height required by the font*/
|
||||||
.base_line = 3, /*Baseline measured from the bottom of the line*/
|
.base_line = 3, /*Baseline measured from the bottom of the line*/
|
||||||
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
|
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
|
||||||
.subpx = LV_FONT_SUBPX_NONE,
|
.subpx = LV_FONT_SUBPX_NONE,
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,5 +0,0 @@
|
||||||
// Font data for LCD 14pt
|
|
||||||
extern const uint8_t lCD_14ptBitmaps[];
|
|
||||||
extern const FONT_INFO lCD_14ptFontInfo;
|
|
||||||
extern const FONT_CHAR_INFO lCD_14ptDescriptors[];
|
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,5 +0,0 @@
|
||||||
// Font data for LCD 70pt
|
|
||||||
extern const uint8_t lCD_70ptBitmaps[];
|
|
||||||
extern const FONT_INFO lCD_70ptFontInfo;
|
|
||||||
extern const FONT_CHAR_INFO lCD_70ptDescriptors[];
|
|
||||||
|
|
|
@ -1,62 +1,21 @@
|
||||||
#include "BatteryIcon.h"
|
#include "BatteryIcon.h"
|
||||||
|
#include "Symbols.h"
|
||||||
using namespace Pinetime::Applications::Screens;
|
using namespace Pinetime::Applications::Screens;
|
||||||
|
|
||||||
|
const char* BatteryIcon::GetBatteryIcon(float batteryPercent) {
|
||||||
extern lv_img_dsc_t ck_os_battery_error;
|
if(batteryPercent > 90.0f) return Symbols::batteryFull;
|
||||||
extern lv_img_dsc_t ck_os_batterycharging_100;
|
if(batteryPercent > 75.0f) return Symbols::batteryThreeQuarter;
|
||||||
extern lv_img_dsc_t ck_os_batterycharging_090;
|
if(batteryPercent > 50.0f) return Symbols::batteryHalf;
|
||||||
extern lv_img_dsc_t ck_os_batterycharging_080;
|
if(batteryPercent > 25.0f) return Symbols::batteryOneQuarter;
|
||||||
extern lv_img_dsc_t ck_os_batterycharging_070;
|
return Symbols::batteryEmpty;
|
||||||
extern lv_img_dsc_t ck_os_batterycharging_060;
|
|
||||||
extern lv_img_dsc_t ck_os_batterycharging_050;
|
|
||||||
extern lv_img_dsc_t ck_os_batterycharging_040;
|
|
||||||
extern lv_img_dsc_t ck_os_batterycharging_030;
|
|
||||||
extern lv_img_dsc_t ck_os_batterycharging_020;
|
|
||||||
extern lv_img_dsc_t ck_os_batterycharging_010;
|
|
||||||
extern lv_img_dsc_t ck_os_batterycharging_005;
|
|
||||||
|
|
||||||
extern lv_img_dsc_t ck_os_battery_100;
|
|
||||||
extern lv_img_dsc_t ck_os_battery_090;
|
|
||||||
extern lv_img_dsc_t ck_os_battery_080;
|
|
||||||
extern lv_img_dsc_t ck_os_battery_070;
|
|
||||||
extern lv_img_dsc_t ck_os_battery_060;
|
|
||||||
extern lv_img_dsc_t ck_os_battery_050;
|
|
||||||
extern lv_img_dsc_t ck_os_battery_040;
|
|
||||||
extern lv_img_dsc_t ck_os_battery_030;
|
|
||||||
extern lv_img_dsc_t ck_os_battery_020;
|
|
||||||
extern lv_img_dsc_t ck_os_battery_010;
|
|
||||||
extern lv_img_dsc_t ck_os_battery_005;
|
|
||||||
|
|
||||||
|
|
||||||
lv_img_dsc_t *BatteryIcon::GetIcon(bool isCharging, float batteryPercent) {
|
|
||||||
if(isCharging) {
|
|
||||||
if(batteryPercent > 90.0f) return &ck_os_batterycharging_100;
|
|
||||||
else if(batteryPercent > 80.0f) return &ck_os_batterycharging_090;
|
|
||||||
else if(batteryPercent > 70.0f) return &ck_os_batterycharging_080;
|
|
||||||
else if(batteryPercent > 60.0f) return &ck_os_batterycharging_070;
|
|
||||||
else if(batteryPercent > 50.0f) return &ck_os_batterycharging_060;
|
|
||||||
else if(batteryPercent > 40.0f) return &ck_os_batterycharging_050;
|
|
||||||
else if(batteryPercent > 30.0f) return &ck_os_batterycharging_040;
|
|
||||||
else if(batteryPercent > 20.0f) return &ck_os_batterycharging_030;
|
|
||||||
else if(batteryPercent > 10.0f) return &ck_os_batterycharging_020;
|
|
||||||
else if(batteryPercent > 5.0f) return &ck_os_batterycharging_010;
|
|
||||||
else return &ck_os_batterycharging_005;
|
|
||||||
} else {
|
|
||||||
if(batteryPercent > 90.0f) return &ck_os_battery_100;
|
|
||||||
else if(batteryPercent > 80.0f) return &ck_os_battery_090;
|
|
||||||
else if(batteryPercent > 70.0f) return &ck_os_battery_080;
|
|
||||||
else if(batteryPercent > 60.0f) return &ck_os_battery_070;
|
|
||||||
else if(batteryPercent > 50.0f) return &ck_os_battery_060;
|
|
||||||
else if(batteryPercent > 40.0f) return &ck_os_battery_050;
|
|
||||||
else if(batteryPercent > 30.0f) return &ck_os_battery_040;
|
|
||||||
else if(batteryPercent > 20.0f) return &ck_os_battery_030;
|
|
||||||
else if(batteryPercent > 10.0f) return &ck_os_battery_020;
|
|
||||||
else if(batteryPercent > 5.0f) return &ck_os_battery_010;
|
|
||||||
else return &ck_os_battery_005;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
lv_img_dsc_t *BatteryIcon::GetUnknownIcon() {
|
const char* BatteryIcon::GetUnknownIcon() {
|
||||||
return &ck_os_battery_error;
|
return Symbols::batteryEmpty;
|
||||||
|
}
|
||||||
|
|
||||||
|
const char *BatteryIcon::GetPlugIcon(bool isCharging) {
|
||||||
|
if(isCharging)
|
||||||
|
return Symbols::plug;
|
||||||
|
else return "";
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,8 +7,9 @@ namespace Pinetime {
|
||||||
namespace Screens {
|
namespace Screens {
|
||||||
class BatteryIcon {
|
class BatteryIcon {
|
||||||
public:
|
public:
|
||||||
static lv_img_dsc_t* GetUnknownIcon();
|
static const char* GetUnknownIcon();
|
||||||
static lv_img_dsc_t* GetIcon(bool isCharging, float batteryPercent);
|
static const char* GetBatteryIcon(float batteryPercent);
|
||||||
|
static const char* GetPlugIcon(bool isCharging);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,8 @@
|
||||||
#include "BleIcon.h"
|
#include "BleIcon.h"
|
||||||
|
#include "Symbols.h"
|
||||||
using namespace Pinetime::Applications::Screens;
|
using namespace Pinetime::Applications::Screens;
|
||||||
|
|
||||||
|
const char* BleIcon::GetIcon(bool isConnected) {
|
||||||
extern lv_img_dsc_t ck_os_bt_connected;
|
if(isConnected) return Symbols::bluetooth;
|
||||||
extern lv_img_dsc_t ck_os_bt_disconnected;
|
else return "";
|
||||||
|
|
||||||
lv_img_dsc_t *BleIcon::GetIcon(bool isConnected) {
|
|
||||||
if(isConnected) return &ck_os_bt_connected;
|
|
||||||
else return &ck_os_bt_disconnected;
|
|
||||||
}
|
}
|
|
@ -1,13 +1,11 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <libs/lvgl/src/lv_draw/lv_img_decoder.h>
|
|
||||||
|
|
||||||
namespace Pinetime {
|
namespace Pinetime {
|
||||||
namespace Applications {
|
namespace Applications {
|
||||||
namespace Screens {
|
namespace Screens {
|
||||||
class BleIcon {
|
class BleIcon {
|
||||||
public:
|
public:
|
||||||
static lv_img_dsc_t* GetIcon(bool isConnected);
|
static const char* GetIcon(bool isConnected);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +1,12 @@
|
||||||
#include <cstdio>
|
#include <cstdio>
|
||||||
#include <libs/date/includes/date/date.h>
|
#include <libs/date/includes/date/date.h>
|
||||||
#include <Components/DateTime/DateTimeController.h>
|
#include <Components/DateTime/DateTimeController.h>
|
||||||
#include <Version.h>
|
|
||||||
#include <libs/lvgl/lvgl.h>
|
#include <libs/lvgl/lvgl.h>
|
||||||
#include "Clock.h"
|
#include "Clock.h"
|
||||||
#include "../DisplayApp.h"
|
#include "../DisplayApp.h"
|
||||||
#include "BatteryIcon.h"
|
#include "BatteryIcon.h"
|
||||||
#include "BleIcon.h"
|
#include "BleIcon.h"
|
||||||
|
#include "Symbols.h"
|
||||||
using namespace Pinetime::Applications::Screens;
|
using namespace Pinetime::Applications::Screens;
|
||||||
extern lv_font_t jetbrains_mono_extrabold_compressed;
|
extern lv_font_t jetbrains_mono_extrabold_compressed;
|
||||||
extern lv_font_t jetbrains_mono_bold_20;
|
extern lv_font_t jetbrains_mono_bold_20;
|
||||||
|
@ -21,7 +20,7 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) {
|
||||||
Clock::Clock(DisplayApp* app,
|
Clock::Clock(DisplayApp* app,
|
||||||
Controllers::DateTime& dateTimeController,
|
Controllers::DateTime& dateTimeController,
|
||||||
Controllers::Battery& batteryController,
|
Controllers::Battery& batteryController,
|
||||||
Controllers::Ble& bleController) : Screen(app), currentDateTime{{}}, version {{}},
|
Controllers::Ble& bleController) : Screen(app), currentDateTime{{}},
|
||||||
dateTimeController{dateTimeController}, batteryController{batteryController}, bleController{bleController} {
|
dateTimeController{dateTimeController}, batteryController{batteryController}, bleController{bleController} {
|
||||||
displayedChar[0] = 0;
|
displayedChar[0] = 0;
|
||||||
displayedChar[1] = 0;
|
displayedChar[1] = 0;
|
||||||
|
@ -29,13 +28,18 @@ Clock::Clock(DisplayApp* app,
|
||||||
displayedChar[3] = 0;
|
displayedChar[3] = 0;
|
||||||
displayedChar[4] = 0;
|
displayedChar[4] = 0;
|
||||||
|
|
||||||
batteryIcon = lv_img_create(lv_scr_act(), NULL);
|
batteryIcon = lv_label_create(lv_scr_act(), NULL);
|
||||||
lv_img_set_src(batteryIcon, BatteryIcon::GetUnknownIcon());
|
lv_label_set_text(batteryIcon, Symbols::batteryFull);
|
||||||
lv_obj_align(batteryIcon, lv_scr_act(), LV_ALIGN_IN_TOP_RIGHT, 0, 0);
|
lv_obj_align(batteryIcon, lv_scr_act(), LV_ALIGN_IN_TOP_RIGHT, -5, 2);
|
||||||
|
|
||||||
|
batteryPlug = lv_label_create(lv_scr_act(), NULL);
|
||||||
|
lv_label_set_text(batteryPlug, Symbols::plug);
|
||||||
|
lv_obj_align(batteryPlug, batteryIcon, LV_ALIGN_OUT_LEFT_MID, -5, 0);
|
||||||
|
|
||||||
|
bleIcon = lv_label_create(lv_scr_act(), NULL);
|
||||||
|
lv_label_set_text(bleIcon, Symbols::bluetooth);
|
||||||
|
lv_obj_align(bleIcon, batteryPlug, LV_ALIGN_OUT_LEFT_MID, -5, 0);
|
||||||
|
|
||||||
bleIcon = lv_img_create(lv_scr_act(), NULL);
|
|
||||||
lv_img_set_src(bleIcon, BleIcon::GetIcon(false));
|
|
||||||
lv_obj_align(bleIcon, batteryIcon, LV_ALIGN_OUT_LEFT_MID, 0, 0);
|
|
||||||
|
|
||||||
label_date = lv_label_create(lv_scr_act(), NULL);
|
label_date = lv_label_create(lv_scr_act(), NULL);
|
||||||
|
|
||||||
|
@ -53,6 +57,27 @@ Clock::Clock(DisplayApp* app,
|
||||||
lv_obj_set_size(backgroundLabel, 240, 240);
|
lv_obj_set_size(backgroundLabel, 240, 240);
|
||||||
lv_obj_set_pos(backgroundLabel, 0, 0);
|
lv_obj_set_pos(backgroundLabel, 0, 0);
|
||||||
lv_label_set_text(backgroundLabel, "");
|
lv_label_set_text(backgroundLabel, "");
|
||||||
|
|
||||||
|
|
||||||
|
heartbeatIcon = lv_label_create(lv_scr_act(), NULL);
|
||||||
|
lv_label_set_text(heartbeatIcon, Symbols::heartBeat);
|
||||||
|
lv_obj_align(heartbeatIcon, lv_scr_act(), LV_ALIGN_IN_BOTTOM_LEFT, 5, -2);
|
||||||
|
|
||||||
|
heartbeatValue = lv_label_create(lv_scr_act(), NULL);
|
||||||
|
lv_label_set_text(heartbeatValue, "0");
|
||||||
|
lv_obj_align(heartbeatValue, heartbeatIcon, LV_ALIGN_OUT_RIGHT_MID, 5, 0);
|
||||||
|
|
||||||
|
heartbeatBpm = lv_label_create(lv_scr_act(), NULL);
|
||||||
|
lv_label_set_text(heartbeatBpm, "BPM");
|
||||||
|
lv_obj_align(heartbeatBpm, heartbeatValue, LV_ALIGN_OUT_RIGHT_MID, 5, 0);
|
||||||
|
|
||||||
|
stepValue = lv_label_create(lv_scr_act(), NULL);
|
||||||
|
lv_label_set_text(stepValue, "0");
|
||||||
|
lv_obj_align(stepValue, lv_scr_act(), LV_ALIGN_IN_BOTTOM_RIGHT, -5, -2);
|
||||||
|
|
||||||
|
stepIcon = lv_label_create(lv_scr_act(), NULL);
|
||||||
|
lv_label_set_text(stepIcon, Symbols::shoe);
|
||||||
|
lv_obj_align(stepIcon, stepValue, LV_ALIGN_OUT_LEFT_MID, -5, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
Clock::~Clock() {
|
Clock::~Clock() {
|
||||||
|
@ -63,17 +88,22 @@ bool Clock::Refresh() {
|
||||||
batteryPercentRemaining = batteryController.PercentRemaining();
|
batteryPercentRemaining = batteryController.PercentRemaining();
|
||||||
if (batteryPercentRemaining.IsUpdated()) {
|
if (batteryPercentRemaining.IsUpdated()) {
|
||||||
auto batteryPercent = batteryPercentRemaining.Get();
|
auto batteryPercent = batteryPercentRemaining.Get();
|
||||||
lv_img_set_src(batteryIcon, BatteryIcon::GetIcon(batteryController.IsCharging() || batteryController.IsPowerPresent(), batteryPercent));
|
lv_label_set_text(batteryIcon, BatteryIcon::GetBatteryIcon(batteryPercent));
|
||||||
|
auto isCharging = batteryController.IsCharging() || batteryController.IsPowerPresent();
|
||||||
|
lv_label_set_text(batteryPlug, BatteryIcon::GetPlugIcon(isCharging));
|
||||||
}
|
}
|
||||||
|
|
||||||
bleState = bleController.IsConnected();
|
bleState = bleController.IsConnected();
|
||||||
if (bleState.IsUpdated()) {
|
if (bleState.IsUpdated()) {
|
||||||
if(bleState.Get() == true) {
|
if(bleState.Get() == true) {
|
||||||
lv_img_set_src(bleIcon, BleIcon::GetIcon(true));
|
lv_label_set_text(bleIcon, BleIcon::GetIcon(true));
|
||||||
} else {
|
} else {
|
||||||
lv_img_set_src(bleIcon, BleIcon::GetIcon(false));
|
lv_label_set_text(bleIcon, BleIcon::GetIcon(false));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
lv_obj_align(batteryIcon, lv_scr_act(), LV_ALIGN_IN_TOP_RIGHT, -5, 5);
|
||||||
|
lv_obj_align(batteryPlug, batteryIcon, LV_ALIGN_OUT_LEFT_MID, -5, 0);
|
||||||
|
lv_obj_align(bleIcon, batteryPlug, LV_ALIGN_OUT_LEFT_MID, -5, 0);
|
||||||
|
|
||||||
currentDateTime = dateTimeController.CurrentDateTime();
|
currentDateTime = dateTimeController.CurrentDateTime();
|
||||||
|
|
||||||
|
@ -124,6 +154,25 @@ bool Clock::Refresh() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO heartbeat = heartBeatController.GetValue();
|
||||||
|
if(heartbeat.IsUpdated()) {
|
||||||
|
char heartbeatBuffer[4];
|
||||||
|
sprintf(heartbeatBuffer, "%d", heartbeat.Get());
|
||||||
|
lv_label_set_text(heartbeatValue, heartbeatBuffer);
|
||||||
|
lv_obj_align(heartbeatIcon, lv_scr_act(), LV_ALIGN_IN_BOTTOM_LEFT, 5, -2);
|
||||||
|
lv_obj_align(heartbeatValue, heartbeatIcon, LV_ALIGN_OUT_RIGHT_MID, 5, 0);
|
||||||
|
lv_obj_align(heartbeatBpm, heartbeatValue, LV_ALIGN_OUT_RIGHT_MID, 5, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO stepCount = stepController.GetValue();
|
||||||
|
if(stepCount.IsUpdated()) {
|
||||||
|
char stepBuffer[5];
|
||||||
|
sprintf(stepBuffer, "%lu", stepCount.Get());
|
||||||
|
lv_label_set_text(stepValue, stepBuffer);
|
||||||
|
lv_obj_align(stepValue, lv_scr_act(), LV_ALIGN_IN_BOTTOM_RIGHT, -5, -2);
|
||||||
|
lv_obj_align(stepIcon, stepValue, LV_ALIGN_OUT_LEFT_MID, -5, 0);
|
||||||
|
}
|
||||||
|
|
||||||
return running;
|
return running;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,16 +2,12 @@
|
||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <chrono>
|
#include <chrono>
|
||||||
#include <Components/Gfx/Gfx.h>
|
|
||||||
#include "Screen.h"
|
#include "Screen.h"
|
||||||
#include <bits/unique_ptr.h>
|
#include <bits/unique_ptr.h>
|
||||||
#include <libs/lvgl/src/lv_core/lv_style.h>
|
#include <libs/lvgl/src/lv_core/lv_style.h>
|
||||||
#include <libs/lvgl/src/lv_core/lv_obj.h>
|
#include <libs/lvgl/src/lv_core/lv_obj.h>
|
||||||
#include <Components/Battery/BatteryController.h>
|
#include <Components/Battery/BatteryController.h>
|
||||||
#include <Components/Ble/BleController.h>
|
#include <Components/Ble/BleController.h>
|
||||||
#include "../Fonts/lcdfont14.h"
|
|
||||||
#include "../Fonts/lcdfont70.h"
|
|
||||||
#include "../../Version.h"
|
|
||||||
|
|
||||||
namespace Pinetime {
|
namespace Pinetime {
|
||||||
namespace Applications {
|
namespace Applications {
|
||||||
|
@ -64,13 +60,21 @@ namespace Pinetime {
|
||||||
DirtyValue<uint8_t> batteryPercentRemaining {0};
|
DirtyValue<uint8_t> batteryPercentRemaining {0};
|
||||||
DirtyValue<bool> bleState {false};
|
DirtyValue<bool> bleState {false};
|
||||||
DirtyValue<std::chrono::time_point<std::chrono::system_clock, std::chrono::nanoseconds>> currentDateTime;
|
DirtyValue<std::chrono::time_point<std::chrono::system_clock, std::chrono::nanoseconds>> currentDateTime;
|
||||||
DirtyValue<Pinetime::Version> version;
|
DirtyValue<uint32_t> stepCount {0};
|
||||||
|
DirtyValue<uint8_t> heartbeat {0};
|
||||||
|
|
||||||
|
|
||||||
lv_obj_t* label_time;
|
lv_obj_t* label_time;
|
||||||
lv_obj_t* label_date;
|
lv_obj_t* label_date;
|
||||||
lv_obj_t* backgroundLabel;
|
lv_obj_t* backgroundLabel;
|
||||||
lv_obj_t * batteryIcon;
|
lv_obj_t * batteryIcon;
|
||||||
lv_obj_t * bleIcon;
|
lv_obj_t * bleIcon;
|
||||||
|
lv_obj_t* batteryPlug;
|
||||||
|
lv_obj_t* heartbeatIcon;
|
||||||
|
lv_obj_t* heartbeatValue;
|
||||||
|
lv_obj_t* heartbeatBpm;
|
||||||
|
lv_obj_t* stepIcon;
|
||||||
|
lv_obj_t* stepValue;
|
||||||
|
|
||||||
Controllers::DateTime& dateTimeController;
|
Controllers::DateTime& dateTimeController;
|
||||||
Controllers::Battery& batteryController;
|
Controllers::Battery& batteryController;
|
||||||
|
|
|
@ -2,16 +2,11 @@
|
||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <chrono>
|
#include <chrono>
|
||||||
#include <Components/Gfx/Gfx.h>
|
|
||||||
#include "Screen.h"
|
#include "Screen.h"
|
||||||
#include <bits/unique_ptr.h>
|
#include <bits/unique_ptr.h>
|
||||||
#include <libs/lvgl/src/lv_core/lv_style.h>
|
#include <libs/lvgl/src/lv_core/lv_style.h>
|
||||||
#include <libs/lvgl/src/lv_core/lv_obj.h>
|
#include <libs/lvgl/src/lv_core/lv_obj.h>
|
||||||
#include <Components/Battery/BatteryController.h>
|
|
||||||
#include <Components/Ble/BleController.h>
|
#include <Components/Ble/BleController.h>
|
||||||
#include "../Fonts/lcdfont14.h"
|
|
||||||
#include "../Fonts/lcdfont70.h"
|
|
||||||
#include "../../Version.h"
|
|
||||||
|
|
||||||
namespace Pinetime {
|
namespace Pinetime {
|
||||||
namespace Applications {
|
namespace Applications {
|
||||||
|
|
|
@ -1,17 +1,10 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <chrono>
|
|
||||||
#include <Components/Gfx/Gfx.h>
|
|
||||||
#include "Screen.h"
|
#include "Screen.h"
|
||||||
#include <bits/unique_ptr.h>
|
#include <bits/unique_ptr.h>
|
||||||
#include <libs/lvgl/src/lv_core/lv_style.h>
|
#include <libs/lvgl/src/lv_core/lv_style.h>
|
||||||
#include <libs/lvgl/src/lv_core/lv_obj.h>
|
#include <libs/lvgl/src/lv_core/lv_obj.h>
|
||||||
#include <Components/Battery/BatteryController.h>
|
|
||||||
#include <Components/Ble/BleController.h>
|
|
||||||
#include "../Fonts/lcdfont14.h"
|
|
||||||
#include "../Fonts/lcdfont70.h"
|
|
||||||
#include "../../Version.h"
|
|
||||||
|
|
||||||
namespace Pinetime {
|
namespace Pinetime {
|
||||||
namespace Applications {
|
namespace Applications {
|
||||||
|
|
|
@ -1,13 +1,8 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <chrono>
|
|
||||||
#include <Components/Gfx/Gfx.h>
|
|
||||||
#include "Screen.h"
|
#include "Screen.h"
|
||||||
#include <bits/unique_ptr.h>
|
#include <bits/unique_ptr.h>
|
||||||
#include "../Fonts/lcdfont14.h"
|
|
||||||
#include "../Fonts/lcdfont70.h"
|
|
||||||
#include "../../Version.h"
|
|
||||||
#include <lvgl/src/lv_core/lv_style.h>
|
#include <lvgl/src/lv_core/lv_style.h>
|
||||||
|
|
||||||
namespace Pinetime {
|
namespace Pinetime {
|
||||||
|
|
|
@ -2,16 +2,10 @@
|
||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <chrono>
|
#include <chrono>
|
||||||
#include <Components/Gfx/Gfx.h>
|
|
||||||
#include "Screen.h"
|
#include "Screen.h"
|
||||||
#include <bits/unique_ptr.h>
|
#include <bits/unique_ptr.h>
|
||||||
#include <libs/lvgl/src/lv_core/lv_style.h>
|
#include <libs/lvgl/src/lv_core/lv_style.h>
|
||||||
#include <libs/lvgl/src/lv_core/lv_obj.h>
|
#include <libs/lvgl/src/lv_core/lv_obj.h>
|
||||||
#include <Components/Battery/BatteryController.h>
|
|
||||||
#include <Components/Ble/BleController.h>
|
|
||||||
#include "../Fonts/lcdfont14.h"
|
|
||||||
#include "../Fonts/lcdfont70.h"
|
|
||||||
#include "../../Version.h"
|
|
||||||
|
|
||||||
namespace Pinetime {
|
namespace Pinetime {
|
||||||
namespace Applications {
|
namespace Applications {
|
||||||
|
|
|
@ -2,16 +2,10 @@
|
||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <chrono>
|
#include <chrono>
|
||||||
#include <Components/Gfx/Gfx.h>
|
|
||||||
#include "Screen.h"
|
#include "Screen.h"
|
||||||
#include <bits/unique_ptr.h>
|
#include <bits/unique_ptr.h>
|
||||||
#include <libs/lvgl/src/lv_core/lv_style.h>
|
#include <libs/lvgl/src/lv_core/lv_style.h>
|
||||||
#include <libs/lvgl/src/lv_core/lv_obj.h>
|
#include <libs/lvgl/src/lv_core/lv_obj.h>
|
||||||
#include <Components/Battery/BatteryController.h>
|
|
||||||
#include <Components/Ble/BleController.h>
|
|
||||||
#include "../Fonts/lcdfont14.h"
|
|
||||||
#include "../Fonts/lcdfont70.h"
|
|
||||||
#include "../../Version.h"
|
|
||||||
|
|
||||||
namespace Pinetime {
|
namespace Pinetime {
|
||||||
namespace Applications {
|
namespace Applications {
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#include <libs/lvgl/lvgl.h>
|
#include <libs/lvgl/lvgl.h>
|
||||||
#include <DisplayApp/DisplayApp.h>
|
#include <DisplayApp/DisplayApp.h>
|
||||||
#include "ScreenList.h"
|
#include "ScreenList.h"
|
||||||
|
#include "../../Version.h"
|
||||||
|
|
||||||
using namespace Pinetime::Applications::Screens;
|
using namespace Pinetime::Applications::Screens;
|
||||||
|
|
||||||
|
|
24
src/DisplayApp/Screens/Symbols.h
Normal file
24
src/DisplayApp/Screens/Symbols.h
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
namespace Pinetime {
|
||||||
|
namespace Applications {
|
||||||
|
namespace Screens {
|
||||||
|
namespace Symbols {
|
||||||
|
static constexpr char* batteryFull = "\xEF\x89\x80";
|
||||||
|
static constexpr char* batteryEmpty = "\xEF\x89\x84";
|
||||||
|
static constexpr char* batteryThreeQuarter = "\xEF\x89\x81";
|
||||||
|
static constexpr char* batteryHalf = "\xEF\x89\x82";
|
||||||
|
static constexpr char* batteryOneQuarter = "\xEF\x89\x83";
|
||||||
|
static constexpr char* heartBeat = "\xEF\x88\x9E";
|
||||||
|
static constexpr char* bluetoothFull = "\xEF\x8A\x93";
|
||||||
|
static constexpr char* bluetooth = "\xEF\x8A\x94";
|
||||||
|
static constexpr char* plug = "\xEF\x87\xA6";
|
||||||
|
static constexpr char* shoe = "\xEF\x95\x8B";
|
||||||
|
static constexpr char* clock = "\xEF\x80\x97";
|
||||||
|
static constexpr char* info = "\xEF\x84\xA9";
|
||||||
|
static constexpr char* list = "\xEF\x80\xBA";
|
||||||
|
static constexpr char* sun = "\xEF\x86\x85";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,13 +1,8 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <chrono>
|
|
||||||
#include <Components/Gfx/Gfx.h>
|
|
||||||
#include "Screen.h"
|
#include "Screen.h"
|
||||||
#include <bits/unique_ptr.h>
|
#include <bits/unique_ptr.h>
|
||||||
#include "../Fonts/lcdfont14.h"
|
|
||||||
#include "../Fonts/lcdfont70.h"
|
|
||||||
#include "../../Version.h"
|
|
||||||
#include <lvgl/src/lv_core/lv_style.h>
|
#include <lvgl/src/lv_core/lv_style.h>
|
||||||
|
|
||||||
namespace Pinetime {
|
namespace Pinetime {
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
#include <libs/lvgl/lvgl.h>
|
#include <libs/lvgl/lvgl.h>
|
||||||
#include "Tile.h"
|
#include "Tile.h"
|
||||||
#include <DisplayApp/DisplayApp.h>
|
#include <DisplayApp/DisplayApp.h>
|
||||||
|
#include "Symbols.h"
|
||||||
|
#include "../../Version.h"
|
||||||
|
|
||||||
using namespace Pinetime::Applications::Screens;
|
using namespace Pinetime::Applications::Screens;
|
||||||
|
|
||||||
|
@ -16,89 +17,17 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) {
|
||||||
screen->OnObjectEvent(obj, event, eventData);
|
screen->OnObjectEvent(obj, event, eventData);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const char * btnm_map1[] = {"Meter", "Gauge", "Clock", "\n", "Soft\nversion", "App2", "Brightness", ""};
|
static const char * btnm_map1[] = {Symbols::heartBeat, Symbols::shoe, Symbols::clock, "\n", Symbols::info, Symbols::list, Symbols::sun, ""};
|
||||||
|
|
||||||
Tile::Tile(DisplayApp* app) : Screen(app) {
|
Tile::Tile(DisplayApp* app) : Screen(app) {
|
||||||
modal.reset(new Modal(app));
|
modal.reset(new Modal(app));
|
||||||
/*
|
|
||||||
static lv_point_t valid_pos[] = {{0,0}, {LV_COORD_MIN, LV_COORD_MIN}};
|
|
||||||
tileview = lv_tileview_create(lv_scr_act(), NULL);
|
|
||||||
lv_tileview_set_valid_positions(tileview, valid_pos, 1);
|
|
||||||
lv_tileview_set_edge_flash(tileview, false);
|
|
||||||
|
|
||||||
tile1 = lv_obj_create(tileview, NULL);
|
|
||||||
lv_obj_set_pos(tile1, 0, 0);
|
|
||||||
lv_obj_set_size(tile1, LV_HOR_RES, LV_VER_RES);
|
|
||||||
lv_tileview_add_element(tileview, tile1);
|
|
||||||
*/
|
|
||||||
btnm1 = lv_btnm_create(lv_scr_act(), NULL);
|
btnm1 = lv_btnm_create(lv_scr_act(), NULL);
|
||||||
lv_btnm_set_map(btnm1, btnm_map1);
|
lv_btnm_set_map(btnm1, btnm_map1);
|
||||||
lv_obj_set_size(btnm1, LV_HOR_RES, LV_VER_RES);
|
lv_obj_set_size(btnm1, LV_HOR_RES, LV_VER_RES);
|
||||||
|
|
||||||
// labelRelStyle = const_cast<lv_style_t *>(lv_label_get_style(btnm1, LV_BTNM_STYLE_BTN_REL));
|
|
||||||
// labelRelStyle->text.font = &jetbrains_mono_bold_20;
|
|
||||||
// labelRelStyle->body.grad_color = labelRelStyle->body.main_color;
|
|
||||||
// lv_btnm_set_style(btnm1, LV_BTNM_STYLE_BTN_REL, labelRelStyle);
|
|
||||||
//
|
|
||||||
// labelPrStyle = const_cast<lv_style_t *>(lv_label_get_style(btnm1, LV_BTNM_STYLE_BTN_PR));
|
|
||||||
// labelPrStyle->text.font = &jetbrains_mono_bold_20;
|
|
||||||
// labelPrStyle->body.grad_color = labelPrStyle->body.shadow.color;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// lv_btnm_set_style(btnm1, LV_BTNM_STYLE_BTN_PR, labelPrStyle);
|
|
||||||
//TODO better style handling
|
|
||||||
// lv_obj_align(btnm1, tile1, LV_ALIGN_CENTER, 0, 0);
|
|
||||||
btnm1->user_data = this;
|
btnm1->user_data = this;
|
||||||
lv_obj_set_event_cb(btnm1, event_handler);
|
lv_obj_set_event_cb(btnm1, event_handler);
|
||||||
|
|
||||||
/*
|
|
||||||
tile2 = lv_obj_create(tileview, NULL);
|
|
||||||
lv_obj_set_pos(tile2, 0, LV_VER_RES);
|
|
||||||
lv_obj_set_size(tile2, LV_HOR_RES, LV_VER_RES);
|
|
||||||
lv_tileview_add_element(tileview, tile2);
|
|
||||||
|
|
||||||
btnm2 = lv_btnm_create(tileview, NULL);
|
|
||||||
lv_btnm_set_map(btnm2, btnm_map2);
|
|
||||||
lv_obj_align(btnm2, tile2, LV_ALIGN_CENTER, 0, 0);
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
tile1 = lv_obj_create(tileview, NULL);
|
|
||||||
lv_obj_set_pos(tile1, 0, 0);
|
|
||||||
lv_obj_set_size(tile1, LV_HOR_RES, LV_VER_RES);
|
|
||||||
lv_tileview_add_element(tileview, tile1);
|
|
||||||
|
|
||||||
btn1 = lv_btn_create(tile1, NULL);
|
|
||||||
lv_obj_align(btn1, tile1, LV_ALIGN_CENTER, 0, 0);
|
|
||||||
|
|
||||||
label1 = lv_label_create(btn1, NULL);
|
|
||||||
lv_label_set_text(label1, "Button1");
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
tile2 = lv_obj_create(tileview, NULL);
|
|
||||||
lv_obj_set_pos(tile2, 0, LV_VER_RES);
|
|
||||||
lv_obj_set_size(tile2, LV_HOR_RES, LV_VER_RES);
|
|
||||||
lv_tileview_add_element(tileview, tile2);
|
|
||||||
|
|
||||||
btn2 = lv_btn_create(tile2, NULL);
|
|
||||||
lv_obj_align(btn2, tile2, LV_ALIGN_CENTER, 0, 0);
|
|
||||||
|
|
||||||
|
|
||||||
label2 = lv_label_create(btn2, NULL);
|
|
||||||
lv_label_set_text(label2, "Button2");
|
|
||||||
|
|
||||||
tile3 = lv_obj_create(tileview, NULL);
|
|
||||||
lv_obj_set_pos(tile3, 0, LV_VER_RES*2);
|
|
||||||
lv_obj_set_size(tile3, LV_HOR_RES, LV_VER_RES);
|
|
||||||
lv_tileview_add_element(tileview, tile3);
|
|
||||||
|
|
||||||
btn3 = lv_btn_create(tile3, NULL);
|
|
||||||
lv_obj_align(btn3, tile3, LV_ALIGN_CENTER, 0, 0);
|
|
||||||
|
|
||||||
|
|
||||||
label3 = lv_label_create(btn3, NULL);
|
|
||||||
lv_label_set_text(label3, "Button3");
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Tile::~Tile() {
|
Tile::~Tile() {
|
||||||
|
|
|
@ -1,13 +1,8 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <chrono>
|
|
||||||
#include <Components/Gfx/Gfx.h>
|
|
||||||
#include "Screen.h"
|
#include "Screen.h"
|
||||||
#include <bits/unique_ptr.h>
|
#include <bits/unique_ptr.h>
|
||||||
#include "../Fonts/lcdfont14.h"
|
|
||||||
#include "../Fonts/lcdfont70.h"
|
|
||||||
#include "../../Version.h"
|
|
||||||
#include "Modal.h"
|
#include "Modal.h"
|
||||||
#include <lvgl/src/lv_core/lv_style.h>
|
#include <lvgl/src/lv_core/lv_style.h>
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue