[new watchface] watchface inspired by G7710, with day of year and week number info
This commit is contained in:
parent
c0770cde8a
commit
319dfd23e7
15 changed files with 1967 additions and 5 deletions
|
@ -396,6 +396,7 @@ list(APPEND SOURCE_FILES
|
||||||
displayapp/screens/Motion.cpp
|
displayapp/screens/Motion.cpp
|
||||||
displayapp/screens/FlashLight.cpp
|
displayapp/screens/FlashLight.cpp
|
||||||
displayapp/screens/List.cpp
|
displayapp/screens/List.cpp
|
||||||
|
displayapp/screens/CheckboxList.cpp
|
||||||
displayapp/screens/BatteryInfo.cpp
|
displayapp/screens/BatteryInfo.cpp
|
||||||
displayapp/screens/Steps.cpp
|
displayapp/screens/Steps.cpp
|
||||||
displayapp/screens/Timer.cpp
|
displayapp/screens/Timer.cpp
|
||||||
|
@ -426,6 +427,7 @@ list(APPEND SOURCE_FILES
|
||||||
displayapp/screens/WatchFaceDigital.cpp
|
displayapp/screens/WatchFaceDigital.cpp
|
||||||
displayapp/screens/WatchFaceTerminal.cpp
|
displayapp/screens/WatchFaceTerminal.cpp
|
||||||
displayapp/screens/WatchFacePineTimeStyle.cpp
|
displayapp/screens/WatchFacePineTimeStyle.cpp
|
||||||
|
displayapp/screens/WatchFaceCasioStyleG7710.cpp
|
||||||
|
|
||||||
##
|
##
|
||||||
|
|
||||||
|
@ -600,6 +602,7 @@ set(INCLUDE_FILES
|
||||||
displayapp/screens/FirmwareUpdate.h
|
displayapp/screens/FirmwareUpdate.h
|
||||||
displayapp/screens/FirmwareValidation.h
|
displayapp/screens/FirmwareValidation.h
|
||||||
displayapp/screens/ApplicationList.h
|
displayapp/screens/ApplicationList.h
|
||||||
|
displayapp/screens/CheckboxList.h
|
||||||
displayapp/Apps.h
|
displayapp/Apps.h
|
||||||
displayapp/screens/Notifications.h
|
displayapp/screens/Notifications.h
|
||||||
displayapp/screens/HeartRate.h
|
displayapp/screens/HeartRate.h
|
||||||
|
|
|
@ -102,6 +102,14 @@ namespace Pinetime {
|
||||||
return appMenu;
|
return appMenu;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
void SetWatchfacesMenu(uint8_t menu) {
|
||||||
|
watchFacesMenu = menu;
|
||||||
|
};
|
||||||
|
|
||||||
|
uint8_t GetWatchfacesMenu() const {
|
||||||
|
return watchFacesMenu;
|
||||||
|
};
|
||||||
|
|
||||||
void SetSettingsMenu(uint8_t menu) {
|
void SetSettingsMenu(uint8_t menu) {
|
||||||
settingsMenu = menu;
|
settingsMenu = menu;
|
||||||
};
|
};
|
||||||
|
@ -212,7 +220,7 @@ namespace Pinetime {
|
||||||
private:
|
private:
|
||||||
Pinetime::Controllers::FS& fs;
|
Pinetime::Controllers::FS& fs;
|
||||||
|
|
||||||
static constexpr uint32_t settingsVersion = 0x0003;
|
static constexpr uint32_t settingsVersion = 0x0004;
|
||||||
struct SettingsData {
|
struct SettingsData {
|
||||||
uint32_t version = settingsVersion;
|
uint32_t version = settingsVersion;
|
||||||
uint32_t stepsGoal = 10000;
|
uint32_t stepsGoal = 10000;
|
||||||
|
@ -236,6 +244,8 @@ namespace Pinetime {
|
||||||
|
|
||||||
uint8_t appMenu = 0;
|
uint8_t appMenu = 0;
|
||||||
uint8_t settingsMenu = 0;
|
uint8_t settingsMenu = 0;
|
||||||
|
uint8_t watchFacesMenu = 0;
|
||||||
|
|
||||||
/* ble state is intentionally not saved with the other watch settings and initialized
|
/* ble state is intentionally not saved with the other watch settings and initialized
|
||||||
* to off (false) on every boot because we always want ble to be enabled on startup
|
* to off (false) on every boot because we always want ble to be enabled on startup
|
||||||
*/
|
*/
|
||||||
|
|
BIN
src/displayapp/fonts/7segment.woff
Normal file
BIN
src/displayapp/fonts/7segment.woff
Normal file
Binary file not shown.
735
src/displayapp/fonts/lv_font_7segment_115.c
Normal file
735
src/displayapp/fonts/lv_font_7segment_115.c
Normal file
|
@ -0,0 +1,735 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* Size: 115 px
|
||||||
|
* Bpp: 1
|
||||||
|
* Opts:
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
||||||
|
#include "lvgl.h"
|
||||||
|
#else
|
||||||
|
#include "lvgl/lvgl.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef LV_FONT_7SEGMENT_115
|
||||||
|
#define LV_FONT_7SEGMENT_115 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if LV_FONT_7SEGMENT_115
|
||||||
|
|
||||||
|
/*-----------------
|
||||||
|
* BITMAPS
|
||||||
|
*----------------*/
|
||||||
|
|
||||||
|
/*Store the image of the glyphs*/
|
||||||
|
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
|
||||||
|
/* U+0020 " " */
|
||||||
|
0x0,
|
||||||
|
|
||||||
|
/* U+0030 "0" */
|
||||||
|
0x0, 0xf, 0xff, 0xff, 0xff, 0x80, 0x0, 0x1f,
|
||||||
|
0xff, 0xff, 0xff, 0x88, 0x0, 0x1f, 0xff, 0xff,
|
||||||
|
0xff, 0xcf, 0x0, 0x7, 0xff, 0xff, 0xff, 0xc7,
|
||||||
|
0xc0, 0x11, 0xff, 0xff, 0xff, 0xe7, 0xe0, 0x1c,
|
||||||
|
0x7f, 0xff, 0xff, 0xf3, 0xf8, 0x1f, 0x1f, 0xff,
|
||||||
|
0xff, 0xf3, 0xfc, 0xf, 0xc7, 0xff, 0xff, 0xf9,
|
||||||
|
0xff, 0x7, 0xf1, 0xff, 0xff, 0xf9, 0xff, 0x83,
|
||||||
|
0xfc, 0x7f, 0xff, 0xfc, 0xff, 0xc3, 0xff, 0x0,
|
||||||
|
0x0, 0x0, 0x7f, 0xe1, 0xff, 0xc0, 0x0, 0x0,
|
||||||
|
0x7f, 0xf0, 0xff, 0xe0, 0x0, 0x0, 0x3f, 0xf8,
|
||||||
|
0x7f, 0xf0, 0x0, 0x0, 0x1f, 0xfc, 0x3f, 0xf8,
|
||||||
|
0x0, 0x0, 0xf, 0xfe, 0x1f, 0xfc, 0x0, 0x0,
|
||||||
|
0x7, 0xff, 0xf, 0xfe, 0x0, 0x0, 0x3, 0xff,
|
||||||
|
0x87, 0xff, 0x0, 0x0, 0x1, 0xff, 0x83, 0xff,
|
||||||
|
0x80, 0x0, 0x0, 0xff, 0xc1, 0xff, 0xc0, 0x0,
|
||||||
|
0x0, 0xff, 0xe0, 0xff, 0xe0, 0x0, 0x0, 0x7f,
|
||||||
|
0xf0, 0x7f, 0xe0, 0x0, 0x0, 0x3f, 0xf8, 0x3f,
|
||||||
|
0xf0, 0x0, 0x0, 0x1f, 0xfc, 0x1f, 0xf8, 0x0,
|
||||||
|
0x0, 0xf, 0xfe, 0xf, 0xfc, 0x0, 0x0, 0x7,
|
||||||
|
0xff, 0xf, 0xfe, 0x0, 0x0, 0x3, 0xff, 0x87,
|
||||||
|
0xff, 0x0, 0x0, 0x1, 0xff, 0xc3, 0xff, 0x80,
|
||||||
|
0x0, 0x0, 0xff, 0xe1, 0xff, 0xc0, 0x0, 0x0,
|
||||||
|
0x7f, 0xf0, 0xff, 0xe0, 0x0, 0x0, 0x3f, 0xf8,
|
||||||
|
0x7f, 0xf0, 0x0, 0x0, 0x1f, 0xfc, 0x3f, 0xf8,
|
||||||
|
0x0, 0x0, 0xf, 0xfe, 0x1f, 0xfc, 0x0, 0x0,
|
||||||
|
0x7, 0xff, 0xf, 0xfe, 0x0, 0x0, 0x3, 0xff,
|
||||||
|
0x7, 0xff, 0x0, 0x0, 0x1, 0xff, 0x83, 0xff,
|
||||||
|
0x80, 0x0, 0x1, 0xff, 0xc1, 0xff, 0x80, 0x0,
|
||||||
|
0x0, 0x7f, 0xe0, 0xff, 0x80, 0x0, 0x0, 0x1f,
|
||||||
|
0xf0, 0x7f, 0x0, 0x0, 0x0, 0x3, 0xf8, 0x1f,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0xf8, 0x7, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x38, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x30, 0x0, 0x0, 0x0,
|
||||||
|
0x1, 0x80, 0x7c, 0x0, 0x0, 0x0, 0x1, 0xe0,
|
||||||
|
0x7f, 0x0, 0x0, 0x0, 0x3, 0xfc, 0x3f, 0xe0,
|
||||||
|
0x0, 0x0, 0x3, 0xfe, 0x1f, 0xf8, 0x0, 0x0,
|
||||||
|
0x7, 0xfe, 0xf, 0xfe, 0x0, 0x0, 0x3, 0xff,
|
||||||
|
0x7, 0xff, 0x0, 0x0, 0x1, 0xff, 0x83, 0xff,
|
||||||
|
0x80, 0x0, 0x1, 0xff, 0xc1, 0xff, 0xc0, 0x0,
|
||||||
|
0x0, 0xff, 0xe0, 0xff, 0xc0, 0x0, 0x0, 0x7f,
|
||||||
|
0xf0, 0x7f, 0xe0, 0x0, 0x0, 0x3f, 0xf8, 0x3f,
|
||||||
|
0xf0, 0x0, 0x0, 0x1f, 0xfc, 0x3f, 0xf8, 0x0,
|
||||||
|
0x0, 0xf, 0xfe, 0x1f, 0xfc, 0x0, 0x0, 0x7,
|
||||||
|
0xff, 0xf, 0xfe, 0x0, 0x0, 0x3, 0xff, 0x87,
|
||||||
|
0xff, 0x0, 0x0, 0x1, 0xff, 0xc3, 0xff, 0x80,
|
||||||
|
0x0, 0x0, 0xff, 0xe1, 0xff, 0xc0, 0x0, 0x0,
|
||||||
|
0x7f, 0xf0, 0xff, 0xe0, 0x0, 0x0, 0x3f, 0xf8,
|
||||||
|
0x7f, 0xf0, 0x0, 0x0, 0x1f, 0xfc, 0x3f, 0xf8,
|
||||||
|
0x0, 0x0, 0xf, 0xfc, 0x1f, 0xfc, 0x0, 0x0,
|
||||||
|
0x7, 0xfe, 0xf, 0xfe, 0x0, 0x0, 0x3, 0xff,
|
||||||
|
0x7, 0xff, 0x0, 0x0, 0x3, 0xff, 0x83, 0xff,
|
||||||
|
0x80, 0x0, 0x1, 0xff, 0xc1, 0xff, 0x80, 0x0,
|
||||||
|
0x0, 0xff, 0xe0, 0xff, 0xc0, 0x0, 0x0, 0x7f,
|
||||||
|
0xf0, 0x7f, 0xe0, 0x0, 0x0, 0x3f, 0xf8, 0x3f,
|
||||||
|
0xf0, 0x0, 0x0, 0x1f, 0xfc, 0x3f, 0xf8, 0x0,
|
||||||
|
0x0, 0xf, 0xfe, 0x1f, 0xf8, 0x0, 0x0, 0x7,
|
||||||
|
0xff, 0xf, 0xf8, 0xff, 0xff, 0xf9, 0xff, 0x87,
|
||||||
|
0xf8, 0xff, 0xff, 0xfc, 0xff, 0xc3, 0xf8, 0xff,
|
||||||
|
0xff, 0xfe, 0x7f, 0xc0, 0xf8, 0xff, 0xff, 0xff,
|
||||||
|
0x9f, 0xe0, 0x70, 0xff, 0xff, 0xff, 0xcf, 0xe0,
|
||||||
|
0x11, 0xff, 0xff, 0xff, 0xe7, 0xf0, 0x1, 0xff,
|
||||||
|
0xff, 0xff, 0xf1, 0xf0, 0x1, 0xff, 0xff, 0xff,
|
||||||
|
0xfc, 0xf0, 0x0, 0x7f, 0xff, 0xff, 0xfe, 0x60,
|
||||||
|
0x0, 0xf, 0xff, 0xff, 0xff, 0x0, 0x0,
|
||||||
|
|
||||||
|
/* U+0031 "1" */
|
||||||
|
0x0, 0x40, 0x1, 0xc0, 0x3, 0xe0, 0xf, 0xc0,
|
||||||
|
0x1f, 0xc0, 0x3f, 0x80, 0xff, 0x81, 0xff, 0x7,
|
||||||
|
0xfe, 0xf, 0xfc, 0x3f, 0xf8, 0x7f, 0xf0, 0xff,
|
||||||
|
0xe1, 0xff, 0xc3, 0xff, 0x87, 0xff, 0xf, 0xfc,
|
||||||
|
0x1f, 0xf8, 0x3f, 0xf0, 0xff, 0xe1, 0xff, 0xc3,
|
||||||
|
0xff, 0x87, 0xff, 0xf, 0xfe, 0x1f, 0xfc, 0x3f,
|
||||||
|
0xf8, 0x7f, 0xf0, 0xff, 0xe1, 0xff, 0xc3, 0xff,
|
||||||
|
0x87, 0xff, 0xf, 0xfe, 0x1f, 0xf8, 0x3f, 0xf0,
|
||||||
|
0xff, 0xe0, 0xff, 0xc0, 0xff, 0x80, 0xff, 0x0,
|
||||||
|
0x7c, 0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0xc, 0x0, 0x7c, 0x1, 0xfe,
|
||||||
|
0x7, 0xfc, 0x3f, 0xf0, 0x7f, 0xe0, 0xff, 0xc3,
|
||||||
|
0xff, 0x87, 0xff, 0xf, 0xfe, 0x1f, 0xfc, 0x3f,
|
||||||
|
0xf8, 0x7f, 0xf0, 0xff, 0xe1, 0xff, 0xc3, 0xff,
|
||||||
|
0x87, 0xff, 0xf, 0xfe, 0x1f, 0xfc, 0x3f, 0xf8,
|
||||||
|
0x7f, 0xe0, 0xff, 0xc3, 0xff, 0x87, 0xff, 0xf,
|
||||||
|
0xfe, 0x1f, 0xfc, 0x3f, 0xf8, 0x7f, 0xf0, 0xff,
|
||||||
|
0xe1, 0xff, 0xc1, 0xff, 0x83, 0xff, 0x7, 0xfe,
|
||||||
|
0x7, 0xf8, 0xf, 0xf0, 0x1f, 0xc0, 0x1f, 0x80,
|
||||||
|
0x3e, 0x0, 0x78, 0x0, 0xc0, 0x0,
|
||||||
|
|
||||||
|
/* U+0032 "2" */
|
||||||
|
0x0, 0xf, 0xff, 0xff, 0xff, 0x80, 0x0, 0x1f,
|
||||||
|
0xff, 0xff, 0xff, 0x88, 0x0, 0x1f, 0xff, 0xff,
|
||||||
|
0xff, 0xcf, 0x0, 0x7, 0xff, 0xff, 0xff, 0xc7,
|
||||||
|
0xc0, 0x1, 0xff, 0xff, 0xff, 0xe7, 0xe0, 0x0,
|
||||||
|
0x7f, 0xff, 0xff, 0xf3, 0xf8, 0x0, 0x1f, 0xff,
|
||||||
|
0xff, 0xf3, 0xfc, 0x0, 0x7, 0xff, 0xff, 0xf9,
|
||||||
|
0xff, 0x0, 0x1, 0xff, 0xff, 0xf9, 0xff, 0x80,
|
||||||
|
0x0, 0x7f, 0xff, 0xfc, 0xff, 0xc0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x7f, 0xe0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x7f, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xf8,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x1f, 0xfc, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0xf, 0xfe, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x7, 0xff, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff,
|
||||||
|
0x80, 0x0, 0x0, 0x0, 0x1, 0xff, 0x80, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0xff, 0xc0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x7f, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x7f,
|
||||||
|
0xf0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xf8, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x1f, 0xfc, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0xf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x7,
|
||||||
|
0xff, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0x80,
|
||||||
|
0x0, 0x0, 0x0, 0x1, 0xff, 0xc0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x7f, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xf8,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x1f, 0xfc, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0xf, 0xfe, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x7, 0xff, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x1, 0xff, 0x80, 0x0,
|
||||||
|
0x0, 0x0, 0x1, 0xff, 0xc0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x1f,
|
||||||
|
0xf0, 0x0, 0xf, 0xff, 0xff, 0xc7, 0xf8, 0x0,
|
||||||
|
0xf, 0xff, 0xff, 0xf1, 0xf8, 0x0, 0x1f, 0xff,
|
||||||
|
0xff, 0xfc, 0x38, 0x0, 0x1f, 0xff, 0xff, 0xff,
|
||||||
|
0x88, 0x0, 0x3f, 0xff, 0xff, 0xff, 0xe0, 0x0,
|
||||||
|
0x1f, 0xff, 0xff, 0xff, 0xf0, 0x0, 0x3, 0xff,
|
||||||
|
0xff, 0xff, 0xe0, 0x0, 0x70, 0xff, 0xff, 0xff,
|
||||||
|
0xe0, 0x0, 0x7e, 0x3f, 0xff, 0xff, 0xc0, 0x0,
|
||||||
|
0x7f, 0x87, 0xff, 0xff, 0xc0, 0x0, 0x3f, 0xe0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x1f, 0xfc, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0xf, 0xfe, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x7, 0xff, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff,
|
||||||
|
0x80, 0x0, 0x0, 0x0, 0x1, 0xff, 0xc0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0xff, 0xc0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x7f, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x3f,
|
||||||
|
0xf0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xf8, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x1f, 0xfc, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0xf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x7,
|
||||||
|
0xff, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0x80,
|
||||||
|
0x0, 0x0, 0x0, 0x1, 0xff, 0xc0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0xff, 0xe0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x7f, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xf8,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x1f, 0xfc, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0xf, 0xfe, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x7, 0xff, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff,
|
||||||
|
0x80, 0x0, 0x0, 0x0, 0x1, 0xff, 0x80, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0xff, 0xc0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x7f, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x3f,
|
||||||
|
0xf0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xf8, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x1f, 0xf8, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0xf, 0xf8, 0xff, 0xff, 0xf8, 0x0, 0x7,
|
||||||
|
0xf8, 0xff, 0xff, 0xfc, 0x0, 0x3, 0xf8, 0xff,
|
||||||
|
0xff, 0xfe, 0x0, 0x0, 0xf8, 0xff, 0xff, 0xff,
|
||||||
|
0x80, 0x0, 0x70, 0xff, 0xff, 0xff, 0xc0, 0x0,
|
||||||
|
0x11, 0xff, 0xff, 0xff, 0xe0, 0x0, 0x1, 0xff,
|
||||||
|
0xff, 0xff, 0xf0, 0x0, 0x1, 0xff, 0xff, 0xff,
|
||||||
|
0xfc, 0x0, 0x0, 0x7f, 0xff, 0xff, 0xfe, 0x0,
|
||||||
|
0x0, 0xf, 0xff, 0xff, 0xff, 0x0, 0x0,
|
||||||
|
|
||||||
|
/* U+0033 "3" */
|
||||||
|
0x0, 0xff, 0xff, 0xff, 0xf8, 0x0, 0x1f, 0xff,
|
||||||
|
0xff, 0xff, 0x88, 0x1, 0xff, 0xff, 0xff, 0xfc,
|
||||||
|
0xf0, 0x7, 0xff, 0xff, 0xff, 0xc7, 0xc0, 0x1f,
|
||||||
|
0xff, 0xff, 0xfe, 0x7e, 0x0, 0x7f, 0xff, 0xff,
|
||||||
|
0xf3, 0xf8, 0x1, 0xff, 0xff, 0xff, 0x3f, 0xc0,
|
||||||
|
0x7, 0xff, 0xff, 0xf9, 0xff, 0x0, 0x1f, 0xff,
|
||||||
|
0xff, 0x9f, 0xf8, 0x0, 0x7f, 0xff, 0xfc, 0xff,
|
||||||
|
0xc0, 0x0, 0x0, 0x0, 0x7, 0xfe, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x7f, 0xf0, 0x0, 0x0, 0x0, 0x3,
|
||||||
|
0xff, 0x80, 0x0, 0x0, 0x0, 0x1f, 0xfc, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0xff, 0xe0, 0x0, 0x0, 0x0,
|
||||||
|
0x7, 0xff, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xf8,
|
||||||
|
0x0, 0x0, 0x0, 0x1, 0xff, 0x80, 0x0, 0x0,
|
||||||
|
0x0, 0xf, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x7f,
|
||||||
|
0xe0, 0x0, 0x0, 0x0, 0x7, 0xff, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x3f, 0xf8, 0x0, 0x0, 0x0, 0x1,
|
||||||
|
0xff, 0xc0, 0x0, 0x0, 0x0, 0xf, 0xfe, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x7f, 0xf0, 0x0, 0x0, 0x0,
|
||||||
|
0x3, 0xff, 0x80, 0x0, 0x0, 0x0, 0x1f, 0xfc,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0xff, 0xe0, 0x0, 0x0,
|
||||||
|
0x0, 0x7, 0xff, 0x0, 0x0, 0x0, 0x0, 0x3f,
|
||||||
|
0xf8, 0x0, 0x0, 0x0, 0x1, 0xff, 0xc0, 0x0,
|
||||||
|
0x0, 0x0, 0xf, 0xfe, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x7f, 0xf0, 0x0, 0x0, 0x0, 0x3, 0xff, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x1f, 0xf8, 0x0, 0x0, 0x0,
|
||||||
|
0x1, 0xff, 0xc0, 0x0, 0x0, 0x0, 0xf, 0xfe,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x1f, 0xf0, 0x0, 0xff,
|
||||||
|
0xff, 0xfc, 0x7f, 0x80, 0xf, 0xff, 0xff, 0xf1,
|
||||||
|
0xf8, 0x1, 0xff, 0xff, 0xff, 0xc3, 0x80, 0x1f,
|
||||||
|
0xff, 0xff, 0xff, 0x88, 0x3, 0xff, 0xff, 0xff,
|
||||||
|
0xfe, 0x0, 0x1f, 0xff, 0xff, 0xff, 0xf0, 0x0,
|
||||||
|
0x3f, 0xff, 0xff, 0xfe, 0x0, 0x0, 0xff, 0xff,
|
||||||
|
0xff, 0xe1, 0x80, 0x3, 0xff, 0xff, 0xfc, 0x3f,
|
||||||
|
0x0, 0x7, 0xff, 0xff, 0xc3, 0xfc, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x7f, 0xc0, 0x0, 0x0, 0x0, 0x7,
|
||||||
|
0xfe, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xf0, 0x0,
|
||||||
|
0x0, 0x0, 0x1, 0xff, 0x80, 0x0, 0x0, 0x0,
|
||||||
|
0x1f, 0xfc, 0x0, 0x0, 0x0, 0x0, 0xff, 0xe0,
|
||||||
|
0x0, 0x0, 0x0, 0x7, 0xff, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x3f, 0xf8, 0x0, 0x0, 0x0, 0x1, 0xff,
|
||||||
|
0xc0, 0x0, 0x0, 0x0, 0xf, 0xfe, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x7f, 0xf0, 0x0, 0x0, 0x0, 0x3,
|
||||||
|
0xff, 0x80, 0x0, 0x0, 0x0, 0x1f, 0xfc, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0xff, 0xe0, 0x0, 0x0, 0x0,
|
||||||
|
0x7, 0xff, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xf8,
|
||||||
|
0x0, 0x0, 0x0, 0x1, 0xff, 0xc0, 0x0, 0x0,
|
||||||
|
0x0, 0xf, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x7f,
|
||||||
|
0xe0, 0x0, 0x0, 0x0, 0x3, 0xff, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x3f, 0xf8, 0x0, 0x0, 0x0, 0x1,
|
||||||
|
0xff, 0xc0, 0x0, 0x0, 0x0, 0xf, 0xfe, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x7f, 0xf0, 0x0, 0x0, 0x0,
|
||||||
|
0x3, 0xff, 0x80, 0x0, 0x0, 0x0, 0x1f, 0xfc,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0xff, 0xe0, 0x0, 0x0,
|
||||||
|
0x0, 0x7, 0xff, 0x0, 0xf, 0xff, 0xff, 0x9f,
|
||||||
|
0xf8, 0x0, 0xff, 0xff, 0xfc, 0xff, 0xc0, 0xf,
|
||||||
|
0xff, 0xff, 0xe7, 0xfc, 0x0, 0xff, 0xff, 0xff,
|
||||||
|
0x9f, 0xe0, 0xf, 0xff, 0xff, 0xfc, 0xfe, 0x1,
|
||||||
|
0xff, 0xff, 0xff, 0xe7, 0xf0, 0x1f, 0xff, 0xff,
|
||||||
|
0xff, 0x1f, 0x1, 0xff, 0xff, 0xff, 0xfc, 0xf0,
|
||||||
|
0x7, 0xff, 0xff, 0xff, 0xe6, 0x0, 0xf, 0xff,
|
||||||
|
0xff, 0xff, 0x0, 0x0,
|
||||||
|
|
||||||
|
/* U+0034 "4" */
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x1e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7c, 0x18,
|
||||||
|
0x0, 0x0, 0x0, 0x3, 0xf8, 0x70, 0x0, 0x0,
|
||||||
|
0x0, 0xf, 0xe3, 0xe0, 0x0, 0x0, 0x0, 0x7f,
|
||||||
|
0xcf, 0xc0, 0x0, 0x0, 0x1, 0xff, 0x3f, 0x80,
|
||||||
|
0x0, 0x0, 0xf, 0xfd, 0xff, 0x0, 0x0, 0x0,
|
||||||
|
0x3f, 0xf7, 0xfe, 0x0, 0x0, 0x0, 0xff, 0xdf,
|
||||||
|
0xfc, 0x0, 0x0, 0x7, 0xff, 0x7f, 0xf0, 0x0,
|
||||||
|
0x0, 0x1f, 0xfd, 0xff, 0xc0, 0x0, 0x0, 0x7f,
|
||||||
|
0xf7, 0xff, 0x0, 0x0, 0x1, 0xff, 0xdf, 0xfc,
|
||||||
|
0x0, 0x0, 0x7, 0xff, 0x7f, 0xf0, 0x0, 0x0,
|
||||||
|
0x1f, 0xfd, 0xff, 0xc0, 0x0, 0x0, 0x7f, 0xe7,
|
||||||
|
0xff, 0x0, 0x0, 0x1, 0xff, 0x9f, 0xfc, 0x0,
|
||||||
|
0x0, 0xf, 0xfe, 0x7f, 0xf0, 0x0, 0x0, 0x3f,
|
||||||
|
0xf9, 0xff, 0x80, 0x0, 0x0, 0xff, 0xe7, 0xfe,
|
||||||
|
0x0, 0x0, 0x3, 0xff, 0x9f, 0xf8, 0x0, 0x0,
|
||||||
|
0xf, 0xfe, 0xff, 0xe0, 0x0, 0x0, 0x3f, 0xfb,
|
||||||
|
0xff, 0x80, 0x0, 0x0, 0xff, 0xef, 0xfe, 0x0,
|
||||||
|
0x0, 0x3, 0xff, 0xbf, 0xf8, 0x0, 0x0, 0xf,
|
||||||
|
0xfe, 0xff, 0xe0, 0x0, 0x0, 0x3f, 0xfb, 0xff,
|
||||||
|
0x80, 0x0, 0x0, 0xff, 0xef, 0xfe, 0x0, 0x0,
|
||||||
|
0x3, 0xff, 0xbf, 0xf8, 0x0, 0x0, 0xf, 0xfe,
|
||||||
|
0xff, 0xe0, 0x0, 0x0, 0x3f, 0xf3, 0xff, 0x80,
|
||||||
|
0x0, 0x0, 0xff, 0xcf, 0xfe, 0x0, 0x0, 0x7,
|
||||||
|
0xff, 0x3f, 0xf8, 0x0, 0x0, 0x1f, 0xfc, 0xff,
|
||||||
|
0x80, 0x0, 0x0, 0x1f, 0xf3, 0xfc, 0x7f, 0xff,
|
||||||
|
0xfe, 0x3f, 0xcf, 0xc3, 0xff, 0xff, 0xfc, 0x7e,
|
||||||
|
0xe, 0x3f, 0xff, 0xff, 0xf8, 0x70, 0x1, 0xff,
|
||||||
|
0xff, 0xff, 0xf8, 0x80, 0x1f, 0xff, 0xff, 0xff,
|
||||||
|
0xf0, 0x0, 0x7f, 0xff, 0xff, 0xff, 0xc0, 0x0,
|
||||||
|
0x7f, 0xff, 0xff, 0xfc, 0x0, 0x0, 0xff, 0xff,
|
||||||
|
0xff, 0xe1, 0x80, 0x1, 0xff, 0xff, 0xfe, 0x1f,
|
||||||
|
0x80, 0x1, 0xff, 0xff, 0xf0, 0xff, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0xf, 0xf8, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x7f, 0xe0, 0x0, 0x0, 0x0, 0x1, 0xff, 0x80,
|
||||||
|
0x0, 0x0, 0x0, 0x7, 0xfe, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x3f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0xff,
|
||||||
|
0xe0, 0x0, 0x0, 0x0, 0x3, 0xff, 0x80, 0x0,
|
||||||
|
0x0, 0x0, 0xf, 0xfe, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x3f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0xff, 0xe0,
|
||||||
|
0x0, 0x0, 0x0, 0x3, 0xff, 0x80, 0x0, 0x0,
|
||||||
|
0x0, 0xf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x3f,
|
||||||
|
0xf8, 0x0, 0x0, 0x0, 0x0, 0xff, 0xe0, 0x0,
|
||||||
|
0x0, 0x0, 0x3, 0xff, 0x80, 0x0, 0x0, 0x0,
|
||||||
|
0xf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xf0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0xff, 0xc0, 0x0, 0x0,
|
||||||
|
0x0, 0x3, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1f,
|
||||||
|
0xfc, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xf0, 0x0,
|
||||||
|
0x0, 0x0, 0x1, 0xff, 0xc0, 0x0, 0x0, 0x0,
|
||||||
|
0x7, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xfc,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x7f, 0xf0, 0x0, 0x0,
|
||||||
|
0x0, 0x1, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x7,
|
||||||
|
0xff, 0x0, 0x0, 0x0, 0x0, 0xf, 0xfc, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x3f, 0xf0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0xff, 0x80, 0x0, 0x0, 0x0, 0x1, 0xfe,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x7, 0xf8, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x1f, 0xc0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x3e, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x3, 0x80, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0,
|
||||||
|
|
||||||
|
/* U+0035 "5" */
|
||||||
|
0x0, 0x7f, 0xff, 0xff, 0xfc, 0x0, 0x1f, 0xff,
|
||||||
|
0xff, 0xff, 0x80, 0x3, 0xff, 0xff, 0xff, 0xf8,
|
||||||
|
0x0, 0x1f, 0xff, 0xff, 0xff, 0x0, 0x8, 0xff,
|
||||||
|
0xff, 0xff, 0xf0, 0x1, 0xc7, 0xff, 0xff, 0xff,
|
||||||
|
0x0, 0x3e, 0x3f, 0xff, 0xff, 0xe0, 0x3, 0xf1,
|
||||||
|
0xff, 0xff, 0xfe, 0x0, 0x3f, 0x8f, 0xff, 0xff,
|
||||||
|
0xc0, 0x3, 0xfc, 0x7f, 0xff, 0xfc, 0x0, 0x7f,
|
||||||
|
0xe0, 0x0, 0x0, 0x0, 0x7, 0xff, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x7f, 0xf0, 0x0, 0x0, 0x0, 0x7,
|
||||||
|
0xff, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xf0, 0x0,
|
||||||
|
0x0, 0x0, 0x7, 0xff, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x7f, 0xf0, 0x0, 0x0, 0x0, 0x7, 0xff, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x7f, 0xf0, 0x0, 0x0, 0x0,
|
||||||
|
0x7, 0xff, 0x0, 0x0, 0x0, 0x0, 0x7f, 0xf0,
|
||||||
|
0x0, 0x0, 0x0, 0x7, 0xff, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x7f, 0xe0, 0x0, 0x0, 0x0, 0x7, 0xfe,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x7f, 0xe0, 0x0, 0x0,
|
||||||
|
0x0, 0xf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0xff,
|
||||||
|
0xe0, 0x0, 0x0, 0x0, 0xf, 0xfe, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0xff, 0xe0, 0x0, 0x0, 0x0, 0xf,
|
||||||
|
0xfe, 0x0, 0x0, 0x0, 0x0, 0xff, 0xe0, 0x0,
|
||||||
|
0x0, 0x0, 0xf, 0xfe, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0xff, 0xe0, 0x0, 0x0, 0x0, 0xf, 0xfe, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0xff, 0xe0, 0x0, 0x0, 0x0,
|
||||||
|
0xf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0xff, 0xe0,
|
||||||
|
0x0, 0x0, 0x0, 0xf, 0xf8, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0xff, 0x1f, 0xff, 0xff, 0x80, 0xf, 0xc3,
|
||||||
|
0xff, 0xff, 0xfc, 0x0, 0x38, 0xff, 0xff, 0xff,
|
||||||
|
0xe0, 0x0, 0x1f, 0xff, 0xff, 0xff, 0x80, 0x7,
|
||||||
|
0xff, 0xff, 0xff, 0xfc, 0x0, 0x7f, 0xff, 0xff,
|
||||||
|
0xff, 0xc0, 0x1, 0xff, 0xff, 0xff, 0xf0, 0x0,
|
||||||
|
0xf, 0xff, 0xff, 0xfe, 0x18, 0x0, 0x7f, 0xff,
|
||||||
|
0xff, 0x87, 0xe0, 0x1, 0xff, 0xff, 0xf0, 0xff,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x3f, 0xe0, 0x0, 0x0,
|
||||||
|
0x0, 0x7, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x7f,
|
||||||
|
0xe0, 0x0, 0x0, 0x0, 0x7, 0xfe, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0xff, 0xe0, 0x0, 0x0, 0x0, 0xf,
|
||||||
|
0xfe, 0x0, 0x0, 0x0, 0x0, 0xff, 0xe0, 0x0,
|
||||||
|
0x0, 0x0, 0xf, 0xfe, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0xff, 0xe0, 0x0, 0x0, 0x0, 0xf, 0xfe, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0xff, 0xe0, 0x0, 0x0, 0x0,
|
||||||
|
0xf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0xff, 0xe0,
|
||||||
|
0x0, 0x0, 0x0, 0xf, 0xfe, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0xff, 0xe0, 0x0, 0x0, 0x0, 0xf, 0xfe,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0xff, 0xe0, 0x0, 0x0,
|
||||||
|
0x0, 0xf, 0xfc, 0x0, 0x0, 0x0, 0x0, 0xff,
|
||||||
|
0xc0, 0x0, 0x0, 0x0, 0xf, 0xfc, 0x0, 0x0,
|
||||||
|
0x0, 0x1, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x1f,
|
||||||
|
0xfc, 0x0, 0x0, 0x0, 0x1, 0xff, 0xc0, 0x0,
|
||||||
|
0x0, 0x0, 0x1f, 0xfc, 0x0, 0x0, 0x0, 0x1,
|
||||||
|
0xff, 0xc0, 0x0, 0x0, 0x0, 0x1f, 0xfc, 0x0,
|
||||||
|
0x0, 0x0, 0x1, 0xff, 0xc0, 0x0, 0x0, 0x0,
|
||||||
|
0x1f, 0xfc, 0x0, 0x7f, 0xff, 0xfc, 0xff, 0xc0,
|
||||||
|
0xf, 0xff, 0xff, 0xcf, 0xfc, 0x1, 0xff, 0xff,
|
||||||
|
0xfc, 0xff, 0x80, 0x3f, 0xff, 0xff, 0xe7, 0xf8,
|
||||||
|
0x7, 0xff, 0xff, 0xfe, 0x7f, 0x1, 0xff, 0xff,
|
||||||
|
0xff, 0xe7, 0xf0, 0x3f, 0xff, 0xff, 0xfe, 0x3e,
|
||||||
|
0x7, 0xff, 0xff, 0xff, 0xf3, 0xc0, 0x3f, 0xff,
|
||||||
|
0xff, 0xff, 0x30, 0x0, 0xff, 0xff, 0xff, 0xf0,
|
||||||
|
0x0,
|
||||||
|
|
||||||
|
/* U+0036 "6" */
|
||||||
|
0x0, 0xf, 0xff, 0xff, 0xff, 0x80, 0x0, 0x7f,
|
||||||
|
0xff, 0xff, 0xfe, 0x0, 0x1, 0xff, 0xff, 0xff,
|
||||||
|
0xfc, 0x0, 0x1, 0xff, 0xff, 0xff, 0xf0, 0x0,
|
||||||
|
0x11, 0xff, 0xff, 0xff, 0xe0, 0x0, 0x71, 0xff,
|
||||||
|
0xff, 0xff, 0xc0, 0x1, 0xf1, 0xff, 0xff, 0xff,
|
||||||
|
0x0, 0x3, 0xf1, 0xff, 0xff, 0xfe, 0x0, 0x7,
|
||||||
|
0xf1, 0xff, 0xff, 0xf8, 0x0, 0xf, 0xf1, 0xff,
|
||||||
|
0xff, 0xf0, 0x0, 0x3f, 0xf0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x7f, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xff,
|
||||||
|
0xe0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xc0, 0x0,
|
||||||
|
0x0, 0x0, 0x3, 0xff, 0x80, 0x0, 0x0, 0x0,
|
||||||
|
0x7, 0xff, 0x0, 0x0, 0x0, 0x0, 0xf, 0xfe,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x1f, 0xfc, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x3f, 0xf8, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x7f, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xe0,
|
||||||
|
0x0, 0x0, 0x0, 0x1, 0xff, 0xc0, 0x0, 0x0,
|
||||||
|
0x0, 0x3, 0xff, 0x0, 0x0, 0x0, 0x0, 0x7,
|
||||||
|
0xfe, 0x0, 0x0, 0x0, 0x0, 0xf, 0xfc, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x3f, 0xf8, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x7f, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xff,
|
||||||
|
0xe0, 0x0, 0x0, 0x0, 0x1, 0xff, 0xc0, 0x0,
|
||||||
|
0x0, 0x0, 0x3, 0xff, 0x80, 0x0, 0x0, 0x0,
|
||||||
|
0x7, 0xff, 0x0, 0x0, 0x0, 0x0, 0xf, 0xfe,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x1f, 0xfc, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x3f, 0xf8, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x7f, 0xf0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xe0,
|
||||||
|
0x0, 0x0, 0x0, 0x1, 0xff, 0xc0, 0x0, 0x0,
|
||||||
|
0x0, 0x3, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x7,
|
||||||
|
0xf8, 0xff, 0xff, 0xfc, 0x0, 0xf, 0xc3, 0xff,
|
||||||
|
0xff, 0xfc, 0x0, 0x7, 0x1f, 0xff, 0xff, 0xfc,
|
||||||
|
0x0, 0x0, 0x7f, 0xff, 0xff, 0xfe, 0x0, 0x3,
|
||||||
|
0xff, 0xff, 0xff, 0xfe, 0x0, 0x7, 0xff, 0xff,
|
||||||
|
0xff, 0xfc, 0x0, 0x3, 0xff, 0xff, 0xff, 0xe0,
|
||||||
|
0x1, 0xc3, 0xff, 0xff, 0xff, 0x86, 0x7, 0xe3,
|
||||||
|
0xff, 0xff, 0xfc, 0x3f, 0x1f, 0xe1, 0xff, 0xff,
|
||||||
|
0xf0, 0xff, 0x3f, 0xe0, 0x0, 0x0, 0x7, 0xfc,
|
||||||
|
0x7f, 0xf0, 0x0, 0x0, 0x1f, 0xf8, 0xff, 0xe0,
|
||||||
|
0x0, 0x0, 0x3f, 0xf1, 0xff, 0xc0, 0x0, 0x0,
|
||||||
|
0x7f, 0xe3, 0xff, 0x80, 0x0, 0x1, 0xff, 0xc7,
|
||||||
|
0xff, 0x0, 0x0, 0x3, 0xff, 0x8f, 0xfc, 0x0,
|
||||||
|
0x0, 0x7, 0xff, 0x1f, 0xf8, 0x0, 0x0, 0xf,
|
||||||
|
0xfe, 0x3f, 0xf0, 0x0, 0x0, 0x1f, 0xfc, 0xff,
|
||||||
|
0xe0, 0x0, 0x0, 0x3f, 0xf9, 0xff, 0xc0, 0x0,
|
||||||
|
0x0, 0x7f, 0xf3, 0xff, 0x80, 0x0, 0x0, 0xff,
|
||||||
|
0xe7, 0xff, 0x0, 0x0, 0x1, 0xff, 0xcf, 0xfe,
|
||||||
|
0x0, 0x0, 0x3, 0xff, 0x9f, 0xfc, 0x0, 0x0,
|
||||||
|
0x7, 0xff, 0x3f, 0xf8, 0x0, 0x0, 0xf, 0xfe,
|
||||||
|
0x7f, 0xf0, 0x0, 0x0, 0x1f, 0xfc, 0xff, 0xe0,
|
||||||
|
0x0, 0x0, 0x3f, 0xf1, 0xff, 0xc0, 0x0, 0x0,
|
||||||
|
0x7f, 0xe3, 0xff, 0x80, 0x0, 0x0, 0xff, 0xc7,
|
||||||
|
0xff, 0x0, 0x0, 0x3, 0xff, 0x8f, 0xfe, 0x0,
|
||||||
|
0x0, 0x7, 0xff, 0x1f, 0xf8, 0x0, 0x0, 0xf,
|
||||||
|
0xfe, 0x3f, 0xf0, 0x0, 0x0, 0x1f, 0xfc, 0x7f,
|
||||||
|
0xe0, 0x0, 0x0, 0x3f, 0xf8, 0xff, 0xc0, 0x0,
|
||||||
|
0x0, 0x7f, 0xf3, 0xff, 0x80, 0x0, 0x0, 0xff,
|
||||||
|
0xe7, 0xfe, 0x0, 0x0, 0x1, 0xff, 0xcf, 0xf8,
|
||||||
|
0xff, 0xff, 0xf9, 0xff, 0x9f, 0xe3, 0xff, 0xff,
|
||||||
|
0xf3, 0xff, 0x3f, 0x8f, 0xff, 0xff, 0xe7, 0xfc,
|
||||||
|
0x3e, 0x3f, 0xff, 0xff, 0xe7, 0xf8, 0x70, 0xff,
|
||||||
|
0xff, 0xff, 0xcf, 0xe0, 0x47, 0xff, 0xff, 0xff,
|
||||||
|
0x9f, 0xc0, 0x1f, 0xff, 0xff, 0xff, 0x1f, 0x0,
|
||||||
|
0x7f, 0xff, 0xff, 0xff, 0x3c, 0x0, 0x7f, 0xff,
|
||||||
|
0xff, 0xfe, 0x60, 0x0, 0x3f, 0xff, 0xff, 0xfc,
|
||||||
|
0x0, 0x0,
|
||||||
|
|
||||||
|
/* U+0037 "7" */
|
||||||
|
0x1f, 0xff, 0xff, 0xff, 0x0, 0x7f, 0xff, 0xff,
|
||||||
|
0xfe, 0x20, 0xff, 0xff, 0xff, 0xfe, 0x78, 0x7f,
|
||||||
|
0xff, 0xff, 0xfc, 0x7c, 0x3f, 0xff, 0xff, 0xfc,
|
||||||
|
0xfe, 0x1f, 0xff, 0xff, 0xfc, 0xfe, 0xf, 0xff,
|
||||||
|
0xff, 0xf9, 0xfe, 0x7, 0xff, 0xff, 0xf9, 0xff,
|
||||||
|
0x3, 0xff, 0xff, 0xf3, 0xff, 0x1, 0xff, 0xff,
|
||||||
|
0xf3, 0xff, 0x0, 0x0, 0x0, 0x3, 0xff, 0x0,
|
||||||
|
0x0, 0x0, 0x7, 0xff, 0x0, 0x0, 0x0, 0x7,
|
||||||
|
0xff, 0x0, 0x0, 0x0, 0x7, 0xff, 0x0, 0x0,
|
||||||
|
0x0, 0x7, 0xff, 0x0, 0x0, 0x0, 0x7, 0xff,
|
||||||
|
0x0, 0x0, 0x0, 0x7, 0xff, 0x0, 0x0, 0x0,
|
||||||
|
0x7, 0xfe, 0x0, 0x0, 0x0, 0x7, 0xfe, 0x0,
|
||||||
|
0x0, 0x0, 0xf, 0xfe, 0x0, 0x0, 0x0, 0xf,
|
||||||
|
0xfe, 0x0, 0x0, 0x0, 0xf, 0xfe, 0x0, 0x0,
|
||||||
|
0x0, 0xf, 0xfe, 0x0, 0x0, 0x0, 0xf, 0xfe,
|
||||||
|
0x0, 0x0, 0x0, 0xf, 0xfe, 0x0, 0x0, 0x0,
|
||||||
|
0xf, 0xfe, 0x0, 0x0, 0x0, 0xf, 0xfe, 0x0,
|
||||||
|
0x0, 0x0, 0xf, 0xfe, 0x0, 0x0, 0x0, 0xf,
|
||||||
|
0xfe, 0x0, 0x0, 0x0, 0xf, 0xfe, 0x0, 0x0,
|
||||||
|
0x0, 0xf, 0xfe, 0x0, 0x0, 0x0, 0xf, 0xfe,
|
||||||
|
0x0, 0x0, 0x0, 0xf, 0xfc, 0x0, 0x0, 0x0,
|
||||||
|
0xf, 0xfc, 0x0, 0x0, 0x0, 0x1f, 0xfc, 0x0,
|
||||||
|
0x0, 0x0, 0xf, 0xfc, 0x0, 0x0, 0x0, 0x7,
|
||||||
|
0xfc, 0x0, 0x0, 0x0, 0x3, 0xfc, 0x0, 0x0,
|
||||||
|
0x0, 0x1, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x70,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x60, 0x0, 0x0, 0x0, 0x0, 0xf0, 0x0, 0x0,
|
||||||
|
0x0, 0x3, 0xf8, 0x0, 0x0, 0x0, 0x7, 0xf8,
|
||||||
|
0x0, 0x0, 0x0, 0xf, 0xf8, 0x0, 0x0, 0x0,
|
||||||
|
0x1f, 0xf8, 0x0, 0x0, 0x0, 0x1f, 0xf8, 0x0,
|
||||||
|
0x0, 0x0, 0x3f, 0xf8, 0x0, 0x0, 0x0, 0x3f,
|
||||||
|
0xf8, 0x0, 0x0, 0x0, 0x3f, 0xf8, 0x0, 0x0,
|
||||||
|
0x0, 0x3f, 0xf8, 0x0, 0x0, 0x0, 0x3f, 0xf8,
|
||||||
|
0x0, 0x0, 0x0, 0x3f, 0xf8, 0x0, 0x0, 0x0,
|
||||||
|
0x3f, 0xf8, 0x0, 0x0, 0x0, 0x3f, 0xf8, 0x0,
|
||||||
|
0x0, 0x0, 0x3f, 0xf8, 0x0, 0x0, 0x0, 0x3f,
|
||||||
|
0xf8, 0x0, 0x0, 0x0, 0x3f, 0xf8, 0x0, 0x0,
|
||||||
|
0x0, 0x3f, 0xf8, 0x0, 0x0, 0x0, 0x3f, 0xf8,
|
||||||
|
0x0, 0x0, 0x0, 0x3f, 0xf0, 0x0, 0x0, 0x0,
|
||||||
|
0x3f, 0xf0, 0x0, 0x0, 0x0, 0x7f, 0xf0, 0x0,
|
||||||
|
0x0, 0x0, 0x7f, 0xf0, 0x0, 0x0, 0x0, 0x7f,
|
||||||
|
0xf0, 0x0, 0x0, 0x0, 0x7f, 0xf0, 0x0, 0x0,
|
||||||
|
0x0, 0x7f, 0xf0, 0x0, 0x0, 0x0, 0x7f, 0xf0,
|
||||||
|
0x0, 0x0, 0x0, 0x7f, 0xf0, 0x0, 0x0, 0x0,
|
||||||
|
0x7f, 0xf0, 0x0, 0x0, 0x0, 0x3f, 0xf0, 0x0,
|
||||||
|
0x0, 0x0, 0x3f, 0xf0, 0x0, 0x0, 0x0, 0x3f,
|
||||||
|
0xf0, 0x0, 0x0, 0x0, 0x1f, 0xe0, 0x0, 0x0,
|
||||||
|
0x0, 0x1f, 0xe0, 0x0, 0x0, 0x0, 0x1f, 0xc0,
|
||||||
|
0x0, 0x0, 0x0, 0x1f, 0xc0, 0x0, 0x0, 0x0,
|
||||||
|
0xf, 0x80, 0x0, 0x0, 0x0, 0xf, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0xc, 0x0,
|
||||||
|
|
||||||
|
/* U+0038 "8" */
|
||||||
|
0x0, 0xf, 0xff, 0xff, 0xff, 0x80, 0x0, 0x1f,
|
||||||
|
0xff, 0xff, 0xff, 0x88, 0x0, 0x1f, 0xff, 0xff,
|
||||||
|
0xff, 0xcf, 0x0, 0x7, 0xff, 0xff, 0xff, 0xc7,
|
||||||
|
0xc0, 0x11, 0xff, 0xff, 0xff, 0xe7, 0xe0, 0x1c,
|
||||||
|
0x7f, 0xff, 0xff, 0xf3, 0xf8, 0x1f, 0x1f, 0xff,
|
||||||
|
0xff, 0xf3, 0xfc, 0xf, 0xc7, 0xff, 0xff, 0xf9,
|
||||||
|
0xff, 0x7, 0xf1, 0xff, 0xff, 0xf9, 0xff, 0x83,
|
||||||
|
0xfc, 0x7f, 0xff, 0xfc, 0xff, 0xc3, 0xff, 0x0,
|
||||||
|
0x0, 0x0, 0x7f, 0xe1, 0xff, 0xc0, 0x0, 0x0,
|
||||||
|
0x7f, 0xf0, 0xff, 0xe0, 0x0, 0x0, 0x3f, 0xf8,
|
||||||
|
0x7f, 0xf0, 0x0, 0x0, 0x1f, 0xfc, 0x3f, 0xf8,
|
||||||
|
0x0, 0x0, 0xf, 0xfe, 0x1f, 0xfc, 0x0, 0x0,
|
||||||
|
0x7, 0xff, 0xf, 0xfe, 0x0, 0x0, 0x3, 0xff,
|
||||||
|
0x87, 0xff, 0x0, 0x0, 0x1, 0xff, 0x83, 0xff,
|
||||||
|
0x80, 0x0, 0x0, 0xff, 0xc1, 0xff, 0xc0, 0x0,
|
||||||
|
0x0, 0x7f, 0xe0, 0xff, 0xe0, 0x0, 0x0, 0x7f,
|
||||||
|
0xf0, 0x7f, 0xf0, 0x0, 0x0, 0x3f, 0xf8, 0x3f,
|
||||||
|
0xf0, 0x0, 0x0, 0x1f, 0xfc, 0x1f, 0xf8, 0x0,
|
||||||
|
0x0, 0xf, 0xfe, 0xf, 0xfc, 0x0, 0x0, 0x7,
|
||||||
|
0xff, 0xf, 0xfe, 0x0, 0x0, 0x3, 0xff, 0x87,
|
||||||
|
0xff, 0x0, 0x0, 0x1, 0xff, 0xc3, 0xff, 0x80,
|
||||||
|
0x0, 0x0, 0xff, 0xe1, 0xff, 0xc0, 0x0, 0x0,
|
||||||
|
0x7f, 0xf0, 0xff, 0xe0, 0x0, 0x0, 0x3f, 0xf8,
|
||||||
|
0x7f, 0xf0, 0x0, 0x0, 0x1f, 0xfc, 0x3f, 0xf8,
|
||||||
|
0x0, 0x0, 0xf, 0xfe, 0x1f, 0xfc, 0x0, 0x0,
|
||||||
|
0x7, 0xff, 0xf, 0xfe, 0x0, 0x0, 0x3, 0xff,
|
||||||
|
0x7, 0xff, 0x0, 0x0, 0x1, 0xff, 0x83, 0xff,
|
||||||
|
0x80, 0x0, 0x1, 0xff, 0xc1, 0xff, 0xc0, 0x0,
|
||||||
|
0x0, 0xff, 0xe0, 0xff, 0x80, 0x0, 0x0, 0x1f,
|
||||||
|
0xf0, 0x7f, 0x8f, 0xff, 0xff, 0xc7, 0xf8, 0x3f,
|
||||||
|
0xf, 0xff, 0xff, 0xf1, 0xf8, 0x7, 0x1f, 0xff,
|
||||||
|
0xff, 0xfc, 0x38, 0x0, 0x1f, 0xff, 0xff, 0xff,
|
||||||
|
0x88, 0x0, 0x3f, 0xff, 0xff, 0xff, 0xe0, 0x0,
|
||||||
|
0x1f, 0xff, 0xff, 0xff, 0xf0, 0x0, 0x3, 0xff,
|
||||||
|
0xff, 0xff, 0xe0, 0x0, 0x70, 0xff, 0xff, 0xff,
|
||||||
|
0xe1, 0x80, 0x7e, 0x3f, 0xff, 0xff, 0xc3, 0xf0,
|
||||||
|
0x7f, 0x87, 0xff, 0xff, 0xc3, 0xfc, 0x3f, 0xe0,
|
||||||
|
0x0, 0x0, 0x7, 0xfc, 0x1f, 0xfc, 0x0, 0x0,
|
||||||
|
0x7, 0xfe, 0xf, 0xfe, 0x0, 0x0, 0x3, 0xff,
|
||||||
|
0x7, 0xff, 0x0, 0x0, 0x1, 0xff, 0x83, 0xff,
|
||||||
|
0x80, 0x0, 0x1, 0xff, 0xc1, 0xff, 0xc0, 0x0,
|
||||||
|
0x0, 0xff, 0xe0, 0xff, 0xc0, 0x0, 0x0, 0x7f,
|
||||||
|
0xf0, 0x7f, 0xe0, 0x0, 0x0, 0x3f, 0xf8, 0x3f,
|
||||||
|
0xf0, 0x0, 0x0, 0x1f, 0xfc, 0x3f, 0xf8, 0x0,
|
||||||
|
0x0, 0xf, 0xfe, 0x1f, 0xfc, 0x0, 0x0, 0x7,
|
||||||
|
0xff, 0xf, 0xfe, 0x0, 0x0, 0x3, 0xff, 0x87,
|
||||||
|
0xff, 0x0, 0x0, 0x1, 0xff, 0xc3, 0xff, 0x80,
|
||||||
|
0x0, 0x0, 0xff, 0xe1, 0xff, 0xc0, 0x0, 0x0,
|
||||||
|
0x7f, 0xf0, 0xff, 0xe0, 0x0, 0x0, 0x3f, 0xf8,
|
||||||
|
0x7f, 0xf0, 0x0, 0x0, 0x1f, 0xfc, 0x3f, 0xf8,
|
||||||
|
0x0, 0x0, 0xf, 0xfc, 0x1f, 0xfc, 0x0, 0x0,
|
||||||
|
0x7, 0xfe, 0xf, 0xfe, 0x0, 0x0, 0x3, 0xff,
|
||||||
|
0x7, 0xff, 0x0, 0x0, 0x3, 0xff, 0x83, 0xff,
|
||||||
|
0x80, 0x0, 0x1, 0xff, 0xc1, 0xff, 0x80, 0x0,
|
||||||
|
0x0, 0xff, 0xe0, 0xff, 0xc0, 0x0, 0x0, 0x7f,
|
||||||
|
0xf0, 0x7f, 0xe0, 0x0, 0x0, 0x3f, 0xf8, 0x3f,
|
||||||
|
0xf0, 0x0, 0x0, 0x1f, 0xfc, 0x3f, 0xf8, 0x0,
|
||||||
|
0x0, 0xf, 0xfe, 0x1f, 0xf8, 0x0, 0x0, 0x7,
|
||||||
|
0xff, 0xf, 0xf8, 0xff, 0xff, 0xf9, 0xff, 0x87,
|
||||||
|
0xf8, 0xff, 0xff, 0xfc, 0xff, 0xc3, 0xf8, 0xff,
|
||||||
|
0xff, 0xfe, 0x7f, 0xc0, 0xf8, 0xff, 0xff, 0xff,
|
||||||
|
0x9f, 0xe0, 0x70, 0xff, 0xff, 0xff, 0xcf, 0xe0,
|
||||||
|
0x11, 0xff, 0xff, 0xff, 0xe7, 0xf0, 0x1, 0xff,
|
||||||
|
0xff, 0xff, 0xf1, 0xf0, 0x1, 0xff, 0xff, 0xff,
|
||||||
|
0xfc, 0xf0, 0x0, 0x7f, 0xff, 0xff, 0xfe, 0x60,
|
||||||
|
0x0, 0xf, 0xff, 0xff, 0xff, 0x0, 0x0,
|
||||||
|
|
||||||
|
/* U+0039 "9" */
|
||||||
|
0x0, 0x7f, 0xff, 0xff, 0xfc, 0x0, 0x7, 0xff,
|
||||||
|
0xff, 0xff, 0xe2, 0x0, 0x3f, 0xff, 0xff, 0xff,
|
||||||
|
0x9e, 0x0, 0x7f, 0xff, 0xff, 0xfc, 0x7c, 0x8,
|
||||||
|
0xff, 0xff, 0xff, 0xf3, 0xf0, 0x71, 0xff, 0xff,
|
||||||
|
0xff, 0xcf, 0xe3, 0xe3, 0xff, 0xff, 0xfe, 0x7f,
|
||||||
|
0x8f, 0xc7, 0xff, 0xff, 0xf9, 0xff, 0x3f, 0x8f,
|
||||||
|
0xff, 0xff, 0xcf, 0xfc, 0xff, 0x1f, 0xff, 0xff,
|
||||||
|
0x3f, 0xf7, 0xfe, 0x0, 0x0, 0x0, 0xff, 0xdf,
|
||||||
|
0xfc, 0x0, 0x0, 0x7, 0xff, 0x7f, 0xf0, 0x0,
|
||||||
|
0x0, 0x1f, 0xfd, 0xff, 0xc0, 0x0, 0x0, 0x7f,
|
||||||
|
0xf7, 0xff, 0x0, 0x0, 0x1, 0xff, 0xdf, 0xfc,
|
||||||
|
0x0, 0x0, 0x7, 0xff, 0x7f, 0xf0, 0x0, 0x0,
|
||||||
|
0x1f, 0xfd, 0xff, 0xc0, 0x0, 0x0, 0x7f, 0xe7,
|
||||||
|
0xff, 0x0, 0x0, 0x1, 0xff, 0x9f, 0xfc, 0x0,
|
||||||
|
0x0, 0x7, 0xfe, 0x7f, 0xf0, 0x0, 0x0, 0x3f,
|
||||||
|
0xf9, 0xff, 0xc0, 0x0, 0x0, 0xff, 0xe7, 0xfe,
|
||||||
|
0x0, 0x0, 0x3, 0xff, 0x9f, 0xf8, 0x0, 0x0,
|
||||||
|
0xf, 0xfe, 0x7f, 0xe0, 0x0, 0x0, 0x3f, 0xfb,
|
||||||
|
0xff, 0x80, 0x0, 0x0, 0xff, 0xef, 0xfe, 0x0,
|
||||||
|
0x0, 0x3, 0xff, 0xbf, 0xf8, 0x0, 0x0, 0xf,
|
||||||
|
0xfe, 0xff, 0xe0, 0x0, 0x0, 0x3f, 0xfb, 0xff,
|
||||||
|
0x80, 0x0, 0x0, 0xff, 0xef, 0xfe, 0x0, 0x0,
|
||||||
|
0x3, 0xff, 0xbf, 0xf8, 0x0, 0x0, 0xf, 0xfe,
|
||||||
|
0xff, 0xe0, 0x0, 0x0, 0x3f, 0xfb, 0xff, 0x80,
|
||||||
|
0x0, 0x0, 0xff, 0xcf, 0xfe, 0x0, 0x0, 0x3,
|
||||||
|
0xff, 0x3f, 0xf8, 0x0, 0x0, 0x1f, 0xfc, 0xff,
|
||||||
|
0xe0, 0x0, 0x0, 0x7f, 0xf3, 0xfe, 0x0, 0x0,
|
||||||
|
0x0, 0x7f, 0xcf, 0xf1, 0xff, 0xff, 0xf8, 0xff,
|
||||||
|
0x3f, 0xf, 0xff, 0xff, 0xf1, 0xf8, 0x38, 0xff,
|
||||||
|
0xff, 0xff, 0xe1, 0xc0, 0x7, 0xff, 0xff, 0xff,
|
||||||
|
0xe2, 0x0, 0x7f, 0xff, 0xff, 0xff, 0xc0, 0x1,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0x0, 0x1, 0xff, 0xff,
|
||||||
|
0xff, 0xf0, 0x0, 0x3, 0xff, 0xff, 0xff, 0x86,
|
||||||
|
0x0, 0x7, 0xff, 0xff, 0xf8, 0x7e, 0x0, 0x7,
|
||||||
|
0xff, 0xff, 0xc3, 0xfc, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x3f, 0xe0, 0x0, 0x0, 0x0, 0x1, 0xff, 0x80,
|
||||||
|
0x0, 0x0, 0x0, 0x7, 0xfe, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x1f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0xff,
|
||||||
|
0xe0, 0x0, 0x0, 0x0, 0x3, 0xff, 0x80, 0x0,
|
||||||
|
0x0, 0x0, 0xf, 0xfe, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x3f, 0xf8, 0x0, 0x0, 0x0, 0x0, 0xff, 0xe0,
|
||||||
|
0x0, 0x0, 0x0, 0x3, 0xff, 0x80, 0x0, 0x0,
|
||||||
|
0x0, 0xf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x3f,
|
||||||
|
0xf8, 0x0, 0x0, 0x0, 0x0, 0xff, 0xe0, 0x0,
|
||||||
|
0x0, 0x0, 0x3, 0xff, 0x80, 0x0, 0x0, 0x0,
|
||||||
|
0xf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xf8,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0xff, 0xe0, 0x0, 0x0,
|
||||||
|
0x0, 0x3, 0xff, 0x0, 0x0, 0x0, 0x0, 0xf,
|
||||||
|
0xfc, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xf0, 0x0,
|
||||||
|
0x0, 0x0, 0x1, 0xff, 0xc0, 0x0, 0x0, 0x0,
|
||||||
|
0x7, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xfc,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x7f, 0xf0, 0x0, 0x0,
|
||||||
|
0x0, 0x1, 0xff, 0xc0, 0x0, 0x0, 0x0, 0x7,
|
||||||
|
0xff, 0x0, 0x0, 0x0, 0x0, 0x1f, 0xfc, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x7f, 0xf0, 0x0, 0x7f, 0xff,
|
||||||
|
0xfc, 0xff, 0xc0, 0x3, 0xff, 0xff, 0xf3, 0xff,
|
||||||
|
0x0, 0x1f, 0xff, 0xff, 0xcf, 0xf8, 0x0, 0xff,
|
||||||
|
0xff, 0xff, 0x9f, 0xe0, 0x7, 0xff, 0xff, 0xfe,
|
||||||
|
0x7f, 0x0, 0x7f, 0xff, 0xff, 0xf9, 0xfc, 0x3,
|
||||||
|
0xff, 0xff, 0xff, 0xe3, 0xe0, 0x1f, 0xff, 0xff,
|
||||||
|
0xff, 0xcf, 0x0, 0x3f, 0xff, 0xff, 0xff, 0x30,
|
||||||
|
0x0, 0x3f, 0xff, 0xff, 0xfc, 0x0, 0x0,
|
||||||
|
|
||||||
|
/* U+003A ":" */
|
||||||
|
0x3f, 0xf9, 0xff, 0xcf, 0xfe, 0x7f, 0xf3, 0xff,
|
||||||
|
0x9f, 0xfc, 0xff, 0xe7, 0xff, 0x3f, 0xf9, 0xff,
|
||||||
|
0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xff, 0x9f,
|
||||||
|
0xfc, 0xff, 0xe7, 0xff, 0x3f, 0xf9, 0xff, 0xcf,
|
||||||
|
0xfe, 0x7f, 0xf3, 0xff, 0x9f, 0xfc
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*---------------------
|
||||||
|
* GLYPH DESCRIPTION
|
||||||
|
*--------------------*/
|
||||||
|
|
||||||
|
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
|
||||||
|
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
|
||||||
|
{.bitmap_index = 0, .adv_w = 863, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1, .adv_w = 863, .box_w = 49, .box_h = 86, .ofs_x = 5, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 528, .adv_w = 863, .box_w = 15, .box_h = 84, .ofs_x = 39, .ofs_y = 1},
|
||||||
|
{.bitmap_index = 686, .adv_w = 863, .box_w = 49, .box_h = 86, .ofs_x = 5, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1213, .adv_w = 863, .box_w = 45, .box_h = 86, .ofs_x = 9, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1697, .adv_w = 863, .box_w = 46, .box_h = 84, .ofs_x = 8, .ofs_y = 1},
|
||||||
|
{.bitmap_index = 2180, .adv_w = 863, .box_w = 44, .box_h = 86, .ofs_x = 8, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 2653, .adv_w = 863, .box_w = 47, .box_h = 86, .ofs_x = 5, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 3159, .adv_w = 863, .box_w = 40, .box_h = 84, .ofs_x = 14, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 3579, .adv_w = 863, .box_w = 49, .box_h = 86, .ofs_x = 5, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 4106, .adv_w = 863, .box_w = 46, .box_h = 86, .ofs_x = 8, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 4601, .adv_w = 323, .box_w = 13, .box_h = 48, .ofs_x = 6, .ofs_y = 19}
|
||||||
|
};
|
||||||
|
|
||||||
|
/*---------------------
|
||||||
|
* CHARACTER MAPPING
|
||||||
|
*--------------------*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*Collect the unicode lists and glyph_id offsets*/
|
||||||
|
static const lv_font_fmt_txt_cmap_t cmaps[] =
|
||||||
|
{
|
||||||
|
{
|
||||||
|
.range_start = 32, .range_length = 1, .glyph_id_start = 1,
|
||||||
|
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.range_start = 48, .range_length = 11, .glyph_id_start = 2,
|
||||||
|
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------
|
||||||
|
* ALL CUSTOM DATA
|
||||||
|
*--------------------*/
|
||||||
|
|
||||||
|
#if LV_VERSION_CHECK(8, 0, 0)
|
||||||
|
/*Store all the custom data of the font*/
|
||||||
|
static lv_font_fmt_txt_glyph_cache_t cache;
|
||||||
|
static const lv_font_fmt_txt_dsc_t font_dsc = {
|
||||||
|
#else
|
||||||
|
static lv_font_fmt_txt_dsc_t font_dsc = {
|
||||||
|
#endif
|
||||||
|
.glyph_bitmap = glyph_bitmap,
|
||||||
|
.glyph_dsc = glyph_dsc,
|
||||||
|
.cmaps = cmaps,
|
||||||
|
.kern_dsc = NULL,
|
||||||
|
.kern_scale = 0,
|
||||||
|
.cmap_num = 2,
|
||||||
|
.bpp = 1,
|
||||||
|
.kern_classes = 0,
|
||||||
|
.bitmap_format = 0,
|
||||||
|
#if LV_VERSION_CHECK(8, 0, 0)
|
||||||
|
.cache = &cache
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*-----------------
|
||||||
|
* PUBLIC FONT
|
||||||
|
*----------------*/
|
||||||
|
|
||||||
|
/*Initialize a public general font descriptor*/
|
||||||
|
#if LV_VERSION_CHECK(8, 0, 0)
|
||||||
|
const lv_font_t lv_font_7segment_115 = {
|
||||||
|
#else
|
||||||
|
lv_font_t lv_font_7segment_115 = {
|
||||||
|
#endif
|
||||||
|
.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*/
|
||||||
|
.line_height = 86, /*The maximum line height required by the font*/
|
||||||
|
.base_line = 0, /*Baseline measured from the bottom of the line*/
|
||||||
|
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
|
||||||
|
.subpx = LV_FONT_SUBPX_NONE,
|
||||||
|
#endif
|
||||||
|
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
|
||||||
|
.underline_position = -7,
|
||||||
|
.underline_thickness = 4,
|
||||||
|
#endif
|
||||||
|
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif /*#if LV_FONT_7SEGMENT_115*/
|
||||||
|
|
228
src/displayapp/fonts/lv_font_7segment_40.c
Normal file
228
src/displayapp/fonts/lv_font_7segment_40.c
Normal file
|
@ -0,0 +1,228 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* Size: 40 px
|
||||||
|
* Bpp: 1
|
||||||
|
* Opts:
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
||||||
|
#include "lvgl.h"
|
||||||
|
#else
|
||||||
|
#include "lvgl/lvgl.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef LV_FONT_7SEGMENT_40
|
||||||
|
#define LV_FONT_7SEGMENT_40 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if LV_FONT_7SEGMENT_40
|
||||||
|
|
||||||
|
/*-----------------
|
||||||
|
* BITMAPS
|
||||||
|
*----------------*/
|
||||||
|
|
||||||
|
/*Store the image of the glyphs*/
|
||||||
|
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
|
||||||
|
/* U+0020 " " */
|
||||||
|
0x0,
|
||||||
|
|
||||||
|
/* U+002D "-" */
|
||||||
|
0x3f, 0xc7, 0xff, 0x7f, 0xf3, 0xfc,
|
||||||
|
|
||||||
|
/* U+0030 "0" */
|
||||||
|
0x1f, 0xfc, 0x1f, 0xfb, 0x6f, 0xff, 0x77, 0xf7,
|
||||||
|
0x78, 0xf, 0x78, 0xf, 0x78, 0xf, 0x78, 0xf,
|
||||||
|
0x78, 0xf, 0x78, 0xf, 0x78, 0xf, 0x78, 0xf,
|
||||||
|
0x78, 0xf, 0x70, 0x7, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0xe0, 0x7, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf,
|
||||||
|
0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf,
|
||||||
|
0xf0, 0xf, 0xf0, 0xf, 0xef, 0xef, 0xdf, 0xef,
|
||||||
|
0xbf, 0xfe, 0x3f, 0xf8,
|
||||||
|
|
||||||
|
/* U+0031 "1" */
|
||||||
|
0x11, 0xce, 0xf7, 0xbd, 0xef, 0x7b, 0xde, 0xf7,
|
||||||
|
0x9c, 0x0, 0x77, 0xbd, 0xef, 0x7b, 0xde, 0xf7,
|
||||||
|
0xbc, 0xe6, 0x20,
|
||||||
|
|
||||||
|
/* U+0032 "2" */
|
||||||
|
0x1f, 0xf8, 0x1f, 0xfa, 0xf, 0xf7, 0x7, 0xf7,
|
||||||
|
0x0, 0xf, 0x0, 0xf, 0x0, 0xf, 0x0, 0xf,
|
||||||
|
0x0, 0xf, 0x0, 0xf, 0x0, 0xf, 0x0, 0xf,
|
||||||
|
0x0, 0xf, 0xf, 0xf7, 0x1f, 0xf8, 0x1f, 0xf8,
|
||||||
|
0xef, 0xf0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0,
|
||||||
|
0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0, 0xf0, 0x0,
|
||||||
|
0xf0, 0x0, 0xf0, 0x0, 0xef, 0xe0, 0xdf, 0xe0,
|
||||||
|
0x3f, 0xe0, 0x7f, 0xe0,
|
||||||
|
|
||||||
|
/* U+0033 "3" */
|
||||||
|
0x1f, 0xf8, 0x3f, 0xfe, 0x1f, 0xf7, 0xf, 0xf7,
|
||||||
|
0x0, 0xf, 0x0, 0xf, 0x0, 0xf, 0x0, 0xf,
|
||||||
|
0x0, 0xf, 0x0, 0xf, 0x0, 0xf, 0x0, 0xf,
|
||||||
|
0x0, 0xf, 0x1f, 0xf7, 0x3f, 0xf8, 0x3f, 0xf8,
|
||||||
|
0x1f, 0xe6, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e,
|
||||||
|
0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e,
|
||||||
|
0x0, 0x1e, 0x0, 0x1e, 0x1f, 0xde, 0x3f, 0xee,
|
||||||
|
0x7f, 0xec, 0x7f, 0xe8,
|
||||||
|
|
||||||
|
/* U+0034 "4" */
|
||||||
|
0x0, 0x2, 0x40, 0x7, 0xe0, 0x7, 0xe0, 0xf,
|
||||||
|
0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf,
|
||||||
|
0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf,
|
||||||
|
0xf0, 0xf, 0xcf, 0xf7, 0x3f, 0xf8, 0x3f, 0xf8,
|
||||||
|
0x1f, 0xe6, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e,
|
||||||
|
0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e,
|
||||||
|
0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e,
|
||||||
|
0x0, 0xc, 0x0, 0x8,
|
||||||
|
|
||||||
|
/* U+0035 "5" */
|
||||||
|
0x1f, 0xf8, 0x7f, 0xf3, 0x7f, 0xc7, 0x7f, 0x8f,
|
||||||
|
0x0, 0x1e, 0x0, 0x3c, 0x0, 0x78, 0x0, 0xf0,
|
||||||
|
0x1, 0xe0, 0x3, 0xc0, 0x7, 0x80, 0xf, 0x0,
|
||||||
|
0x19, 0xfe, 0xf, 0xfe, 0x1f, 0xfc, 0x1f, 0xe6,
|
||||||
|
0x0, 0x3c, 0x0, 0x78, 0x0, 0xf0, 0x1, 0xe0,
|
||||||
|
0x3, 0xc0, 0x7, 0x80, 0xf, 0x0, 0x1e, 0x0,
|
||||||
|
0x3c, 0x7f, 0x79, 0xff, 0x77, 0xfe, 0xcf, 0xfd,
|
||||||
|
0x0,
|
||||||
|
|
||||||
|
/* U+0036 "6" */
|
||||||
|
0x1f, 0xfc, 0x1f, 0xfc, 0x6f, 0xf8, 0x77, 0xf8,
|
||||||
|
0x78, 0x0, 0x78, 0x0, 0x78, 0x0, 0x78, 0x0,
|
||||||
|
0x78, 0x0, 0x78, 0x0, 0x78, 0x0, 0x78, 0x0,
|
||||||
|
0x78, 0x0, 0x67, 0xf8, 0x1f, 0xfc, 0x1f, 0xfc,
|
||||||
|
0xef, 0xf3, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf,
|
||||||
|
0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf,
|
||||||
|
0xf0, 0xf, 0xf0, 0xf, 0xef, 0xef, 0xdf, 0xf7,
|
||||||
|
0xbf, 0xf6, 0x3f, 0xf4,
|
||||||
|
|
||||||
|
/* U+0037 "7" */
|
||||||
|
0x7f, 0xe3, 0xff, 0xa7, 0xfd, 0xcf, 0xf7, 0x0,
|
||||||
|
0x3c, 0x0, 0xf0, 0x3, 0xc0, 0xf, 0x0, 0x3c,
|
||||||
|
0x0, 0xf0, 0x3, 0xc0, 0xf, 0x0, 0x3c, 0x0,
|
||||||
|
0x70, 0x0, 0x80, 0x0, 0x0, 0x18, 0x0, 0xe0,
|
||||||
|
0x7, 0x80, 0x1e, 0x0, 0x78, 0x1, 0xe0, 0x7,
|
||||||
|
0x80, 0x1e, 0x0, 0x78, 0x1, 0xe0, 0x7, 0x80,
|
||||||
|
0x1e, 0x0, 0x38, 0x0, 0xc0,
|
||||||
|
|
||||||
|
/* U+0038 "8" */
|
||||||
|
0x1f, 0xfc, 0x1f, 0xfb, 0x6f, 0xff, 0x77, 0xf7,
|
||||||
|
0x78, 0xf, 0x78, 0xf, 0x78, 0xf, 0x78, 0xf,
|
||||||
|
0x78, 0xf, 0x78, 0xf, 0x78, 0xf, 0x78, 0xf,
|
||||||
|
0x78, 0xf, 0x67, 0xff, 0x1f, 0xfc, 0x1f, 0xfc,
|
||||||
|
0xef, 0xf7, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf,
|
||||||
|
0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf,
|
||||||
|
0xf0, 0xf, 0xf0, 0xf, 0xef, 0xef, 0xdf, 0xef,
|
||||||
|
0xbf, 0xfe, 0x3f, 0xf8,
|
||||||
|
|
||||||
|
/* U+0039 "9" */
|
||||||
|
0x1f, 0xf8, 0x3f, 0xfe, 0xdf, 0xf7, 0xef, 0xf7,
|
||||||
|
0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf,
|
||||||
|
0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf, 0xf0, 0xf,
|
||||||
|
0xf0, 0xf, 0xcf, 0xf7, 0x3f, 0xf8, 0x3f, 0xf8,
|
||||||
|
0x1f, 0xe6, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e,
|
||||||
|
0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e, 0x0, 0x1e,
|
||||||
|
0x0, 0x1e, 0x0, 0x1e, 0x1f, 0xde, 0x3f, 0xee,
|
||||||
|
0x7f, 0xec, 0x7f, 0xe8,
|
||||||
|
|
||||||
|
/* U+003A ":" */
|
||||||
|
0x7b, 0xde, 0xf0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0x7b, 0xde, 0xf0
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*---------------------
|
||||||
|
* GLYPH DESCRIPTION
|
||||||
|
*--------------------*/
|
||||||
|
|
||||||
|
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
|
||||||
|
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
|
||||||
|
{.bitmap_index = 0, .adv_w = 300, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1, .adv_w = 300, .box_w = 12, .box_h = 4, .ofs_x = 4, .ofs_y = 13},
|
||||||
|
{.bitmap_index = 7, .adv_w = 300, .box_w = 16, .box_h = 30, .ofs_x = 2, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 67, .adv_w = 300, .box_w = 5, .box_h = 30, .ofs_x = 14, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 86, .adv_w = 300, .box_w = 16, .box_h = 30, .ofs_x = 2, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 146, .adv_w = 300, .box_w = 16, .box_h = 30, .ofs_x = 3, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 206, .adv_w = 300, .box_w = 16, .box_h = 30, .ofs_x = 3, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 266, .adv_w = 300, .box_w = 15, .box_h = 30, .ofs_x = 3, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 323, .adv_w = 300, .box_w = 16, .box_h = 30, .ofs_x = 2, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 383, .adv_w = 300, .box_w = 14, .box_h = 30, .ofs_x = 5, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 436, .adv_w = 300, .box_w = 16, .box_h = 30, .ofs_x = 2, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 496, .adv_w = 300, .box_w = 16, .box_h = 30, .ofs_x = 3, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 556, .adv_w = 113, .box_w = 5, .box_h = 17, .ofs_x = 2, .ofs_y = 7}
|
||||||
|
};
|
||||||
|
|
||||||
|
/*---------------------
|
||||||
|
* CHARACTER MAPPING
|
||||||
|
*--------------------*/
|
||||||
|
|
||||||
|
static const uint16_t unicode_list_0[] = {
|
||||||
|
0x0, 0xd
|
||||||
|
};
|
||||||
|
|
||||||
|
/*Collect the unicode lists and glyph_id offsets*/
|
||||||
|
static const lv_font_fmt_txt_cmap_t cmaps[] =
|
||||||
|
{
|
||||||
|
{
|
||||||
|
.range_start = 32, .range_length = 14, .glyph_id_start = 1,
|
||||||
|
.unicode_list = unicode_list_0, .glyph_id_ofs_list = NULL, .list_length = 2, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.range_start = 48, .range_length = 11, .glyph_id_start = 3,
|
||||||
|
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------
|
||||||
|
* ALL CUSTOM DATA
|
||||||
|
*--------------------*/
|
||||||
|
|
||||||
|
#if LV_VERSION_CHECK(8, 0, 0)
|
||||||
|
/*Store all the custom data of the font*/
|
||||||
|
static lv_font_fmt_txt_glyph_cache_t cache;
|
||||||
|
static const lv_font_fmt_txt_dsc_t font_dsc = {
|
||||||
|
#else
|
||||||
|
static lv_font_fmt_txt_dsc_t font_dsc = {
|
||||||
|
#endif
|
||||||
|
.glyph_bitmap = glyph_bitmap,
|
||||||
|
.glyph_dsc = glyph_dsc,
|
||||||
|
.cmaps = cmaps,
|
||||||
|
.kern_dsc = NULL,
|
||||||
|
.kern_scale = 0,
|
||||||
|
.cmap_num = 2,
|
||||||
|
.bpp = 1,
|
||||||
|
.kern_classes = 0,
|
||||||
|
.bitmap_format = 0,
|
||||||
|
#if LV_VERSION_CHECK(8, 0, 0)
|
||||||
|
.cache = &cache
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*-----------------
|
||||||
|
* PUBLIC FONT
|
||||||
|
*----------------*/
|
||||||
|
|
||||||
|
/*Initialize a public general font descriptor*/
|
||||||
|
#if LV_VERSION_CHECK(8, 0, 0)
|
||||||
|
const lv_font_t lv_font_7segment_40 = {
|
||||||
|
#else
|
||||||
|
lv_font_t lv_font_7segment_40 = {
|
||||||
|
#endif
|
||||||
|
.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*/
|
||||||
|
.line_height = 30, /*The maximum line height required by the font*/
|
||||||
|
.base_line = 0, /*Baseline measured from the bottom of the line*/
|
||||||
|
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
|
||||||
|
.subpx = LV_FONT_SUBPX_NONE,
|
||||||
|
#endif
|
||||||
|
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
|
||||||
|
.underline_position = -2,
|
||||||
|
.underline_thickness = 1,
|
||||||
|
#endif
|
||||||
|
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif /*#if LV_FONT_7SEGMENT_40*/
|
||||||
|
|
410
src/displayapp/fonts/lv_font_dots_40.c
Normal file
410
src/displayapp/fonts/lv_font_dots_40.c
Normal file
|
@ -0,0 +1,410 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* Size: 40 px
|
||||||
|
* Bpp: 1
|
||||||
|
* Opts:
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
#ifdef LV_LVGL_H_INCLUDE_SIMPLE
|
||||||
|
#include "lvgl.h"
|
||||||
|
#else
|
||||||
|
#include "lvgl/lvgl.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef LV_FONT_DOTS_40
|
||||||
|
#define LV_FONT_DOTS_40 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if LV_FONT_DOTS_40
|
||||||
|
|
||||||
|
/*-----------------
|
||||||
|
* BITMAPS
|
||||||
|
*----------------*/
|
||||||
|
|
||||||
|
/*Store the image of the glyphs*/
|
||||||
|
static LV_ATTRIBUTE_LARGE_CONST const uint8_t glyph_bitmap[] = {
|
||||||
|
/* U+0020 " " */
|
||||||
|
0x0,
|
||||||
|
|
||||||
|
/* U+002D "-" */
|
||||||
|
0xee, 0xfd, 0xdf, 0xbb, 0x80,
|
||||||
|
|
||||||
|
/* U+0030 "0" */
|
||||||
|
0xe, 0xee, 0x1, 0xdd, 0xc0, 0x3b, 0xb8, 0x0,
|
||||||
|
0x0, 0xe, 0x0, 0xf, 0xc0, 0x1, 0xf8, 0x0,
|
||||||
|
0x38, 0x0, 0x0, 0xe0, 0x0, 0xfc, 0x0, 0x1f,
|
||||||
|
0x80, 0x3, 0x80, 0x0, 0xe, 0x0, 0xf, 0xc0,
|
||||||
|
0x1, 0xf8, 0x0, 0x38, 0x0, 0x0, 0xe0, 0x0,
|
||||||
|
0xfc, 0x0, 0x1f, 0x80, 0x3, 0x80, 0x0, 0xe,
|
||||||
|
0x0, 0xf, 0xc0, 0x1, 0xf8, 0x0, 0x38, 0x0,
|
||||||
|
0x0, 0xe, 0xee, 0x1, 0xdd, 0xc0, 0x3b, 0xb8,
|
||||||
|
0x0,
|
||||||
|
|
||||||
|
/* U+0031 "1" */
|
||||||
|
0xe, 0x1, 0xc0, 0x38, 0x0, 0xe, 0xe1, 0xdc,
|
||||||
|
0x3b, 0x80, 0x0, 0xe, 0x1, 0xc0, 0x38, 0x0,
|
||||||
|
0x0, 0xe0, 0x1c, 0x3, 0x80, 0x0, 0xe, 0x1,
|
||||||
|
0xc0, 0x38, 0x0, 0x0, 0xe0, 0x1c, 0x3, 0x80,
|
||||||
|
0x0, 0xee, 0xfd, 0xdf, 0xbb, 0x80,
|
||||||
|
|
||||||
|
/* U+0032 "2" */
|
||||||
|
0xe, 0xee, 0x1, 0xdd, 0xc0, 0x3b, 0xb8, 0x0,
|
||||||
|
0x0, 0xe, 0x0, 0xf, 0xc0, 0x1, 0xf8, 0x0,
|
||||||
|
0x38, 0x0, 0x0, 0x0, 0x0, 0xe0, 0x0, 0x1c,
|
||||||
|
0x0, 0x3, 0x80, 0x0, 0x0, 0x0, 0xe0, 0x0,
|
||||||
|
0x1c, 0x0, 0x3, 0x80, 0x0, 0x0, 0x0, 0xe0,
|
||||||
|
0x0, 0x1c, 0x0, 0x3, 0x80, 0x0, 0x0, 0x0,
|
||||||
|
0xe0, 0x0, 0x1c, 0x0, 0x3, 0x80, 0x0, 0x0,
|
||||||
|
0x0, 0xee, 0xee, 0xfd, 0xdd, 0xdf, 0xbb, 0xbb,
|
||||||
|
0x80,
|
||||||
|
|
||||||
|
/* U+0033 "3" */
|
||||||
|
0xe, 0xee, 0x1, 0xdd, 0xc0, 0x3b, 0xb8, 0x0,
|
||||||
|
0x0, 0xe, 0x0, 0xf, 0xc0, 0x1, 0xf8, 0x0,
|
||||||
|
0x38, 0x0, 0x0, 0x0, 0x0, 0xe0, 0x0, 0x1c,
|
||||||
|
0x0, 0x3, 0x80, 0x0, 0x0, 0xee, 0xe0, 0x1d,
|
||||||
|
0xdc, 0x3, 0xbb, 0x80, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0xe0, 0x0, 0x1c, 0x0, 0x3, 0x80, 0x0, 0xe,
|
||||||
|
0x0, 0xf, 0xc0, 0x1, 0xf8, 0x0, 0x38, 0x0,
|
||||||
|
0x0, 0xe, 0xee, 0x1, 0xdd, 0xc0, 0x3b, 0xb8,
|
||||||
|
0x0,
|
||||||
|
|
||||||
|
/* U+0034 "4" */
|
||||||
|
0x0, 0xe, 0x0, 0x1, 0xc0, 0x0, 0x38, 0x0,
|
||||||
|
0x0, 0x0, 0xe, 0xe0, 0x1, 0xdc, 0x0, 0x3b,
|
||||||
|
0x80, 0x0, 0x0, 0xe, 0xe, 0x1, 0xc1, 0xc0,
|
||||||
|
0x38, 0x38, 0x0, 0x0, 0xe, 0x0, 0xe1, 0xc0,
|
||||||
|
0x1c, 0x38, 0x3, 0x80, 0x0, 0x0, 0xee, 0xee,
|
||||||
|
0xfd, 0xdd, 0xdf, 0xbb, 0xbb, 0x80, 0x0, 0x0,
|
||||||
|
0x0, 0xe0, 0x0, 0x1c, 0x0, 0x3, 0x80, 0x0,
|
||||||
|
0x0, 0x0, 0xe, 0x0, 0x1, 0xc0, 0x0, 0x38,
|
||||||
|
0x0,
|
||||||
|
|
||||||
|
/* U+0035 "5" */
|
||||||
|
0xee, 0xee, 0xfd, 0xdd, 0xdf, 0xbb, 0xbb, 0x80,
|
||||||
|
0x0, 0xe, 0x0, 0x1, 0xc0, 0x0, 0x38, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0xee, 0xee, 0x1d, 0xdd, 0xc3,
|
||||||
|
0xbb, 0xb8, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0,
|
||||||
|
0x1, 0xc0, 0x0, 0x38, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0xe0, 0x0, 0x1c, 0x0, 0x3, 0x80, 0x0, 0xe,
|
||||||
|
0x0, 0xf, 0xc0, 0x1, 0xf8, 0x0, 0x38, 0x0,
|
||||||
|
0x0, 0xe, 0xee, 0x1, 0xdd, 0xc0, 0x3b, 0xb8,
|
||||||
|
0x0,
|
||||||
|
|
||||||
|
/* U+0036 "6" */
|
||||||
|
0x0, 0xee, 0x0, 0x1d, 0xc0, 0x3, 0xb8, 0x0,
|
||||||
|
0x0, 0x0, 0xe0, 0x0, 0x1c, 0x0, 0x3, 0x80,
|
||||||
|
0x0, 0x0, 0x0, 0xe0, 0x0, 0x1c, 0x0, 0x3,
|
||||||
|
0x80, 0x0, 0x0, 0x0, 0xe, 0xee, 0xe1, 0xdd,
|
||||||
|
0xdc, 0x3b, 0xbb, 0x80, 0x0, 0x0, 0xe0, 0x0,
|
||||||
|
0xfc, 0x0, 0x1f, 0x80, 0x3, 0x80, 0x0, 0xe,
|
||||||
|
0x0, 0xf, 0xc0, 0x1, 0xf8, 0x0, 0x38, 0x0,
|
||||||
|
0x0, 0xe, 0xee, 0x1, 0xdd, 0xc0, 0x3b, 0xb8,
|
||||||
|
0x0,
|
||||||
|
|
||||||
|
/* U+0037 "7" */
|
||||||
|
0xee, 0xee, 0xfd, 0xdd, 0xdf, 0xbb, 0xbb, 0x80,
|
||||||
|
0x0, 0x0, 0x0, 0xe, 0x0, 0x1, 0xc0, 0x0,
|
||||||
|
0x38, 0x0, 0x0, 0x0, 0xe, 0x0, 0x1, 0xc0,
|
||||||
|
0x0, 0x38, 0x0, 0x0, 0x0, 0xe, 0x0, 0x1,
|
||||||
|
0xc0, 0x0, 0x38, 0x0, 0x0, 0x0, 0xe, 0x0,
|
||||||
|
0x1, 0xc0, 0x0, 0x38, 0x0, 0x0, 0x0, 0xe,
|
||||||
|
0x0, 0x1, 0xc0, 0x0, 0x38, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0xe0, 0x0, 0x1c, 0x0, 0x3, 0x80, 0x0,
|
||||||
|
0x0,
|
||||||
|
|
||||||
|
/* U+0038 "8" */
|
||||||
|
0xe, 0xee, 0x1, 0xdd, 0xc0, 0x3b, 0xb8, 0x0,
|
||||||
|
0x0, 0xe, 0x0, 0xf, 0xc0, 0x1, 0xf8, 0x0,
|
||||||
|
0x38, 0x0, 0x0, 0xe0, 0x0, 0xfc, 0x0, 0x1f,
|
||||||
|
0x80, 0x3, 0x80, 0x0, 0x0, 0xee, 0xe0, 0x1d,
|
||||||
|
0xdc, 0x3, 0xbb, 0x80, 0x0, 0x0, 0xe0, 0x0,
|
||||||
|
0xfc, 0x0, 0x1f, 0x80, 0x3, 0x80, 0x0, 0xe,
|
||||||
|
0x0, 0xf, 0xc0, 0x1, 0xf8, 0x0, 0x38, 0x0,
|
||||||
|
0x0, 0xe, 0xee, 0x1, 0xdd, 0xc0, 0x3b, 0xb8,
|
||||||
|
0x0,
|
||||||
|
|
||||||
|
/* U+0039 "9" */
|
||||||
|
0xe, 0xee, 0x1, 0xdd, 0xc0, 0x3b, 0xb8, 0x0,
|
||||||
|
0x0, 0xe, 0x0, 0xf, 0xc0, 0x1, 0xf8, 0x0,
|
||||||
|
0x38, 0x0, 0x0, 0xe0, 0x0, 0xfc, 0x0, 0x1f,
|
||||||
|
0x80, 0x3, 0x80, 0x0, 0x0, 0xee, 0xee, 0x1d,
|
||||||
|
0xdd, 0xc3, 0xbb, 0xb8, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0xe0, 0x0, 0x1c, 0x0, 0x3, 0x80, 0x0, 0x0,
|
||||||
|
0x0, 0xe0, 0x0, 0x1c, 0x0, 0x3, 0x80, 0x0,
|
||||||
|
0x0, 0xe, 0xe0, 0x1, 0xdc, 0x0, 0x3b, 0x80,
|
||||||
|
0x0,
|
||||||
|
|
||||||
|
/* U+0041 "A" */
|
||||||
|
0xe, 0xee, 0x1, 0xdd, 0xc0, 0x3b, 0xb8, 0x0,
|
||||||
|
0x0, 0xe, 0x0, 0xf, 0xc0, 0x1, 0xf8, 0x0,
|
||||||
|
0x38, 0x0, 0x0, 0xe0, 0x0, 0xfc, 0x0, 0x1f,
|
||||||
|
0x80, 0x3, 0x80, 0x0, 0xe, 0xee, 0xef, 0xdd,
|
||||||
|
0xdd, 0xfb, 0xbb, 0xb8, 0x0, 0x0, 0xe0, 0x0,
|
||||||
|
0xfc, 0x0, 0x1f, 0x80, 0x3, 0x80, 0x0, 0xe,
|
||||||
|
0x0, 0xf, 0xc0, 0x1, 0xf8, 0x0, 0x38, 0x0,
|
||||||
|
0x0, 0xe0, 0x0, 0xfc, 0x0, 0x1f, 0x80, 0x3,
|
||||||
|
0x80,
|
||||||
|
|
||||||
|
/* U+0044 "D" */
|
||||||
|
0xee, 0xee, 0x1d, 0xdd, 0xc3, 0xbb, 0xb8, 0x0,
|
||||||
|
0x0, 0xe, 0x0, 0xf, 0xc0, 0x1, 0xf8, 0x0,
|
||||||
|
0x38, 0x0, 0x0, 0xe0, 0x0, 0xfc, 0x0, 0x1f,
|
||||||
|
0x80, 0x3, 0x80, 0x0, 0xe, 0x0, 0xf, 0xc0,
|
||||||
|
0x1, 0xf8, 0x0, 0x38, 0x0, 0x0, 0xe0, 0x0,
|
||||||
|
0xfc, 0x0, 0x1f, 0x80, 0x3, 0x80, 0x0, 0xe,
|
||||||
|
0x0, 0xf, 0xc0, 0x1, 0xf8, 0x0, 0x38, 0x0,
|
||||||
|
0x0, 0xee, 0xee, 0x1d, 0xdd, 0xc3, 0xbb, 0xb8,
|
||||||
|
0x0,
|
||||||
|
|
||||||
|
/* U+0045 "E" */
|
||||||
|
0xee, 0xee, 0xfd, 0xdd, 0xdf, 0xbb, 0xbb, 0x80,
|
||||||
|
0x0, 0xe, 0x0, 0x1, 0xc0, 0x0, 0x38, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0xe0, 0x0, 0x1c, 0x0, 0x3,
|
||||||
|
0x80, 0x0, 0x0, 0x0, 0xe, 0xee, 0xef, 0xdd,
|
||||||
|
0xdd, 0xfb, 0xbb, 0xb8, 0x0, 0x0, 0xe0, 0x0,
|
||||||
|
0x1c, 0x0, 0x3, 0x80, 0x0, 0x0, 0x0, 0xe,
|
||||||
|
0x0, 0x1, 0xc0, 0x0, 0x38, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0xee, 0xee, 0xfd, 0xdd, 0xdf, 0xbb, 0xbb,
|
||||||
|
0x80,
|
||||||
|
|
||||||
|
/* U+0046 "F" */
|
||||||
|
0xee, 0xee, 0xfd, 0xdd, 0xdf, 0xbb, 0xbb, 0x80,
|
||||||
|
0x0, 0xe, 0x0, 0x1, 0xc0, 0x0, 0x38, 0x0,
|
||||||
|
0x0, 0x0, 0x0, 0xe0, 0x0, 0x1c, 0x0, 0x3,
|
||||||
|
0x80, 0x0, 0x0, 0x0, 0xe, 0xee, 0xef, 0xdd,
|
||||||
|
0xdd, 0xfb, 0xbb, 0xb8, 0x0, 0x0, 0xe0, 0x0,
|
||||||
|
0x1c, 0x0, 0x3, 0x80, 0x0, 0x0, 0x0, 0xe,
|
||||||
|
0x0, 0x1, 0xc0, 0x0, 0x38, 0x0, 0x0, 0x0,
|
||||||
|
0x0, 0xe0, 0x0, 0x1c, 0x0, 0x3, 0x80, 0x0,
|
||||||
|
0x0,
|
||||||
|
|
||||||
|
/* U+0048 "H" */
|
||||||
|
0xe0, 0x0, 0xfc, 0x0, 0x1f, 0x80, 0x3, 0x80,
|
||||||
|
0x0, 0xe, 0x0, 0xf, 0xc0, 0x1, 0xf8, 0x0,
|
||||||
|
0x38, 0x0, 0x0, 0xe0, 0x0, 0xfc, 0x0, 0x1f,
|
||||||
|
0x80, 0x3, 0x80, 0x0, 0xe, 0xee, 0xef, 0xdd,
|
||||||
|
0xdd, 0xfb, 0xbb, 0xb8, 0x0, 0x0, 0xe0, 0x0,
|
||||||
|
0xfc, 0x0, 0x1f, 0x80, 0x3, 0x80, 0x0, 0xe,
|
||||||
|
0x0, 0xf, 0xc0, 0x1, 0xf8, 0x0, 0x38, 0x0,
|
||||||
|
0x0, 0xe0, 0x0, 0xfc, 0x0, 0x1f, 0x80, 0x3,
|
||||||
|
0x80,
|
||||||
|
|
||||||
|
/* U+0049 "I" */
|
||||||
|
0xee, 0xfd, 0xdf, 0xbb, 0x80, 0x0, 0xe0, 0x1c,
|
||||||
|
0x3, 0x80, 0x0, 0xe, 0x1, 0xc0, 0x38, 0x0,
|
||||||
|
0x0, 0xe0, 0x1c, 0x3, 0x80, 0x0, 0xe, 0x1,
|
||||||
|
0xc0, 0x38, 0x0, 0x0, 0xe0, 0x1c, 0x3, 0x80,
|
||||||
|
0x0, 0xee, 0xfd, 0xdf, 0xbb, 0x80,
|
||||||
|
|
||||||
|
/* U+004B "K" */
|
||||||
|
0xe0, 0x0, 0xfc, 0x0, 0x1f, 0x80, 0x3, 0x80,
|
||||||
|
0x0, 0xe, 0x0, 0xe1, 0xc0, 0x1c, 0x38, 0x3,
|
||||||
|
0x80, 0x0, 0x0, 0xe0, 0xe0, 0x1c, 0x1c, 0x3,
|
||||||
|
0x83, 0x80, 0x0, 0x0, 0xe, 0xe0, 0x1, 0xdc,
|
||||||
|
0x0, 0x3b, 0x80, 0x0, 0x0, 0x0, 0xe0, 0xe0,
|
||||||
|
0x1c, 0x1c, 0x3, 0x83, 0x80, 0x0, 0x0, 0xe,
|
||||||
|
0x0, 0xe1, 0xc0, 0x1c, 0x38, 0x3, 0x80, 0x0,
|
||||||
|
0x0, 0xe0, 0x0, 0xfc, 0x0, 0x1f, 0x80, 0x3,
|
||||||
|
0x80,
|
||||||
|
|
||||||
|
/* U+004D "M" */
|
||||||
|
0xe0, 0x0, 0xfc, 0x0, 0x1f, 0x80, 0x3, 0x80,
|
||||||
|
0x0, 0xe, 0xe0, 0xef, 0xdc, 0x1d, 0xfb, 0x83,
|
||||||
|
0xb8, 0x0, 0x0, 0xe0, 0xe0, 0xfc, 0x1c, 0x1f,
|
||||||
|
0x83, 0x83, 0x80, 0x0, 0xe, 0xe, 0xf, 0xc1,
|
||||||
|
0xc1, 0xf8, 0x38, 0x38, 0x0, 0x0, 0xe0, 0x0,
|
||||||
|
0xfc, 0x0, 0x1f, 0x80, 0x3, 0x80, 0x0, 0xe,
|
||||||
|
0x0, 0xf, 0xc0, 0x1, 0xf8, 0x0, 0x38, 0x0,
|
||||||
|
0x0, 0xe0, 0x0, 0xfc, 0x0, 0x1f, 0x80, 0x3,
|
||||||
|
0x80,
|
||||||
|
|
||||||
|
/* U+004E "N" */
|
||||||
|
0xe0, 0x0, 0xfc, 0x0, 0x1f, 0x80, 0x3, 0x80,
|
||||||
|
0x0, 0xe, 0xe0, 0xf, 0xdc, 0x1, 0xfb, 0x80,
|
||||||
|
0x38, 0x0, 0x0, 0xe0, 0xe0, 0xfc, 0x1c, 0x1f,
|
||||||
|
0x83, 0x83, 0x80, 0x0, 0xe, 0x0, 0xef, 0xc0,
|
||||||
|
0x1d, 0xf8, 0x3, 0xb8, 0x0, 0x0, 0xe0, 0x0,
|
||||||
|
0xfc, 0x0, 0x1f, 0x80, 0x3, 0x80, 0x0, 0xe,
|
||||||
|
0x0, 0xf, 0xc0, 0x1, 0xf8, 0x0, 0x38, 0x0,
|
||||||
|
0x0, 0xe0, 0x0, 0xfc, 0x0, 0x1f, 0x80, 0x3,
|
||||||
|
0x80,
|
||||||
|
|
||||||
|
/* U+004F "O" */
|
||||||
|
0xe, 0xee, 0x1, 0xdd, 0xc0, 0x3b, 0xb8, 0x0,
|
||||||
|
0x0, 0xe, 0x0, 0xf, 0xc0, 0x1, 0xf8, 0x0,
|
||||||
|
0x38, 0x0, 0x0, 0xe0, 0x0, 0xfc, 0x0, 0x1f,
|
||||||
|
0x80, 0x3, 0x80, 0x0, 0xe, 0x0, 0xf, 0xc0,
|
||||||
|
0x1, 0xf8, 0x0, 0x38, 0x0, 0x0, 0xe0, 0x0,
|
||||||
|
0xfc, 0x0, 0x1f, 0x80, 0x3, 0x80, 0x0, 0xe,
|
||||||
|
0x0, 0xf, 0xc0, 0x1, 0xf8, 0x0, 0x38, 0x0,
|
||||||
|
0x0, 0xe, 0xee, 0x1, 0xdd, 0xc0, 0x3b, 0xb8,
|
||||||
|
0x0,
|
||||||
|
|
||||||
|
/* U+0052 "R" */
|
||||||
|
0xee, 0xee, 0x1d, 0xdd, 0xc3, 0xbb, 0xb8, 0x0,
|
||||||
|
0x0, 0xe, 0x0, 0xf, 0xc0, 0x1, 0xf8, 0x0,
|
||||||
|
0x38, 0x0, 0x0, 0xe0, 0x0, 0xfc, 0x0, 0x1f,
|
||||||
|
0x80, 0x3, 0x80, 0x0, 0xe, 0xee, 0xe1, 0xdd,
|
||||||
|
0xdc, 0x3b, 0xbb, 0x80, 0x0, 0x0, 0xe0, 0x0,
|
||||||
|
0xfc, 0x0, 0x1f, 0x80, 0x3, 0x80, 0x0, 0xe,
|
||||||
|
0x0, 0xf, 0xc0, 0x1, 0xf8, 0x0, 0x38, 0x0,
|
||||||
|
0x0, 0xe0, 0x0, 0xfc, 0x0, 0x1f, 0x80, 0x3,
|
||||||
|
0x80,
|
||||||
|
|
||||||
|
/* U+0053 "S" */
|
||||||
|
0xe, 0xee, 0x1, 0xdd, 0xc0, 0x3b, 0xb8, 0x0,
|
||||||
|
0x0, 0xe, 0x0, 0xf, 0xc0, 0x1, 0xf8, 0x0,
|
||||||
|
0x38, 0x0, 0x0, 0xe0, 0x0, 0x1c, 0x0, 0x3,
|
||||||
|
0x80, 0x0, 0x0, 0x0, 0x0, 0xee, 0xe0, 0x1d,
|
||||||
|
0xdc, 0x3, 0xbb, 0x80, 0x0, 0x0, 0x0, 0x0,
|
||||||
|
0xe0, 0x0, 0x1c, 0x0, 0x3, 0x80, 0x0, 0xe,
|
||||||
|
0x0, 0xf, 0xc0, 0x1, 0xf8, 0x0, 0x38, 0x0,
|
||||||
|
0x0, 0xe, 0xee, 0x1, 0xdd, 0xc0, 0x3b, 0xb8,
|
||||||
|
0x0,
|
||||||
|
|
||||||
|
/* U+0054 "T" */
|
||||||
|
0xee, 0xee, 0xfd, 0xdd, 0xdf, 0xbb, 0xbb, 0x80,
|
||||||
|
0x0, 0x0, 0xe, 0x0, 0x1, 0xc0, 0x0, 0x38,
|
||||||
|
0x0, 0x0, 0x0, 0x0, 0xe0, 0x0, 0x1c, 0x0,
|
||||||
|
0x3, 0x80, 0x0, 0x0, 0x0, 0xe, 0x0, 0x1,
|
||||||
|
0xc0, 0x0, 0x38, 0x0, 0x0, 0x0, 0x0, 0xe0,
|
||||||
|
0x0, 0x1c, 0x0, 0x3, 0x80, 0x0, 0x0, 0x0,
|
||||||
|
0xe, 0x0, 0x1, 0xc0, 0x0, 0x38, 0x0, 0x0,
|
||||||
|
0x0, 0x0, 0xe0, 0x0, 0x1c, 0x0, 0x3, 0x80,
|
||||||
|
0x0,
|
||||||
|
|
||||||
|
/* U+0055 "U" */
|
||||||
|
0xe0, 0x0, 0xfc, 0x0, 0x1f, 0x80, 0x3, 0x80,
|
||||||
|
0x0, 0xe, 0x0, 0xf, 0xc0, 0x1, 0xf8, 0x0,
|
||||||
|
0x38, 0x0, 0x0, 0xe0, 0x0, 0xfc, 0x0, 0x1f,
|
||||||
|
0x80, 0x3, 0x80, 0x0, 0xe, 0x0, 0xf, 0xc0,
|
||||||
|
0x1, 0xf8, 0x0, 0x38, 0x0, 0x0, 0xe0, 0x0,
|
||||||
|
0xfc, 0x0, 0x1f, 0x80, 0x3, 0x80, 0x0, 0xe,
|
||||||
|
0x0, 0xf, 0xc0, 0x1, 0xf8, 0x0, 0x38, 0x0,
|
||||||
|
0x0, 0xe, 0xee, 0x1, 0xdd, 0xc0, 0x3b, 0xb8,
|
||||||
|
0x0,
|
||||||
|
|
||||||
|
/* U+0057 "W" */
|
||||||
|
0xe0, 0x0, 0xfc, 0x0, 0x1f, 0x80, 0x3, 0x80,
|
||||||
|
0x0, 0xe, 0x0, 0xf, 0xc0, 0x1, 0xf8, 0x0,
|
||||||
|
0x38, 0x0, 0x0, 0xe0, 0x0, 0xfc, 0x0, 0x1f,
|
||||||
|
0x80, 0x3, 0x80, 0x0, 0xe, 0xe, 0xf, 0xc1,
|
||||||
|
0xc1, 0xf8, 0x38, 0x38, 0x0, 0x0, 0xe0, 0xe0,
|
||||||
|
0xfc, 0x1c, 0x1f, 0x83, 0x83, 0x80, 0x0, 0xe,
|
||||||
|
0xe0, 0xef, 0xdc, 0x1d, 0xfb, 0x83, 0xb8, 0x0,
|
||||||
|
0x0, 0xe0, 0x0, 0xfc, 0x0, 0x1f, 0x80, 0x3,
|
||||||
|
0x80
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*---------------------
|
||||||
|
* GLYPH DESCRIPTION
|
||||||
|
*--------------------*/
|
||||||
|
|
||||||
|
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
|
||||||
|
{.bitmap_index = 0, .adv_w = 0, .box_w = 0, .box_h = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
|
||||||
|
{.bitmap_index = 0, .adv_w = 353, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1, .adv_w = 353, .box_w = 11, .box_h = 3, .ofs_x = 5, .ofs_y = 8},
|
||||||
|
{.bitmap_index = 6, .adv_w = 353, .box_w = 19, .box_h = 27, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 71, .adv_w = 353, .box_w = 11, .box_h = 27, .ofs_x = 5, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 109, .adv_w = 353, .box_w = 19, .box_h = 27, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 174, .adv_w = 353, .box_w = 19, .box_h = 27, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 239, .adv_w = 353, .box_w = 19, .box_h = 27, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 304, .adv_w = 353, .box_w = 19, .box_h = 27, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 369, .adv_w = 353, .box_w = 19, .box_h = 27, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 434, .adv_w = 353, .box_w = 19, .box_h = 27, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 499, .adv_w = 353, .box_w = 19, .box_h = 27, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 564, .adv_w = 353, .box_w = 19, .box_h = 27, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 629, .adv_w = 353, .box_w = 19, .box_h = 27, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 694, .adv_w = 353, .box_w = 19, .box_h = 27, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 759, .adv_w = 353, .box_w = 19, .box_h = 27, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 824, .adv_w = 353, .box_w = 19, .box_h = 27, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 889, .adv_w = 353, .box_w = 19, .box_h = 27, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 954, .adv_w = 353, .box_w = 11, .box_h = 27, .ofs_x = 5, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 992, .adv_w = 353, .box_w = 19, .box_h = 27, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1057, .adv_w = 353, .box_w = 19, .box_h = 27, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1122, .adv_w = 353, .box_w = 19, .box_h = 27, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1187, .adv_w = 353, .box_w = 19, .box_h = 27, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1252, .adv_w = 353, .box_w = 19, .box_h = 27, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1317, .adv_w = 353, .box_w = 19, .box_h = 27, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1382, .adv_w = 353, .box_w = 19, .box_h = 27, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1447, .adv_w = 353, .box_w = 19, .box_h = 27, .ofs_x = 1, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1512, .adv_w = 353, .box_w = 19, .box_h = 27, .ofs_x = 1, .ofs_y = 0}
|
||||||
|
};
|
||||||
|
|
||||||
|
/*---------------------
|
||||||
|
* CHARACTER MAPPING
|
||||||
|
*--------------------*/
|
||||||
|
|
||||||
|
static const uint16_t unicode_list_0[] = {
|
||||||
|
0x0, 0xd, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15,
|
||||||
|
0x16, 0x17, 0x18, 0x19, 0x21, 0x24, 0x25, 0x26,
|
||||||
|
0x28, 0x29, 0x2b, 0x2d, 0x2e, 0x2f, 0x32, 0x33,
|
||||||
|
0x34, 0x35, 0x37
|
||||||
|
};
|
||||||
|
|
||||||
|
/*Collect the unicode lists and glyph_id offsets*/
|
||||||
|
static const lv_font_fmt_txt_cmap_t cmaps[] =
|
||||||
|
{
|
||||||
|
{
|
||||||
|
.range_start = 32, .range_length = 56, .glyph_id_start = 1,
|
||||||
|
.unicode_list = unicode_list_0, .glyph_id_ofs_list = NULL, .list_length = 27, .type = LV_FONT_FMT_TXT_CMAP_SPARSE_TINY
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------
|
||||||
|
* ALL CUSTOM DATA
|
||||||
|
*--------------------*/
|
||||||
|
|
||||||
|
#if LV_VERSION_CHECK(8, 0, 0)
|
||||||
|
/*Store all the custom data of the font*/
|
||||||
|
static lv_font_fmt_txt_glyph_cache_t cache;
|
||||||
|
static const lv_font_fmt_txt_dsc_t font_dsc = {
|
||||||
|
#else
|
||||||
|
static lv_font_fmt_txt_dsc_t font_dsc = {
|
||||||
|
#endif
|
||||||
|
.glyph_bitmap = glyph_bitmap,
|
||||||
|
.glyph_dsc = glyph_dsc,
|
||||||
|
.cmaps = cmaps,
|
||||||
|
.kern_dsc = NULL,
|
||||||
|
.kern_scale = 0,
|
||||||
|
.cmap_num = 1,
|
||||||
|
.bpp = 1,
|
||||||
|
.kern_classes = 0,
|
||||||
|
.bitmap_format = 0,
|
||||||
|
#if LV_VERSION_CHECK(8, 0, 0)
|
||||||
|
.cache = &cache
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*-----------------
|
||||||
|
* PUBLIC FONT
|
||||||
|
*----------------*/
|
||||||
|
|
||||||
|
/*Initialize a public general font descriptor*/
|
||||||
|
#if LV_VERSION_CHECK(8, 0, 0)
|
||||||
|
const lv_font_t lv_font_dots_40 = {
|
||||||
|
#else
|
||||||
|
lv_font_t lv_font_dots_40 = {
|
||||||
|
#endif
|
||||||
|
.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*/
|
||||||
|
.line_height = 27, /*The maximum line height required by the font*/
|
||||||
|
.base_line = 0, /*Baseline measured from the bottom of the line*/
|
||||||
|
#if !(LVGL_VERSION_MAJOR == 6 && LVGL_VERSION_MINOR == 0)
|
||||||
|
.subpx = LV_FONT_SUBPX_NONE,
|
||||||
|
#endif
|
||||||
|
#if LV_VERSION_CHECK(7, 4, 0) || LVGL_VERSION_MAJOR >= 8
|
||||||
|
.underline_position = -5,
|
||||||
|
.underline_thickness = 1,
|
||||||
|
#endif
|
||||||
|
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif /*#if LV_FONT_DOTS_40*/
|
||||||
|
|
BIN
src/displayapp/fonts/repetitionscrolling.ttf
Normal file
BIN
src/displayapp/fonts/repetitionscrolling.ttf
Normal file
Binary file not shown.
115
src/displayapp/screens/CheckboxList.cpp
Normal file
115
src/displayapp/screens/CheckboxList.cpp
Normal file
|
@ -0,0 +1,115 @@
|
||||||
|
#include "displayapp/screens/CheckboxList.h"
|
||||||
|
#include "displayapp/DisplayApp.h"
|
||||||
|
#include "displayapp/screens/Styles.h"
|
||||||
|
#include "displayapp/screens/Symbols.h"
|
||||||
|
|
||||||
|
using namespace Pinetime::Applications::Screens;
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
static void event_handler(lv_obj_t* obj, lv_event_t event) {
|
||||||
|
CheckboxList* screen = static_cast<CheckboxList*>(obj->user_data);
|
||||||
|
screen->UpdateSelected(obj, event);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
CheckboxList::CheckboxList(const uint8_t screenID,
|
||||||
|
const uint8_t numScreens,
|
||||||
|
DisplayApp* app,
|
||||||
|
Controllers::Settings& settingsController,
|
||||||
|
const char* optionsTitle,
|
||||||
|
const char* optionsSymbol,
|
||||||
|
void (Controllers::Settings::*SetOptionIndex)(uint8_t),
|
||||||
|
uint8_t (Controllers::Settings::*GetOptionIndex )() const,
|
||||||
|
std::array<const char*, MAXLISTITEMS> options)
|
||||||
|
: Screen(app), screenID {screenID}, settingsController {settingsController},
|
||||||
|
SetOptionIndex {SetOptionIndex}, GetOptionIndex {GetOptionIndex},
|
||||||
|
options {options} {
|
||||||
|
|
||||||
|
settingsController.SetWatchfacesMenu(screenID);
|
||||||
|
|
||||||
|
// Set the background to Black
|
||||||
|
lv_obj_set_style_local_bg_color(lv_scr_act(), LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_BLACK);
|
||||||
|
|
||||||
|
if (numScreens > 1) {
|
||||||
|
pageIndicatorBasePoints[0].x = LV_HOR_RES - 1;
|
||||||
|
pageIndicatorBasePoints[0].y = 0;
|
||||||
|
pageIndicatorBasePoints[1].x = LV_HOR_RES - 1;
|
||||||
|
pageIndicatorBasePoints[1].y = LV_VER_RES;
|
||||||
|
|
||||||
|
pageIndicatorBase = lv_line_create(lv_scr_act(), NULL);
|
||||||
|
lv_obj_set_style_local_line_width(pageIndicatorBase, LV_LINE_PART_MAIN, LV_STATE_DEFAULT, 3);
|
||||||
|
lv_obj_set_style_local_line_color(pageIndicatorBase, LV_LINE_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x111111));
|
||||||
|
lv_line_set_points(pageIndicatorBase, pageIndicatorBasePoints, 2);
|
||||||
|
|
||||||
|
const uint16_t indicatorSize = LV_VER_RES / numScreens;
|
||||||
|
const uint16_t indicatorPos = indicatorSize * screenID;
|
||||||
|
|
||||||
|
pageIndicatorPoints[0].x = LV_HOR_RES - 1;
|
||||||
|
pageIndicatorPoints[0].y = indicatorPos;
|
||||||
|
pageIndicatorPoints[1].x = LV_HOR_RES - 1;
|
||||||
|
pageIndicatorPoints[1].y = indicatorPos + indicatorSize;
|
||||||
|
|
||||||
|
pageIndicator = lv_line_create(lv_scr_act(), NULL);
|
||||||
|
lv_obj_set_style_local_line_width(pageIndicator, LV_LINE_PART_MAIN, LV_STATE_DEFAULT, 3);
|
||||||
|
lv_obj_set_style_local_line_color(pageIndicator, LV_LINE_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_GRAY);
|
||||||
|
lv_line_set_points(pageIndicator, pageIndicatorPoints, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
lv_obj_t* container1 = lv_cont_create(lv_scr_act(), nullptr);
|
||||||
|
|
||||||
|
lv_obj_set_style_local_bg_opa(container1, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, LV_OPA_TRANSP);
|
||||||
|
lv_obj_set_style_local_pad_all(container1, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, 10);
|
||||||
|
lv_obj_set_style_local_pad_inner(container1, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, 5);
|
||||||
|
lv_obj_set_style_local_border_width(container1, LV_CONT_PART_MAIN, LV_STATE_DEFAULT, 0);
|
||||||
|
|
||||||
|
lv_obj_set_pos(container1, 10, 60);
|
||||||
|
lv_obj_set_width(container1, LV_HOR_RES - 20);
|
||||||
|
lv_obj_set_height(container1, LV_VER_RES - 50);
|
||||||
|
lv_cont_set_layout(container1, LV_LAYOUT_COLUMN_LEFT);
|
||||||
|
|
||||||
|
lv_obj_t* title = lv_label_create(lv_scr_act(), nullptr);
|
||||||
|
lv_label_set_text_static(title, optionsTitle);
|
||||||
|
lv_label_set_align(title, LV_LABEL_ALIGN_CENTER);
|
||||||
|
lv_obj_align(title, lv_scr_act(), LV_ALIGN_IN_TOP_MID, 10, 15);
|
||||||
|
|
||||||
|
lv_obj_t* icon = lv_label_create(lv_scr_act(), nullptr);
|
||||||
|
lv_obj_set_style_local_text_color(icon, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, LV_COLOR_ORANGE);
|
||||||
|
lv_label_set_text_static(icon, optionsSymbol);
|
||||||
|
lv_label_set_align(icon, LV_LABEL_ALIGN_CENTER);
|
||||||
|
lv_obj_align(icon, title, LV_ALIGN_OUT_LEFT_MID, -10, 0);
|
||||||
|
|
||||||
|
for (unsigned int i = 0; i < options.size(); i++) {
|
||||||
|
if (strcmp(options[i], "")) {
|
||||||
|
cbOption[i] = lv_checkbox_create(container1, nullptr);
|
||||||
|
lv_checkbox_set_text(cbOption[i], options[i]);
|
||||||
|
cbOption[i]->user_data = this;
|
||||||
|
lv_obj_set_event_cb(cbOption[i], event_handler);
|
||||||
|
SetRadioButtonStyle(cbOption[i]);
|
||||||
|
|
||||||
|
if (static_cast<unsigned int>((settingsController.*GetOptionIndex)() - MAXLISTITEMS*screenID) == i) {
|
||||||
|
lv_checkbox_set_checked(cbOption[i], true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
CheckboxList::~CheckboxList() {
|
||||||
|
lv_obj_clean(lv_scr_act());
|
||||||
|
settingsController.SaveSettings();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CheckboxList::UpdateSelected(lv_obj_t* object, lv_event_t event) {
|
||||||
|
if (event == LV_EVENT_VALUE_CHANGED) {
|
||||||
|
for (unsigned int i = 0; i < options.size(); i++) {
|
||||||
|
if (strcmp(options[i], "")) {
|
||||||
|
if (object == cbOption[i]) {
|
||||||
|
lv_checkbox_set_checked(cbOption[i], true);
|
||||||
|
(settingsController.*SetOptionIndex)(MAXLISTITEMS*screenID + i);
|
||||||
|
} else {
|
||||||
|
lv_checkbox_set_checked(cbOption[i], false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
49
src/displayapp/screens/CheckboxList.h
Normal file
49
src/displayapp/screens/CheckboxList.h
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <lvgl/lvgl.h>
|
||||||
|
#include <cstdint>
|
||||||
|
#include <memory>
|
||||||
|
#include "displayapp/screens/Screen.h"
|
||||||
|
#include "displayapp/Apps.h"
|
||||||
|
#include "components/settings/Settings.h"
|
||||||
|
|
||||||
|
#define MAXLISTITEMS 4
|
||||||
|
|
||||||
|
namespace Pinetime {
|
||||||
|
namespace Applications {
|
||||||
|
namespace Screens {
|
||||||
|
class CheckboxList : public Screen {
|
||||||
|
public:
|
||||||
|
CheckboxList(const uint8_t screenID,
|
||||||
|
const uint8_t numScreens,
|
||||||
|
DisplayApp* app,
|
||||||
|
Controllers::Settings& settingsController,
|
||||||
|
const char* optionsTitle,
|
||||||
|
const char* optionsSymbol,
|
||||||
|
void (Controllers::Settings::*SetOptionIndex)(uint8_t),
|
||||||
|
uint8_t (Controllers::Settings::*GetOptionIndex)() const,
|
||||||
|
std::array<const char*, MAXLISTITEMS> options);
|
||||||
|
|
||||||
|
~CheckboxList() override;
|
||||||
|
|
||||||
|
void UpdateSelected(lv_obj_t* object, lv_event_t event);
|
||||||
|
|
||||||
|
private:
|
||||||
|
const uint8_t screenID;
|
||||||
|
Controllers::Settings& settingsController;
|
||||||
|
const char* optionsTitle;
|
||||||
|
const char* optionsSymbol;
|
||||||
|
void (Controllers::Settings::*SetOptionIndex)(uint8_t);
|
||||||
|
uint8_t (Controllers::Settings::*GetOptionIndex)() const;
|
||||||
|
std::array<const char*, MAXLISTITEMS> options;
|
||||||
|
|
||||||
|
lv_obj_t* cbOption[MAXLISTITEMS];
|
||||||
|
|
||||||
|
lv_point_t pageIndicatorBasePoints[2];
|
||||||
|
lv_point_t pageIndicatorPoints[2];
|
||||||
|
lv_obj_t* pageIndicatorBase;
|
||||||
|
lv_obj_t* pageIndicator;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -12,6 +12,7 @@
|
||||||
#include "displayapp/screens/WatchFaceTerminal.h"
|
#include "displayapp/screens/WatchFaceTerminal.h"
|
||||||
#include "displayapp/screens/WatchFaceAnalog.h"
|
#include "displayapp/screens/WatchFaceAnalog.h"
|
||||||
#include "displayapp/screens/WatchFacePineTimeStyle.h"
|
#include "displayapp/screens/WatchFacePineTimeStyle.h"
|
||||||
|
#include "displayapp/screens/WatchFaceCasioStyleG7710.h"
|
||||||
|
|
||||||
using namespace Pinetime::Applications::Screens;
|
using namespace Pinetime::Applications::Screens;
|
||||||
|
|
||||||
|
@ -45,6 +46,9 @@ Clock::Clock(DisplayApp* app,
|
||||||
case 3:
|
case 3:
|
||||||
return WatchFaceTerminalScreen();
|
return WatchFaceTerminalScreen();
|
||||||
break;
|
break;
|
||||||
|
case 4:
|
||||||
|
return WatchFaceCasioStyleG7710();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return WatchFaceDigitalScreen();
|
return WatchFaceDigitalScreen();
|
||||||
}()} {
|
}()} {
|
||||||
|
@ -103,3 +107,14 @@ std::unique_ptr<Screen> Clock::WatchFaceTerminalScreen() {
|
||||||
heartRateController,
|
heartRateController,
|
||||||
motionController);
|
motionController);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::unique_ptr<Screen> Clock::WatchFaceCasioStyleG7710() {
|
||||||
|
return std::make_unique<Screens::WatchFaceCasioStyleG7710>(app,
|
||||||
|
dateTimeController,
|
||||||
|
batteryController,
|
||||||
|
bleController,
|
||||||
|
notificatioManager,
|
||||||
|
settingsController,
|
||||||
|
heartRateController,
|
||||||
|
motionController);
|
||||||
|
}
|
||||||
|
|
|
@ -48,6 +48,7 @@ namespace Pinetime {
|
||||||
std::unique_ptr<Screen> WatchFaceAnalogScreen();
|
std::unique_ptr<Screen> WatchFaceAnalogScreen();
|
||||||
std::unique_ptr<Screen> WatchFacePineTimeStyleScreen();
|
std::unique_ptr<Screen> WatchFacePineTimeStyleScreen();
|
||||||
std::unique_ptr<Screen> WatchFaceTerminalScreen();
|
std::unique_ptr<Screen> WatchFaceTerminalScreen();
|
||||||
|
std::unique_ptr<Screen> WatchFaceCasioStyleG7710();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
297
src/displayapp/screens/WatchFaceCasioStyleG7710.cpp
Normal file
297
src/displayapp/screens/WatchFaceCasioStyleG7710.cpp
Normal file
|
@ -0,0 +1,297 @@
|
||||||
|
#include "displayapp/screens/WatchFaceCasioStyleG7710.h"
|
||||||
|
|
||||||
|
#include <date/date.h>
|
||||||
|
#include <lvgl/lvgl.h>
|
||||||
|
#include <cstdio>
|
||||||
|
#include "displayapp/screens/BatteryIcon.h"
|
||||||
|
#include "displayapp/screens/BleIcon.h"
|
||||||
|
#include "displayapp/screens/NotificationIcon.h"
|
||||||
|
#include "displayapp/screens/Symbols.h"
|
||||||
|
#include "components/battery/BatteryController.h"
|
||||||
|
#include "components/ble/BleController.h"
|
||||||
|
#include "components/ble/NotificationManager.h"
|
||||||
|
#include "components/heartrate/HeartRateController.h"
|
||||||
|
#include "components/motion/MotionController.h"
|
||||||
|
#include "components/settings/Settings.h"
|
||||||
|
using namespace Pinetime::Applications::Screens;
|
||||||
|
|
||||||
|
|
||||||
|
WatchFaceCasioStyleG7710::WatchFaceCasioStyleG7710(DisplayApp* app,
|
||||||
|
Controllers::DateTime& dateTimeController,
|
||||||
|
Controllers::Battery& batteryController,
|
||||||
|
Controllers::Ble& bleController,
|
||||||
|
Controllers::NotificationManager& notificatioManager,
|
||||||
|
Controllers::Settings& settingsController,
|
||||||
|
Controllers::HeartRateController& heartRateController,
|
||||||
|
Controllers::MotionController& motionController)
|
||||||
|
: Screen(app),
|
||||||
|
currentDateTime {{}},
|
||||||
|
dateTimeController {dateTimeController},
|
||||||
|
batteryController {batteryController},
|
||||||
|
bleController {bleController},
|
||||||
|
notificatioManager {notificatioManager},
|
||||||
|
settingsController {settingsController},
|
||||||
|
heartRateController {heartRateController},
|
||||||
|
motionController {motionController} {
|
||||||
|
|
||||||
|
batteryIcon = lv_label_create(lv_scr_act(), nullptr);
|
||||||
|
lv_label_set_text_static(batteryIcon, Symbols::batteryFull);
|
||||||
|
lv_obj_set_style_local_text_color(batteryIcon, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x98B69A));
|
||||||
|
lv_obj_align(batteryIcon, lv_scr_act(), LV_ALIGN_IN_TOP_RIGHT, -5, 0);
|
||||||
|
|
||||||
|
batteryPlug = lv_label_create(lv_scr_act(), nullptr);
|
||||||
|
lv_obj_set_style_local_text_color(batteryPlug, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x98B69A));
|
||||||
|
lv_label_set_text_static(batteryPlug, Symbols::plug);
|
||||||
|
lv_obj_align(batteryPlug, batteryIcon, LV_ALIGN_OUT_LEFT_MID, -5, 0);
|
||||||
|
|
||||||
|
bleIcon = lv_label_create(lv_scr_act(), nullptr);
|
||||||
|
lv_obj_set_style_local_text_color(bleIcon, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x98B69A));
|
||||||
|
lv_label_set_text_static(bleIcon, Symbols::bluetooth);
|
||||||
|
lv_obj_align(bleIcon, batteryPlug, LV_ALIGN_OUT_LEFT_MID, -5, 0);
|
||||||
|
|
||||||
|
notificationIcon = lv_label_create(lv_scr_act(), nullptr);
|
||||||
|
lv_obj_set_style_local_text_color(notificationIcon, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x98B69A));
|
||||||
|
lv_label_set_text_static(notificationIcon, NotificationIcon::GetIcon(false));
|
||||||
|
lv_obj_align(notificationIcon, nullptr, LV_ALIGN_IN_TOP_LEFT, 5, 0);
|
||||||
|
|
||||||
|
|
||||||
|
label_day_of_week = lv_label_create(lv_scr_act(), nullptr);
|
||||||
|
lv_obj_align(label_day_of_week, lv_scr_act(), LV_ALIGN_IN_TOP_LEFT, 10, 64);
|
||||||
|
lv_obj_set_style_local_text_color(label_day_of_week, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x98B69A));
|
||||||
|
lv_obj_set_style_local_text_font(label_day_of_week, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &lv_font_dots_40);
|
||||||
|
lv_label_set_text_static(label_day_of_week, "SUN");
|
||||||
|
|
||||||
|
label_week_number = lv_label_create(lv_scr_act(), nullptr);
|
||||||
|
lv_obj_align(label_week_number, lv_scr_act(), LV_ALIGN_IN_TOP_LEFT, 5, 34);
|
||||||
|
lv_obj_set_style_local_text_color(label_week_number, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x98B69A));
|
||||||
|
lv_obj_set_style_local_text_font(label_week_number, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &lv_font_dots_40);
|
||||||
|
lv_label_set_text_static(label_week_number, "WK26");
|
||||||
|
|
||||||
|
label_day_of_year = lv_label_create(lv_scr_act(), nullptr);
|
||||||
|
lv_obj_align(label_day_of_year, lv_scr_act(), LV_ALIGN_IN_TOP_LEFT, 100, 25);
|
||||||
|
lv_obj_set_style_local_text_color(label_day_of_year, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x98B69A));
|
||||||
|
lv_obj_set_style_local_text_font(label_day_of_year, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &lv_font_7segment_40);
|
||||||
|
lv_label_set_text_static(label_day_of_year, "181-184");
|
||||||
|
|
||||||
|
static lv_style_t style_line;
|
||||||
|
lv_style_init(&style_line);
|
||||||
|
lv_style_set_line_width(&style_line, LV_STATE_DEFAULT, 2);
|
||||||
|
lv_style_set_line_color(&style_line, LV_STATE_DEFAULT, lv_color_hex(0x98B69A));
|
||||||
|
lv_style_set_line_rounded(&style_line, LV_STATE_DEFAULT, true);
|
||||||
|
|
||||||
|
static lv_style_t style_border;
|
||||||
|
lv_style_init(&style_border);
|
||||||
|
lv_style_set_line_width(&style_border, LV_STATE_DEFAULT, 6);
|
||||||
|
lv_style_set_line_color(&style_border, LV_STATE_DEFAULT, lv_color_hex(0x98B69A));
|
||||||
|
lv_style_set_line_rounded(&style_border, LV_STATE_DEFAULT, true);
|
||||||
|
|
||||||
|
line_day_of_week_number = lv_line_create(lv_scr_act(), nullptr);
|
||||||
|
static lv_point_t line_day_of_week_number_points[] = {{0, 0}, {100, 0}, {94, 70}, {0, 70}};
|
||||||
|
lv_line_set_points(line_day_of_week_number, line_day_of_week_number_points, 4);
|
||||||
|
lv_obj_add_style(line_day_of_week_number, LV_LINE_PART_MAIN, &style_border);
|
||||||
|
lv_obj_align(line_day_of_week_number, NULL, LV_ALIGN_IN_TOP_LEFT, 0, 28);
|
||||||
|
|
||||||
|
line_day_of_year = lv_line_create(lv_scr_act(), nullptr);
|
||||||
|
static lv_point_t line_day_of_year_points[] = {{0, 5}, {130, 5}, {135, 0}};
|
||||||
|
lv_line_set_points(line_day_of_year, line_day_of_year_points, 3);
|
||||||
|
lv_obj_add_style(line_day_of_year, LV_LINE_PART_MAIN, &style_line);
|
||||||
|
lv_obj_align(line_day_of_year, NULL, LV_ALIGN_IN_TOP_RIGHT, 0, 55);
|
||||||
|
|
||||||
|
label_date = lv_label_create(lv_scr_act(), nullptr);
|
||||||
|
lv_obj_align(label_date, lv_scr_act(), LV_ALIGN_IN_TOP_LEFT, 100, 65);
|
||||||
|
lv_obj_set_style_local_text_color(label_date, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x98B69A));
|
||||||
|
lv_obj_set_style_local_text_font(label_date, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &lv_font_7segment_40);
|
||||||
|
lv_label_set_text_static(label_date, "6-30");
|
||||||
|
|
||||||
|
line_date = lv_line_create(lv_scr_act(), nullptr);
|
||||||
|
static lv_point_t line_date_points[] = {{0, 5}, {135, 5}, {140, 0}};
|
||||||
|
lv_line_set_points(line_date, line_date_points, 3);
|
||||||
|
lv_obj_add_style(line_date, LV_LINE_PART_MAIN, &style_line);
|
||||||
|
lv_obj_align(line_date, NULL, LV_ALIGN_IN_TOP_RIGHT, 0, 95);
|
||||||
|
|
||||||
|
label_time = lv_label_create(lv_scr_act(), nullptr);
|
||||||
|
lv_obj_set_style_local_text_color(label_time, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x98B69A));
|
||||||
|
lv_obj_set_style_local_text_font(label_time, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &lv_font_7segment_115);
|
||||||
|
lv_obj_align(label_time, lv_scr_act(), LV_ALIGN_CENTER, 0, 0);
|
||||||
|
|
||||||
|
line_time = lv_line_create(lv_scr_act(), nullptr);
|
||||||
|
static lv_point_t line_time_points[] = {{0, 0}, {230, 0}, {235, 5}};
|
||||||
|
lv_line_set_points(line_time, line_time_points, 3);
|
||||||
|
lv_obj_add_style(line_time, LV_LINE_PART_MAIN, &style_line);
|
||||||
|
lv_obj_align(line_time, NULL, LV_ALIGN_IN_BOTTOM_RIGHT, 0, -35);
|
||||||
|
|
||||||
|
label_time_ampm = lv_label_create(lv_scr_act(), nullptr);
|
||||||
|
lv_obj_set_style_local_text_color(label_time_ampm, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x98B69A));
|
||||||
|
lv_label_set_text_static(label_time_ampm, "");
|
||||||
|
lv_obj_align(label_time_ampm, lv_scr_act(), LV_ALIGN_IN_LEFT_MID, 5, -5);
|
||||||
|
|
||||||
|
backgroundLabel = lv_label_create(lv_scr_act(), nullptr);
|
||||||
|
lv_obj_set_click(backgroundLabel, true);
|
||||||
|
lv_label_set_long_mode(backgroundLabel, LV_LABEL_LONG_CROP);
|
||||||
|
lv_obj_set_size(backgroundLabel, 240, 240);
|
||||||
|
lv_obj_set_pos(backgroundLabel, 0, 0);
|
||||||
|
lv_label_set_text_static(backgroundLabel, "");
|
||||||
|
|
||||||
|
heartbeatIcon = lv_label_create(lv_scr_act(), nullptr);
|
||||||
|
lv_label_set_text_static(heartbeatIcon, Symbols::heartBeat);
|
||||||
|
lv_obj_set_style_local_text_color(heartbeatIcon, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x98B69A));
|
||||||
|
lv_obj_align(heartbeatIcon, lv_scr_act(), LV_ALIGN_IN_BOTTOM_LEFT, 5, -2);
|
||||||
|
|
||||||
|
heartbeatValue = lv_label_create(lv_scr_act(), nullptr);
|
||||||
|
lv_obj_set_style_local_text_color(heartbeatValue, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x98B69A));
|
||||||
|
lv_label_set_text_static(heartbeatValue, "");
|
||||||
|
lv_obj_align(heartbeatValue, heartbeatIcon, LV_ALIGN_OUT_RIGHT_MID, 5, 0);
|
||||||
|
|
||||||
|
stepValue = lv_label_create(lv_scr_act(), nullptr);
|
||||||
|
lv_obj_set_style_local_text_color(stepValue, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x98B69A));
|
||||||
|
lv_label_set_text_static(stepValue, "0");
|
||||||
|
lv_obj_align(stepValue, lv_scr_act(), LV_ALIGN_IN_BOTTOM_RIGHT, -5, -2);
|
||||||
|
|
||||||
|
stepIcon = lv_label_create(lv_scr_act(), nullptr);
|
||||||
|
lv_obj_set_style_local_text_color(stepIcon, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x98B69A));
|
||||||
|
lv_label_set_text_static(stepIcon, Symbols::shoe);
|
||||||
|
lv_obj_align(stepIcon, stepValue, LV_ALIGN_OUT_LEFT_MID, -5, 0);
|
||||||
|
|
||||||
|
taskRefresh = lv_task_create(RefreshTaskCallback, LV_DISP_DEF_REFR_PERIOD, LV_TASK_PRIO_MID, this);
|
||||||
|
Refresh();
|
||||||
|
}
|
||||||
|
|
||||||
|
WatchFaceCasioStyleG7710::~WatchFaceCasioStyleG7710() {
|
||||||
|
lv_task_del(taskRefresh);
|
||||||
|
lv_obj_clean(lv_scr_act());
|
||||||
|
}
|
||||||
|
|
||||||
|
void WatchFaceCasioStyleG7710::Refresh() {
|
||||||
|
powerPresent = batteryController.IsPowerPresent();
|
||||||
|
if (powerPresent.IsUpdated()) {
|
||||||
|
lv_label_set_text_static(batteryPlug, BatteryIcon::GetPlugIcon(powerPresent.Get()));
|
||||||
|
}
|
||||||
|
|
||||||
|
batteryPercentRemaining = batteryController.PercentRemaining();
|
||||||
|
if (batteryPercentRemaining.IsUpdated()) {
|
||||||
|
auto batteryPercent = batteryPercentRemaining.Get();
|
||||||
|
lv_label_set_text_static(batteryIcon, BatteryIcon::GetBatteryIcon(batteryPercent));
|
||||||
|
}
|
||||||
|
|
||||||
|
bleState = bleController.IsConnected();
|
||||||
|
bleRadioEnabled = bleController.IsRadioEnabled();
|
||||||
|
if (bleState.IsUpdated() || bleRadioEnabled.IsUpdated()) {
|
||||||
|
lv_label_set_text_static(bleIcon, BleIcon::GetIcon(bleState.Get()));
|
||||||
|
}
|
||||||
|
lv_obj_realign(batteryPlug);
|
||||||
|
lv_obj_realign(bleIcon);
|
||||||
|
|
||||||
|
notificationState = notificatioManager.AreNewNotificationsAvailable();
|
||||||
|
if (notificationState.IsUpdated()) {
|
||||||
|
lv_label_set_text_static(notificationIcon, NotificationIcon::GetIcon(notificationState.Get()));
|
||||||
|
}
|
||||||
|
|
||||||
|
currentDateTime = dateTimeController.CurrentDateTime();
|
||||||
|
|
||||||
|
if (currentDateTime.IsUpdated()) {
|
||||||
|
auto newDateTime = currentDateTime.Get();
|
||||||
|
|
||||||
|
auto dp = date::floor<date::days>(newDateTime);
|
||||||
|
auto time = date::make_time(newDateTime - dp);
|
||||||
|
auto yearMonthDay = date::year_month_day(dp);
|
||||||
|
|
||||||
|
auto year = static_cast<int>(yearMonthDay.year());
|
||||||
|
auto month = static_cast<Pinetime::Controllers::DateTime::Months>(static_cast<unsigned>(yearMonthDay.month()));
|
||||||
|
auto day = static_cast<unsigned>(yearMonthDay.day());
|
||||||
|
auto dayOfWeek = static_cast<Pinetime::Controllers::DateTime::Days>(date::weekday(yearMonthDay).iso_encoding());
|
||||||
|
|
||||||
|
uint8_t hour = time.hours().count();
|
||||||
|
uint8_t minute = time.minutes().count();
|
||||||
|
auto weekNumberFormat = "%V";
|
||||||
|
|
||||||
|
if (displayedHour != hour || displayedMinute != minute) {
|
||||||
|
displayedHour = hour;
|
||||||
|
displayedMinute = minute;
|
||||||
|
|
||||||
|
if (settingsController.GetClockType() == Controllers::Settings::ClockType::H12) {
|
||||||
|
char ampmChar[2] = "A";
|
||||||
|
if (hour == 0) {
|
||||||
|
hour = 12;
|
||||||
|
} else if (hour == 12) {
|
||||||
|
ampmChar[0] = 'P';
|
||||||
|
} else if (hour > 12) {
|
||||||
|
hour = hour - 12;
|
||||||
|
ampmChar[0] = 'P';
|
||||||
|
}
|
||||||
|
lv_label_set_text(label_time_ampm, ampmChar);
|
||||||
|
lv_label_set_text_fmt(label_time, "%2d:%02d", hour, minute);
|
||||||
|
lv_obj_align(label_time, lv_scr_act(), LV_ALIGN_CENTER, 0, 30);
|
||||||
|
} else {
|
||||||
|
lv_label_set_text_fmt(label_time, "%02d:%02d", hour, minute);
|
||||||
|
lv_obj_align(label_time, lv_scr_act(), LV_ALIGN_CENTER, 0, 30);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((year != currentYear) || (month != currentMonth) || (dayOfWeek != currentDayOfWeek) || (day != currentDay)) {
|
||||||
|
if (settingsController.GetClockType() == Controllers::Settings::ClockType::H24) {
|
||||||
|
// 24h mode: ddmmyyyy, first DOW=Monday;
|
||||||
|
lv_label_set_text_fmt(
|
||||||
|
label_date, "%3d-%2d", day, month);
|
||||||
|
weekNumberFormat = "%V"; // Replaced by the week number of the year (Monday as the first day of the week) as a decimal number [01,53]. If the week containing 1 January has four or more days in the new year, then it is considered week 1. Otherwise, it is the last week of the previous year, and the next week is week 1. Both January 4th and the first Thursday of January are always in week 1. [ tm_year, tm_wday, tm_yday]
|
||||||
|
} else {
|
||||||
|
// 12h mode: mmddyyyy, first DOW=Sunday;
|
||||||
|
lv_label_set_text_fmt(
|
||||||
|
label_date, "%3d-%2d", month, day);
|
||||||
|
weekNumberFormat = "%U"; // Replaced by the week number of the year as a decimal number [00,53]. The first Sunday of January is the first day of week 1; days in the new year before this are in week 0. [ tm_year, tm_wday, tm_yday]
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t weekNumber;
|
||||||
|
uint16_t dayOfYearNumber, daysTillEndOfYearNumber;
|
||||||
|
|
||||||
|
std::tm date = {};
|
||||||
|
date.tm_year = year - 1900;
|
||||||
|
date.tm_mon = static_cast<unsigned>(yearMonthDay.month()) - 1;
|
||||||
|
date.tm_mday = day + 1;
|
||||||
|
std::mktime( &date );
|
||||||
|
|
||||||
|
dayOfYearNumber = date.tm_yday;
|
||||||
|
daysTillEndOfYearNumber = yearMonthDay.year().is_leap() ? 366 : 365 - dayOfYearNumber;
|
||||||
|
|
||||||
|
char buffer[8];
|
||||||
|
strftime(buffer, 8, weekNumberFormat, &date);
|
||||||
|
weekNumber = atoi(buffer);
|
||||||
|
|
||||||
|
lv_label_set_text_fmt(label_day_of_week, "%s", dateTimeController.DayOfWeekShortToString());
|
||||||
|
lv_label_set_text_fmt(label_day_of_year, "%3d-%3d", dayOfYearNumber, daysTillEndOfYearNumber);
|
||||||
|
lv_label_set_text_fmt(label_week_number, "WK%02d", weekNumber);
|
||||||
|
|
||||||
|
lv_obj_realign(label_day_of_week);
|
||||||
|
lv_obj_realign(label_day_of_year);
|
||||||
|
lv_obj_realign(label_week_number);
|
||||||
|
lv_obj_realign(label_date);
|
||||||
|
|
||||||
|
currentYear = year;
|
||||||
|
currentMonth = month;
|
||||||
|
currentDayOfWeek = dayOfWeek;
|
||||||
|
currentDay = day;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
heartbeat = heartRateController.HeartRate();
|
||||||
|
heartbeatRunning = heartRateController.State() != Controllers::HeartRateController::States::Stopped;
|
||||||
|
if (heartbeat.IsUpdated() || heartbeatRunning.IsUpdated()) {
|
||||||
|
if (heartbeatRunning.Get()) {
|
||||||
|
lv_obj_set_style_local_text_color(heartbeatIcon, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x98B69A));
|
||||||
|
lv_label_set_text_fmt(heartbeatValue, "%d", heartbeat.Get());
|
||||||
|
} else {
|
||||||
|
lv_obj_set_style_local_text_color(heartbeatIcon, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x1B1B1B));
|
||||||
|
lv_label_set_text_static(heartbeatValue, "");
|
||||||
|
}
|
||||||
|
|
||||||
|
lv_obj_realign(heartbeatIcon);
|
||||||
|
lv_obj_realign(heartbeatValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
stepCount = motionController.NbSteps();
|
||||||
|
motionSensorOk = motionController.IsSensorOk();
|
||||||
|
if (stepCount.IsUpdated() || motionSensorOk.IsUpdated()) {
|
||||||
|
lv_label_set_text_fmt(stepValue, "%lu", stepCount.Get());
|
||||||
|
lv_obj_realign(stepValue);
|
||||||
|
lv_obj_realign(stepIcon);
|
||||||
|
}
|
||||||
|
}
|
91
src/displayapp/screens/WatchFaceCasioStyleG7710.h
Normal file
91
src/displayapp/screens/WatchFaceCasioStyleG7710.h
Normal file
|
@ -0,0 +1,91 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <displayapp/screens/BatteryIcon.h>
|
||||||
|
#include <lvgl/src/lv_core/lv_obj.h>
|
||||||
|
#include <chrono>
|
||||||
|
#include <cstdint>
|
||||||
|
#include <memory>
|
||||||
|
#include "displayapp/screens/Screen.h"
|
||||||
|
#include "components/datetime/DateTimeController.h"
|
||||||
|
#include "components/ble/BleController.h"
|
||||||
|
|
||||||
|
namespace Pinetime {
|
||||||
|
namespace Controllers {
|
||||||
|
class Settings;
|
||||||
|
class Battery;
|
||||||
|
class Ble;
|
||||||
|
class NotificationManager;
|
||||||
|
class HeartRateController;
|
||||||
|
class MotionController;
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace Applications {
|
||||||
|
namespace Screens {
|
||||||
|
|
||||||
|
class WatchFaceCasioStyleG7710 : public Screen {
|
||||||
|
public:
|
||||||
|
WatchFaceCasioStyleG7710(DisplayApp* app,
|
||||||
|
Controllers::DateTime& dateTimeController,
|
||||||
|
Controllers::Battery& batteryController,
|
||||||
|
Controllers::Ble& bleController,
|
||||||
|
Controllers::NotificationManager& notificatioManager,
|
||||||
|
Controllers::Settings& settingsController,
|
||||||
|
Controllers::HeartRateController& heartRateController,
|
||||||
|
Controllers::MotionController& motionController);
|
||||||
|
~WatchFaceCasioStyleG7710() override;
|
||||||
|
|
||||||
|
void Refresh() override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
uint8_t displayedHour = -1;
|
||||||
|
uint8_t displayedMinute = -1;
|
||||||
|
|
||||||
|
uint16_t currentYear = 1970;
|
||||||
|
Controllers::DateTime::Months currentMonth = Pinetime::Controllers::DateTime::Months::Unknown;
|
||||||
|
Controllers::DateTime::Days currentDayOfWeek = Pinetime::Controllers::DateTime::Days::Unknown;
|
||||||
|
uint8_t currentDay = 0;
|
||||||
|
|
||||||
|
DirtyValue<uint8_t> batteryPercentRemaining {};
|
||||||
|
DirtyValue<bool> powerPresent {};
|
||||||
|
DirtyValue<bool> bleState {};
|
||||||
|
DirtyValue<bool> bleRadioEnabled {};
|
||||||
|
DirtyValue<std::chrono::time_point<std::chrono::system_clock, std::chrono::nanoseconds>> currentDateTime {};
|
||||||
|
DirtyValue<bool> motionSensorOk {};
|
||||||
|
DirtyValue<uint32_t> stepCount {};
|
||||||
|
DirtyValue<uint8_t> heartbeat {};
|
||||||
|
DirtyValue<bool> heartbeatRunning {};
|
||||||
|
DirtyValue<bool> notificationState {};
|
||||||
|
|
||||||
|
lv_obj_t* label_time;
|
||||||
|
lv_obj_t* line_time;
|
||||||
|
lv_obj_t* label_time_ampm;
|
||||||
|
lv_obj_t* label_date;
|
||||||
|
lv_obj_t* line_date;
|
||||||
|
lv_obj_t* label_day_of_week;
|
||||||
|
lv_obj_t* label_week_number;
|
||||||
|
lv_obj_t* line_day_of_week_number;
|
||||||
|
lv_obj_t* label_day_of_year;
|
||||||
|
lv_obj_t* line_day_of_year;
|
||||||
|
lv_obj_t* backgroundLabel;
|
||||||
|
lv_obj_t* bleIcon;
|
||||||
|
lv_obj_t* batteryPlug;
|
||||||
|
lv_obj_t* heartbeatIcon;
|
||||||
|
lv_obj_t* heartbeatValue;
|
||||||
|
lv_obj_t* stepIcon;
|
||||||
|
lv_obj_t* stepValue;
|
||||||
|
lv_obj_t* notificationIcon;
|
||||||
|
lv_obj_t* batteryIcon;
|
||||||
|
|
||||||
|
Controllers::DateTime& dateTimeController;
|
||||||
|
Controllers::Battery& batteryController;
|
||||||
|
Controllers::Ble& bleController;
|
||||||
|
Controllers::NotificationManager& notificatioManager;
|
||||||
|
Controllers::Settings& settingsController;
|
||||||
|
Controllers::HeartRateController& heartRateController;
|
||||||
|
Controllers::MotionController& motionController;
|
||||||
|
|
||||||
|
lv_task_t* taskRefresh;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -4,8 +4,10 @@
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <lvgl/lvgl.h>
|
#include <lvgl/lvgl.h>
|
||||||
|
|
||||||
|
#include "displayapp/screens/ScreenList.h"
|
||||||
#include "components/settings/Settings.h"
|
#include "components/settings/Settings.h"
|
||||||
#include "displayapp/screens/Screen.h"
|
#include "displayapp/screens/Screen.h"
|
||||||
|
#include "displayapp/screens/Symbols.h"
|
||||||
|
|
||||||
namespace Pinetime {
|
namespace Pinetime {
|
||||||
|
|
||||||
|
@ -17,14 +19,17 @@ namespace Pinetime {
|
||||||
SettingWatchFace(DisplayApp* app, Pinetime::Controllers::Settings& settingsController);
|
SettingWatchFace(DisplayApp* app, Pinetime::Controllers::Settings& settingsController);
|
||||||
~SettingWatchFace() override;
|
~SettingWatchFace() override;
|
||||||
|
|
||||||
void UpdateSelected(lv_obj_t* object, lv_event_t event);
|
bool OnTouchEvent(TouchEvents event) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static constexpr std::array<const char*, 4> options = {" Digital face", " Analog face", " PineTimeStyle", " Terminal"};
|
|
||||||
Controllers::Settings& settingsController;
|
Controllers::Settings& settingsController;
|
||||||
|
ScreenList<2> screens;
|
||||||
|
|
||||||
lv_obj_t* cbOption[options.size()];
|
static constexpr const char* title = "Watch face";
|
||||||
|
static constexpr const char* symbol = Symbols::home;
|
||||||
|
std::unique_ptr<Screen> CreateScreen1();
|
||||||
|
std::unique_ptr<Screen> CreateScreen2();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -418,6 +418,9 @@ typedef void* lv_indev_drv_user_data_t; /*Type of user data in the in
|
||||||
LV_FONT_DECLARE(jetbrains_mono_42) \
|
LV_FONT_DECLARE(jetbrains_mono_42) \
|
||||||
LV_FONT_DECLARE(jetbrains_mono_76) \
|
LV_FONT_DECLARE(jetbrains_mono_76) \
|
||||||
LV_FONT_DECLARE(open_sans_light) \
|
LV_FONT_DECLARE(open_sans_light) \
|
||||||
|
LV_FONT_DECLARE(lv_font_7segment_115) \
|
||||||
|
LV_FONT_DECLARE(lv_font_7segment_40) \
|
||||||
|
LV_FONT_DECLARE(lv_font_dots_40) \
|
||||||
LV_FONT_DECLARE(lv_font_sys_48)
|
LV_FONT_DECLARE(lv_font_sys_48)
|
||||||
|
|
||||||
/* Enable it if you have fonts with a lot of characters.
|
/* Enable it if you have fonts with a lot of characters.
|
||||||
|
|
Loading…
Reference in a new issue