Compare commits
130 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
51f95f3286 | ||
|
|
bf08ff444e | ||
|
|
41b1a7ea15 | ||
|
|
4e5b262401 | ||
|
|
c52482efa2 | ||
|
|
5b09c3879d | ||
|
|
e43d6da389 | ||
|
|
73f4156aad | ||
|
|
bc2ca71bf5 | ||
|
|
b1a7dbadcd | ||
|
|
1b37ee8873 | ||
|
|
9c5fec9b79 | ||
|
|
65f7ff66d5 | ||
|
|
dded9b383a | ||
|
|
3c55dfb672 | ||
|
|
9797c555c0 | ||
|
|
87e26d4997 | ||
|
|
6c62a8eeb5 | ||
|
|
4853eacfa4 | ||
|
|
48a676f404 | ||
|
|
2f6eaa516c | ||
|
|
5e8581a345 | ||
|
|
d6d5903be1 | ||
|
|
313f7f30a7 | ||
|
|
89eca30da8 | ||
|
|
819f01c930 | ||
|
|
8cd738eaa1 | ||
|
|
d6dd6199f3 | ||
|
|
9d0335f38c | ||
|
|
82fdfb34c0 | ||
|
|
a2535fe6f1 | ||
|
|
fa49f35b14 | ||
|
|
bc369de6fa | ||
|
|
3d81bb40da | ||
|
|
5848aa59e5 | ||
|
|
68300a5dec | ||
|
|
07a95b5b33 | ||
|
|
d90cbe92de | ||
|
|
45599c2c2a | ||
|
|
85b3e8766f | ||
|
|
07c63b8ad3 | ||
|
|
8361d89a55 | ||
|
|
510bc7ca11 | ||
|
|
440c79e40c | ||
|
|
baa1f848b1 | ||
|
|
522e975a4e | ||
|
|
e511fe53c9 | ||
|
|
4903bdb908 | ||
|
|
6b99545e50 | ||
|
|
70438d158d | ||
|
|
94a25b86a8 | ||
|
|
16567f5705 | ||
|
|
0b79b1690f | ||
|
|
d018558134 | ||
|
|
0c6a627b92 | ||
|
|
e2f96b9007 | ||
|
|
3e404b1583 | ||
|
|
34635da14c | ||
|
|
af27c16793 | ||
|
|
24340fa927 | ||
|
|
08fcf03c3f | ||
|
|
380df4578e | ||
|
|
71619aa8f6 | ||
|
|
2afd887fdf | ||
|
|
fc5709d04c | ||
|
|
74efc2e73e | ||
|
|
8a489b3a8e | ||
|
|
2d986871c9 | ||
|
|
ef81e0fbc3 | ||
|
|
b00628e77d | ||
|
|
112c894e73 | ||
|
|
f42afb1c52 | ||
|
|
4f9869fc7e | ||
|
|
06ae6be9d4 | ||
|
|
a85ed5b949 | ||
|
|
20d034c279 | ||
|
|
0931bb6cae | ||
|
|
380b59fddd | ||
|
|
16678b78bc | ||
|
|
8f14c31bc9 | ||
|
|
20f901f9e3 | ||
|
|
b5ddf8d19d | ||
|
|
6bae5c7af5 | ||
|
|
622472387c | ||
|
|
6e12abe015 | ||
|
|
f9da89d77d | ||
|
|
def8e047af | ||
|
|
6b59b1f706 | ||
|
|
ae0d498cf6 | ||
|
|
54a8a4ba33 | ||
|
|
9d7ba3fcb1 | ||
|
|
1a66a485f9 | ||
|
|
bd59dafa42 | ||
|
|
120d579c88 | ||
|
|
e6a4860d96 | ||
|
|
232d6a5530 | ||
|
|
63ea07c0ab | ||
|
|
9c78f86880 | ||
|
|
8627389837 | ||
|
|
5e1b08131b | ||
|
|
eb2ad01a89 | ||
|
|
0dd1dc41be | ||
|
|
6f41624b14 | ||
|
|
dcaa2e037f | ||
|
|
e32b3bf13b | ||
|
|
77b4bd597b | ||
|
|
8a54450984 | ||
|
|
5a946fc3f4 | ||
|
|
8cddd4bdab | ||
|
|
5347779e50 | ||
|
|
a81a8b8d3e | ||
|
|
6d120b1f7f | ||
|
|
5d0c00a201 | ||
|
|
9a029a1784 | ||
|
|
cb5ad1e9d3 | ||
|
|
4d614e60ef | ||
|
|
6fcfe72df6 | ||
|
|
de7cb0fa71 | ||
|
|
0429c501b7 | ||
|
|
8ec2030cab | ||
|
|
73c0bf6439 | ||
|
|
28c9cf0aa5 | ||
|
|
2b47542bbd | ||
|
|
d9c75f61c5 | ||
|
|
0b5f414ca8 | ||
|
|
beda277316 | ||
|
|
63c4b43a57 | ||
|
|
ec616da1ac | ||
|
|
6f312e34e3 | ||
|
|
3c9468a621 |
26
CHANGELOG.md
26
CHANGELOG.md
@@ -1,6 +1,30 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
## v7.7.2 (Planned to 17.11.2020)
|
## v7.8.0 (Planned to 01.12.2020)
|
||||||
|
|
||||||
|
### New features
|
||||||
|
- make DMA2D non blocking
|
||||||
|
- add unscii-16 built-in font
|
||||||
|
- add KConfig
|
||||||
|
- add lv_refr_get_fps_avg()
|
||||||
|
|
||||||
|
### Bugfixes
|
||||||
|
- fix(btnmatrix) handle arabic texts in button matrices
|
||||||
|
- fix(indev) disabled object shouldn't absorb clicks but let the parent to be clicked
|
||||||
|
- fix(arabic) support processing again already processed texts with _lv_txt_ap_proc
|
||||||
|
- fix(textarea) support Arabic letter connections
|
||||||
|
- fix(dropdown) support Arabic letter connections
|
||||||
|
- fix(value_str) support Arabic letter connections in value string property
|
||||||
|
- fix(indev) in LV_INDEV_TYPE_BUTTON recognize 1 cycle long presses too
|
||||||
|
- fix(arc) make arc work with encoder
|
||||||
|
- fix(slider) adjusting the left knob too with encoder
|
||||||
|
- fix reference to LV_DRAW_BUF_MAX_NUM in lv_mem.c
|
||||||
|
- fix(polygon draw) join adjacent points if they are on the same coordinate
|
||||||
|
- fix(linemeter) fix invalidation when setting new value
|
||||||
|
- fix(table) add missing invalidation when changeing cell type
|
||||||
|
- refactor(roller) rename LV_ROLLER_MODE_INIFINITE -> LV_ROLLER_MODE_INFINITE
|
||||||
|
|
||||||
|
## v7.7.2 (17.11.2020)
|
||||||
### Bugfixes
|
### Bugfixes
|
||||||
- fix(draw_triangle): fix polygon/triangle drawing when the order of points is counter-clockwise
|
- fix(draw_triangle): fix polygon/triangle drawing when the order of points is counter-clockwise
|
||||||
- fix(btnmatrix): fix setting the same map with modified pointers
|
- fix(btnmatrix): fix setting the same map with modified pointers
|
||||||
|
|||||||
17
CMakeLists.txt
Normal file
17
CMakeLists.txt
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
if(ESP_PLATFORM)
|
||||||
|
|
||||||
|
file(GLOB_RECURSE SOURCES src/*.c)
|
||||||
|
|
||||||
|
idf_component_register(SRCS ${SOURCES}
|
||||||
|
INCLUDE_DIRS . src)
|
||||||
|
|
||||||
|
target_compile_definitions(${COMPONENT_LIB} PUBLIC "-DLV_CONF_INCLUDE_SIMPLE")
|
||||||
|
target_compile_definitions(${COMPONENT_LIB} PUBLIC "-DLV_CONF_SKIP")
|
||||||
|
|
||||||
|
if (CONFIG_LV_ATTRIBUTE_FAST_MEM_USE_IRAM)
|
||||||
|
target_compile_definitions(${COMPONENT_LIB} PUBLIC "-DLV_ATTRIBUTE_FAST_MEM=IRAM_ATTR")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
else()
|
||||||
|
message(FATAL_ERROR "Unknown platform.")
|
||||||
|
endif()
|
||||||
@@ -11,6 +11,7 @@ LVGL provides everything you need to create embedded GUI with easy-to-use graphi
|
|||||||
<h4 align="center">
|
<h4 align="center">
|
||||||
<a href="https://lvgl.io">Website </a> ·
|
<a href="https://lvgl.io">Website </a> ·
|
||||||
<a href="https://lvgl.io/demos">Online demo</a> ·
|
<a href="https://lvgl.io/demos">Online demo</a> ·
|
||||||
|
<a href="https://lvgl.github.io/lv_examples/">Nightly demos</a> ·
|
||||||
<a href="https://docs.lvgl.io/">Docs</a> ·
|
<a href="https://docs.lvgl.io/">Docs</a> ·
|
||||||
<a href="https://forum.lvgl.io">Forum</a>
|
<a href="https://forum.lvgl.io">Forum</a>
|
||||||
</h4>
|
</h4>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ This is a summary for thenew fatures of the major releases and a collection of i
|
|||||||
This list indicates only the current intention and can be changed.
|
This list indicates only the current intention and can be changed.
|
||||||
|
|
||||||
## v8
|
## v8
|
||||||
Planned to September/October 2020
|
Planned to November/December 2020
|
||||||
- Create an `lv_components` repository for compley widgets
|
- Create an `lv_components` repository for compley widgets
|
||||||
- It makes the core LVGL leaner
|
- It makes the core LVGL leaner
|
||||||
- In `lv_components` we can have a lot and specific widgets
|
- In `lv_components` we can have a lot and specific widgets
|
||||||
@@ -27,29 +27,35 @@ Planned to September/October 2020
|
|||||||
- Simplified File system interface ([feat/new_fs_api](https://github.com/lvgl/lvgl/tree/feat/new-fs-api) branch) to make porting easier
|
- Simplified File system interface ([feat/new_fs_api](https://github.com/lvgl/lvgl/tree/feat/new-fs-api) branch) to make porting easier
|
||||||
- Work in progress
|
- Work in progress
|
||||||
- Remove the align parameter from `lv_canvas_draw_text`
|
- Remove the align parameter from `lv_canvas_draw_text`
|
||||||
- Make the `copy` parameter of `create` functions deprecated
|
- Remove the copy paramter from create functions
|
||||||
|
- Style selectors and style-based states See [#1832](https://github.com/lvgl/lvgl/issues/1832)
|
||||||
|
- Add Object Orianted system [#1919](https://github.com/lvgl/lvgl/issues/1919)
|
||||||
|
|
||||||
## v8.1
|
## v8.1
|
||||||
- Add radio button widget
|
- Add radio button widget
|
||||||
|
|
||||||
## v9
|
## v8.x
|
||||||
- Simplify `group`s. Discussion is [here](https://forum.lvgl.io/t/lv-group-tabindex/2927/3).
|
|
||||||
- Unit testing (gtest?). See [#1658](https://github.com/lvgl/lvgl/issues/1658)
|
- Unit testing (gtest?). See [#1658](https://github.com/lvgl/lvgl/issues/1658)
|
||||||
- Benchmarking (gem5?). See [#1660](https://github.com/lvgl/lvgl/issues/1660)
|
- Benchmarking (gem5?). See [#1660](https://github.com/lvgl/lvgl/issues/1660)
|
||||||
|
|
||||||
|
## v9
|
||||||
|
- Simplify `group`s. Discussion is [here](https://forum.lvgl.io/t/lv-group-tabindex/2927/3).
|
||||||
- Consider direct binary font format support
|
- Consider direct binary font format support
|
||||||
- Remove the copy paramter from create functions
|
- Optimize line and cirle drawing and masking
|
||||||
- Style selectors and style-based states See [#1832](https://github.com/lvgl/lvgl/issues/1832)
|
- Reconsider color format management for run time color format setting, and custom color format usage. (Also [RGB888](https://github.com/lvgl/lvgl/issues/1722))
|
||||||
|
- 9-patch support for `lv_imgbtn`.
|
||||||
|
- Handle stride. See [#1858](https://github.com/lvgl/lvgl/issues/1858)
|
||||||
|
- Make gradients more versatile
|
||||||
|
- Make image transformations more versatile
|
||||||
|
- Allow snapshoting object to tranfrom them as images
|
||||||
|
|
||||||
## v10
|
## v10
|
||||||
- Remove property level states
|
- Remove property level states
|
||||||
|
|
||||||
|
|
||||||
## Ideas
|
## Ideas
|
||||||
- 9-patch support for `lv_imgbtn`.
|
|
||||||
- lv_mem_alloc_aligned(size, align)
|
- lv_mem_alloc_aligned(size, align)
|
||||||
- Text node. See [#1701](https://github.com/lvgl/lvgl/issues/1701#issuecomment-699479408)
|
- Text node. See [#1701](https://github.com/lvgl/lvgl/issues/1701#issuecomment-699479408)
|
||||||
- RGB888 support [#1722](https://github.com/lvgl/lvgl/issues/1722)
|
|
||||||
- Consider ARGB4444, ARGB1555 format
|
|
||||||
- CPP binding. See [Forum](https://forum.lvgl.io/t/is-it-possible-to-officially-support-optional-cpp-api/2736)
|
- CPP binding. See [Forum](https://forum.lvgl.io/t/is-it-possible-to-officially-support-optional-cpp-api/2736)
|
||||||
- Optmize font decompression
|
- Optmize font decompression
|
||||||
- Switch to RGBA colors in styles
|
- Switch to RGBA colors in styles
|
||||||
@@ -57,3 +63,4 @@ Planned to September/October 2020
|
|||||||
- Need static analize (via coverity.io or somehing else)
|
- Need static analize (via coverity.io or somehing else)
|
||||||
- Support dot_begin and dot_middle long modes for labels
|
- Support dot_begin and dot_middle long modes for labels
|
||||||
- Add new label alignment modes. [#1656](https://github.com/lvgl/lvgl/issues/1656)
|
- Add new label alignment modes. [#1656](https://github.com/lvgl/lvgl/issues/1656)
|
||||||
|
- Support larger images: [#1892](https://github.com/lvgl/lvgl/issues/1892)
|
||||||
|
|||||||
@@ -36,26 +36,11 @@ bool my_touchpad_read(lv_indev_drv_t * indev_driver, lv_indev_data_t * data)
|
|||||||
|
|
||||||
bool touched = tft.getTouch(&touchX, &touchY, 600);
|
bool touched = tft.getTouch(&touchX, &touchY, 600);
|
||||||
|
|
||||||
if(!touched)
|
if(!touched) {
|
||||||
{
|
|
||||||
data->state = LV_INDEV_STATE_REL;
|
data->state = LV_INDEV_STATE_REL;
|
||||||
return false;
|
} else {
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
data->state = LV_INDEV_STATE_PR;
|
data->state = LV_INDEV_STATE_PR;
|
||||||
}
|
|
||||||
|
|
||||||
if(touchX>screenWidth || touchY > screenHeight)
|
|
||||||
{
|
|
||||||
Serial.println("Y or y outside of expected parameters..");
|
|
||||||
Serial.print("y:");
|
|
||||||
Serial.print(touchX);
|
|
||||||
Serial.print(" x:");
|
|
||||||
Serial.print(touchY);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/*Set the coordinates*/
|
/*Set the coordinates*/
|
||||||
data->point.x = touchX;
|
data->point.x = touchX;
|
||||||
data->point.y = touchY;
|
data->point.y = touchY;
|
||||||
@@ -65,7 +50,6 @@ bool my_touchpad_read(lv_indev_drv_t * indev_driver, lv_indev_data_t * data)
|
|||||||
|
|
||||||
Serial.print("Data y");
|
Serial.print("Data y");
|
||||||
Serial.println(touchY);
|
Serial.println(touchY);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return false; /*Return `false` because we are not buffering and no more data to read*/
|
return false; /*Return `false` because we are not buffering and no more data to read*/
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "lvgl",
|
"name": "lvgl",
|
||||||
"version": "7.7.2",
|
"version": "7.8.0",
|
||||||
"keywords": "graphics, gui, embedded, tft, lvgl",
|
"keywords": "graphics, gui, embedded, tft, lvgl",
|
||||||
"description": "Graphics library to create embedded GUI with easy-to-use graphical elements, beautiful visual effects and low memory footprint. It offers anti-aliasing, opacity, and animations using only one frame buffer.",
|
"description": "Graphics library to create embedded GUI with easy-to-use graphical elements, beautiful visual effects and low memory footprint. It offers anti-aliasing, opacity, and animations using only one frame buffer.",
|
||||||
"repository": {
|
"repository": {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name=lvgl
|
name=lvgl
|
||||||
version=7.7.2
|
version=7.8.0
|
||||||
author=kisvegabor
|
author=kisvegabor
|
||||||
maintainer=kisvegabor,embeddedt,pete-pjb
|
maintainer=kisvegabor,embeddedt,pete-pjb
|
||||||
sentence=Full-featured Graphics Library for Embedded Systems
|
sentence=Full-featured Graphics Library for Embedded Systems
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* @file lv_conf.h
|
* @file lv_conf.h
|
||||||
* Configuration file for v7.7.2-dev
|
* Configuration file for v7.8.0-dev
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -410,6 +410,7 @@ typedef void * lv_indev_drv_user_data_t; /*Type of user data in the i
|
|||||||
/*Pixel perfect monospace font
|
/*Pixel perfect monospace font
|
||||||
* http://pelulamu.net/unscii/ */
|
* http://pelulamu.net/unscii/ */
|
||||||
#define LV_FONT_UNSCII_8 0
|
#define LV_FONT_UNSCII_8 0
|
||||||
|
#define LV_FONT_UNSCII_16 0
|
||||||
|
|
||||||
/* Optionally declare your custom fonts here.
|
/* Optionally declare your custom fonts here.
|
||||||
* You can use these fonts as default font too
|
* You can use these fonts as default font too
|
||||||
|
|||||||
6
lvgl.h
6
lvgl.h
@@ -15,8 +15,8 @@ extern "C" {
|
|||||||
* CURRENT VERSION OF LVGL
|
* CURRENT VERSION OF LVGL
|
||||||
***************************/
|
***************************/
|
||||||
#define LVGL_VERSION_MAJOR 7
|
#define LVGL_VERSION_MAJOR 7
|
||||||
#define LVGL_VERSION_MINOR 7
|
#define LVGL_VERSION_MINOR 8
|
||||||
#define LVGL_VERSION_PATCH 2
|
#define LVGL_VERSION_PATCH 0
|
||||||
#define LVGL_VERSION_INFO ""
|
#define LVGL_VERSION_INFO ""
|
||||||
|
|
||||||
/*********************
|
/*********************
|
||||||
@@ -82,8 +82,6 @@ extern "C" {
|
|||||||
|
|
||||||
#include "src/lv_api_map.h"
|
#include "src/lv_api_map.h"
|
||||||
|
|
||||||
//#define LV_BUILD_TEST 1
|
|
||||||
|
|
||||||
/*********************
|
/*********************
|
||||||
* DEFINES
|
* DEFINES
|
||||||
*********************/
|
*********************/
|
||||||
|
|||||||
@@ -27,11 +27,22 @@ fout.write(
|
|||||||
#define LV_CONF_INTERNAL_H
|
#define LV_CONF_INTERNAL_H
|
||||||
/* clang-format off */
|
/* clang-format off */
|
||||||
|
|
||||||
/*Handle special Kconfig options*/
|
|
||||||
#include "lv_conf_kconfig.h"
|
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
|
/* Add ESP-IDF related includes */
|
||||||
|
#if defined (ESP_PLATFORM)
|
||||||
|
# include "sdkconfig.h"
|
||||||
|
# include "esp_attr.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Handle special Kconfig options */
|
||||||
|
#include "lv_conf_kconfig.h"
|
||||||
|
|
||||||
|
#ifdef CONFIG_LV_CONF_SKIP
|
||||||
|
#define LV_CONF_SKIP
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* If "lv_conf.h" is available from here try to use it later.*/
|
||||||
#if defined __has_include
|
#if defined __has_include
|
||||||
# if __has_include("lv_conf.h")
|
# if __has_include("lv_conf.h")
|
||||||
# ifndef LV_CONF_INCLUDE_SIMPLE
|
# ifndef LV_CONF_INCLUDE_SIMPLE
|
||||||
@@ -41,7 +52,7 @@ fout.write(
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*If lv_conf.h is not skipped include it*/
|
/*If lv_conf.h is not skipped include it*/
|
||||||
#if !defined(LV_CONF_SKIP) && !defined(CONFIG_LV_CONF_SKIP)
|
#if !defined(LV_CONF_SKIP)
|
||||||
# if defined(LV_CONF_PATH) /*If there is a path defined for lv_conf.h use it*/
|
# if defined(LV_CONF_PATH) /*If there is a path defined for lv_conf.h use it*/
|
||||||
# define __LV_TO_STR_AUX(x) #x
|
# define __LV_TO_STR_AUX(x) #x
|
||||||
# define __LV_TO_STR(x) __LV_TO_STR_AUX(x)
|
# define __LV_TO_STR(x) __LV_TO_STR_AUX(x)
|
||||||
@@ -105,7 +116,7 @@ fout.write(
|
|||||||
'''
|
'''
|
||||||
|
|
||||||
/*If running without lv_conf.h add typdesf with default value*/
|
/*If running without lv_conf.h add typdesf with default value*/
|
||||||
#if defined(LV_CONF_SKIP) || defined(CONFIG_LV_CONF_SKIP)
|
#if defined(LV_CONF_SKIP)
|
||||||
|
|
||||||
/* Type of coordinates. Should be `int16_t` (or `int32_t` for extreme cases) */
|
/* Type of coordinates. Should be `int16_t` (or `int32_t` for extreme cases) */
|
||||||
typedef int16_t lv_coord_t;
|
typedef int16_t lv_coord_t;
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ def make(mode):
|
|||||||
ver[1] = str(int(ver[1]) + 1)
|
ver[1] = str(int(ver[1]) + 1)
|
||||||
ver[2] = '0'
|
ver[2] = '0'
|
||||||
|
|
||||||
lvgl_upadte_ver(ver, "dev")
|
lvgl_update_ver(ver, "dev")
|
||||||
docs_update_ver(ver, "dev")
|
docs_update_ver(ver, "dev")
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ def cleanup():
|
|||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
prepare_type = ['major', 'minor', 'bugfix']
|
prepare_type = ['major', 'minor', 'bugfix']
|
||||||
dev_prepare = 'bugfix'
|
dev_prepare = 'minor'
|
||||||
|
|
||||||
# if(len(sys.argv) != 2):
|
# if(len(sys.argv) != 2):
|
||||||
# print("Missing argument. Usage ./release.py bugfix | minor | major")
|
# print("Missing argument. Usage ./release.py bugfix | minor | major")
|
||||||
@@ -55,9 +55,9 @@ if __name__ == '__main__':
|
|||||||
print("Invalid argument. Usage ./release.py bugfix | minor | major")
|
print("Invalid argument. Usage ./release.py bugfix | minor | major")
|
||||||
exit(1)
|
exit(1)
|
||||||
|
|
||||||
|
os.chdir(workdir)
|
||||||
clone_repos()
|
clone_repos()
|
||||||
release.make()
|
release.make()
|
||||||
os.chdir(workdir)
|
|
||||||
for p in proj_list:
|
for p in proj_list:
|
||||||
proj.make(p, True)
|
proj.make(p, True)
|
||||||
|
|
||||||
|
|||||||
@@ -186,6 +186,11 @@ static inline lv_obj_t * lv_page_get_scrl(lv_obj_t * page)
|
|||||||
* V7.0 COMPATIBILITY
|
* V7.0 COMPATIBILITY
|
||||||
*--------------------*/
|
*--------------------*/
|
||||||
#if LV_USE_API_EXTENSION_V7
|
#if LV_USE_API_EXTENSION_V7
|
||||||
|
|
||||||
|
#if LV_USE_ROLLER
|
||||||
|
#define LV_ROLLER_MODE_INFINITE LV_ROLLER_MODE_INIFINITE
|
||||||
|
#endif
|
||||||
|
|
||||||
#if LV_USE_WIN
|
#if LV_USE_WIN
|
||||||
|
|
||||||
static inline lv_obj_t * lv_win_add_btn(lv_obj_t * win, const void * img_src)
|
static inline lv_obj_t * lv_win_add_btn(lv_obj_t * win, const void * img_src)
|
||||||
|
|||||||
@@ -8,11 +8,22 @@
|
|||||||
#define LV_CONF_INTERNAL_H
|
#define LV_CONF_INTERNAL_H
|
||||||
/* clang-format off */
|
/* clang-format off */
|
||||||
|
|
||||||
/*Handle special Kconfig options*/
|
|
||||||
#include "lv_conf_kconfig.h"
|
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
|
/* Add ESP-IDF related includes */
|
||||||
|
#if defined (ESP_PLATFORM)
|
||||||
|
# include "sdkconfig.h"
|
||||||
|
# include "esp_attr.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Handle special Kconfig options */
|
||||||
|
#include "lv_conf_kconfig.h"
|
||||||
|
|
||||||
|
#ifdef CONFIG_LV_CONF_SKIP
|
||||||
|
#define LV_CONF_SKIP
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* If "lv_conf.h" is available from here try to use it later.*/
|
||||||
#if defined __has_include
|
#if defined __has_include
|
||||||
# if __has_include("lv_conf.h")
|
# if __has_include("lv_conf.h")
|
||||||
# ifndef LV_CONF_INCLUDE_SIMPLE
|
# ifndef LV_CONF_INCLUDE_SIMPLE
|
||||||
@@ -22,7 +33,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*If lv_conf.h is not skipped include it*/
|
/*If lv_conf.h is not skipped include it*/
|
||||||
#if !defined(LV_CONF_SKIP) && !defined(CONFIG_LV_CONF_SKIP)
|
#if !defined(LV_CONF_SKIP)
|
||||||
# if defined(LV_CONF_PATH) /*If there is a path defined for lv_conf.h use it*/
|
# if defined(LV_CONF_PATH) /*If there is a path defined for lv_conf.h use it*/
|
||||||
# define __LV_TO_STR_AUX(x) #x
|
# define __LV_TO_STR_AUX(x) #x
|
||||||
# define __LV_TO_STR(x) __LV_TO_STR_AUX(x)
|
# define __LV_TO_STR(x) __LV_TO_STR_AUX(x)
|
||||||
@@ -1058,6 +1069,13 @@ e.g. "stm32f769xx.h" or "stm32f429xx.h" */
|
|||||||
# define LV_FONT_UNSCII_8 0
|
# define LV_FONT_UNSCII_8 0
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef LV_FONT_UNSCII_16
|
||||||
|
# ifdef CONFIG_LV_FONT_UNSCII_16
|
||||||
|
# define LV_FONT_UNSCII_16 CONFIG_LV_FONT_UNSCII_16
|
||||||
|
# else
|
||||||
|
# define LV_FONT_UNSCII_16 0
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Optionally declare your custom fonts here.
|
/* Optionally declare your custom fonts here.
|
||||||
* You can use these fonts as default font too
|
* You can use these fonts as default font too
|
||||||
@@ -1975,7 +1993,7 @@ e.g. "stm32f769xx.h" or "stm32f429xx.h" */
|
|||||||
|
|
||||||
|
|
||||||
/*If running without lv_conf.h add typdesf with default value*/
|
/*If running without lv_conf.h add typdesf with default value*/
|
||||||
#if defined(LV_CONF_SKIP) || defined(CONFIG_LV_CONF_SKIP)
|
#if defined(LV_CONF_SKIP)
|
||||||
|
|
||||||
/* Type of coordinates. Should be `int16_t` (or `int32_t` for extreme cases) */
|
/* Type of coordinates. Should be `int16_t` (or `int32_t` for extreme cases) */
|
||||||
typedef int16_t lv_coord_t;
|
typedef int16_t lv_coord_t;
|
||||||
|
|||||||
@@ -10,19 +10,56 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef LV_CONF_KCONFIG_EXTERNAL_INCLUDE
|
||||||
|
# include LV_CONF_KCONFIG_EXTERNAL_INCLUDE
|
||||||
|
#else
|
||||||
|
|
||||||
|
# if defined ESP_PLATFORM
|
||||||
|
# include "sdkconfig.h"
|
||||||
|
# include "esp_attr.h"
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# ifdef __NuttX__
|
||||||
|
# include <nuttx/config.h>
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#endif /*LV_CONF_KCONFIG_EXTERNAL_INCLUDE*/
|
||||||
|
|
||||||
|
/*******************
|
||||||
|
* LV_MEM_SIZE
|
||||||
|
*******************/
|
||||||
|
|
||||||
|
#ifndef LV_MEM_SIZE
|
||||||
|
#if defined (CONFIG_LV_MEM_SIZE_BYTES)
|
||||||
|
#define CONFIG_LV_MEM_SIZE (CONFIG_LV_MEM_SIZE_BYTES * 1024U)
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*******************
|
||||||
|
* LV COLOR TRANSP
|
||||||
|
*******************/
|
||||||
|
|
||||||
|
#ifndef LV_COLOR_TRANSP
|
||||||
|
#if defined (CONFIG_LV_COLOR_TRANSP_HEX)
|
||||||
|
#define CONFIG_LV_COLOR_TRANSP lv_color_hex(CONFIG_LV_COLOR_TRANSP_HEX)
|
||||||
|
#else
|
||||||
|
#define CONFIG_LV_COLOR_TRANSP LV_COLOR_LIME
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/*******************
|
/*******************
|
||||||
* THEME SELECTION
|
* THEME SELECTION
|
||||||
*******************/
|
*******************/
|
||||||
|
|
||||||
#ifndef LV_THEME_DEFAULT_INIT
|
#ifndef LV_THEME_DEFAULT_INIT
|
||||||
#if defined (CONFIG_LV_THEME_DEFAULT_INIT_EMPTY)
|
#if defined (CONFIG_LV_THEME_DEFAULT_INIT_EMPTY)
|
||||||
#define LV_THEME_DEFAULT_INIT lv_theme_empty_init
|
#define CONFIG_LV_THEME_DEFAULT_INIT lv_theme_empty_init
|
||||||
#elif defined (CONFIG_LV_THEME_DEFAULT_INIT_TEMPLATE)
|
#elif defined (CONFIG_LV_THEME_DEFAULT_INIT_TEMPLATE)
|
||||||
#define LV_THEME_DEFAULT_INIT lv_theme_template_init
|
#define CONFIG_LV_THEME_DEFAULT_INIT lv_theme_template_init
|
||||||
#elif defined (CONFIG_LV_THEME_DEFAULT_INIT_MATERIAL)
|
#elif defined (CONFIG_LV_THEME_DEFAULT_INIT_MATERIAL)
|
||||||
#define LV_THEME_DEFAULT_INIT lv_theme_material_init
|
#define CONFIG_LV_THEME_DEFAULT_INIT lv_theme_material_init
|
||||||
#elif defined (CONFIG_LV_THEME_DEFAULT_INIT_MONO)
|
#elif defined (CONFIG_LV_THEME_DEFAULT_INIT_MONO)
|
||||||
#define LV_THEME_DEFAULT_INIT lv_theme_mono_init
|
#define LV_THEME_DEFAULT_INIT lv_theme_mono_init
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -30,13 +67,13 @@ extern "C" {
|
|||||||
* COLOR SELECTION
|
* COLOR SELECTION
|
||||||
*******************/
|
*******************/
|
||||||
|
|
||||||
#ifdef LV_THEME_DEFAULT_COLOR_PRIMARY
|
#ifndef LV_THEME_DEFAULT_COLOR_PRIMARY
|
||||||
#ifdef CONFIG_LV_THEME_DEFAULT_COLOR_PRIMARY
|
#ifdef CONFIG_LV_THEME_DEFAULT_COLOR_PRIMARY
|
||||||
#define LV_THEME_DEFAULT_COLOR_PRIMARY lv_color_hex(CONFIG_LV_THEME_DEFAULT_COLOR_PRIMARY)
|
#define LV_THEME_DEFAULT_COLOR_PRIMARY lv_color_hex(CONFIG_LV_THEME_DEFAULT_COLOR_PRIMARY)
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef LV_THEME_DEFAULT_COLOR_SECONDARY
|
#ifndef LV_THEME_DEFAULT_COLOR_SECONDARY
|
||||||
#ifdef CONFIG_LV_THEME_DEFAULT_COLOR_SECONDARY
|
#ifdef CONFIG_LV_THEME_DEFAULT_COLOR_SECONDARY
|
||||||
#define LV_THEME_DEFAULT_COLOR_SECONDARY lv_color_hex(CONFIG_LV_THEME_DEFAULT_COLOR_SECONDARY)
|
#define LV_THEME_DEFAULT_COLOR_SECONDARY lv_color_hex(CONFIG_LV_THEME_DEFAULT_COLOR_SECONDARY)
|
||||||
#endif
|
#endif
|
||||||
@@ -56,57 +93,59 @@ extern "C" {
|
|||||||
*-----------------*/
|
*-----------------*/
|
||||||
#ifndef LV_THEME_DEFAULT_FONT_SMALL
|
#ifndef LV_THEME_DEFAULT_FONT_SMALL
|
||||||
#if defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_8
|
#if defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_8
|
||||||
#define LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_8
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_8
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_10
|
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_10
|
||||||
#define LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_10
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_10
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_12
|
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_12
|
||||||
#define LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_12
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_12
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_14
|
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_14
|
||||||
#define LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_14
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_14
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_16
|
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_16
|
||||||
#define LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_16
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_16
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_18
|
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_18
|
||||||
#define LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_18
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_18
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_20
|
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_20
|
||||||
#define LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_20
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_20
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_22
|
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_22
|
||||||
#define LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_22
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_22
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_24
|
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_24
|
||||||
#define LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_24
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_24
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_26
|
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_26
|
||||||
#define LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_26
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_26
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_28
|
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_28
|
||||||
#define LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_28
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_28
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_30
|
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_30
|
||||||
#define LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_30
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_30
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_32
|
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_32
|
||||||
#define LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_32
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_32
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_34
|
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_34
|
||||||
#define LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_34
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_34
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_36
|
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_36
|
||||||
#define LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_36
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_36
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_38
|
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_38
|
||||||
#define LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_38
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_38
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_40
|
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_40
|
||||||
#define LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_40
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_40
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_42
|
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_42
|
||||||
#define LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_42
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_42
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_44
|
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_44
|
||||||
#define LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_44
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_44
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_46
|
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_46
|
||||||
#define LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_46
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_46
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_48
|
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT_48
|
||||||
#define LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_48
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_48
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_UNSCII_8
|
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_UNSCII_8
|
||||||
#define LV_THEME_DEFAULT_FONT_SMALL &lv_font_unscii_8
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SMALL &lv_font_unscii_8
|
||||||
|
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_UNSCII_16
|
||||||
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SMALL &lv_font_unscii_16
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT12SUBPX
|
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT12SUBPX
|
||||||
#define LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_12_subpx
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_12_subpx
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT28COMPRESSED
|
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_MONTSERRAT28COMPRESSED
|
||||||
#define LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_28_compressed
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_28_compressed
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_DEJAVU_16_PERSIAN_HEBREW
|
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_DEJAVU_16_PERSIAN_HEBREW
|
||||||
#define LV_THEME_DEFAULT_FONT_SMALL &lv_font_dejavu_16_persian_hebrew
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SMALL &lv_font_dejavu_16_persian_hebrew
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_SIMSUN_16_CJK
|
#elif defined CONFIG_LV_FONT_DEFAULT_SMALL_SIMSUN_16_CJK
|
||||||
#define LV_THEME_DEFAULT_FONT_SMALL &lv_font_simsun_16_cjk
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SMALL &lv_font_simsun_16_cjk
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -115,57 +154,59 @@ extern "C" {
|
|||||||
*-----------------*/
|
*-----------------*/
|
||||||
#ifndef LV_THEME_DEFAULT_FONT_NORMAL
|
#ifndef LV_THEME_DEFAULT_FONT_NORMAL
|
||||||
#if defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_8
|
#if defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_8
|
||||||
#define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_8
|
#define CONFIG_LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_8
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_10
|
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_10
|
||||||
#define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_10
|
#define CONFIG_LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_10
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_12
|
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_12
|
||||||
#define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_12
|
#define CONFIG_LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_12
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_14
|
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_14
|
||||||
#define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_14
|
#define CONFIG_LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_14
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_16
|
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_16
|
||||||
#define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_16
|
#define CONFIG_LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_16
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_18
|
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_18
|
||||||
#define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_18
|
#define CONFIG_LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_18
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_20
|
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_20
|
||||||
#define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_20
|
#define CONFIG_LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_20
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_22
|
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_22
|
||||||
#define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_22
|
#define CONFIG_LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_22
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_24
|
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_24
|
||||||
#define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_24
|
#define CONFIG_LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_24
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_26
|
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_26
|
||||||
#define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_26
|
#define CONFIG_LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_26
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_28
|
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_28
|
||||||
#define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_28
|
#define CONFIG_LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_28
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_30
|
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_30
|
||||||
#define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_30
|
#define CONFIG_LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_30
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_32
|
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_32
|
||||||
#define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_32
|
#define CONFIG_LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_32
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_34
|
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_34
|
||||||
#define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_34
|
#define CONFIG_LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_34
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_36
|
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_36
|
||||||
#define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_36
|
#define CONFIG_LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_36
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_38
|
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_38
|
||||||
#define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_38
|
#define CONFIG_LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_38
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_40
|
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_40
|
||||||
#define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_40
|
#define CONFIG_LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_40
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_42
|
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_42
|
||||||
#define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_42
|
#define CONFIG_LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_42
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_44
|
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_44
|
||||||
#define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_44
|
#define CONFIG_LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_44
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_46
|
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_46
|
||||||
#define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_46
|
#define CONFIG_LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_46
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_48
|
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT_48
|
||||||
#define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_48
|
#define CONFIG_LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_48
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_UNSCII_8
|
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_UNSCII_8
|
||||||
#define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_unscii_8
|
#define CONFIG_LV_THEME_DEFAULT_FONT_NORMAL &lv_font_unscii_8
|
||||||
|
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_UNSCII_16
|
||||||
|
#define CONFIG_LV_THEME_DEFAULT_FONT_NORMAL &lv_font_unscii_16
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT12SUBPX
|
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT12SUBPX
|
||||||
#define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_12_subpx
|
#define CONFIG_LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_12_subpx
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT28COMPRESSED
|
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_MONTSERRAT28COMPRESSED
|
||||||
#define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_28_compressed
|
#define CONFIG_LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_28_compressed
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_DEJAVU_16_PERSIAN_HEBREW
|
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_DEJAVU_16_PERSIAN_HEBREW
|
||||||
#define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_dejavu_16_persian_hebrew
|
#define CONFIG_LV_THEME_DEFAULT_FONT_NORMAL &lv_font_dejavu_16_persian_hebrew
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_SIMSUN_16_CJK
|
#elif defined CONFIG_LV_FONT_DEFAULT_NORMAL_SIMSUN_16_CJK
|
||||||
#define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_simsun_16_cjk
|
#define CONFIG_LV_THEME_DEFAULT_FONT_NORMAL &lv_font_simsun_16_cjk
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -174,57 +215,59 @@ extern "C" {
|
|||||||
*-----------------*/
|
*-----------------*/
|
||||||
#ifndef LV_THEME_DEFAULT_FONT_SUBTITLE
|
#ifndef LV_THEME_DEFAULT_FONT_SUBTITLE
|
||||||
#if defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_8
|
#if defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_8
|
||||||
#define LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_8
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_8
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_10
|
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_10
|
||||||
#define LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_10
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_10
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_12
|
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_12
|
||||||
#define LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_12
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_12
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_14
|
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_14
|
||||||
#define LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_14
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_14
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_16
|
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_16
|
||||||
#define LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_16
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_16
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_18
|
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_18
|
||||||
#define LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_18
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_18
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_20
|
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_20
|
||||||
#define LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_20
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_20
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_22
|
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_22
|
||||||
#define LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_22
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_22
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_24
|
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_24
|
||||||
#define LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_24
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_24
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_26
|
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_26
|
||||||
#define LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_26
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_26
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_28
|
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_28
|
||||||
#define LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_28
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_28
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_30
|
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_30
|
||||||
#define LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_30
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_30
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_32
|
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_32
|
||||||
#define LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_32
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_32
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_34
|
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_34
|
||||||
#define LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_34
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_34
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_36
|
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_36
|
||||||
#define LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_36
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_36
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_38
|
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_38
|
||||||
#define LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_38
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_38
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_40
|
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_40
|
||||||
#define LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_40
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_40
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_42
|
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_42
|
||||||
#define LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_42
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_42
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_44
|
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_44
|
||||||
#define LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_44
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_44
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_46
|
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_46
|
||||||
#define LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_46
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_46
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_48
|
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT_48
|
||||||
#define LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_48
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_48
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_UNSCII_8
|
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_UNSCII_8
|
||||||
#define LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_unscii_8
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_unscii_8
|
||||||
|
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_UNSCII_16
|
||||||
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_unscii_16
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT12SUBPX
|
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT12SUBPX
|
||||||
#define LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_12_subpx
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_12_subpx
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT28COMPRESSED
|
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_MONTSERRAT28COMPRESSED
|
||||||
#define LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_28_compressed
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_28_compressed
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_DEJAVU_16_PERSIAN_HEBREW
|
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_DEJAVU_16_PERSIAN_HEBREW
|
||||||
#define LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_dejavu_16_persian_hebrew
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_dejavu_16_persian_hebrew
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_SIMSUN_16_CJK
|
#elif defined CONFIG_LV_FONT_DEFAULT_SUBTITLE_SIMSUN_16_CJK
|
||||||
#define LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_simsun_16_cjk
|
#define CONFIG_LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_simsun_16_cjk
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -233,57 +276,127 @@ extern "C" {
|
|||||||
*-----------------*/
|
*-----------------*/
|
||||||
#ifndef LV_THEME_DEFAULT_FONT_TITLE
|
#ifndef LV_THEME_DEFAULT_FONT_TITLE
|
||||||
#if defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_8
|
#if defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_8
|
||||||
#define LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_8
|
#define CONFIG_LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_8
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_10
|
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_10
|
||||||
#define LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_10
|
#define CONFIG_LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_10
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_12
|
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_12
|
||||||
#define LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_12
|
#define CONFIG_LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_12
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_14
|
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_14
|
||||||
#define LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_14
|
#define CONFIG_LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_14
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_16
|
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_16
|
||||||
#define LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_16
|
#define CONFIG_LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_16
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_18
|
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_18
|
||||||
#define LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_18
|
#define CONFIG_LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_18
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_20
|
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_20
|
||||||
#define LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_20
|
#define CONFIG_LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_20
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_22
|
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_22
|
||||||
#define LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_22
|
#define CONFIG_LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_22
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_24
|
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_24
|
||||||
#define LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_24
|
#define CONFIG_LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_24
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_26
|
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_26
|
||||||
#define LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_26
|
#define CONFIG_LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_26
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_28
|
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_28
|
||||||
#define LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_28
|
#define CONFIG_LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_28
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_30
|
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_30
|
||||||
#define LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_30
|
#define CONFIG_LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_30
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_32
|
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_32
|
||||||
#define LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_32
|
#define CONFIG_LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_32
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_34
|
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_34
|
||||||
#define LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_34
|
#define CONFIG_LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_34
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_36
|
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_36
|
||||||
#define LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_36
|
#define CONFIG_LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_36
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_38
|
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_38
|
||||||
#define LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_38
|
#define CONFIG_LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_38
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_40
|
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_40
|
||||||
#define LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_40
|
#define CONFIG_LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_40
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_42
|
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_42
|
||||||
#define LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_42
|
#define CONFIG_LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_42
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_44
|
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_44
|
||||||
#define LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_44
|
#define CONFIG_LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_44
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_46
|
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_46
|
||||||
#define LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_46
|
#define CONFIG_LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_46
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_48
|
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT_48
|
||||||
#define LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_48
|
#define CONFIG_LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_48
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_UNSCII_8
|
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_UNSCII_8
|
||||||
#define LV_THEME_DEFAULT_FONT_TITLE &lv_font_unscii_8
|
#define CONFIG_LV_THEME_DEFAULT_FONT_TITLE &lv_font_unscii_8
|
||||||
|
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_UNSCII_16
|
||||||
|
#define CONFIG_LV_THEME_DEFAULT_FONT_TITLE &lv_font_unscii_16
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT12SUBPX
|
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT12SUBPX
|
||||||
#define LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_12_subpx
|
#define CONFIG_LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_12_subpx
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT28COMPRESSED
|
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_MONTSERRAT28COMPRESSED
|
||||||
#define LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_28_compressed
|
#define CONFIG_LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_28_compressed
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_DEJAVU_16_PERSIAN_HEBREW
|
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_DEJAVU_16_PERSIAN_HEBREW
|
||||||
#define LV_THEME_DEFAULT_FONT_TITLE &lv_font_dejavu_16_persian_hebrew
|
#define CONFIG_LV_THEME_DEFAULT_FONT_TITLE &lv_font_dejavu_16_persian_hebrew
|
||||||
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_SIMSUN_16_CJK
|
#elif defined CONFIG_LV_FONT_DEFAULT_TITLE_SIMSUN_16_CJK
|
||||||
#define LV_THEME_DEFAULT_FONT_TITLE &lv_font_simsun_16_cjk
|
#define CONFIG_LV_THEME_DEFAULT_FONT_TITLE &lv_font_simsun_16_cjk
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*------------------
|
||||||
|
* TEXT ENCODING
|
||||||
|
*-----------------*/
|
||||||
|
#ifndef LV_TEXT_ENC
|
||||||
|
#ifdef CONFIG_LV_TXT_ENC_UTF8
|
||||||
|
#define CONFIG_LV_TXT_ENC LV_TXT_ENC_UTF8
|
||||||
|
#elif defined CONFIG_LV_TXT_ENC_ASCII
|
||||||
|
#define CONFIG_LV_TXT_ENC LV_TXT_ENC_ASCII
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*------------------
|
||||||
|
* BIDI DIRECTION
|
||||||
|
*-----------------*/
|
||||||
|
|
||||||
|
#ifndef LV_BIDI_BASE_DIR_DEF
|
||||||
|
#ifdef CONFIG_LV_BIDI_DIR_LTR
|
||||||
|
#define CONFIG_LV_BIDI_BASE_DIR_DEF LV_BIDI_DIR_LTR
|
||||||
|
#elif defined CONFIG_LV_BIDI_DIR_RTL
|
||||||
|
#define CONFIG_LV_BIDI_BASE_DIR_DEF LV_BIDI_DIR_RTL
|
||||||
|
#elif defined CONFIG_LV_BIDI_DIR_AUTO
|
||||||
|
#define CONFIG_LV_BIDI_BASE_DIR_DEF LV_BIDI_DIR_AUTO
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*------------------
|
||||||
|
* EXT CLICK AREA
|
||||||
|
*-----------------*/
|
||||||
|
|
||||||
|
#ifndef LV_USE_EXT_CLICK_AREA
|
||||||
|
#ifdef CONFIG_LV_USE_EXT_CLICK_AREA_OFF
|
||||||
|
#define CONFIG_LV_USE_EXT_CLICK_AREA LV_EXT_CLICK_AREA_OFF
|
||||||
|
#elif defined CONFIG_LV_USE_EXT_CLICK_AREA_TINY
|
||||||
|
#define CONFIG_LV_USE_EXT_CLICK_AREA LV_EXT_CLICK_AREA_TINY
|
||||||
|
#elif defined CONFIG_LV_USE_EXT_CLICK_AREA_FULL
|
||||||
|
#define CONFIG_LV_USE_EXT_CLICK_AREA LV_EXT_CLICK_AREA_FULL
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*------------------
|
||||||
|
* LINEMETER PRECISE
|
||||||
|
*-----------------*/
|
||||||
|
|
||||||
|
#ifndef LV_LINEMETER_PRECISE
|
||||||
|
#ifdef CONFIG_LV_LINEMETER_PRECISE_NO_EXTRA_PRECISION
|
||||||
|
#define CONFIG_LV_LINEMETER_PRECISE 0
|
||||||
|
#elif defined CONFIG_LV_LINEMETER_PRECISE_SOME_EXTRA_PRECISION
|
||||||
|
#define CONFIG_LV_LINEMETER_PRECISE 1
|
||||||
|
#elif defined CONFIG_LV_LINEMETER_PRECISE_BEST_PRECISION
|
||||||
|
#define CONFIG_LV_LINEMETER_PRECISE 2
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/*------------------
|
||||||
|
* SPINNER DEF ANIM
|
||||||
|
*-----------------*/
|
||||||
|
|
||||||
|
#ifndef LV_SPINNER_DEF_ANIM
|
||||||
|
#ifdef CONFIG_LV_SPINNER_TYPE_SPINNING_ARC
|
||||||
|
#define CONFIG_LV_SPINNER_DEF_ANIM LV_SPINNER_TYPE_SPINNING_ARC
|
||||||
|
#elif defined CONFIG_LV_SPINNER_TYPE_FILLSPIN_ARC
|
||||||
|
#define CONFIG_LV_SPINNER_DEF_ANIM LV_SPINNER_TYPE_FILLSPIN_ARC
|
||||||
|
#elif defined CONFIG_LV_SPINNER_TYPE_CONSTANT_ARC
|
||||||
|
#define CONFIG_LV_SPINNER_DEF_ANIM LV_SPINNER_TYPE_CONSTANT_ARC
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
49
src/lv_conf_zephyr.h
Normal file
49
src/lv_conf_zephyr.h
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2020 Jan Van Winkel <jan.van_winkel@dxplore.eu>
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef __ZEPHYR__
|
||||||
|
|
||||||
|
#include <autoconf.h>
|
||||||
|
|
||||||
|
#define LV_MEM_CUSTOM 1
|
||||||
|
|
||||||
|
#define LV_MEMCPY_MEMSET_STD 1
|
||||||
|
|
||||||
|
#ifdef CONFIG_LVGL_MEM_POOL_HEAP_KERNEL
|
||||||
|
|
||||||
|
#define LV_MEM_CUSTOM_INCLUDE "kernel.h"
|
||||||
|
#define LV_MEM_CUSTOM_ALLOC k_malloc
|
||||||
|
#define LV_MEM_CUTOM_FREE k_free
|
||||||
|
|
||||||
|
#elif defined(CONFIG_LVGL_MEM_POOL_HEAP_LIB_C)
|
||||||
|
|
||||||
|
#define LV_MEM_CUSTOM_INCLUDE "stdlib.h"
|
||||||
|
#define LV_MEM_CUSTOM_ALLOC malloc
|
||||||
|
#define LV_MEM_CUTOM_FREE free
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#define LV_MEM_CUSTOM_INCLUDE "lvgl_mem.h"
|
||||||
|
#define LV_MEM_CUSTOM_ALLOC lvgl_malloc
|
||||||
|
#define LV_MEM_CUTOM_FREE lvgl_free
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define LV_ENABLE_GC 0
|
||||||
|
|
||||||
|
#define LV_TICK_CUSTOM 1
|
||||||
|
#define LV_TICK_CUSTOM_INCLUDE "kernel.h"
|
||||||
|
#define LV_TICK_CUSTOM_SYS_TIME_EXPR (k_uptime_get_32())
|
||||||
|
|
||||||
|
#define LV_SPRINTF_CUSTOM 1
|
||||||
|
|
||||||
|
#if LV_SPRINTF_CUSTOM
|
||||||
|
#define LV_SPRINTF_INCLUDE "stdio.h"
|
||||||
|
#define lv_snprintf snprintf
|
||||||
|
#define lv_vsnprintf vsnprintf
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -807,19 +807,28 @@ static void indev_button_proc(lv_indev_t * i, lv_indev_data_t * data)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
i->proc.types.pointer.act_point.x = i->btn_points[data->btn_id].x;
|
lv_coord_t x = i->btn_points[data->btn_id].x;
|
||||||
i->proc.types.pointer.act_point.y = i->btn_points[data->btn_id].y;
|
lv_coord_t y = i->btn_points[data->btn_id].y;
|
||||||
|
|
||||||
/*Still the same point is pressed*/
|
/*If a new point comes always make a release*/
|
||||||
if(i->proc.types.pointer.last_point.x == i->proc.types.pointer.act_point.x &&
|
if(data->state == LV_INDEV_STATE_PR) {
|
||||||
i->proc.types.pointer.last_point.y == i->proc.types.pointer.act_point.y && data->state == LV_INDEV_STATE_PR) {
|
if(i->proc.types.pointer.last_point.x != x ||
|
||||||
indev_proc_press(&i->proc);
|
i->proc.types.pointer.last_point.y != y) {
|
||||||
}
|
indev_proc_release(&i->proc);
|
||||||
else {
|
}
|
||||||
/*If a new point comes always make a release*/
|
|
||||||
indev_proc_release(&i->proc);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(indev_reset_check(&i->proc)) return;
|
||||||
|
|
||||||
|
/*Save the new points*/
|
||||||
|
i->proc.types.pointer.act_point.x = x;
|
||||||
|
i->proc.types.pointer.act_point.y = y;
|
||||||
|
|
||||||
|
if(data->state == LV_INDEV_STATE_PR) indev_proc_press(&i->proc);
|
||||||
|
else indev_proc_release(&i->proc);
|
||||||
|
|
||||||
|
if(indev_reset_check(&i->proc)) return;
|
||||||
|
|
||||||
i->proc.types.pointer.last_point.x = i->proc.types.pointer.act_point.x;
|
i->proc.types.pointer.last_point.x = i->proc.types.pointer.act_point.x;
|
||||||
i->proc.types.pointer.last_point.y = i->proc.types.pointer.act_point.y;
|
i->proc.types.pointer.last_point.y = i->proc.types.pointer.act_point.y;
|
||||||
}
|
}
|
||||||
@@ -868,11 +877,6 @@ static void indev_proc_press(lv_indev_proc_t * proc)
|
|||||||
indev_drag_throw(proc);
|
indev_drag_throw(proc);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*Do not use disabled objects*/
|
|
||||||
if(indev_obj_act && (lv_obj_get_state(indev_obj_act, LV_OBJ_PART_MAIN) & LV_STATE_DISABLED)) {
|
|
||||||
indev_obj_act = proc->types.pointer.act_obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*If a new object was found reset some variables and send a pressed signal*/
|
/*If a new object was found reset some variables and send a pressed signal*/
|
||||||
if(indev_obj_act != proc->types.pointer.act_obj) {
|
if(indev_obj_act != proc->types.pointer.act_obj) {
|
||||||
proc->types.pointer.last_point.x = proc->types.pointer.act_point.x;
|
proc->types.pointer.last_point.x = proc->types.pointer.act_point.x;
|
||||||
@@ -1144,7 +1148,7 @@ lv_obj_t * lv_indev_search_obj(lv_obj_t * obj, lv_point_t * point)
|
|||||||
hidden_i = lv_obj_get_parent(hidden_i);
|
hidden_i = lv_obj_get_parent(hidden_i);
|
||||||
}
|
}
|
||||||
/*No parent found with hidden == true*/
|
/*No parent found with hidden == true*/
|
||||||
if(hidden_i == NULL) found_p = obj;
|
if(hidden_i == NULL && (lv_obj_get_state(obj, LV_OBJ_PART_MAIN) & LV_STATE_DISABLED) == false) found_p = obj;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,8 +20,6 @@
|
|||||||
#include "../lv_misc/lv_fs.h"
|
#include "../lv_misc/lv_fs.h"
|
||||||
#include "../lv_misc/lv_gc.h"
|
#include "../lv_misc/lv_gc.h"
|
||||||
#include "../lv_misc/lv_math.h"
|
#include "../lv_misc/lv_math.h"
|
||||||
#include "../lv_misc/lv_gc.h"
|
|
||||||
#include "../lv_misc/lv_math.h"
|
|
||||||
#include "../lv_misc/lv_log.h"
|
#include "../lv_misc/lv_log.h"
|
||||||
#include "../lv_hal/lv_hal.h"
|
#include "../lv_hal/lv_hal.h"
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
@@ -4761,25 +4759,19 @@ static void invalidate_style_cache(lv_obj_t * obj, uint8_t part, lv_style_proper
|
|||||||
{
|
{
|
||||||
if(style_prop_is_cacheble(prop) == false) return;
|
if(style_prop_is_cacheble(prop) == false) return;
|
||||||
|
|
||||||
if(part != LV_OBJ_PART_ALL) {
|
for(part = 0; part < _LV_OBJ_PART_REAL_FIRST; part++) {
|
||||||
lv_style_list_t * list = lv_obj_get_style_list(obj, part);
|
lv_style_list_t * list = lv_obj_get_style_list(obj, part);
|
||||||
if(list == NULL) return;
|
if(list == NULL) break;
|
||||||
list->valid_cache = 0;
|
list->valid_cache = 0;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
|
|
||||||
for(part = 0; part < _LV_OBJ_PART_REAL_FIRST; part++) {
|
for(part = _LV_OBJ_PART_REAL_FIRST; part < 0xFF; part++) {
|
||||||
lv_style_list_t * list = lv_obj_get_style_list(obj, part);
|
lv_style_list_t * list = lv_obj_get_style_list(obj, part);
|
||||||
if(list == NULL) break;
|
if(list == NULL) break;
|
||||||
list->valid_cache = 0;
|
list->valid_cache = 0;
|
||||||
}
|
|
||||||
for(part = _LV_OBJ_PART_REAL_FIRST; part < 0xFF; part++) {
|
|
||||||
lv_style_list_t * list = lv_obj_get_style_list(obj, part);
|
|
||||||
if(list == NULL) break;
|
|
||||||
list->valid_cache = 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
lv_obj_t * child = lv_obj_get_child(obj, NULL);
|
lv_obj_t * child = lv_obj_get_child(obj, NULL);
|
||||||
while(child) {
|
while(child) {
|
||||||
update_style_cache_children(child);
|
update_style_cache_children(child);
|
||||||
|
|||||||
@@ -54,6 +54,10 @@ static void lv_refr_vdb_flush(void);
|
|||||||
**********************/
|
**********************/
|
||||||
static uint32_t px_num;
|
static uint32_t px_num;
|
||||||
static lv_disp_t * disp_refr; /*Display being refreshed*/
|
static lv_disp_t * disp_refr; /*Display being refreshed*/
|
||||||
|
#if LV_USE_PERF_MONITOR
|
||||||
|
static uint32_t fps_sum_cnt;
|
||||||
|
static uint32_t fps_sum_all;
|
||||||
|
#endif
|
||||||
|
|
||||||
/**********************
|
/**********************
|
||||||
* MACROS
|
* MACROS
|
||||||
@@ -290,17 +294,28 @@ void _lv_disp_refr_task(lv_task_t * task)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static uint32_t perf_last_time = 0;
|
static uint32_t perf_last_time = 0;
|
||||||
static uint32_t elaps_max = 1;
|
static uint32_t elaps_sum = 0;
|
||||||
|
static uint32_t frame_cnt = 0;
|
||||||
if(lv_tick_elaps(perf_last_time) < 300) {
|
if(lv_tick_elaps(perf_last_time) < 300) {
|
||||||
elaps_max = LV_MATH_MAX(elaps, elaps_max);
|
if(px_num > 5000) {
|
||||||
|
elaps_sum += elaps;
|
||||||
|
frame_cnt ++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
perf_last_time = lv_tick_get();
|
perf_last_time = lv_tick_get();
|
||||||
uint32_t fps = 1000 / (elaps_max == 0 ? 1 : elaps_max);
|
|
||||||
elaps_max = 1;
|
|
||||||
uint32_t fps_limit = 1000 / disp_refr->refr_task->period;
|
uint32_t fps_limit = 1000 / disp_refr->refr_task->period;
|
||||||
|
uint32_t fps;
|
||||||
|
|
||||||
|
if(elaps_sum == 0) elaps_sum = 1;
|
||||||
|
if(frame_cnt == 0) fps = fps_limit;
|
||||||
|
else fps = (1000 * frame_cnt) / elaps_sum;
|
||||||
|
elaps_sum = 0;
|
||||||
|
frame_cnt = 0;
|
||||||
if(fps > fps_limit) fps = fps_limit;
|
if(fps > fps_limit) fps = fps_limit;
|
||||||
|
|
||||||
|
fps_sum_all += fps;
|
||||||
|
fps_sum_cnt ++;
|
||||||
uint32_t cpu = 100 - lv_task_get_idle();
|
uint32_t cpu = 100 - lv_task_get_idle();
|
||||||
lv_label_set_text_fmt(perf_label, "%d FPS\n%d%% CPU", fps, cpu);
|
lv_label_set_text_fmt(perf_label, "%d FPS\n%d%% CPU", fps, cpu);
|
||||||
lv_obj_align(perf_label, NULL, LV_ALIGN_IN_BOTTOM_RIGHT, 0, 0);
|
lv_obj_align(perf_label, NULL, LV_ALIGN_IN_BOTTOM_RIGHT, 0, 0);
|
||||||
@@ -310,6 +325,13 @@ void _lv_disp_refr_task(lv_task_t * task)
|
|||||||
LV_LOG_TRACE("lv_refr_task: ready");
|
LV_LOG_TRACE("lv_refr_task: ready");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if LV_USE_PERF_MONITOR
|
||||||
|
uint32_t lv_refr_get_fps_avg(void)
|
||||||
|
{
|
||||||
|
return fps_sum_all / fps_sum_cnt;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/**********************
|
/**********************
|
||||||
* STATIC FUNCTIONS
|
* STATIC FUNCTIONS
|
||||||
**********************/
|
**********************/
|
||||||
@@ -381,7 +403,7 @@ static void lv_refr_areas(void)
|
|||||||
disp_refr->driver.buffer->last_part = 0;
|
disp_refr->driver.buffer->last_part = 0;
|
||||||
lv_refr_area(&disp_refr->inv_areas[i]);
|
lv_refr_area(&disp_refr->inv_areas[i]);
|
||||||
|
|
||||||
if(disp_refr->driver.monitor_cb) px_num += lv_area_get_size(&disp_refr->inv_areas[i]);
|
px_num += lv_area_get_size(&disp_refr->inv_areas[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,6 +78,14 @@ lv_disp_t * _lv_refr_get_disp_refreshing(void);
|
|||||||
*/
|
*/
|
||||||
void _lv_refr_set_disp_refreshing(lv_disp_t * disp);
|
void _lv_refr_set_disp_refreshing(lv_disp_t * disp);
|
||||||
|
|
||||||
|
#if LV_USE_PERF_MONITOR
|
||||||
|
/**
|
||||||
|
* Get the average FPS since start up
|
||||||
|
* @return the average FPS
|
||||||
|
*/
|
||||||
|
uint32_t lv_refr_get_fps_avg(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called periodically to handle the refreshing
|
* Called periodically to handle the refreshing
|
||||||
* @param task pointer to the task itself
|
* @param task pointer to the task itself
|
||||||
|
|||||||
@@ -394,20 +394,11 @@ static void get_rounded_area(int16_t angle, lv_coord_t radius, uint8_t tickness,
|
|||||||
int32_t thick_half = tickness / 2;
|
int32_t thick_half = tickness / 2;
|
||||||
uint8_t thick_corr = (tickness & 0x01) ? 0 : 1;
|
uint8_t thick_corr = (tickness & 0x01) ? 0 : 1;
|
||||||
|
|
||||||
int32_t rx_corr;
|
|
||||||
int32_t ry_corr;
|
|
||||||
|
|
||||||
if(angle > 90 && angle < 270) rx_corr = 0;
|
|
||||||
else rx_corr = 0;
|
|
||||||
|
|
||||||
if(angle > 0 && angle < 180) ry_corr = 0;
|
|
||||||
else ry_corr = 0;
|
|
||||||
|
|
||||||
int32_t cir_x;
|
int32_t cir_x;
|
||||||
int32_t cir_y;
|
int32_t cir_y;
|
||||||
|
|
||||||
cir_x = ((radius - rx_corr - thick_half) * _lv_trigo_sin(90 - angle)) >> (LV_TRIGO_SHIFT - ps);
|
cir_x = ((radius - thick_half) * _lv_trigo_sin(90 - angle)) >> (LV_TRIGO_SHIFT - ps);
|
||||||
cir_y = ((radius - ry_corr - thick_half) * _lv_trigo_sin(angle)) >> (LV_TRIGO_SHIFT - ps);
|
cir_y = ((radius - thick_half) * _lv_trigo_sin(angle)) >> (LV_TRIGO_SHIFT - ps);
|
||||||
|
|
||||||
/* Actually the center of the pixel need to be calculated so apply 1/2 px offset*/
|
/* Actually the center of the pixel need to be calculated so apply 1/2 px offset*/
|
||||||
if(cir_x > 0) {
|
if(cir_x > 0) {
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
*********************/
|
*********************/
|
||||||
#define GPU_SIZE_LIMIT 240
|
#define GPU_SIZE_LIMIT 240
|
||||||
|
|
||||||
|
|
||||||
/**********************
|
/**********************
|
||||||
* TYPEDEFS
|
* TYPEDEFS
|
||||||
**********************/
|
**********************/
|
||||||
@@ -401,6 +400,7 @@ LV_ATTRIBUTE_FAST_MEM static void fill_normal(const lv_area_t * disp_area, lv_co
|
|||||||
lv_coord_t line_h = LV_HOR_RES_MAX / draw_area_w;
|
lv_coord_t line_h = LV_HOR_RES_MAX / draw_area_w;
|
||||||
for(y = 0; y <= draw_area_h - line_h; y += line_h) {
|
for(y = 0; y <= draw_area_h - line_h; y += line_h) {
|
||||||
lv_gpu_stm32_dma2d_blend(disp_buf_first, disp_w, blend_buf, opa, draw_area_w, draw_area_w, line_h);
|
lv_gpu_stm32_dma2d_blend(disp_buf_first, disp_w, blend_buf, opa, draw_area_w, draw_area_w, line_h);
|
||||||
|
lv_gpu_stm32_dma2d_wait_cb(NULL);
|
||||||
disp_buf_first += disp_w * line_h;
|
disp_buf_first += disp_w * line_h;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
#include "lv_draw_blend.h"
|
#include "lv_draw_blend.h"
|
||||||
#include "lv_draw_mask.h"
|
#include "lv_draw_mask.h"
|
||||||
#include "../lv_misc/lv_math.h"
|
#include "../lv_misc/lv_math.h"
|
||||||
|
#include "../lv_misc/lv_txt_ap.h"
|
||||||
#include "../lv_core/lv_refr.h"
|
#include "../lv_core/lv_refr.h"
|
||||||
#include "../lv_misc/lv_debug.h"
|
#include "../lv_misc/lv_debug.h"
|
||||||
|
|
||||||
@@ -1295,8 +1296,16 @@ static void draw_value_str(const lv_area_t * coords, const lv_area_t * clip, con
|
|||||||
if(dsc->value_str == NULL) return;
|
if(dsc->value_str == NULL) return;
|
||||||
if(dsc->value_opa <= LV_OPA_MIN) return;
|
if(dsc->value_opa <= LV_OPA_MIN) return;
|
||||||
|
|
||||||
|
#if LV_USE_ARABIC_PERSIAN_CHARS == 0
|
||||||
|
const char * str = dsc->value_str;
|
||||||
|
#else
|
||||||
|
uint32_t str_len = _lv_txt_ap_calc_bytes_cnt(dsc->value_str);
|
||||||
|
char * str = _lv_mem_buf_get(str_len + 1);
|
||||||
|
_lv_txt_ap_proc(dsc->value_str, str);
|
||||||
|
#endif
|
||||||
|
|
||||||
lv_point_t s;
|
lv_point_t s;
|
||||||
_lv_txt_get_size(&s, dsc->value_str, dsc->value_font, dsc->value_letter_space, dsc->value_line_space, LV_COORD_MAX,
|
_lv_txt_get_size(&s, str, dsc->value_font, dsc->value_letter_space, dsc->value_line_space, LV_COORD_MAX,
|
||||||
LV_TXT_FLAG_NONE);
|
LV_TXT_FLAG_NONE);
|
||||||
|
|
||||||
lv_area_t value_area;
|
lv_area_t value_area;
|
||||||
@@ -1321,7 +1330,7 @@ static void draw_value_str(const lv_area_t * coords, const lv_area_t * clip, con
|
|||||||
label_dsc.color = dsc->value_color;
|
label_dsc.color = dsc->value_color;
|
||||||
label_dsc.opa = dsc->value_opa;
|
label_dsc.opa = dsc->value_opa;
|
||||||
|
|
||||||
lv_draw_label(&value_area, clip, &label_dsc, dsc->value_str, NULL);
|
lv_draw_label(&value_area, clip, &label_dsc, str, NULL);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -58,29 +58,53 @@ void lv_draw_polygon(const lv_point_t points[], uint16_t point_cnt, const lv_are
|
|||||||
if(point_cnt < 3) return;
|
if(point_cnt < 3) return;
|
||||||
if(points == NULL) return;
|
if(points == NULL) return;
|
||||||
|
|
||||||
int16_t i;
|
/*Join adjacent points if they are on the same coordinate*/
|
||||||
|
lv_point_t * p = _lv_mem_buf_get(point_cnt * sizeof(lv_point_t));
|
||||||
|
if(p == NULL) return;
|
||||||
|
uint16_t i;
|
||||||
|
uint16_t pcnt = 0;
|
||||||
|
p[0] = points[0];
|
||||||
|
for(i = 0; i < point_cnt - 1; i++) {
|
||||||
|
if(points[i].x != points[i + 1].x || points[i].y != points[i + 1].y) {
|
||||||
|
p[pcnt] = points[i];
|
||||||
|
pcnt++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*The first and the last points are also adjacent */
|
||||||
|
if(points[0].x != points[point_cnt - 1].x || points[0].y != points[point_cnt - 1].y) {
|
||||||
|
p[pcnt] = points[point_cnt - 1];
|
||||||
|
pcnt++;
|
||||||
|
}
|
||||||
|
|
||||||
|
point_cnt = pcnt;
|
||||||
|
if(point_cnt < 3) {
|
||||||
|
_lv_mem_buf_release(p);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
lv_area_t poly_coords = {.x1 = LV_COORD_MAX, .y1 = LV_COORD_MAX, .x2 = LV_COORD_MIN, .y2 = LV_COORD_MIN};
|
lv_area_t poly_coords = {.x1 = LV_COORD_MAX, .y1 = LV_COORD_MAX, .x2 = LV_COORD_MIN, .y2 = LV_COORD_MIN};
|
||||||
|
|
||||||
for(i = 0; i < point_cnt; i++) {
|
for(i = 0; i < point_cnt; i++) {
|
||||||
poly_coords.x1 = LV_MATH_MIN(poly_coords.x1, points[i].x);
|
poly_coords.x1 = LV_MATH_MIN(poly_coords.x1, p[i].x);
|
||||||
poly_coords.y1 = LV_MATH_MIN(poly_coords.y1, points[i].y);
|
poly_coords.y1 = LV_MATH_MIN(poly_coords.y1, p[i].y);
|
||||||
poly_coords.x2 = LV_MATH_MAX(poly_coords.x2, points[i].x);
|
poly_coords.x2 = LV_MATH_MAX(poly_coords.x2, p[i].x);
|
||||||
poly_coords.y2 = LV_MATH_MAX(poly_coords.y2, points[i].y);
|
poly_coords.y2 = LV_MATH_MAX(poly_coords.y2, p[i].y);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool is_common;
|
bool is_common;
|
||||||
lv_area_t poly_mask;
|
lv_area_t poly_mask;
|
||||||
is_common = _lv_area_intersect(&poly_mask, &poly_coords, clip_area);
|
is_common = _lv_area_intersect(&poly_mask, &poly_coords, clip_area);
|
||||||
if(!is_common) return;
|
if(!is_common) {
|
||||||
|
_lv_mem_buf_release(p);
|
||||||
|
return;
|
||||||
|
}
|
||||||
/*Find the lowest point*/
|
/*Find the lowest point*/
|
||||||
lv_coord_t y_min = points[0].y;
|
lv_coord_t y_min = p[0].y;
|
||||||
int16_t y_min_i = 0;
|
int16_t y_min_i = 0;
|
||||||
|
|
||||||
for(i = 1; i < point_cnt; i++) {
|
for(i = 1; i < point_cnt; i++) {
|
||||||
if(points[i].y < y_min) {
|
if(p[i].y < y_min) {
|
||||||
y_min = points[i].y;
|
y_min = p[i].y;
|
||||||
y_min_i = i;
|
y_min_i = i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -109,10 +133,10 @@ void lv_draw_polygon(const lv_point_t points[], uint16_t point_cnt, const lv_are
|
|||||||
* dy_left/dx_left < dy_right/dx_right
|
* dy_left/dx_left < dy_right/dx_right
|
||||||
* dy_left * dx_right < dy_right * dx_left
|
* dy_left * dx_right < dy_right * dx_left
|
||||||
*/
|
*/
|
||||||
lv_coord_t dxl = points[i_next_left].x - points[y_min_i].x;
|
lv_coord_t dxl = p[i_next_left].x - p[y_min_i].x;
|
||||||
lv_coord_t dxr = points[i_next_right].x - points[y_min_i].x;
|
lv_coord_t dxr = p[i_next_right].x - p[y_min_i].x;
|
||||||
lv_coord_t dyl = points[i_next_left].y - points[y_min_i].y;
|
lv_coord_t dyl = p[i_next_left].y - p[y_min_i].y;
|
||||||
lv_coord_t dyr = points[i_next_right].y - points[y_min_i].y;
|
lv_coord_t dyr = p[i_next_right].y - p[y_min_i].y;
|
||||||
|
|
||||||
bool inv = false;
|
bool inv = false;
|
||||||
if(dyl * dxr < dyr * dxl) inv = true;
|
if(dyl * dxr < dyr * dxl) inv = true;
|
||||||
@@ -133,11 +157,11 @@ void lv_draw_polygon(const lv_point_t points[], uint16_t point_cnt, const lv_are
|
|||||||
if(i_next_right < 0) i_next_right = point_cnt + i_next_right;
|
if(i_next_right < 0) i_next_right = point_cnt + i_next_right;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(points[i_next_left].y >= points[i_prev_left].y) {
|
if(p[i_next_left].y >= p[i_prev_left].y) {
|
||||||
if(points[i_next_left].y != points[i_prev_left].y &&
|
if(p[i_next_left].y != p[i_prev_left].y &&
|
||||||
points[i_next_left].x != points[i_prev_left].x) {
|
p[i_next_left].x != p[i_prev_left].x) {
|
||||||
lv_draw_mask_line_points_init(mp_next, points[i_prev_left].x, points[i_prev_left].y,
|
lv_draw_mask_line_points_init(mp_next, p[i_prev_left].x, p[i_prev_left].y,
|
||||||
points[i_next_left].x, points[i_next_left].y,
|
p[i_next_left].x, p[i_next_left].y,
|
||||||
LV_DRAW_MASK_LINE_SIDE_RIGHT);
|
LV_DRAW_MASK_LINE_SIDE_RIGHT);
|
||||||
lv_draw_mask_add(mp_next, mp);
|
lv_draw_mask_add(mp_next, mp);
|
||||||
mp_next++;
|
mp_next++;
|
||||||
@@ -148,12 +172,12 @@ void lv_draw_polygon(const lv_point_t points[], uint16_t point_cnt, const lv_are
|
|||||||
|
|
||||||
if(mask_cnt == point_cnt) break;
|
if(mask_cnt == point_cnt) break;
|
||||||
|
|
||||||
if(points[i_next_right].y >= points[i_prev_right].y) {
|
if(p[i_next_right].y >= p[i_prev_right].y) {
|
||||||
if(points[i_next_right].y != points[i_prev_right].y &&
|
if(p[i_next_right].y != p[i_prev_right].y &&
|
||||||
points[i_next_right].x != points[i_prev_right].x) {
|
p[i_next_right].x != p[i_prev_right].x) {
|
||||||
|
|
||||||
lv_draw_mask_line_points_init(mp_next, points[i_prev_right].x, points[i_prev_right].y,
|
lv_draw_mask_line_points_init(mp_next, p[i_prev_right].x, p[i_prev_right].y,
|
||||||
points[i_next_right].x, points[i_next_right].y,
|
p[i_next_right].x, p[i_next_right].y,
|
||||||
LV_DRAW_MASK_LINE_SIDE_LEFT);
|
LV_DRAW_MASK_LINE_SIDE_LEFT);
|
||||||
lv_draw_mask_add(mp_next, mp);
|
lv_draw_mask_add(mp_next, mp);
|
||||||
mp_next++;
|
mp_next++;
|
||||||
@@ -169,6 +193,7 @@ void lv_draw_polygon(const lv_point_t points[], uint16_t point_cnt, const lv_are
|
|||||||
lv_draw_mask_remove_custom(mp);
|
lv_draw_mask_remove_custom(mp);
|
||||||
|
|
||||||
_lv_mem_buf_release(mp);
|
_lv_mem_buf_release(mp);
|
||||||
|
_lv_mem_buf_release(p);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,11 +24,6 @@ extern "C" {
|
|||||||
/*********************
|
/*********************
|
||||||
* DEFINES
|
* DEFINES
|
||||||
*********************/
|
*********************/
|
||||||
/*Number of fractional digits in the advanced width (`adv_w`) field of `lv_font_glyph_dsc_t`*/
|
|
||||||
#define LV_FONT_WIDTH_FRACT_DIGIT 4
|
|
||||||
|
|
||||||
#define LV_FONT_KERN_POSITIVE 0
|
|
||||||
#define LV_FONT_KERN_NEGATIVE 1
|
|
||||||
|
|
||||||
/**********************
|
/**********************
|
||||||
* TYPEDEFS
|
* TYPEDEFS
|
||||||
@@ -227,6 +222,10 @@ LV_FONT_DECLARE(lv_font_montserrat_12_subpx)
|
|||||||
LV_FONT_DECLARE(lv_font_unscii_8)
|
LV_FONT_DECLARE(lv_font_unscii_8)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if LV_FONT_UNSCII_16
|
||||||
|
LV_FONT_DECLARE(lv_font_unscii_16)
|
||||||
|
#endif
|
||||||
|
|
||||||
#if LV_FONT_DEJAVU_16_PERSIAN_HEBREW
|
#if LV_FONT_DEJAVU_16_PERSIAN_HEBREW
|
||||||
LV_FONT_DECLARE(lv_font_dejavu_16_persian_hebrew)
|
LV_FONT_DECLARE(lv_font_dejavu_16_persian_hebrew)
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
CSRCS += lv_font.c
|
CSRCS += lv_font.c
|
||||||
CSRCS += lv_font_fmt_txt.c
|
CSRCS += lv_font_fmt_txt.c
|
||||||
CSRCS += lv_font_loader.c
|
CSRCS += lv_font_loader.c
|
||||||
|
CSRCS += lv_font_montserrat_8.c
|
||||||
|
CSRCS += lv_font_montserrat_10.c
|
||||||
CSRCS += lv_font_montserrat_12.c
|
CSRCS += lv_font_montserrat_12.c
|
||||||
CSRCS += lv_font_montserrat_14.c
|
CSRCS += lv_font_montserrat_14.c
|
||||||
CSRCS += lv_font_montserrat_16.c
|
CSRCS += lv_font_montserrat_16.c
|
||||||
|
|||||||
635
src/lv_font/lv_font_unscii_16.c
Normal file
635
src/lv_font/lv_font_unscii_16.c
Normal file
@@ -0,0 +1,635 @@
|
|||||||
|
#include "../../lvgl.h"
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
* Size: 16 px
|
||||||
|
* Bpp: 1
|
||||||
|
* Opts:
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
#ifndef LV_FONT_UNSCII_16
|
||||||
|
#define LV_FONT_UNSCII_16 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if LV_FONT_UNSCII_16
|
||||||
|
|
||||||
|
/*-----------------
|
||||||
|
* BITMAPS
|
||||||
|
*----------------*/
|
||||||
|
|
||||||
|
/*Store the image of the glyphs*/
|
||||||
|
static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
|
||||||
|
/* U+20 " " */
|
||||||
|
0x0,
|
||||||
|
|
||||||
|
/* U+21 "!" */
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0x0, 0xff,
|
||||||
|
|
||||||
|
/* U+22 "\"" */
|
||||||
|
0xf0, 0xff, 0xf, 0xf0, 0xff, 0xf, 0xf0, 0xff,
|
||||||
|
0xf,
|
||||||
|
|
||||||
|
/* U+23 "#" */
|
||||||
|
0x3c, 0xf0, 0xf3, 0xc3, 0xcf, 0xf, 0x3c, 0xff,
|
||||||
|
0xff, 0xff, 0xf3, 0xcf, 0xf, 0x3c, 0xff, 0xff,
|
||||||
|
0xff, 0xf3, 0xcf, 0xf, 0x3c, 0x3c, 0xf0, 0xf3,
|
||||||
|
0xc0,
|
||||||
|
|
||||||
|
/* U+24 "$" */
|
||||||
|
0xf, 0x0, 0xf0, 0x3f, 0xf3, 0xff, 0xf0, 0xf,
|
||||||
|
0x0, 0x3f, 0xc3, 0xfc, 0x0, 0xf0, 0xf, 0xff,
|
||||||
|
0xcf, 0xfc, 0xf, 0x0, 0xf0,
|
||||||
|
|
||||||
|
/* U+25 "%" */
|
||||||
|
0xf0, 0x3f, 0xc0, 0xff, 0xf, 0x3c, 0x3c, 0x3,
|
||||||
|
0xc0, 0xf, 0x0, 0xf0, 0x3, 0xc0, 0x3c, 0x3c,
|
||||||
|
0xf0, 0xff, 0x3, 0xfc, 0xf,
|
||||||
|
|
||||||
|
/* U+26 "&" */
|
||||||
|
0xf, 0xc0, 0x3f, 0x3, 0xcf, 0xf, 0x3c, 0xf,
|
||||||
|
0xc0, 0x3f, 0x3, 0xf3, 0xcf, 0xcf, 0xf3, 0xf3,
|
||||||
|
0xcf, 0xcf, 0xf, 0x3c, 0x3c, 0x3f, 0x3c, 0xfc,
|
||||||
|
0xf0,
|
||||||
|
|
||||||
|
/* U+27 "'" */
|
||||||
|
0x3c, 0xf3, 0xcf, 0xf3, 0xc0,
|
||||||
|
|
||||||
|
/* U+28 "(" */
|
||||||
|
0xf, 0xf, 0x3c, 0x3c, 0xf0, 0xf0, 0xf0, 0xf0,
|
||||||
|
0xf0, 0xf0, 0x3c, 0x3c, 0xf, 0xf,
|
||||||
|
|
||||||
|
/* U+29 ")" */
|
||||||
|
0xf0, 0xf0, 0x3c, 0x3c, 0xf, 0xf, 0xf, 0xf,
|
||||||
|
0xf, 0xf, 0x3c, 0x3c, 0xf0, 0xf0,
|
||||||
|
|
||||||
|
/* U+2A "*" */
|
||||||
|
0x3c, 0x3c, 0x3c, 0x3c, 0xf, 0xf0, 0xf, 0xf0,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xf, 0xf0, 0xf, 0xf0,
|
||||||
|
0x3c, 0x3c, 0x3c, 0x3c,
|
||||||
|
|
||||||
|
/* U+2B "+" */
|
||||||
|
0xf, 0x0, 0xf0, 0xf, 0x0, 0xf0, 0xff, 0xff,
|
||||||
|
0xff, 0xf, 0x0, 0xf0, 0xf, 0x0, 0xf0,
|
||||||
|
|
||||||
|
/* U+2C "," */
|
||||||
|
0x3c, 0xf3, 0xcf, 0xf3, 0xc0,
|
||||||
|
|
||||||
|
/* U+2D "-" */
|
||||||
|
0xff, 0xff, 0xff,
|
||||||
|
|
||||||
|
/* U+2E "." */
|
||||||
|
0xff, 0xff,
|
||||||
|
|
||||||
|
/* U+2F "/" */
|
||||||
|
0x0, 0xf, 0x0, 0xf, 0x0, 0x3c, 0x0, 0x3c,
|
||||||
|
0x0, 0xf0, 0x0, 0xf0, 0x3, 0xc0, 0x3, 0xc0,
|
||||||
|
0xf, 0x0, 0xf, 0x0, 0x3c, 0x0, 0x3c, 0x0,
|
||||||
|
0xf0, 0x0, 0xf0, 0x0,
|
||||||
|
|
||||||
|
/* U+30 "0" */
|
||||||
|
0x3f, 0xc3, 0xfc, 0xf0, 0xff, 0xf, 0xf3, 0xff,
|
||||||
|
0x3f, 0xfc, 0xff, 0xcf, 0xf0, 0xff, 0xf, 0xf0,
|
||||||
|
0xff, 0xf, 0x3f, 0xc3, 0xfc,
|
||||||
|
|
||||||
|
/* U+31 "1" */
|
||||||
|
0xf, 0x0, 0xf0, 0x3f, 0x3, 0xf0, 0xf, 0x0,
|
||||||
|
0xf0, 0xf, 0x0, 0xf0, 0xf, 0x0, 0xf0, 0xf,
|
||||||
|
0x0, 0xf0, 0xff, 0xff, 0xff,
|
||||||
|
|
||||||
|
/* U+32 "2" */
|
||||||
|
0x3f, 0xc3, 0xfc, 0xf0, 0xff, 0xf, 0x3, 0xc0,
|
||||||
|
0x3c, 0xf, 0x0, 0xf0, 0x3c, 0x3, 0xc0, 0xf0,
|
||||||
|
0xf, 0x0, 0xff, 0xff, 0xff,
|
||||||
|
|
||||||
|
/* U+33 "3" */
|
||||||
|
0x3f, 0xc3, 0xfc, 0xf0, 0xff, 0xf, 0x0, 0xf0,
|
||||||
|
0xf, 0xf, 0xc0, 0xfc, 0x0, 0xf0, 0xf, 0xf0,
|
||||||
|
0xff, 0xf, 0x3f, 0xc3, 0xfc,
|
||||||
|
|
||||||
|
/* U+34 "4" */
|
||||||
|
0x3, 0xf0, 0xf, 0xc0, 0xff, 0x3, 0xfc, 0x3c,
|
||||||
|
0xf0, 0xf3, 0xcf, 0xf, 0x3c, 0x3c, 0xff, 0xff,
|
||||||
|
0xff, 0xf0, 0xf, 0x0, 0x3c, 0x0, 0xf0, 0x3,
|
||||||
|
0xc0,
|
||||||
|
|
||||||
|
/* U+35 "5" */
|
||||||
|
0xff, 0xff, 0xff, 0xf0, 0xf, 0x0, 0xff, 0xcf,
|
||||||
|
0xfc, 0x0, 0xf0, 0xf, 0x0, 0xf0, 0xf, 0xf0,
|
||||||
|
0xff, 0xf, 0x3f, 0xc3, 0xfc,
|
||||||
|
|
||||||
|
/* U+36 "6" */
|
||||||
|
0xf, 0xc0, 0xfc, 0x3c, 0x3, 0xc0, 0xf0, 0xf,
|
||||||
|
0x0, 0xff, 0xcf, 0xfc, 0xf0, 0xff, 0xf, 0xf0,
|
||||||
|
0xff, 0xf, 0x3f, 0xc3, 0xfc,
|
||||||
|
|
||||||
|
/* U+37 "7" */
|
||||||
|
0xff, 0xff, 0xff, 0x0, 0xf0, 0xf, 0x0, 0xf0,
|
||||||
|
0xf, 0x3, 0xc0, 0x3c, 0xf, 0x0, 0xf0, 0xf,
|
||||||
|
0x0, 0xf0, 0xf, 0x0, 0xf0,
|
||||||
|
|
||||||
|
/* U+38 "8" */
|
||||||
|
0x3f, 0xc3, 0xfc, 0xf0, 0xff, 0xf, 0xf0, 0xff,
|
||||||
|
0xf, 0x3f, 0xc3, 0xfc, 0xf0, 0xff, 0xf, 0xf0,
|
||||||
|
0xff, 0xf, 0x3f, 0xc3, 0xfc,
|
||||||
|
|
||||||
|
/* U+39 "9" */
|
||||||
|
0x3f, 0xc3, 0xfc, 0xf0, 0xff, 0xf, 0xf0, 0xff,
|
||||||
|
0xf, 0x3f, 0xf3, 0xff, 0x0, 0xf0, 0xf, 0x3,
|
||||||
|
0xc0, 0x3c, 0x3f, 0x3, 0xf0,
|
||||||
|
|
||||||
|
/* U+3A ":" */
|
||||||
|
0xff, 0xff, 0x0, 0x0, 0xff, 0xff,
|
||||||
|
|
||||||
|
/* U+3B ";" */
|
||||||
|
0x3c, 0xf3, 0xcf, 0x0, 0x0, 0x0, 0x3c, 0xf3,
|
||||||
|
0xcf, 0xf3, 0xc0,
|
||||||
|
|
||||||
|
/* U+3C "<" */
|
||||||
|
0x3, 0xc0, 0xf0, 0xf0, 0x3c, 0x3c, 0xf, 0xf,
|
||||||
|
0x3, 0xc0, 0x3c, 0xf, 0x0, 0xf0, 0x3c, 0x3,
|
||||||
|
0xc0, 0xf0,
|
||||||
|
|
||||||
|
/* U+3D "=" */
|
||||||
|
0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0xff, 0xff,
|
||||||
|
0xff,
|
||||||
|
|
||||||
|
/* U+3E ">" */
|
||||||
|
0xf0, 0x3c, 0x3, 0xc0, 0xf0, 0xf, 0x3, 0xc0,
|
||||||
|
0x3c, 0xf, 0xf, 0x3, 0xc3, 0xc0, 0xf0, 0xf0,
|
||||||
|
0x3c, 0x0,
|
||||||
|
|
||||||
|
/* U+3F "?" */
|
||||||
|
0x3f, 0xc3, 0xfc, 0xf0, 0xff, 0xf, 0x0, 0xf0,
|
||||||
|
0xf, 0x3, 0xc0, 0x3c, 0xf, 0x0, 0xf0, 0x0,
|
||||||
|
0x0, 0x0, 0xf, 0x0, 0xf0,
|
||||||
|
|
||||||
|
/* U+40 "@" */
|
||||||
|
0x3f, 0xf0, 0xff, 0xcf, 0x3, 0xfc, 0xf, 0xf3,
|
||||||
|
0xff, 0xcf, 0xff, 0x3f, 0xfc, 0xff, 0xf3, 0xff,
|
||||||
|
0xcf, 0xff, 0x0, 0x3c, 0x0, 0x3f, 0xf0, 0xff,
|
||||||
|
0xc0,
|
||||||
|
|
||||||
|
/* U+41 "A" */
|
||||||
|
0xf, 0x0, 0xf0, 0x3f, 0xc3, 0xfc, 0xf0, 0xff,
|
||||||
|
0xf, 0xf0, 0xff, 0xf, 0xff, 0xff, 0xff, 0xf0,
|
||||||
|
0xff, 0xf, 0xf0, 0xff, 0xf,
|
||||||
|
|
||||||
|
/* U+42 "B" */
|
||||||
|
0xff, 0xcf, 0xfc, 0xf0, 0xff, 0xf, 0xf0, 0xff,
|
||||||
|
0xf, 0xff, 0xcf, 0xfc, 0xf0, 0xff, 0xf, 0xf0,
|
||||||
|
0xff, 0xf, 0xff, 0xcf, 0xfc,
|
||||||
|
|
||||||
|
/* U+43 "C" */
|
||||||
|
0x3f, 0xc3, 0xfc, 0xf0, 0xff, 0xf, 0xf0, 0xf,
|
||||||
|
0x0, 0xf0, 0xf, 0x0, 0xf0, 0xf, 0x0, 0xf0,
|
||||||
|
0xff, 0xf, 0x3f, 0xc3, 0xfc,
|
||||||
|
|
||||||
|
/* U+44 "D" */
|
||||||
|
0xff, 0xf, 0xf0, 0xf3, 0xcf, 0x3c, 0xf0, 0xff,
|
||||||
|
0xf, 0xf0, 0xff, 0xf, 0xf0, 0xff, 0xf, 0xf3,
|
||||||
|
0xcf, 0x3c, 0xff, 0xf, 0xf0,
|
||||||
|
|
||||||
|
/* U+45 "E" */
|
||||||
|
0xff, 0xff, 0xff, 0xf0, 0xf, 0x0, 0xf0, 0xf,
|
||||||
|
0x0, 0xff, 0xcf, 0xfc, 0xf0, 0xf, 0x0, 0xf0,
|
||||||
|
0xf, 0x0, 0xff, 0xff, 0xff,
|
||||||
|
|
||||||
|
/* U+46 "F" */
|
||||||
|
0xff, 0xff, 0xff, 0xf0, 0xf, 0x0, 0xf0, 0xf,
|
||||||
|
0x0, 0xff, 0xcf, 0xfc, 0xf0, 0xf, 0x0, 0xf0,
|
||||||
|
0xf, 0x0, 0xf0, 0xf, 0x0,
|
||||||
|
|
||||||
|
/* U+47 "G" */
|
||||||
|
0x3f, 0xc3, 0xfc, 0xf0, 0xff, 0xf, 0xf0, 0xf,
|
||||||
|
0x0, 0xf3, 0xff, 0x3f, 0xf0, 0xff, 0xf, 0xf0,
|
||||||
|
0xff, 0xf, 0x3f, 0xf3, 0xff,
|
||||||
|
|
||||||
|
/* U+48 "H" */
|
||||||
|
0xf0, 0xff, 0xf, 0xf0, 0xff, 0xf, 0xf0, 0xff,
|
||||||
|
0xf, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xf, 0xf0,
|
||||||
|
0xff, 0xf, 0xf0, 0xff, 0xf,
|
||||||
|
|
||||||
|
/* U+49 "I" */
|
||||||
|
0xff, 0xff, 0xff, 0xf, 0x0, 0xf0, 0xf, 0x0,
|
||||||
|
0xf0, 0xf, 0x0, 0xf0, 0xf, 0x0, 0xf0, 0xf,
|
||||||
|
0x0, 0xf0, 0xff, 0xff, 0xff,
|
||||||
|
|
||||||
|
/* U+4A "J" */
|
||||||
|
0x0, 0xf0, 0xf, 0x0, 0xf0, 0xf, 0x0, 0xf0,
|
||||||
|
0xf, 0x0, 0xf0, 0xf, 0x0, 0xf0, 0xf, 0xf0,
|
||||||
|
0xff, 0xf, 0x3f, 0xc3, 0xfc,
|
||||||
|
|
||||||
|
/* U+4B "K" */
|
||||||
|
0xf0, 0x3f, 0xc0, 0xff, 0xf, 0x3c, 0x3c, 0xf3,
|
||||||
|
0xc3, 0xcf, 0xf, 0xf0, 0x3f, 0xc0, 0xf3, 0xc3,
|
||||||
|
0xcf, 0xf, 0xf, 0x3c, 0x3c, 0xf0, 0x3f, 0xc0,
|
||||||
|
0xf0,
|
||||||
|
|
||||||
|
/* U+4C "L" */
|
||||||
|
0xf0, 0xf, 0x0, 0xf0, 0xf, 0x0, 0xf0, 0xf,
|
||||||
|
0x0, 0xf0, 0xf, 0x0, 0xf0, 0xf, 0x0, 0xf0,
|
||||||
|
0xf, 0x0, 0xff, 0xff, 0xff,
|
||||||
|
|
||||||
|
/* U+4D "M" */
|
||||||
|
0xf0, 0x3f, 0xc0, 0xff, 0xcf, 0xff, 0x3f, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0x33, 0xfc, 0xcf, 0xf0, 0x3f,
|
||||||
|
0xc0, 0xff, 0x3, 0xfc, 0xf, 0xf0, 0x3f, 0xc0,
|
||||||
|
0xf0,
|
||||||
|
|
||||||
|
/* U+4E "N" */
|
||||||
|
0xf0, 0x3f, 0xc0, 0xff, 0xc3, 0xff, 0xf, 0xff,
|
||||||
|
0x3f, 0xfc, 0xff, 0x3f, 0xfc, 0xff, 0xf0, 0xff,
|
||||||
|
0xc3, 0xff, 0x3, 0xfc, 0xf, 0xf0, 0x3f, 0xc0,
|
||||||
|
0xf0,
|
||||||
|
|
||||||
|
/* U+4F "O" */
|
||||||
|
0x3f, 0xc3, 0xfc, 0xf0, 0xff, 0xf, 0xf0, 0xff,
|
||||||
|
0xf, 0xf0, 0xff, 0xf, 0xf0, 0xff, 0xf, 0xf0,
|
||||||
|
0xff, 0xf, 0x3f, 0xc3, 0xfc,
|
||||||
|
|
||||||
|
/* U+50 "P" */
|
||||||
|
0xff, 0xcf, 0xfc, 0xf0, 0xff, 0xf, 0xf0, 0xff,
|
||||||
|
0xf, 0xff, 0xcf, 0xfc, 0xf0, 0xf, 0x0, 0xf0,
|
||||||
|
0xf, 0x0, 0xf0, 0xf, 0x0,
|
||||||
|
|
||||||
|
/* U+51 "Q" */
|
||||||
|
0x3f, 0xc3, 0xfc, 0xf0, 0xff, 0xf, 0xf0, 0xff,
|
||||||
|
0xf, 0xf0, 0xff, 0xf, 0xf0, 0xff, 0xf, 0xf3,
|
||||||
|
0xcf, 0x3c, 0x3c, 0xf3, 0xcf,
|
||||||
|
|
||||||
|
/* U+52 "R" */
|
||||||
|
0xff, 0xcf, 0xfc, 0xf0, 0xff, 0xf, 0xf0, 0xff,
|
||||||
|
0xf, 0xff, 0xcf, 0xfc, 0xf3, 0xcf, 0x3c, 0xf0,
|
||||||
|
0xff, 0xf, 0xf0, 0xff, 0xf,
|
||||||
|
|
||||||
|
/* U+53 "S" */
|
||||||
|
0x3f, 0xc3, 0xfc, 0xf0, 0xff, 0xf, 0xf0, 0xf,
|
||||||
|
0x0, 0x3f, 0xc3, 0xfc, 0x0, 0xf0, 0xf, 0xf0,
|
||||||
|
0xff, 0xf, 0x3f, 0xc3, 0xfc,
|
||||||
|
|
||||||
|
/* U+54 "T" */
|
||||||
|
0xff, 0xff, 0xff, 0xf, 0x0, 0xf0, 0xf, 0x0,
|
||||||
|
0xf0, 0xf, 0x0, 0xf0, 0xf, 0x0, 0xf0, 0xf,
|
||||||
|
0x0, 0xf0, 0xf, 0x0, 0xf0,
|
||||||
|
|
||||||
|
/* U+55 "U" */
|
||||||
|
0xf0, 0xff, 0xf, 0xf0, 0xff, 0xf, 0xf0, 0xff,
|
||||||
|
0xf, 0xf0, 0xff, 0xf, 0xf0, 0xff, 0xf, 0xf0,
|
||||||
|
0xff, 0xf, 0x3f, 0xc3, 0xfc,
|
||||||
|
|
||||||
|
/* U+56 "V" */
|
||||||
|
0xf0, 0xff, 0xf, 0xf0, 0xff, 0xf, 0xf0, 0xff,
|
||||||
|
0xf, 0xf0, 0xff, 0xf, 0xf0, 0xff, 0xf, 0x3f,
|
||||||
|
0xc3, 0xfc, 0xf, 0x0, 0xf0,
|
||||||
|
|
||||||
|
/* U+57 "W" */
|
||||||
|
0xf0, 0x3f, 0xc0, 0xff, 0x3, 0xfc, 0xf, 0xf0,
|
||||||
|
0x3f, 0xc0, 0xff, 0x33, 0xfc, 0xcf, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xcf, 0xff, 0x3f, 0xf0, 0x3f, 0xc0,
|
||||||
|
0xf0,
|
||||||
|
|
||||||
|
/* U+58 "X" */
|
||||||
|
0xf0, 0xf, 0xf0, 0xf, 0x3c, 0x3c, 0x3c, 0x3c,
|
||||||
|
0xf, 0xf0, 0xf, 0xf0, 0x3, 0xc0, 0x3, 0xc0,
|
||||||
|
0xf, 0xf0, 0xf, 0xf0, 0x3c, 0x3c, 0x3c, 0x3c,
|
||||||
|
0xf0, 0xf, 0xf0, 0xf,
|
||||||
|
|
||||||
|
/* U+59 "Y" */
|
||||||
|
0xf0, 0xf, 0xf0, 0xf, 0x3c, 0x3c, 0x3c, 0x3c,
|
||||||
|
0xf, 0xf0, 0xf, 0xf0, 0x3, 0xc0, 0x3, 0xc0,
|
||||||
|
0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0, 0x3, 0xc0,
|
||||||
|
0x3, 0xc0, 0x3, 0xc0,
|
||||||
|
|
||||||
|
/* U+5A "Z" */
|
||||||
|
0xff, 0xff, 0xff, 0x0, 0xf0, 0xf, 0x3, 0xc0,
|
||||||
|
0x3c, 0xf, 0x0, 0xf0, 0x3c, 0x3, 0xc0, 0xf0,
|
||||||
|
0xf, 0x0, 0xff, 0xff, 0xff,
|
||||||
|
|
||||||
|
/* U+5B "[" */
|
||||||
|
0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
|
||||||
|
0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff,
|
||||||
|
|
||||||
|
/* U+5C "\\" */
|
||||||
|
0xf0, 0x0, 0xf0, 0x0, 0x3c, 0x0, 0x3c, 0x0,
|
||||||
|
0xf, 0x0, 0xf, 0x0, 0x3, 0xc0, 0x3, 0xc0,
|
||||||
|
0x0, 0xf0, 0x0, 0xf0, 0x0, 0x3c, 0x0, 0x3c,
|
||||||
|
0x0, 0xf, 0x0, 0xf,
|
||||||
|
|
||||||
|
/* U+5D "]" */
|
||||||
|
0xff, 0xff, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf,
|
||||||
|
0xf, 0xf, 0xf, 0xf, 0xff, 0xff,
|
||||||
|
|
||||||
|
/* U+5E "^" */
|
||||||
|
0x3, 0x0, 0xc, 0x0, 0xfc, 0x3, 0xf0, 0x3c,
|
||||||
|
0xf0, 0xf3, 0xcf, 0x3, 0xfc, 0xf,
|
||||||
|
|
||||||
|
/* U+5F "_" */
|
||||||
|
0xff, 0xff, 0xff, 0xff,
|
||||||
|
|
||||||
|
/* U+60 "`" */
|
||||||
|
0xf0, 0xf0, 0x3c, 0x3c, 0xf, 0xf,
|
||||||
|
|
||||||
|
/* U+61 "a" */
|
||||||
|
0x3f, 0xc3, 0xfc, 0x0, 0xf0, 0xf, 0x3f, 0xf3,
|
||||||
|
0xff, 0xf0, 0xff, 0xf, 0x3f, 0xf3, 0xff,
|
||||||
|
|
||||||
|
/* U+62 "b" */
|
||||||
|
0xf0, 0xf, 0x0, 0xf0, 0xf, 0x0, 0xff, 0xcf,
|
||||||
|
0xfc, 0xf0, 0xff, 0xf, 0xf0, 0xff, 0xf, 0xf0,
|
||||||
|
0xff, 0xf, 0xff, 0xcf, 0xfc,
|
||||||
|
|
||||||
|
/* U+63 "c" */
|
||||||
|
0x3f, 0xcf, 0xff, 0x3, 0xc0, 0xf0, 0x3c, 0xf,
|
||||||
|
0x3, 0xc0, 0x3f, 0xcf, 0xf0,
|
||||||
|
|
||||||
|
/* U+64 "d" */
|
||||||
|
0x0, 0xf0, 0xf, 0x0, 0xf0, 0xf, 0x3f, 0xf3,
|
||||||
|
0xff, 0xf0, 0xff, 0xf, 0xf0, 0xff, 0xf, 0xf0,
|
||||||
|
0xff, 0xf, 0x3f, 0xf3, 0xff,
|
||||||
|
|
||||||
|
/* U+65 "e" */
|
||||||
|
0x3f, 0xc3, 0xfc, 0xf0, 0xff, 0xf, 0xff, 0xff,
|
||||||
|
0xff, 0xf0, 0xf, 0x0, 0x3f, 0xc3, 0xfc,
|
||||||
|
|
||||||
|
/* U+66 "f" */
|
||||||
|
0xf, 0xc3, 0xf3, 0xc0, 0xf0, 0xff, 0xff, 0xf3,
|
||||||
|
0xc0, 0xf0, 0x3c, 0xf, 0x3, 0xc0, 0xf0, 0x3c,
|
||||||
|
0xf, 0x0,
|
||||||
|
|
||||||
|
/* U+67 "g" */
|
||||||
|
0x3f, 0xf3, 0xff, 0xf0, 0xff, 0xf, 0xf0, 0xff,
|
||||||
|
0xf, 0x3f, 0xf3, 0xff, 0x0, 0xf0, 0xf, 0xff,
|
||||||
|
0xcf, 0xfc,
|
||||||
|
|
||||||
|
/* U+68 "h" */
|
||||||
|
0xf0, 0xf, 0x0, 0xf0, 0xf, 0x0, 0xff, 0xcf,
|
||||||
|
0xfc, 0xf0, 0xff, 0xf, 0xf0, 0xff, 0xf, 0xf0,
|
||||||
|
0xff, 0xf, 0xf0, 0xff, 0xf,
|
||||||
|
|
||||||
|
/* U+69 "i" */
|
||||||
|
0x3c, 0xf, 0x0, 0x0, 0x0, 0xfc, 0x3f, 0x3,
|
||||||
|
0xc0, 0xf0, 0x3c, 0xf, 0x3, 0xc0, 0xf0, 0x3f,
|
||||||
|
0xcf, 0xf0,
|
||||||
|
|
||||||
|
/* U+6A "j" */
|
||||||
|
0x3, 0xc0, 0xf0, 0x0, 0x0, 0x3, 0xc0, 0xf0,
|
||||||
|
0x3c, 0xf, 0x3, 0xc0, 0xf0, 0x3c, 0xf, 0x3,
|
||||||
|
0xc0, 0xff, 0xf3, 0xfc,
|
||||||
|
|
||||||
|
/* U+6B "k" */
|
||||||
|
0xf0, 0xf, 0x0, 0xf0, 0xf, 0x0, 0xf0, 0xff,
|
||||||
|
0xf, 0xf3, 0xcf, 0x3c, 0xff, 0xf, 0xf0, 0xf3,
|
||||||
|
0xcf, 0x3c, 0xf0, 0xff, 0xf,
|
||||||
|
|
||||||
|
/* U+6C "l" */
|
||||||
|
0xfc, 0x3f, 0x3, 0xc0, 0xf0, 0x3c, 0xf, 0x3,
|
||||||
|
0xc0, 0xf0, 0x3c, 0xf, 0x3, 0xc0, 0xf0, 0x3f,
|
||||||
|
0xcf, 0xf0,
|
||||||
|
|
||||||
|
/* U+6D "m" */
|
||||||
|
0xf0, 0xf3, 0xc3, 0xcf, 0xff, 0xff, 0xff, 0xf3,
|
||||||
|
0x3f, 0xcc, 0xff, 0x33, 0xfc, 0xcf, 0xf0, 0x3f,
|
||||||
|
0xc0, 0xf0,
|
||||||
|
|
||||||
|
/* U+6E "n" */
|
||||||
|
0xff, 0xcf, 0xfc, 0xf0, 0xff, 0xf, 0xf0, 0xff,
|
||||||
|
0xf, 0xf0, 0xff, 0xf, 0xf0, 0xff, 0xf,
|
||||||
|
|
||||||
|
/* U+6F "o" */
|
||||||
|
0x3f, 0xc3, 0xfc, 0xf0, 0xff, 0xf, 0xf0, 0xff,
|
||||||
|
0xf, 0xf0, 0xff, 0xf, 0x3f, 0xc3, 0xfc,
|
||||||
|
|
||||||
|
/* U+70 "p" */
|
||||||
|
0xff, 0xcf, 0xfc, 0xf0, 0xff, 0xf, 0xf0, 0xff,
|
||||||
|
0xf, 0xff, 0xcf, 0xfc, 0xf0, 0xf, 0x0, 0xf0,
|
||||||
|
0xf, 0x0,
|
||||||
|
|
||||||
|
/* U+71 "q" */
|
||||||
|
0x3f, 0xf3, 0xff, 0xf0, 0xff, 0xf, 0xf0, 0xff,
|
||||||
|
0xf, 0x3f, 0xf3, 0xff, 0x0, 0xf0, 0xf, 0x0,
|
||||||
|
0xf0, 0xf,
|
||||||
|
|
||||||
|
/* U+72 "r" */
|
||||||
|
0xff, 0xcf, 0xfc, 0xf0, 0xff, 0xf, 0xf0, 0xf,
|
||||||
|
0x0, 0xf0, 0xf, 0x0, 0xf0, 0xf, 0x0,
|
||||||
|
|
||||||
|
/* U+73 "s" */
|
||||||
|
0x3f, 0xf3, 0xff, 0xf0, 0xf, 0x0, 0x3f, 0xc3,
|
||||||
|
0xfc, 0x0, 0xf0, 0xf, 0xff, 0xcf, 0xfc,
|
||||||
|
|
||||||
|
/* U+74 "t" */
|
||||||
|
0x3c, 0x3, 0xc0, 0x3c, 0x3, 0xc0, 0xff, 0xff,
|
||||||
|
0xff, 0x3c, 0x3, 0xc0, 0x3c, 0x3, 0xc0, 0x3c,
|
||||||
|
0x3, 0xc0, 0xf, 0xf0, 0xff,
|
||||||
|
|
||||||
|
/* U+75 "u" */
|
||||||
|
0xf0, 0xff, 0xf, 0xf0, 0xff, 0xf, 0xf0, 0xff,
|
||||||
|
0xf, 0xf0, 0xff, 0xf, 0x3f, 0xf3, 0xff,
|
||||||
|
|
||||||
|
/* U+76 "v" */
|
||||||
|
0xf0, 0xff, 0xf, 0xf0, 0xff, 0xf, 0xf0, 0xff,
|
||||||
|
0xf, 0x3f, 0xc3, 0xfc, 0xf, 0x0, 0xf0,
|
||||||
|
|
||||||
|
/* U+77 "w" */
|
||||||
|
0xf0, 0x3f, 0xc0, 0xff, 0x3, 0xfc, 0xf, 0xf3,
|
||||||
|
0x3f, 0xcc, 0xf3, 0xff, 0xf, 0xfc, 0x3c, 0xf0,
|
||||||
|
0xf3, 0xc0,
|
||||||
|
|
||||||
|
/* U+78 "x" */
|
||||||
|
0xf0, 0x3f, 0xc0, 0xf3, 0xcf, 0xf, 0x3c, 0xf,
|
||||||
|
0xc0, 0x3f, 0x3, 0xcf, 0xf, 0x3c, 0xf0, 0x3f,
|
||||||
|
0xc0, 0xf0,
|
||||||
|
|
||||||
|
/* U+79 "y" */
|
||||||
|
0xf0, 0xff, 0xf, 0xf0, 0xff, 0xf, 0xf0, 0xff,
|
||||||
|
0xf, 0x3f, 0xf3, 0xff, 0x0, 0xf0, 0xf, 0x3f,
|
||||||
|
0xc3, 0xfc,
|
||||||
|
|
||||||
|
/* U+7A "z" */
|
||||||
|
0xff, 0xff, 0xff, 0x3, 0xc0, 0x3c, 0xf, 0x0,
|
||||||
|
0xf0, 0x3c, 0x3, 0xc0, 0xff, 0xff, 0xff,
|
||||||
|
|
||||||
|
/* U+7B "{" */
|
||||||
|
0x3, 0xf0, 0x3f, 0xf, 0x0, 0xf0, 0xf, 0x0,
|
||||||
|
0xf0, 0xfc, 0xf, 0xc0, 0xf, 0x0, 0xf0, 0xf,
|
||||||
|
0x0, 0xf0, 0x3, 0xf0, 0x3f,
|
||||||
|
|
||||||
|
/* U+7C "|" */
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
|
||||||
|
/* U+7D "}" */
|
||||||
|
0xfc, 0xf, 0xc0, 0xf, 0x0, 0xf0, 0xf, 0x0,
|
||||||
|
0xf0, 0x3, 0xf0, 0x3f, 0xf, 0x0, 0xf0, 0xf,
|
||||||
|
0x0, 0xf0, 0xfc, 0xf, 0xc0,
|
||||||
|
|
||||||
|
/* U+7E "~" */
|
||||||
|
0x3f, 0x3c, 0xfc, 0xff, 0x3f, 0x3c, 0xfc,
|
||||||
|
|
||||||
|
/* U+7F "" */
|
||||||
|
0xf0, 0x3, 0xc0, 0xc, 0xc0, 0x33, 0x0, 0xcc,
|
||||||
|
0xff, 0x33, 0xfc, 0xc3, 0x33, 0xc, 0xf0, 0x33,
|
||||||
|
0xc0, 0xc0, 0x3, 0x0, 0xc, 0x0, 0x30, 0x0,
|
||||||
|
0xc0
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*---------------------
|
||||||
|
* 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 = 256, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 16},
|
||||||
|
{.bitmap_index = 1, .adv_w = 256, .box_w = 4, .box_h = 14, .ofs_x = 6, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 8, .adv_w = 256, .box_w = 12, .box_h = 6, .ofs_x = 2, .ofs_y = 10},
|
||||||
|
{.bitmap_index = 17, .adv_w = 256, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 42, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 63, .adv_w = 256, .box_w = 14, .box_h = 12, .ofs_x = 0, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 84, .adv_w = 256, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 109, .adv_w = 256, .box_w = 6, .box_h = 6, .ofs_x = 4, .ofs_y = 10},
|
||||||
|
{.bitmap_index = 114, .adv_w = 256, .box_w = 8, .box_h = 14, .ofs_x = 4, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 128, .adv_w = 256, .box_w = 8, .box_h = 14, .ofs_x = 4, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 142, .adv_w = 256, .box_w = 16, .box_h = 10, .ofs_x = 0, .ofs_y = 4},
|
||||||
|
{.bitmap_index = 162, .adv_w = 256, .box_w = 12, .box_h = 10, .ofs_x = 2, .ofs_y = 4},
|
||||||
|
{.bitmap_index = 177, .adv_w = 256, .box_w = 6, .box_h = 6, .ofs_x = 4, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 182, .adv_w = 256, .box_w = 12, .box_h = 2, .ofs_x = 2, .ofs_y = 8},
|
||||||
|
{.bitmap_index = 185, .adv_w = 256, .box_w = 4, .box_h = 4, .ofs_x = 6, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 187, .adv_w = 256, .box_w = 16, .box_h = 14, .ofs_x = 0, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 215, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 236, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 257, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 278, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 299, .adv_w = 256, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 324, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 345, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 366, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 387, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 408, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 429, .adv_w = 256, .box_w = 4, .box_h = 12, .ofs_x = 6, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 435, .adv_w = 256, .box_w = 6, .box_h = 14, .ofs_x = 4, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 446, .adv_w = 256, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 464, .adv_w = 256, .box_w = 12, .box_h = 6, .ofs_x = 2, .ofs_y = 6},
|
||||||
|
{.bitmap_index = 473, .adv_w = 256, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 491, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 512, .adv_w = 256, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 537, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 558, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 579, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 600, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 621, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 642, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 663, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 684, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 705, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 726, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 747, .adv_w = 256, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 772, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 793, .adv_w = 256, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 818, .adv_w = 256, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 843, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 864, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 885, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 906, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 927, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 948, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 969, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 990, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1011, .adv_w = 256, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1036, .adv_w = 256, .box_w = 16, .box_h = 14, .ofs_x = 0, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1064, .adv_w = 256, .box_w = 16, .box_h = 14, .ofs_x = 0, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1092, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1113, .adv_w = 256, .box_w = 8, .box_h = 14, .ofs_x = 4, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1127, .adv_w = 256, .box_w = 16, .box_h = 14, .ofs_x = 0, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1155, .adv_w = 256, .box_w = 8, .box_h = 14, .ofs_x = 4, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1169, .adv_w = 256, .box_w = 14, .box_h = 8, .ofs_x = 0, .ofs_y = 8},
|
||||||
|
{.bitmap_index = 1183, .adv_w = 256, .box_w = 16, .box_h = 2, .ofs_x = 0, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1187, .adv_w = 256, .box_w = 8, .box_h = 6, .ofs_x = 6, .ofs_y = 10},
|
||||||
|
{.bitmap_index = 1193, .adv_w = 256, .box_w = 12, .box_h = 10, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1208, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1229, .adv_w = 256, .box_w = 10, .box_h = 10, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1242, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1263, .adv_w = 256, .box_w = 12, .box_h = 10, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1278, .adv_w = 256, .box_w = 10, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1296, .adv_w = 256, .box_w = 12, .box_h = 12, .ofs_x = 2, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1314, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1335, .adv_w = 256, .box_w = 10, .box_h = 14, .ofs_x = 4, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1353, .adv_w = 256, .box_w = 10, .box_h = 16, .ofs_x = 2, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1373, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1394, .adv_w = 256, .box_w = 10, .box_h = 14, .ofs_x = 4, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1412, .adv_w = 256, .box_w = 14, .box_h = 10, .ofs_x = 0, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1430, .adv_w = 256, .box_w = 12, .box_h = 10, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1445, .adv_w = 256, .box_w = 12, .box_h = 10, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1460, .adv_w = 256, .box_w = 12, .box_h = 12, .ofs_x = 2, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1478, .adv_w = 256, .box_w = 12, .box_h = 12, .ofs_x = 2, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1496, .adv_w = 256, .box_w = 12, .box_h = 10, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1511, .adv_w = 256, .box_w = 12, .box_h = 10, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1526, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1547, .adv_w = 256, .box_w = 12, .box_h = 10, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1562, .adv_w = 256, .box_w = 12, .box_h = 10, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1577, .adv_w = 256, .box_w = 14, .box_h = 10, .ofs_x = 0, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1595, .adv_w = 256, .box_w = 14, .box_h = 10, .ofs_x = 0, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1613, .adv_w = 256, .box_w = 12, .box_h = 12, .ofs_x = 2, .ofs_y = 0},
|
||||||
|
{.bitmap_index = 1631, .adv_w = 256, .box_w = 12, .box_h = 10, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1646, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1667, .adv_w = 256, .box_w = 4, .box_h = 14, .ofs_x = 6, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1674, .adv_w = 256, .box_w = 12, .box_h = 14, .ofs_x = 2, .ofs_y = 2},
|
||||||
|
{.bitmap_index = 1695, .adv_w = 256, .box_w = 14, .box_h = 4, .ofs_x = 0, .ofs_y = 12},
|
||||||
|
{.bitmap_index = 1702, .adv_w = 256, .box_w = 14, .box_h = 14, .ofs_x = 0, .ofs_y = 2}
|
||||||
|
};
|
||||||
|
|
||||||
|
/*---------------------
|
||||||
|
* CHARACTER MAPPING
|
||||||
|
*--------------------*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*Collect the unicode lists and glyph_id offsets*/
|
||||||
|
static const lv_font_fmt_txt_cmap_t cmaps[] = {
|
||||||
|
{
|
||||||
|
.range_start = 32, .range_length = 96, .glyph_id_start = 1,
|
||||||
|
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------
|
||||||
|
* ALL CUSTOM DATA
|
||||||
|
*--------------------*/
|
||||||
|
|
||||||
|
/*Store all the custom data of the font*/
|
||||||
|
static lv_font_fmt_txt_dsc_t font_dsc = {
|
||||||
|
.glyph_bitmap = gylph_bitmap,
|
||||||
|
.glyph_dsc = glyph_dsc,
|
||||||
|
.cmaps = cmaps,
|
||||||
|
.kern_dsc = NULL,
|
||||||
|
.kern_scale = 0,
|
||||||
|
.cmap_num = 1,
|
||||||
|
.bpp = 1,
|
||||||
|
.kern_classes = 0,
|
||||||
|
.bitmap_format = 0
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*-----------------
|
||||||
|
* PUBLIC FONT
|
||||||
|
*----------------*/
|
||||||
|
|
||||||
|
/*Initialize a public general font descriptor*/
|
||||||
|
lv_font_t lv_font_unscii_16 = {
|
||||||
|
.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 = 17, /*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)
|
||||||
|
.underline_position = 0,
|
||||||
|
.underline_thickness = 0,
|
||||||
|
#endif
|
||||||
|
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif /*#if LV_FONT_UNSCII_16*/
|
||||||
@@ -19,288 +19,289 @@
|
|||||||
/*Store the image of the glyphs*/
|
/*Store the image of the glyphs*/
|
||||||
static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
|
static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
|
||||||
/* U+20 " " */
|
/* U+20 " " */
|
||||||
|
0x0,
|
||||||
|
|
||||||
/* U+21 "!" */
|
/* U+21 "!" */
|
||||||
0xf2,
|
0xff, 0xcc,
|
||||||
|
|
||||||
/* U+22 "\"" */
|
/* U+22 "\"" */
|
||||||
0x99, 0x90,
|
0xcf, 0x3c, 0xc0,
|
||||||
|
|
||||||
/* U+23 "#" */
|
/* U+23 "#" */
|
||||||
0x49, 0x2f, 0xd2, 0xfd, 0x24, 0x80,
|
0x6c, 0xdb, 0xfb, 0x6f, 0xed, 0x9b, 0x0,
|
||||||
|
|
||||||
/* U+24 "$" */
|
/* U+24 "$" */
|
||||||
0x23, 0xe8, 0xe2, 0xf8, 0x80,
|
0x31, 0xfc, 0x1e, 0xf, 0xe3, 0x0,
|
||||||
|
|
||||||
/* U+25 "%" */
|
/* U+25 "%" */
|
||||||
0xc7, 0x21, 0x8, 0x4e, 0x30,
|
0xc7, 0x98, 0x61, 0x86, 0x78, 0xc0,
|
||||||
|
|
||||||
/* U+26 "&" */
|
/* U+26 "&" */
|
||||||
0x62, 0x49, 0x18, 0x96, 0x27, 0x40,
|
0x38, 0xd8, 0xe3, 0xbd, 0xd9, 0x9d, 0x80,
|
||||||
|
|
||||||
/* U+27 "'" */
|
/* U+27 "'" */
|
||||||
0x2a, 0x0,
|
0x6f, 0x0,
|
||||||
|
|
||||||
/* U+28 "(" */
|
/* U+28 "(" */
|
||||||
0x2a, 0x48, 0x88,
|
0x36, 0xcc, 0xc6, 0x30,
|
||||||
|
|
||||||
/* U+29 ")" */
|
/* U+29 ")" */
|
||||||
0x88, 0x92, 0xa0,
|
0xc6, 0x33, 0x36, 0xc0,
|
||||||
|
|
||||||
/* U+2A "*" */
|
/* U+2A "*" */
|
||||||
0x25, 0x5c, 0x47, 0x54, 0x80,
|
0x66, 0x3c, 0xff, 0x3c, 0x66,
|
||||||
|
|
||||||
/* U+2B "+" */
|
/* U+2B "+" */
|
||||||
0x21, 0x3e, 0x42, 0x0,
|
0x30, 0xcf, 0xcc, 0x30,
|
||||||
|
|
||||||
/* U+2C "," */
|
/* U+2C "," */
|
||||||
0x58,
|
0x6f, 0x0,
|
||||||
|
|
||||||
/* U+2D "-" */
|
/* U+2D "-" */
|
||||||
0xf8,
|
0xfc,
|
||||||
|
|
||||||
/* U+2E "." */
|
/* U+2E "." */
|
||||||
0x80,
|
0xf0,
|
||||||
|
|
||||||
/* U+2F "/" */
|
/* U+2F "/" */
|
||||||
0x2, 0x8, 0x20, 0x82, 0x8, 0x20, 0x0,
|
0x3, 0x6, 0xc, 0x18, 0x30, 0x60, 0xc0,
|
||||||
|
|
||||||
/* U+30 "0" */
|
/* U+30 "0" */
|
||||||
0x74, 0x67, 0x5c, 0xc5, 0xc0,
|
0x7b, 0x3d, 0xfb, 0xcf, 0x37, 0x80,
|
||||||
|
|
||||||
/* U+31 "1" */
|
/* U+31 "1" */
|
||||||
0x23, 0x28, 0x42, 0x13, 0xe0,
|
0x31, 0xc3, 0xc, 0x30, 0xcf, 0xc0,
|
||||||
|
|
||||||
/* U+32 "2" */
|
/* U+32 "2" */
|
||||||
0x74, 0x42, 0x26, 0x43, 0xe0,
|
0x7b, 0x31, 0x8c, 0x63, 0xf, 0xc0,
|
||||||
|
|
||||||
/* U+33 "3" */
|
/* U+33 "3" */
|
||||||
0x74, 0x42, 0x60, 0xc5, 0xc0,
|
0x7b, 0x30, 0xce, 0xf, 0x37, 0x80,
|
||||||
|
|
||||||
/* U+34 "4" */
|
/* U+34 "4" */
|
||||||
0x11, 0x95, 0x2f, 0x88, 0x40,
|
0x1c, 0x79, 0xb6, 0x6f, 0xe1, 0x83, 0x0,
|
||||||
|
|
||||||
/* U+35 "5" */
|
/* U+35 "5" */
|
||||||
0xfc, 0x3c, 0x10, 0xc5, 0xc0,
|
0xff, 0xf, 0x83, 0xf, 0x37, 0x80,
|
||||||
|
|
||||||
/* U+36 "6" */
|
/* U+36 "6" */
|
||||||
0x3a, 0x21, 0xe8, 0xc5, 0xc0,
|
0x39, 0x8c, 0x3e, 0xcf, 0x37, 0x80,
|
||||||
|
|
||||||
/* U+37 "7" */
|
/* U+37 "7" */
|
||||||
0xf8, 0x44, 0x44, 0x21, 0x0,
|
0xfc, 0x30, 0xc6, 0x30, 0xc3, 0x0,
|
||||||
|
|
||||||
/* U+38 "8" */
|
/* U+38 "8" */
|
||||||
0x74, 0x62, 0xe8, 0xc5, 0xc0,
|
0x7b, 0x3c, 0xde, 0xcf, 0x37, 0x80,
|
||||||
|
|
||||||
/* U+39 "9" */
|
/* U+39 "9" */
|
||||||
0x74, 0x62, 0xf0, 0x8b, 0x80,
|
0x7b, 0x3c, 0xdf, 0xc, 0x67, 0x0,
|
||||||
|
|
||||||
/* U+3A ":" */
|
/* U+3A ":" */
|
||||||
0x90,
|
0xf0, 0xf0,
|
||||||
|
|
||||||
/* U+3B ";" */
|
/* U+3B ";" */
|
||||||
0x41, 0x60,
|
0x6c, 0x6, 0xf0,
|
||||||
|
|
||||||
/* U+3C "<" */
|
/* U+3C "<" */
|
||||||
0x12, 0x48, 0x42, 0x10,
|
0x19, 0x99, 0x86, 0x18, 0x60,
|
||||||
|
|
||||||
/* U+3D "=" */
|
/* U+3D "=" */
|
||||||
0xf8, 0x3e,
|
0xfc, 0xf, 0xc0,
|
||||||
|
|
||||||
/* U+3E ">" */
|
/* U+3E ">" */
|
||||||
0x84, 0x21, 0x24, 0x80,
|
0xc3, 0xc, 0x33, 0x33, 0x0,
|
||||||
|
|
||||||
/* U+3F "?" */
|
/* U+3F "?" */
|
||||||
0x7a, 0x10, 0x84, 0x10, 0x1, 0x0,
|
0x7b, 0x30, 0xc6, 0x30, 0x3, 0x0,
|
||||||
|
|
||||||
/* U+40 "@" */
|
/* U+40 "@" */
|
||||||
0x7a, 0x19, 0x6b, 0x9a, 0x7, 0x80,
|
0x7d, 0x8f, 0x7e, 0xfd, 0xf8, 0x1f, 0x0,
|
||||||
|
|
||||||
/* U+41 "A" */
|
/* U+41 "A" */
|
||||||
0x31, 0x28, 0x7f, 0x86, 0x18, 0x40,
|
0x31, 0xec, 0xf3, 0xff, 0x3c, 0xc0,
|
||||||
|
|
||||||
/* U+42 "B" */
|
/* U+42 "B" */
|
||||||
0xfa, 0x18, 0x7e, 0x86, 0x1f, 0x80,
|
0xfb, 0x3c, 0xfe, 0xcf, 0x3f, 0x80,
|
||||||
|
|
||||||
/* U+43 "C" */
|
/* U+43 "C" */
|
||||||
0x7a, 0x18, 0x20, 0x82, 0x17, 0x80,
|
0x7b, 0x3c, 0x30, 0xc3, 0x37, 0x80,
|
||||||
|
|
||||||
/* U+44 "D" */
|
/* U+44 "D" */
|
||||||
0xf2, 0x28, 0x61, 0x86, 0x2f, 0x0,
|
0xf3, 0x6c, 0xf3, 0xcf, 0x6f, 0x0,
|
||||||
|
|
||||||
/* U+45 "E" */
|
/* U+45 "E" */
|
||||||
0xfe, 0x8, 0x3c, 0x82, 0xf, 0xc0,
|
0xff, 0xc, 0x3e, 0xc3, 0xf, 0xc0,
|
||||||
|
|
||||||
/* U+46 "F" */
|
/* U+46 "F" */
|
||||||
0xfe, 0x8, 0x3c, 0x82, 0x8, 0x0,
|
0xff, 0xc, 0x3e, 0xc3, 0xc, 0x0,
|
||||||
|
|
||||||
/* U+47 "G" */
|
/* U+47 "G" */
|
||||||
0x7a, 0x18, 0x27, 0x86, 0x17, 0x80,
|
0x7b, 0x3c, 0x37, 0xcf, 0x37, 0xc0,
|
||||||
|
|
||||||
/* U+48 "H" */
|
/* U+48 "H" */
|
||||||
0x86, 0x18, 0x7f, 0x86, 0x18, 0x40,
|
0xcf, 0x3c, 0xff, 0xcf, 0x3c, 0xc0,
|
||||||
|
|
||||||
/* U+49 "I" */
|
/* U+49 "I" */
|
||||||
0xe9, 0x24, 0xb8,
|
0xfc, 0xc3, 0xc, 0x30, 0xcf, 0xc0,
|
||||||
|
|
||||||
/* U+4A "J" */
|
/* U+4A "J" */
|
||||||
0x8, 0x42, 0x10, 0xc5, 0xc0,
|
0xc, 0x30, 0xc3, 0xf, 0x37, 0x80,
|
||||||
|
|
||||||
/* U+4B "K" */
|
/* U+4B "K" */
|
||||||
0x86, 0x29, 0x38, 0x92, 0x28, 0x40,
|
0xc7, 0x9b, 0x67, 0x8d, 0x99, 0xb1, 0x80,
|
||||||
|
|
||||||
/* U+4C "L" */
|
/* U+4C "L" */
|
||||||
0x82, 0x8, 0x20, 0x82, 0xf, 0xc0,
|
0xc3, 0xc, 0x30, 0xc3, 0xf, 0xc0,
|
||||||
|
|
||||||
/* U+4D "M" */
|
/* U+4D "M" */
|
||||||
0x87, 0x3b, 0x61, 0x86, 0x18, 0x40,
|
0xc7, 0xdf, 0xfe, 0xbc, 0x78, 0xf1, 0x80,
|
||||||
|
|
||||||
/* U+4E "N" */
|
/* U+4E "N" */
|
||||||
0x87, 0x1a, 0x65, 0x8e, 0x18, 0x40,
|
0xc7, 0xcf, 0xde, 0xfc, 0xf8, 0xf1, 0x80,
|
||||||
|
|
||||||
/* U+4F "O" */
|
/* U+4F "O" */
|
||||||
0x7a, 0x18, 0x61, 0x86, 0x17, 0x80,
|
0x7b, 0x3c, 0xf3, 0xcf, 0x37, 0x80,
|
||||||
|
|
||||||
/* U+50 "P" */
|
/* U+50 "P" */
|
||||||
0xfa, 0x18, 0x7e, 0x82, 0x8, 0x0,
|
0xfb, 0x3c, 0xfe, 0xc3, 0xc, 0x0,
|
||||||
|
|
||||||
/* U+51 "Q" */
|
/* U+51 "Q" */
|
||||||
0x7a, 0x18, 0x61, 0x96, 0x27, 0x40,
|
0x7b, 0x3c, 0xf3, 0xcf, 0x66, 0xc0,
|
||||||
|
|
||||||
/* U+52 "R" */
|
/* U+52 "R" */
|
||||||
0xfa, 0x18, 0x7e, 0x92, 0x28, 0x40,
|
0xfb, 0x3c, 0xfe, 0xdb, 0x3c, 0xc0,
|
||||||
|
|
||||||
/* U+53 "S" */
|
/* U+53 "S" */
|
||||||
0x7a, 0x18, 0x1e, 0x6, 0x17, 0x80,
|
0x7b, 0x3c, 0x1e, 0xf, 0x37, 0x80,
|
||||||
|
|
||||||
/* U+54 "T" */
|
/* U+54 "T" */
|
||||||
0xf9, 0x8, 0x42, 0x10, 0x80,
|
0xfc, 0xc3, 0xc, 0x30, 0xc3, 0x0,
|
||||||
|
|
||||||
/* U+55 "U" */
|
/* U+55 "U" */
|
||||||
0x86, 0x18, 0x61, 0x86, 0x17, 0x80,
|
0xcf, 0x3c, 0xf3, 0xcf, 0x37, 0x80,
|
||||||
|
|
||||||
/* U+56 "V" */
|
/* U+56 "V" */
|
||||||
0x86, 0x18, 0x61, 0x85, 0x23, 0x0,
|
0xcf, 0x3c, 0xf3, 0xcd, 0xe3, 0x0,
|
||||||
|
|
||||||
/* U+57 "W" */
|
/* U+57 "W" */
|
||||||
0x86, 0x18, 0x61, 0xb7, 0x38, 0x40,
|
0xc7, 0x8f, 0x1e, 0xbf, 0xfd, 0xf1, 0x80,
|
||||||
|
|
||||||
/* U+58 "X" */
|
/* U+58 "X" */
|
||||||
0x86, 0x14, 0x8c, 0x4a, 0x18, 0x40,
|
0xc3, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0xc3,
|
||||||
|
|
||||||
/* U+59 "Y" */
|
/* U+59 "Y" */
|
||||||
0x8c, 0x62, 0xe2, 0x10, 0x80,
|
0xc3, 0x66, 0x3c, 0x18, 0x18, 0x18, 0x18,
|
||||||
|
|
||||||
/* U+5A "Z" */
|
/* U+5A "Z" */
|
||||||
0xf8, 0x44, 0x44, 0x43, 0xe0,
|
0xfc, 0x31, 0x8c, 0x63, 0xf, 0xc0,
|
||||||
|
|
||||||
/* U+5B "[" */
|
/* U+5B "[" */
|
||||||
0xf2, 0x49, 0x38,
|
0xfc, 0xcc, 0xcc, 0xf0,
|
||||||
|
|
||||||
/* U+5C "\\" */
|
/* U+5C "\\" */
|
||||||
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
|
0xc0, 0x60, 0x30, 0x18, 0xc, 0x6, 0x3,
|
||||||
|
|
||||||
/* U+5D "]" */
|
/* U+5D "]" */
|
||||||
0xe4, 0x92, 0x78,
|
0xf3, 0x33, 0x33, 0xf0,
|
||||||
|
|
||||||
/* U+5E "^" */
|
/* U+5E "^" */
|
||||||
0x22, 0xa2,
|
0x10, 0x71, 0xb6, 0x30,
|
||||||
|
|
||||||
/* U+5F "_" */
|
/* U+5F "_" */
|
||||||
0xf8,
|
|
||||||
|
|
||||||
/* U+60 "`" */
|
|
||||||
0x88, 0x80,
|
|
||||||
|
|
||||||
/* U+61 "a" */
|
|
||||||
0x70, 0x5f, 0x17, 0x80,
|
|
||||||
|
|
||||||
/* U+62 "b" */
|
|
||||||
0x84, 0x3d, 0x18, 0xc7, 0xc0,
|
|
||||||
|
|
||||||
/* U+63 "c" */
|
|
||||||
0x74, 0x61, 0x17, 0x0,
|
|
||||||
|
|
||||||
/* U+64 "d" */
|
|
||||||
0x8, 0x5f, 0x18, 0xc5, 0xe0,
|
|
||||||
|
|
||||||
/* U+65 "e" */
|
|
||||||
0x74, 0x7f, 0x7, 0x0,
|
|
||||||
|
|
||||||
/* U+66 "f" */
|
|
||||||
0x18, 0x92, 0x3e, 0x20, 0x82, 0x0,
|
|
||||||
|
|
||||||
/* U+67 "g" */
|
|
||||||
0x7c, 0x62, 0xf0, 0xb8,
|
|
||||||
|
|
||||||
/* U+68 "h" */
|
|
||||||
0x84, 0x3d, 0x18, 0xc6, 0x20,
|
|
||||||
|
|
||||||
/* U+69 "i" */
|
|
||||||
0x43, 0x24, 0xb8,
|
|
||||||
|
|
||||||
/* U+6A "j" */
|
|
||||||
0x10, 0x31, 0x11, 0x96,
|
|
||||||
|
|
||||||
/* U+6B "k" */
|
|
||||||
0x84, 0x23, 0x2e, 0x4a, 0x20,
|
|
||||||
|
|
||||||
/* U+6C "l" */
|
|
||||||
0xc9, 0x24, 0xb8,
|
|
||||||
|
|
||||||
/* U+6D "m" */
|
|
||||||
0xd5, 0x6b, 0x5a, 0x80,
|
|
||||||
|
|
||||||
/* U+6E "n" */
|
|
||||||
0xf4, 0x63, 0x18, 0x80,
|
|
||||||
|
|
||||||
/* U+6F "o" */
|
|
||||||
0x74, 0x63, 0x17, 0x0,
|
|
||||||
|
|
||||||
/* U+70 "p" */
|
|
||||||
0xf4, 0x63, 0xe8, 0x40,
|
|
||||||
|
|
||||||
/* U+71 "q" */
|
|
||||||
0x7c, 0x62, 0xf0, 0x84,
|
|
||||||
|
|
||||||
/* U+72 "r" */
|
|
||||||
0xbe, 0x21, 0x8, 0x0,
|
|
||||||
|
|
||||||
/* U+73 "s" */
|
|
||||||
0x7c, 0x1c, 0x1f, 0x0,
|
|
||||||
|
|
||||||
/* U+74 "t" */
|
|
||||||
0x42, 0x3c, 0x84, 0x24, 0xc0,
|
|
||||||
|
|
||||||
/* U+75 "u" */
|
|
||||||
0x8c, 0x63, 0x17, 0x0,
|
|
||||||
|
|
||||||
/* U+76 "v" */
|
|
||||||
0x8c, 0x62, 0xa2, 0x0,
|
|
||||||
|
|
||||||
/* U+77 "w" */
|
|
||||||
0x8d, 0x6b, 0x55, 0x0,
|
|
||||||
|
|
||||||
/* U+78 "x" */
|
|
||||||
0x8a, 0x88, 0xa8, 0x80,
|
|
||||||
|
|
||||||
/* U+79 "y" */
|
|
||||||
0x8c, 0x62, 0xf0, 0xb8,
|
|
||||||
|
|
||||||
/* U+7A "z" */
|
|
||||||
0xf8, 0x88, 0x8f, 0x80,
|
|
||||||
|
|
||||||
/* U+7B "{" */
|
|
||||||
0x34, 0x48, 0x44, 0x30,
|
|
||||||
|
|
||||||
/* U+7C "|" */
|
|
||||||
0xff,
|
0xff,
|
||||||
|
|
||||||
|
/* U+60 "`" */
|
||||||
|
0xc6, 0x30,
|
||||||
|
|
||||||
|
/* U+61 "a" */
|
||||||
|
0x78, 0x37, 0xf3, 0x7c,
|
||||||
|
|
||||||
|
/* U+62 "b" */
|
||||||
|
0xc3, 0xf, 0xb3, 0xcf, 0x3f, 0x80,
|
||||||
|
|
||||||
|
/* U+63 "c" */
|
||||||
|
0x7e, 0x31, 0x87, 0x80,
|
||||||
|
|
||||||
|
/* U+64 "d" */
|
||||||
|
0xc, 0x37, 0xf3, 0xcf, 0x37, 0xc0,
|
||||||
|
|
||||||
|
/* U+65 "e" */
|
||||||
|
0x7b, 0x3f, 0xf0, 0x78,
|
||||||
|
|
||||||
|
/* U+66 "f" */
|
||||||
|
0x3b, 0x3e, 0xc6, 0x31, 0x80,
|
||||||
|
|
||||||
|
/* U+67 "g" */
|
||||||
|
0x7f, 0x3c, 0xdf, 0xf, 0xe0,
|
||||||
|
|
||||||
|
/* U+68 "h" */
|
||||||
|
0xc3, 0xf, 0xb3, 0xcf, 0x3c, 0xc0,
|
||||||
|
|
||||||
|
/* U+69 "i" */
|
||||||
|
0x60, 0x38, 0xc6, 0x31, 0xe0,
|
||||||
|
|
||||||
|
/* U+6A "j" */
|
||||||
|
0x18, 0x6, 0x31, 0x8c, 0x7e,
|
||||||
|
|
||||||
|
/* U+6B "k" */
|
||||||
|
0xc3, 0xc, 0xf6, 0xf3, 0x6c, 0xc0,
|
||||||
|
|
||||||
|
/* U+6C "l" */
|
||||||
|
0xe3, 0x18, 0xc6, 0x31, 0xe0,
|
||||||
|
|
||||||
|
/* U+6D "m" */
|
||||||
|
0xcd, 0xff, 0x5e, 0xbc, 0x60,
|
||||||
|
|
||||||
|
/* U+6E "n" */
|
||||||
|
0xfb, 0x3c, 0xf3, 0xcc,
|
||||||
|
|
||||||
|
/* U+6F "o" */
|
||||||
|
0x7b, 0x3c, 0xf3, 0x78,
|
||||||
|
|
||||||
|
/* U+70 "p" */
|
||||||
|
0xfb, 0x3c, 0xfe, 0xc3, 0x0,
|
||||||
|
|
||||||
|
/* U+71 "q" */
|
||||||
|
0x7f, 0x3c, 0xdf, 0xc, 0x30,
|
||||||
|
|
||||||
|
/* U+72 "r" */
|
||||||
|
0xfb, 0x3c, 0x30, 0xc0,
|
||||||
|
|
||||||
|
/* U+73 "s" */
|
||||||
|
0x7f, 0x7, 0x83, 0xf8,
|
||||||
|
|
||||||
|
/* U+74 "t" */
|
||||||
|
0x61, 0x8f, 0xd8, 0x61, 0x83, 0xc0,
|
||||||
|
|
||||||
|
/* U+75 "u" */
|
||||||
|
0xcf, 0x3c, 0xf3, 0x7c,
|
||||||
|
|
||||||
|
/* U+76 "v" */
|
||||||
|
0xcf, 0x3c, 0xde, 0x30,
|
||||||
|
|
||||||
|
/* U+77 "w" */
|
||||||
|
0xc7, 0x8f, 0x5b, 0xe6, 0xc0,
|
||||||
|
|
||||||
|
/* U+78 "x" */
|
||||||
|
0xc6, 0xd8, 0xe3, 0x6c, 0x60,
|
||||||
|
|
||||||
|
/* U+79 "y" */
|
||||||
|
0xcf, 0x3c, 0xdf, 0xd, 0xe0,
|
||||||
|
|
||||||
|
/* U+7A "z" */
|
||||||
|
0xfc, 0x63, 0x18, 0xfc,
|
||||||
|
|
||||||
|
/* U+7B "{" */
|
||||||
|
0x1c, 0xc3, 0x38, 0x30, 0xc1, 0xc0,
|
||||||
|
|
||||||
|
/* U+7C "|" */
|
||||||
|
0xff, 0xfc,
|
||||||
|
|
||||||
/* U+7D "}" */
|
/* U+7D "}" */
|
||||||
0xc2, 0x21, 0x22, 0xc0,
|
0xe0, 0xc3, 0x7, 0x30, 0xce, 0x0,
|
||||||
|
|
||||||
/* U+7E "~" */
|
/* U+7E "~" */
|
||||||
0x45, 0x44,
|
0x77, 0xb8,
|
||||||
|
|
||||||
/* U+7F "" */
|
/* U+7F "" */
|
||||||
0xc1, 0x42, 0xbd, 0x2c, 0x40, 0x81, 0x0
|
0xc1, 0x42, 0xbd, 0x2c, 0x40, 0x81, 0x0
|
||||||
@@ -312,103 +313,103 @@ static LV_ATTRIBUTE_LARGE_CONST const uint8_t gylph_bitmap[] = {
|
|||||||
*--------------------*/
|
*--------------------*/
|
||||||
|
|
||||||
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
|
static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
|
||||||
{.bitmap_index = 0, .adv_w = 0, .box_h = 0, .box_w = 0, .ofs_x = 0, .ofs_y = 0} /* id = 0 reserved */,
|
{.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 = 128, .box_h = 0, .box_w = 0, .ofs_x = 0, .ofs_y = 0},
|
{.bitmap_index = 0, .adv_w = 128, .box_w = 1, .box_h = 1, .ofs_x = 0, .ofs_y = 8},
|
||||||
{.bitmap_index = 0, .adv_w = 128, .box_h = 7, .box_w = 1, .ofs_x = 3, .ofs_y = -1},
|
{.bitmap_index = 1, .adv_w = 128, .box_w = 2, .box_h = 7, .ofs_x = 3, .ofs_y = 1},
|
||||||
{.bitmap_index = 1, .adv_w = 128, .box_h = 3, .box_w = 4, .ofs_x = 2, .ofs_y = 3},
|
{.bitmap_index = 3, .adv_w = 128, .box_w = 6, .box_h = 3, .ofs_x = 1, .ofs_y = 5},
|
||||||
{.bitmap_index = 3, .adv_w = 128, .box_h = 7, .box_w = 6, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 6, .adv_w = 128, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 1},
|
||||||
{.bitmap_index = 9, .adv_w = 128, .box_h = 7, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 13, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 14, .adv_w = 128, .box_h = 6, .box_w = 6, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 19, .adv_w = 128, .box_w = 7, .box_h = 6, .ofs_x = 0, .ofs_y = 1},
|
||||||
{.bitmap_index = 19, .adv_w = 128, .box_h = 7, .box_w = 6, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 25, .adv_w = 128, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 1},
|
||||||
{.bitmap_index = 25, .adv_w = 128, .box_h = 3, .box_w = 3, .ofs_x = 2, .ofs_y = 3},
|
{.bitmap_index = 32, .adv_w = 128, .box_w = 3, .box_h = 3, .ofs_x = 2, .ofs_y = 5},
|
||||||
{.bitmap_index = 27, .adv_w = 128, .box_h = 7, .box_w = 3, .ofs_x = 2, .ofs_y = -1},
|
{.bitmap_index = 34, .adv_w = 128, .box_w = 4, .box_h = 7, .ofs_x = 2, .ofs_y = 1},
|
||||||
{.bitmap_index = 30, .adv_w = 128, .box_h = 7, .box_w = 3, .ofs_x = 2, .ofs_y = -1},
|
{.bitmap_index = 38, .adv_w = 128, .box_w = 4, .box_h = 7, .ofs_x = 2, .ofs_y = 1},
|
||||||
{.bitmap_index = 33, .adv_w = 128, .box_h = 7, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 42, .adv_w = 128, .box_w = 8, .box_h = 5, .ofs_x = 0, .ofs_y = 2},
|
||||||
{.bitmap_index = 38, .adv_w = 128, .box_h = 5, .box_w = 5, .ofs_x = 1, .ofs_y = 0},
|
{.bitmap_index = 47, .adv_w = 128, .box_w = 6, .box_h = 5, .ofs_x = 1, .ofs_y = 2},
|
||||||
{.bitmap_index = 42, .adv_w = 128, .box_h = 3, .box_w = 2, .ofs_x = 3, .ofs_y = -2},
|
{.bitmap_index = 51, .adv_w = 128, .box_w = 3, .box_h = 3, .ofs_x = 2, .ofs_y = 0},
|
||||||
{.bitmap_index = 43, .adv_w = 128, .box_h = 1, .box_w = 5, .ofs_x = 1, .ofs_y = 1},
|
{.bitmap_index = 53, .adv_w = 128, .box_w = 6, .box_h = 1, .ofs_x = 1, .ofs_y = 4},
|
||||||
{.bitmap_index = 44, .adv_w = 128, .box_h = 1, .box_w = 1, .ofs_x = 3, .ofs_y = -1},
|
{.bitmap_index = 54, .adv_w = 128, .box_w = 2, .box_h = 2, .ofs_x = 3, .ofs_y = 1},
|
||||||
{.bitmap_index = 45, .adv_w = 128, .box_h = 7, .box_w = 7, .ofs_x = 0, .ofs_y = -1},
|
{.bitmap_index = 55, .adv_w = 128, .box_w = 8, .box_h = 7, .ofs_x = 0, .ofs_y = 1},
|
||||||
{.bitmap_index = 52, .adv_w = 128, .box_h = 7, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 62, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 57, .adv_w = 128, .box_h = 7, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 68, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 62, .adv_w = 128, .box_h = 7, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 74, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 67, .adv_w = 128, .box_h = 7, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 80, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 72, .adv_w = 128, .box_h = 7, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 86, .adv_w = 128, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 1},
|
||||||
{.bitmap_index = 77, .adv_w = 128, .box_h = 7, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 93, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 82, .adv_w = 128, .box_h = 7, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 99, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 87, .adv_w = 128, .box_h = 7, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 105, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 92, .adv_w = 128, .box_h = 7, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 111, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 97, .adv_w = 128, .box_h = 7, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 117, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 102, .adv_w = 128, .box_h = 4, .box_w = 1, .ofs_x = 3, .ofs_y = 0},
|
{.bitmap_index = 123, .adv_w = 128, .box_w = 2, .box_h = 6, .ofs_x = 3, .ofs_y = 1},
|
||||||
{.bitmap_index = 103, .adv_w = 128, .box_h = 6, .box_w = 2, .ofs_x = 2, .ofs_y = -2},
|
{.bitmap_index = 125, .adv_w = 128, .box_w = 3, .box_h = 7, .ofs_x = 2, .ofs_y = 0},
|
||||||
{.bitmap_index = 105, .adv_w = 128, .box_h = 7, .box_w = 4, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 128, .adv_w = 128, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 109, .adv_w = 128, .box_h = 3, .box_w = 5, .ofs_x = 1, .ofs_y = 1},
|
{.bitmap_index = 133, .adv_w = 128, .box_w = 6, .box_h = 3, .ofs_x = 1, .ofs_y = 3},
|
||||||
{.bitmap_index = 111, .adv_w = 128, .box_h = 7, .box_w = 4, .ofs_x = 2, .ofs_y = -1},
|
{.bitmap_index = 136, .adv_w = 128, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 115, .adv_w = 128, .box_h = 7, .box_w = 6, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 141, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 121, .adv_w = 128, .box_h = 7, .box_w = 6, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 147, .adv_w = 128, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 1},
|
||||||
{.bitmap_index = 127, .adv_w = 128, .box_h = 7, .box_w = 6, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 154, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 133, .adv_w = 128, .box_h = 7, .box_w = 6, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 160, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 139, .adv_w = 128, .box_h = 7, .box_w = 6, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 166, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 145, .adv_w = 128, .box_h = 7, .box_w = 6, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 172, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 151, .adv_w = 128, .box_h = 7, .box_w = 6, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 178, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 157, .adv_w = 128, .box_h = 7, .box_w = 6, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 184, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 163, .adv_w = 128, .box_h = 7, .box_w = 6, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 190, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 169, .adv_w = 128, .box_h = 7, .box_w = 6, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 196, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 175, .adv_w = 128, .box_h = 7, .box_w = 3, .ofs_x = 2, .ofs_y = -1},
|
{.bitmap_index = 202, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 178, .adv_w = 128, .box_h = 7, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 208, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 183, .adv_w = 128, .box_h = 7, .box_w = 6, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 214, .adv_w = 128, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 1},
|
||||||
{.bitmap_index = 189, .adv_w = 128, .box_h = 7, .box_w = 6, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 221, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 195, .adv_w = 128, .box_h = 7, .box_w = 6, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 227, .adv_w = 128, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 1},
|
||||||
{.bitmap_index = 201, .adv_w = 128, .box_h = 7, .box_w = 6, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 234, .adv_w = 128, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 1},
|
||||||
{.bitmap_index = 207, .adv_w = 128, .box_h = 7, .box_w = 6, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 241, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 213, .adv_w = 128, .box_h = 7, .box_w = 6, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 247, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 219, .adv_w = 128, .box_h = 7, .box_w = 6, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 253, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 225, .adv_w = 128, .box_h = 7, .box_w = 6, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 259, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 231, .adv_w = 128, .box_h = 7, .box_w = 6, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 265, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 237, .adv_w = 128, .box_h = 7, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 271, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 242, .adv_w = 128, .box_h = 7, .box_w = 6, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 277, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 248, .adv_w = 128, .box_h = 7, .box_w = 6, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 283, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 254, .adv_w = 128, .box_h = 7, .box_w = 6, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 289, .adv_w = 128, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 1},
|
||||||
{.bitmap_index = 260, .adv_w = 128, .box_h = 7, .box_w = 6, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 296, .adv_w = 128, .box_w = 8, .box_h = 7, .ofs_x = 0, .ofs_y = 1},
|
||||||
{.bitmap_index = 266, .adv_w = 128, .box_h = 7, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 303, .adv_w = 128, .box_w = 8, .box_h = 7, .ofs_x = 0, .ofs_y = 1},
|
||||||
{.bitmap_index = 271, .adv_w = 128, .box_h = 7, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 310, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 276, .adv_w = 128, .box_h = 7, .box_w = 3, .ofs_x = 2, .ofs_y = -1},
|
{.bitmap_index = 316, .adv_w = 128, .box_w = 4, .box_h = 7, .ofs_x = 2, .ofs_y = 1},
|
||||||
{.bitmap_index = 279, .adv_w = 128, .box_h = 7, .box_w = 7, .ofs_x = 0, .ofs_y = -1},
|
{.bitmap_index = 320, .adv_w = 128, .box_w = 8, .box_h = 7, .ofs_x = 0, .ofs_y = 1},
|
||||||
{.bitmap_index = 286, .adv_w = 128, .box_h = 7, .box_w = 3, .ofs_x = 2, .ofs_y = -1},
|
{.bitmap_index = 327, .adv_w = 128, .box_w = 4, .box_h = 7, .ofs_x = 2, .ofs_y = 1},
|
||||||
{.bitmap_index = 289, .adv_w = 128, .box_h = 3, .box_w = 5, .ofs_x = 1, .ofs_y = 3},
|
{.bitmap_index = 331, .adv_w = 128, .box_w = 7, .box_h = 4, .ofs_x = 0, .ofs_y = 4},
|
||||||
{.bitmap_index = 291, .adv_w = 128, .box_h = 1, .box_w = 5, .ofs_x = 1, .ofs_y = -2},
|
{.bitmap_index = 335, .adv_w = 128, .box_w = 8, .box_h = 1, .ofs_x = 0, .ofs_y = 0},
|
||||||
{.bitmap_index = 292, .adv_w = 128, .box_h = 3, .box_w = 3, .ofs_x = 2, .ofs_y = 3},
|
{.bitmap_index = 336, .adv_w = 128, .box_w = 4, .box_h = 3, .ofs_x = 3, .ofs_y = 5},
|
||||||
{.bitmap_index = 294, .adv_w = 128, .box_h = 5, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 338, .adv_w = 128, .box_w = 6, .box_h = 5, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 298, .adv_w = 128, .box_h = 7, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 342, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 303, .adv_w = 128, .box_h = 5, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 348, .adv_w = 128, .box_w = 5, .box_h = 5, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 307, .adv_w = 128, .box_h = 7, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 352, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 312, .adv_w = 128, .box_h = 5, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 358, .adv_w = 128, .box_w = 6, .box_h = 5, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 316, .adv_w = 128, .box_h = 7, .box_w = 6, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 362, .adv_w = 128, .box_w = 5, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 322, .adv_w = 128, .box_h = 6, .box_w = 5, .ofs_x = 1, .ofs_y = -2},
|
{.bitmap_index = 367, .adv_w = 128, .box_w = 6, .box_h = 6, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 326, .adv_w = 128, .box_h = 7, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 372, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 331, .adv_w = 128, .box_h = 7, .box_w = 3, .ofs_x = 2, .ofs_y = -1},
|
{.bitmap_index = 378, .adv_w = 128, .box_w = 5, .box_h = 7, .ofs_x = 2, .ofs_y = 1},
|
||||||
{.bitmap_index = 334, .adv_w = 128, .box_h = 8, .box_w = 4, .ofs_x = 2, .ofs_y = -2},
|
{.bitmap_index = 383, .adv_w = 128, .box_w = 5, .box_h = 8, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 338, .adv_w = 128, .box_h = 7, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 388, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 343, .adv_w = 128, .box_h = 7, .box_w = 3, .ofs_x = 2, .ofs_y = -1},
|
{.bitmap_index = 394, .adv_w = 128, .box_w = 5, .box_h = 7, .ofs_x = 2, .ofs_y = 1},
|
||||||
{.bitmap_index = 346, .adv_w = 128, .box_h = 5, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 399, .adv_w = 128, .box_w = 7, .box_h = 5, .ofs_x = 0, .ofs_y = 1},
|
||||||
{.bitmap_index = 350, .adv_w = 128, .box_h = 5, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 404, .adv_w = 128, .box_w = 6, .box_h = 5, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 354, .adv_w = 128, .box_h = 5, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 408, .adv_w = 128, .box_w = 6, .box_h = 5, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 358, .adv_w = 128, .box_h = 6, .box_w = 5, .ofs_x = 1, .ofs_y = -2},
|
{.bitmap_index = 412, .adv_w = 128, .box_w = 6, .box_h = 6, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 362, .adv_w = 128, .box_h = 6, .box_w = 5, .ofs_x = 1, .ofs_y = -2},
|
{.bitmap_index = 417, .adv_w = 128, .box_w = 6, .box_h = 6, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 366, .adv_w = 128, .box_h = 5, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 422, .adv_w = 128, .box_w = 6, .box_h = 5, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 370, .adv_w = 128, .box_h = 5, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 426, .adv_w = 128, .box_w = 6, .box_h = 5, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 374, .adv_w = 128, .box_h = 7, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 430, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 379, .adv_w = 128, .box_h = 5, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 436, .adv_w = 128, .box_w = 6, .box_h = 5, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 383, .adv_w = 128, .box_h = 5, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 440, .adv_w = 128, .box_w = 6, .box_h = 5, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 387, .adv_w = 128, .box_h = 5, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 444, .adv_w = 128, .box_w = 7, .box_h = 5, .ofs_x = 0, .ofs_y = 1},
|
||||||
{.bitmap_index = 391, .adv_w = 128, .box_h = 5, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 449, .adv_w = 128, .box_w = 7, .box_h = 5, .ofs_x = 0, .ofs_y = 1},
|
||||||
{.bitmap_index = 395, .adv_w = 128, .box_h = 6, .box_w = 5, .ofs_x = 1, .ofs_y = -2},
|
{.bitmap_index = 454, .adv_w = 128, .box_w = 6, .box_h = 6, .ofs_x = 1, .ofs_y = 0},
|
||||||
{.bitmap_index = 399, .adv_w = 128, .box_h = 5, .box_w = 5, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 459, .adv_w = 128, .box_w = 6, .box_h = 5, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 403, .adv_w = 128, .box_h = 7, .box_w = 4, .ofs_x = 1, .ofs_y = -1},
|
{.bitmap_index = 463, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 407, .adv_w = 128, .box_h = 8, .box_w = 1, .ofs_x = 3, .ofs_y = -2},
|
{.bitmap_index = 469, .adv_w = 128, .box_w = 2, .box_h = 7, .ofs_x = 3, .ofs_y = 1},
|
||||||
{.bitmap_index = 408, .adv_w = 128, .box_h = 7, .box_w = 4, .ofs_x = 2, .ofs_y = -1},
|
{.bitmap_index = 471, .adv_w = 128, .box_w = 6, .box_h = 7, .ofs_x = 1, .ofs_y = 1},
|
||||||
{.bitmap_index = 412, .adv_w = 128, .box_h = 3, .box_w = 5, .ofs_x = 1, .ofs_y = 3},
|
{.bitmap_index = 477, .adv_w = 128, .box_w = 7, .box_h = 2, .ofs_x = 0, .ofs_y = 6},
|
||||||
{.bitmap_index = 414, .adv_w = 128, .box_h = 7, .box_w = 7, .ofs_x = 0, .ofs_y = -1}
|
{.bitmap_index = 479, .adv_w = 128, .box_w = 7, .box_h = 7, .ofs_x = 0, .ofs_y = 1}
|
||||||
};
|
};
|
||||||
|
|
||||||
/*---------------------
|
/*---------------------
|
||||||
@@ -420,8 +421,8 @@ static const lv_font_fmt_txt_glyph_dsc_t glyph_dsc[] = {
|
|||||||
/*Collect the unicode lists and glyph_id offsets*/
|
/*Collect the unicode lists and glyph_id offsets*/
|
||||||
static const lv_font_fmt_txt_cmap_t cmaps[] = {
|
static const lv_font_fmt_txt_cmap_t cmaps[] = {
|
||||||
{
|
{
|
||||||
.range_start = 32, .range_length = 96, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY,
|
.range_start = 32, .range_length = 96, .glyph_id_start = 1,
|
||||||
.glyph_id_start = 1, .unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0
|
.unicode_list = NULL, .glyph_id_ofs_list = NULL, .list_length = 0, .type = LV_FONT_FMT_TXT_CMAP_FORMAT0_TINY
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -436,12 +437,12 @@ static lv_font_fmt_txt_dsc_t font_dsc = {
|
|||||||
.glyph_bitmap = gylph_bitmap,
|
.glyph_bitmap = gylph_bitmap,
|
||||||
.glyph_dsc = glyph_dsc,
|
.glyph_dsc = glyph_dsc,
|
||||||
.cmaps = cmaps,
|
.cmaps = cmaps,
|
||||||
|
.kern_dsc = NULL,
|
||||||
|
.kern_scale = 0,
|
||||||
.cmap_num = 1,
|
.cmap_num = 1,
|
||||||
.bpp = 1,
|
.bpp = 1,
|
||||||
|
|
||||||
.kern_scale = 0,
|
|
||||||
.kern_dsc = NULL,
|
|
||||||
.kern_classes = 0,
|
.kern_classes = 0,
|
||||||
|
.bitmap_format = 0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -451,11 +452,20 @@ static lv_font_fmt_txt_dsc_t font_dsc = {
|
|||||||
|
|
||||||
/*Initialize a public general font descriptor*/
|
/*Initialize a public general font descriptor*/
|
||||||
lv_font_t lv_font_unscii_8 = {
|
lv_font_t lv_font_unscii_8 = {
|
||||||
.dsc = &font_dsc, /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
|
|
||||||
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
|
|
||||||
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
|
.get_glyph_dsc = lv_font_get_glyph_dsc_fmt_txt, /*Function pointer to get glyph's data*/
|
||||||
.line_height = 8, /*The maximum line height required by the font*/
|
.get_glyph_bitmap = lv_font_get_bitmap_fmt_txt, /*Function pointer to get glyph's bitmap*/
|
||||||
.base_line = 2, /*Baseline measured from the bottom of the line*/
|
.line_height = 9, /*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)
|
||||||
|
.underline_position = 0,
|
||||||
|
.underline_thickness = 0,
|
||||||
|
#endif
|
||||||
|
.dsc = &font_dsc /*The custom font data. Will be accessed by `get_glyph_bitmap/dsc` */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif /*#if LV_FONT_UNSCII_8*/
|
#endif /*#if LV_FONT_UNSCII_8*/
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
* STATIC PROTOTYPES
|
* STATIC PROTOTYPES
|
||||||
**********************/
|
**********************/
|
||||||
static void invalidate_cache(void);
|
static void invalidate_cache(void);
|
||||||
static void dma2d_wait(void);
|
static void wait_finish(void);
|
||||||
|
|
||||||
/**********************
|
/**********************
|
||||||
* STATIC VARIABLES
|
* STATIC VARIABLES
|
||||||
@@ -104,7 +104,7 @@ void lv_gpu_stm32_dma2d_fill(lv_color_t * buf, lv_coord_t buf_w, lv_color_t colo
|
|||||||
/* start transfer */
|
/* start transfer */
|
||||||
DMA2D->CR |= DMA2D_CR_START_Msk;
|
DMA2D->CR |= DMA2D_CR_START_Msk;
|
||||||
|
|
||||||
dma2d_wait();
|
wait_finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -149,7 +149,7 @@ void lv_gpu_stm32_dma2d_fill_mask(lv_color_t * buf, lv_coord_t buf_w, lv_color_t
|
|||||||
HAL_DMA2D_ConfigLayer(&hdma2d, 0);
|
HAL_DMA2D_ConfigLayer(&hdma2d, 0);
|
||||||
HAL_DMA2D_ConfigLayer(&hdma2d, 1);
|
HAL_DMA2D_ConfigLayer(&hdma2d, 1);
|
||||||
HAL_DMA2D_BlendingStart(&hdma2d, (uint32_t) mask, (uint32_t) buf, (uint32_t)buf, fill_w, fill_h);
|
HAL_DMA2D_BlendingStart(&hdma2d, (uint32_t) mask, (uint32_t) buf, (uint32_t)buf, fill_w, fill_h);
|
||||||
dma2d_wait();
|
wait_finish();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -179,7 +179,7 @@ void lv_gpu_stm32_dma2d_copy(lv_color_t * buf, lv_coord_t buf_w, const lv_color_
|
|||||||
|
|
||||||
/* start transfer */
|
/* start transfer */
|
||||||
DMA2D->CR |= DMA2D_CR_START_Msk;
|
DMA2D->CR |= DMA2D_CR_START_Msk;
|
||||||
dma2d_wait();
|
wait_finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -217,7 +217,19 @@ void lv_gpu_stm32_dma2d_blend(lv_color_t * buf, lv_coord_t buf_w, const lv_color
|
|||||||
|
|
||||||
/* start transfer */
|
/* start transfer */
|
||||||
DMA2D->CR |= DMA2D_CR_START_Msk;
|
DMA2D->CR |= DMA2D_CR_START_Msk;
|
||||||
dma2d_wait();
|
wait_finish();
|
||||||
|
}
|
||||||
|
|
||||||
|
void lv_gpu_stm32_dma2d_wait_cb(lv_disp_drv_t * drv)
|
||||||
|
{
|
||||||
|
if(drv && drv->wait_cb) {
|
||||||
|
while(DMA2D->CR & DMA2D_CR_START_Msk) {
|
||||||
|
drv->wait_cb(drv);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
while(DMA2D->CR & DMA2D_CR_START_Msk);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**********************
|
/**********************
|
||||||
@@ -230,14 +242,17 @@ static void invalidate_cache(void)
|
|||||||
if(disp->driver.clean_dcache_cb) disp->driver.clean_dcache_cb(&disp->driver);
|
if(disp->driver.clean_dcache_cb) disp->driver.clean_dcache_cb(&disp->driver);
|
||||||
else {
|
else {
|
||||||
#if __CORTEX_M >= 0x07
|
#if __CORTEX_M >= 0x07
|
||||||
SCB_CleanInvalidateDCache();
|
if((SCB->CCR) & (uint32_t)SCB_CCR_DC_Msk)
|
||||||
|
SCB_CleanInvalidateDCache();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dma2d_wait(void)
|
static void wait_finish(void)
|
||||||
{
|
{
|
||||||
lv_disp_t * disp = _lv_refr_get_disp_refreshing();
|
lv_disp_t * disp = _lv_refr_get_disp_refreshing();
|
||||||
|
if(disp->driver.gpu_wait_cb) return;
|
||||||
|
|
||||||
while(DMA2D->CR & DMA2D_CR_START_Msk) {
|
while(DMA2D->CR & DMA2D_CR_START_Msk) {
|
||||||
if(disp->driver.wait_cb) disp->driver.wait_cb(&disp->driver);
|
if(disp->driver.wait_cb) disp->driver.wait_cb(&disp->driver);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ extern "C" {
|
|||||||
*********************/
|
*********************/
|
||||||
#include "../lv_misc/lv_area.h"
|
#include "../lv_misc/lv_area.h"
|
||||||
#include "../lv_misc/lv_color.h"
|
#include "../lv_misc/lv_color.h"
|
||||||
|
#include "../lv_hal/lv_hal_disp.h"
|
||||||
|
|
||||||
/*********************
|
/*********************
|
||||||
* DEFINES
|
* DEFINES
|
||||||
@@ -91,6 +92,14 @@ void lv_gpu_stm32_dma2d_copy(lv_color_t * buf, lv_coord_t buf_w, const lv_color_
|
|||||||
*/
|
*/
|
||||||
void lv_gpu_stm32_dma2d_blend(lv_color_t * buf, lv_coord_t buf_w, const lv_color_t * map, lv_opa_t opa,
|
void lv_gpu_stm32_dma2d_blend(lv_color_t * buf, lv_coord_t buf_w, const lv_color_t * map, lv_opa_t opa,
|
||||||
lv_coord_t map_w, lv_coord_t copy_w, lv_coord_t copy_h);
|
lv_coord_t map_w, lv_coord_t copy_w, lv_coord_t copy_h);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Can be used as `gpu_wait_cb` in display driver to
|
||||||
|
* let the MCU run while the GPU is working
|
||||||
|
*/
|
||||||
|
void lv_gpu_stm32_dma2d_wait_cb(lv_disp_drv_t * drv);
|
||||||
|
|
||||||
/**********************
|
/**********************
|
||||||
* MACROS
|
* MACROS
|
||||||
**********************/
|
**********************/
|
||||||
|
|||||||
@@ -362,7 +362,7 @@ lv_anim_value_t lv_anim_path_bounce(const lv_anim_path_t * path, const lv_anim_t
|
|||||||
LV_UNUSED(path);
|
LV_UNUSED(path);
|
||||||
|
|
||||||
/*Calculate the current step*/
|
/*Calculate the current step*/
|
||||||
uint32_t t;
|
int32_t t;
|
||||||
if(a->time == a->act_time)
|
if(a->time == a->act_time)
|
||||||
t = 1024;
|
t = 1024;
|
||||||
else
|
else
|
||||||
@@ -381,31 +381,32 @@ lv_anim_value_t lv_anim_path_bounce(const lv_anim_path_t * path, const lv_anim_t
|
|||||||
t -= 408;
|
t -= 408;
|
||||||
t = t * 5; /*to [0..1024] range*/
|
t = t * 5; /*to [0..1024] range*/
|
||||||
t = 1024 - t;
|
t = 1024 - t;
|
||||||
diff = diff / 6;
|
diff = diff / 20;
|
||||||
}
|
}
|
||||||
else if(t >= 614 && t < 819) {
|
else if(t >= 614 && t < 819) {
|
||||||
/*Fall back*/
|
/*Fall back*/
|
||||||
t -= 614;
|
t -= 614;
|
||||||
t = t * 5; /*to [0..1024] range*/
|
t = t * 5; /*to [0..1024] range*/
|
||||||
diff = diff / 6;
|
diff = diff / 20;
|
||||||
}
|
}
|
||||||
else if(t >= 819 && t < 921) {
|
else if(t >= 819 && t < 921) {
|
||||||
/*Second bounce back*/
|
/*Second bounce back*/
|
||||||
t -= 819;
|
t -= 819;
|
||||||
t = t * 10; /*to [0..1024] range*/
|
t = t * 10; /*to [0..1024] range*/
|
||||||
t = 1024 - t;
|
t = 1024 - t;
|
||||||
diff = diff / 16;
|
diff = diff / 40;
|
||||||
}
|
}
|
||||||
else if(t >= 921 && t <= 1024) {
|
else if(t >= 921 && t <= 1024) {
|
||||||
/*Fall back*/
|
/*Fall back*/
|
||||||
t -= 921;
|
t -= 921;
|
||||||
t = t * 10; /*to [0..1024] range*/
|
t = t * 10; /*to [0..1024] range*/
|
||||||
diff = diff / 16;
|
diff = diff / 40;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(t > 1024) t = 1024;
|
if(t > 1024) t = 1024;
|
||||||
|
if(t < 0) t = 0;
|
||||||
|
|
||||||
int32_t step = _lv_bezier3(t, 1024, 1024, 800, 0);
|
int32_t step = _lv_bezier3(t, 1024, 800, 500, 0);
|
||||||
|
|
||||||
int32_t new_value;
|
int32_t new_value;
|
||||||
new_value = (int32_t)step * diff;
|
new_value = (int32_t)step * diff;
|
||||||
|
|||||||
@@ -108,9 +108,9 @@ enum {
|
|||||||
* Macros for all existing color depths
|
* Macros for all existing color depths
|
||||||
* to set/get values of the color channels
|
* to set/get values of the color channels
|
||||||
*------------------------------------------*/
|
*------------------------------------------*/
|
||||||
# define LV_COLOR_SET_R1(c, v) (c).ch.red = (uint8_t)((v) & 0x1);
|
# define LV_COLOR_SET_R1(c, v) (c).ch.red = (uint8_t)((v) & 0x1)
|
||||||
# define LV_COLOR_SET_G1(c, v) (c).ch.green = (uint8_t)((v) & 0x1);
|
# define LV_COLOR_SET_G1(c, v) (c).ch.green = (uint8_t)((v) & 0x1)
|
||||||
# define LV_COLOR_SET_B1(c, v) (c).ch.blue = (uint8_t)((v) & 0x1);
|
# define LV_COLOR_SET_B1(c, v) (c).ch.blue = (uint8_t)((v) & 0x1)
|
||||||
# define LV_COLOR_SET_A1(c, v)
|
# define LV_COLOR_SET_A1(c, v)
|
||||||
|
|
||||||
# define LV_COLOR_GET_R1(c) (c).ch.red
|
# define LV_COLOR_GET_R1(c) (c).ch.red
|
||||||
@@ -118,9 +118,9 @@ enum {
|
|||||||
# define LV_COLOR_GET_B1(c) (c).ch.blue
|
# define LV_COLOR_GET_B1(c) (c).ch.blue
|
||||||
# define LV_COLOR_GET_A1(c) 1
|
# define LV_COLOR_GET_A1(c) 1
|
||||||
|
|
||||||
# define LV_COLOR_SET_R8(c, v) (c).ch.red = (uint8_t)(v) & 0x7U;
|
# define LV_COLOR_SET_R8(c, v) (c).ch.red = (uint8_t)(v) & 0x7U
|
||||||
# define LV_COLOR_SET_G8(c, v) (c).ch.green = (uint8_t)(v) & 0x7U;
|
# define LV_COLOR_SET_G8(c, v) (c).ch.green = (uint8_t)(v) & 0x7U
|
||||||
# define LV_COLOR_SET_B8(c, v) (c).ch.blue = (uint8_t)(v) & 0x3U;
|
# define LV_COLOR_SET_B8(c, v) (c).ch.blue = (uint8_t)(v) & 0x3U
|
||||||
# define LV_COLOR_SET_A8(c, v) do {} while(0)
|
# define LV_COLOR_SET_A8(c, v) do {} while(0)
|
||||||
|
|
||||||
# define LV_COLOR_GET_R8(c) (c).ch.red
|
# define LV_COLOR_GET_R8(c) (c).ch.red
|
||||||
@@ -128,10 +128,10 @@ enum {
|
|||||||
# define LV_COLOR_GET_B8(c) (c).ch.blue
|
# define LV_COLOR_GET_B8(c) (c).ch.blue
|
||||||
# define LV_COLOR_GET_A8(c) 0xFF
|
# define LV_COLOR_GET_A8(c) 0xFF
|
||||||
|
|
||||||
# define LV_COLOR_SET_R16(c, v) (c).ch.red = (uint8_t)(v) & 0x1FU;
|
# define LV_COLOR_SET_R16(c, v) (c).ch.red = (uint8_t)(v) & 0x1FU
|
||||||
# define LV_COLOR_SET_G16(c, v) (c).ch.green = (uint8_t)(v) & 0x3FU;
|
# define LV_COLOR_SET_G16(c, v) (c).ch.green = (uint8_t)(v) & 0x3FU
|
||||||
# define LV_COLOR_SET_G16_SWAP(c, v) {(c).ch.green_h = (uint8_t)(((v) >> 3) & 0x7); (c).ch.green_l = (uint8_t)((v) & 0x7);}
|
# define LV_COLOR_SET_G16_SWAP(c, v) {(c).ch.green_h = (uint8_t)(((v) >> 3) & 0x7); (c).ch.green_l = (uint8_t)((v) & 0x7);}
|
||||||
# define LV_COLOR_SET_B16(c, v) (c).ch.blue = (uint8_t)(v) & 0x1FU;
|
# define LV_COLOR_SET_B16(c, v) (c).ch.blue = (uint8_t)(v) & 0x1FU
|
||||||
# define LV_COLOR_SET_A16(c, v) do {} while(0)
|
# define LV_COLOR_SET_A16(c, v) do {} while(0)
|
||||||
|
|
||||||
# define LV_COLOR_GET_R16(c) (c).ch.red
|
# define LV_COLOR_GET_R16(c) (c).ch.red
|
||||||
@@ -140,10 +140,10 @@ enum {
|
|||||||
# define LV_COLOR_GET_B16(c) (c).ch.blue
|
# define LV_COLOR_GET_B16(c) (c).ch.blue
|
||||||
# define LV_COLOR_GET_A16(c) 0xFF
|
# define LV_COLOR_GET_A16(c) 0xFF
|
||||||
|
|
||||||
# define LV_COLOR_SET_R32(c, v) (c).ch.red = (uint32_t)((v) & 0xFF);
|
# define LV_COLOR_SET_R32(c, v) (c).ch.red = (uint32_t)((v) & 0xFF)
|
||||||
# define LV_COLOR_SET_G32(c, v) (c).ch.green = (uint32_t)((v) & 0xFF);
|
# define LV_COLOR_SET_G32(c, v) (c).ch.green = (uint32_t)((v) & 0xFF)
|
||||||
# define LV_COLOR_SET_B32(c, v) (c).ch.blue = (uint32_t)((v) & 0xFF);
|
# define LV_COLOR_SET_B32(c, v) (c).ch.blue = (uint32_t)((v) & 0xFF)
|
||||||
# define LV_COLOR_SET_A32(c, v) (c).ch.alpha = (uint32_t)((v) & 0xFF);
|
# define LV_COLOR_SET_A32(c, v) (c).ch.alpha = (uint32_t)((v) & 0xFF)
|
||||||
|
|
||||||
# define LV_COLOR_GET_R32(c) (c).ch.red
|
# define LV_COLOR_GET_R32(c) (c).ch.red
|
||||||
# define LV_COLOR_GET_G32(c) (c).ch.green
|
# define LV_COLOR_GET_G32(c) (c).ch.green
|
||||||
|
|||||||
@@ -536,7 +536,7 @@ void * _lv_mem_buf_get(uint32_t size)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LV_DEBUG_ASSERT(false, "No free buffer. Increase LV_DRAW_BUF_MAX_NUM.", 0x00);
|
LV_DEBUG_ASSERT(false, "No free buffer. Increase LV_MEM_BUF_MAX_NUM.", 0x00);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ extern "C" {
|
|||||||
#include "lv_area.h"
|
#include "lv_area.h"
|
||||||
#include "../lv_font/lv_font.h"
|
#include "../lv_font/lv_font.h"
|
||||||
#include "lv_printf.h"
|
#include "lv_printf.h"
|
||||||
|
|
||||||
/*********************
|
/*********************
|
||||||
* DEFINES
|
* DEFINES
|
||||||
*********************/
|
*********************/
|
||||||
|
|||||||
@@ -211,6 +211,12 @@ static uint32_t lv_ap_get_char_index(uint16_t c)
|
|||||||
for(uint8_t i = 0; ap_chars_map[i].char_end_form; i++) {
|
for(uint8_t i = 0; ap_chars_map[i].char_end_form; i++) {
|
||||||
if(c == (ap_chars_map[i].char_offset + LV_AP_ALPHABET_BASE_CODE))
|
if(c == (ap_chars_map[i].char_offset + LV_AP_ALPHABET_BASE_CODE))
|
||||||
return i;
|
return i;
|
||||||
|
else if(c == ap_chars_map[i].char_end_form //is it an End form
|
||||||
|
|| c == (ap_chars_map[i].char_end_form + ap_chars_map[i].char_begining_form_offset) //is it a Begining form
|
||||||
|
|| c == (ap_chars_map[i].char_end_form + ap_chars_map[i].char_middle_form_offset) //is it a middle form
|
||||||
|
|| c == (ap_chars_map[i].char_end_form + ap_chars_map[i].char_isolated_form_offset)) { //is it an isolated form
|
||||||
|
return i;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return LV_UNDEF_ARABIC_PERSIAN_CHARS;
|
return LV_UNDEF_ARABIC_PERSIAN_CHARS;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
/*BUTTON*/
|
/*BUTTON*/
|
||||||
#define COLOR_BTN (IS_LIGHT ? lv_color_hex(0xffffff) : lv_color_hex(0x586273))
|
#define COLOR_BTN (IS_LIGHT ? lv_color_hex(0xffffff) : lv_color_hex(0x586273))
|
||||||
#define COLOR_BTN_PR (IS_LIGHT ? lv_color_mix(theme.color_primary, COLOR_BTN, LV_OPA_10) : lv_color_mix(theme.color_primary, COLOR_BTN, LV_OPA_30))
|
#define COLOR_BTN_PR (IS_LIGHT ? lv_color_mix(theme.color_primary, COLOR_BTN, LV_OPA_20) : lv_color_mix(theme.color_primary, COLOR_BTN, LV_OPA_30))
|
||||||
|
|
||||||
#define COLOR_BTN_CHK (theme.color_primary)
|
#define COLOR_BTN_CHK (theme.color_primary)
|
||||||
#define COLOR_BTN_CHK_PR (lv_color_darken(theme.color_primary, LV_OPA_30))
|
#define COLOR_BTN_CHK_PR (lv_color_darken(theme.color_primary, LV_OPA_30))
|
||||||
|
|||||||
@@ -861,6 +861,12 @@ static lv_res_t lv_arc_signal(lv_obj_t * arc, lv_signal_t sign, void * param)
|
|||||||
if(res != LV_RES_OK) return res;
|
if(res != LV_RES_OK) return res;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if(sign == LV_SIGNAL_GET_EDITABLE) {
|
||||||
|
#if LV_USE_GROUP
|
||||||
|
bool * editable = (bool *)param;
|
||||||
|
*editable = true;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
else if(sign == LV_SIGNAL_CLEANUP) {
|
else if(sign == LV_SIGNAL_CLEANUP) {
|
||||||
lv_obj_clean_style_list(arc, LV_ARC_PART_KNOB);
|
lv_obj_clean_style_list(arc, LV_ARC_PART_KNOB);
|
||||||
lv_obj_clean_style_list(arc, LV_ARC_PART_INDIC);
|
lv_obj_clean_style_list(arc, LV_ARC_PART_INDIC);
|
||||||
|
|||||||
@@ -157,9 +157,11 @@ void lv_bar_set_value(lv_obj_t * bar, int16_t value, lv_anim_enable_t anim)
|
|||||||
lv_bar_ext_t * ext = lv_obj_get_ext_attr(bar);
|
lv_bar_ext_t * ext = lv_obj_get_ext_attr(bar);
|
||||||
if(ext->cur_value == value) return;
|
if(ext->cur_value == value) return;
|
||||||
|
|
||||||
int16_t new_value;
|
int16_t new_value = value;
|
||||||
new_value = value > ext->max_value ? ext->max_value : value;
|
new_value = value > ext->max_value ? ext->max_value : new_value;
|
||||||
new_value = new_value < ext->min_value ? ext->min_value : new_value;
|
new_value = new_value < ext->min_value ? ext->min_value : new_value;
|
||||||
|
new_value = new_value < ext->start_value ? ext->start_value : new_value;
|
||||||
|
|
||||||
|
|
||||||
if(ext->cur_value == new_value) return;
|
if(ext->cur_value == new_value) return;
|
||||||
#if LV_USE_ANIMATION == 0
|
#if LV_USE_ANIMATION == 0
|
||||||
@@ -184,9 +186,10 @@ void lv_bar_set_start_value(lv_obj_t * bar, int16_t start_value, lv_anim_enable_
|
|||||||
lv_bar_ext_t * ext = lv_obj_get_ext_attr(bar);
|
lv_bar_ext_t * ext = lv_obj_get_ext_attr(bar);
|
||||||
if(ext->start_value == start_value) return;
|
if(ext->start_value == start_value) return;
|
||||||
|
|
||||||
int16_t new_value;
|
int16_t new_value = start_value;
|
||||||
new_value = start_value > ext->max_value ? ext->max_value : start_value;
|
new_value = new_value > ext->max_value ? ext->max_value : new_value;
|
||||||
new_value = new_value < ext->min_value ? ext->min_value : start_value;
|
new_value = new_value < ext->min_value ? ext->min_value : new_value;
|
||||||
|
new_value = new_value > ext->cur_value ? ext->cur_value : new_value;
|
||||||
|
|
||||||
if(ext->start_value == new_value) return;
|
if(ext->start_value == new_value) return;
|
||||||
#if LV_USE_ANIMATION == 0
|
#if LV_USE_ANIMATION == 0
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
#include "../lv_core/lv_refr.h"
|
#include "../lv_core/lv_refr.h"
|
||||||
#include "../lv_themes/lv_theme.h"
|
#include "../lv_themes/lv_theme.h"
|
||||||
#include "../lv_misc/lv_txt.h"
|
#include "../lv_misc/lv_txt.h"
|
||||||
|
#include "../lv_misc/lv_txt_ap.h"
|
||||||
|
|
||||||
/*********************
|
/*********************
|
||||||
* DEFINES
|
* DEFINES
|
||||||
@@ -680,6 +681,10 @@ static lv_design_res_t lv_btnmatrix_design(lv_obj_t * btnm, const lv_area_t * cl
|
|||||||
lv_style_int_t padding_top = lv_obj_get_style_pad_top(btnm, LV_BTNMATRIX_PART_BG);
|
lv_style_int_t padding_top = lv_obj_get_style_pad_top(btnm, LV_BTNMATRIX_PART_BG);
|
||||||
lv_style_int_t padding_bottom = lv_obj_get_style_pad_bottom(btnm, LV_BTNMATRIX_PART_BG);
|
lv_style_int_t padding_bottom = lv_obj_get_style_pad_bottom(btnm, LV_BTNMATRIX_PART_BG);
|
||||||
|
|
||||||
|
#if LV_USE_ARABIC_PERSIAN_CHARS
|
||||||
|
const size_t txt_ap_size = 256 ;
|
||||||
|
char * txt_ap = _lv_mem_buf_get(txt_ap_size);
|
||||||
|
#endif
|
||||||
for(btn_i = 0; btn_i < ext->btn_cnt; btn_i++, txt_i++) {
|
for(btn_i = 0; btn_i < ext->btn_cnt; btn_i++, txt_i++) {
|
||||||
/*Search the next valid text in the map*/
|
/*Search the next valid text in the map*/
|
||||||
while(strcmp(ext->map_p[txt_i], "\n") == 0) {
|
while(strcmp(ext->map_p[txt_i], "\n") == 0) {
|
||||||
@@ -795,6 +800,16 @@ static lv_design_res_t lv_btnmatrix_design(lv_obj_t * btnm, const lv_area_t * cl
|
|||||||
lv_style_int_t letter_space = draw_label_dsc_act->letter_space;
|
lv_style_int_t letter_space = draw_label_dsc_act->letter_space;
|
||||||
lv_style_int_t line_space = draw_label_dsc_act->line_space;
|
lv_style_int_t line_space = draw_label_dsc_act->line_space;
|
||||||
const char * txt = ext->map_p[txt_i];
|
const char * txt = ext->map_p[txt_i];
|
||||||
|
|
||||||
|
#if LV_USE_ARABIC_PERSIAN_CHARS
|
||||||
|
/*Get the size of the Arabic text and process it*/
|
||||||
|
size_t len_ap = _lv_txt_ap_calc_bytes_cnt(txt);
|
||||||
|
if(len_ap < txt_ap_size) {
|
||||||
|
_lv_txt_ap_proc(txt, txt_ap);
|
||||||
|
txt = txt_ap;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
lv_point_t txt_size;
|
lv_point_t txt_size;
|
||||||
_lv_txt_get_size(&txt_size, txt, font, letter_space,
|
_lv_txt_get_size(&txt_size, txt, font, letter_space,
|
||||||
line_space, lv_area_get_width(&area_btnm), txt_flag);
|
line_space, lv_area_get_width(&area_btnm), txt_flag);
|
||||||
@@ -806,6 +821,10 @@ static lv_design_res_t lv_btnmatrix_design(lv_obj_t * btnm, const lv_area_t * cl
|
|||||||
|
|
||||||
lv_draw_label(&area_tmp, clip_area, draw_label_dsc_act, txt, NULL);
|
lv_draw_label(&area_tmp, clip_area, draw_label_dsc_act, txt, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if LV_USE_ARABIC_PERSIAN_CHARS
|
||||||
|
_lv_mem_buf_release(txt_ap);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else if(mode == LV_DESIGN_DRAW_POST) {
|
else if(mode == LV_DESIGN_DRAW_POST) {
|
||||||
ancestor_design_f(btnm, clip_area, mode);
|
ancestor_design_f(btnm, clip_area, mode);
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
#include "../lv_font/lv_symbol_def.h"
|
#include "../lv_font/lv_symbol_def.h"
|
||||||
#include "../lv_misc/lv_anim.h"
|
#include "../lv_misc/lv_anim.h"
|
||||||
#include "../lv_misc/lv_math.h"
|
#include "../lv_misc/lv_math.h"
|
||||||
|
#include "../lv_misc/lv_txt_ap.h"
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
/*********************
|
/*********************
|
||||||
@@ -217,7 +218,12 @@ void lv_dropdown_set_options(lv_obj_t * ddlist, const char * options)
|
|||||||
ext->sel_opt_id_orig = 0;
|
ext->sel_opt_id_orig = 0;
|
||||||
|
|
||||||
/*Allocate space for the new text*/
|
/*Allocate space for the new text*/
|
||||||
|
#if LV_USE_ARABIC_PERSIAN_CHARS == 0
|
||||||
size_t len = strlen(options) + 1;
|
size_t len = strlen(options) + 1;
|
||||||
|
#else
|
||||||
|
size_t len = _lv_txt_ap_calc_bytes_cnt(options) + 1;
|
||||||
|
#endif
|
||||||
|
|
||||||
if(ext->options != NULL && ext->static_txt == 0) {
|
if(ext->options != NULL && ext->static_txt == 0) {
|
||||||
lv_mem_free(ext->options);
|
lv_mem_free(ext->options);
|
||||||
ext->options = NULL;
|
ext->options = NULL;
|
||||||
@@ -228,7 +234,11 @@ void lv_dropdown_set_options(lv_obj_t * ddlist, const char * options)
|
|||||||
LV_ASSERT_MEM(ext->options);
|
LV_ASSERT_MEM(ext->options);
|
||||||
if(ext->options == NULL) return;
|
if(ext->options == NULL) return;
|
||||||
|
|
||||||
|
#if LV_USE_ARABIC_PERSIAN_CHARS == 0
|
||||||
strcpy(ext->options, options);
|
strcpy(ext->options, options);
|
||||||
|
#else
|
||||||
|
_lv_txt_ap_proc(options, ext->options);
|
||||||
|
#endif
|
||||||
|
|
||||||
/*Now the text is dynamically allocated*/
|
/*Now the text is dynamically allocated*/
|
||||||
ext->static_txt = 0;
|
ext->static_txt = 0;
|
||||||
|
|||||||
@@ -390,20 +390,20 @@ void lv_img_set_zoom(lv_obj_t * img, uint16_t zoom)
|
|||||||
lv_coord_t h = lv_obj_get_height(img);
|
lv_coord_t h = lv_obj_get_height(img);
|
||||||
lv_area_t a;
|
lv_area_t a;
|
||||||
_lv_img_buf_get_transformed_area(&a, w, h, transf_angle, (transf_zoom * ext->zoom) >> 8, &ext->pivot);
|
_lv_img_buf_get_transformed_area(&a, w, h, transf_angle, (transf_zoom * ext->zoom) >> 8, &ext->pivot);
|
||||||
a.x1 += img->coords.x1;
|
a.x1 += img->coords.x1 - 1;
|
||||||
a.y1 += img->coords.y1;
|
a.y1 += img->coords.y1 - 1;
|
||||||
a.x2 += img->coords.x1;
|
a.x2 += img->coords.x1 + 1;
|
||||||
a.y2 += img->coords.y1;
|
a.y2 += img->coords.y1 + 1;
|
||||||
lv_obj_invalidate_area(img, &a);
|
lv_obj_invalidate_area(img, &a);
|
||||||
|
|
||||||
ext->zoom = zoom;
|
ext->zoom = zoom;
|
||||||
lv_obj_refresh_ext_draw_pad(img);
|
lv_obj_refresh_ext_draw_pad(img);
|
||||||
|
|
||||||
_lv_img_buf_get_transformed_area(&a, w, h, transf_angle, (transf_zoom * ext->zoom) >> 8, &ext->pivot);
|
_lv_img_buf_get_transformed_area(&a, w, h, transf_angle, (transf_zoom * ext->zoom) >> 8, &ext->pivot);
|
||||||
a.x1 += img->coords.x1;
|
a.x1 += img->coords.x1 - 1;
|
||||||
a.y1 += img->coords.y1;
|
a.y1 += img->coords.y1 - 1;
|
||||||
a.x2 += img->coords.x1;
|
a.x2 += img->coords.x1 + 1;
|
||||||
a.y2 += img->coords.y1;
|
a.y2 += img->coords.y1 + 1;
|
||||||
lv_obj_invalidate_area(img, &a);
|
lv_obj_invalidate_area(img, &a);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -185,11 +185,8 @@ void lv_label_set_text(lv_obj_t * label, const char * text)
|
|||||||
|
|
||||||
lv_label_ext_t * ext = lv_obj_get_ext_attr(label);
|
lv_label_ext_t * ext = lv_obj_get_ext_attr(label);
|
||||||
|
|
||||||
/*If text is NULL then refresh */
|
/*If text is NULL then just refresh with the current text */
|
||||||
if(text == NULL) {
|
if(text == NULL) text = ext->text;
|
||||||
lv_label_refr_text(label);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
LV_ASSERT_STR(text);
|
LV_ASSERT_STR(text);
|
||||||
|
|
||||||
@@ -962,7 +959,7 @@ void lv_label_ins_text(lv_obj_t * label, uint32_t pos, const char * txt)
|
|||||||
#else
|
#else
|
||||||
_lv_txt_ins(ext->text, pos, txt);
|
_lv_txt_ins(ext->text, pos, txt);
|
||||||
#endif
|
#endif
|
||||||
lv_label_refr_text(label);
|
lv_label_set_text(label, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -131,83 +131,9 @@ void lv_linemeter_set_value(lv_obj_t * lmeter, int32_t value)
|
|||||||
int16_t level_new =
|
int16_t level_new =
|
||||||
(int32_t)((int32_t)(ext->cur_value - ext->min_value) * (ext->line_cnt - 1)) / (ext->max_value - ext->min_value);
|
(int32_t)((int32_t)(ext->cur_value - ext->min_value) * (ext->line_cnt - 1)) / (ext->max_value - ext->min_value);
|
||||||
|
|
||||||
if(level_new == level_old) {
|
if(level_new == level_old) return;
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
lv_style_int_t left = lv_obj_get_style_pad_left(lmeter, LV_LINEMETER_PART_MAIN);
|
|
||||||
lv_style_int_t right = lv_obj_get_style_pad_right(lmeter, LV_LINEMETER_PART_MAIN);
|
|
||||||
lv_style_int_t top = lv_obj_get_style_pad_top(lmeter, LV_LINEMETER_PART_MAIN);
|
|
||||||
lv_style_int_t bottom = lv_obj_get_style_pad_bottom(lmeter, LV_LINEMETER_PART_MAIN);
|
|
||||||
|
|
||||||
lv_coord_t r_out = (lv_obj_get_width(lmeter) - left - right) / 2 ;
|
|
||||||
lv_coord_t r_in = r_out - lv_obj_get_style_scale_width(lmeter, LV_LINEMETER_PART_MAIN);
|
|
||||||
if(r_in < 1) r_in = 1;
|
|
||||||
|
|
||||||
lv_coord_t x_ofs = lmeter->coords.x1 + r_out + left;
|
|
||||||
lv_coord_t y_ofs = lmeter->coords.y1 + r_out + top;
|
|
||||||
int16_t angle_ofs = ext->angle_ofs + 90 + (360 - ext->scale_angle) / 2;
|
|
||||||
|
|
||||||
lv_style_int_t line_width = lv_obj_get_style_scale_end_line_width(lmeter, LV_LINEMETER_PART_MAIN);
|
|
||||||
lv_style_int_t end_line_width = lv_obj_get_style_scale_end_line_width(lmeter, LV_LINEMETER_PART_MAIN);
|
|
||||||
line_width = LV_MATH_MAX(line_width, end_line_width);
|
|
||||||
|
|
||||||
int32_t angle_old = (level_old * ext->scale_angle) / (ext->line_cnt - 1);
|
|
||||||
|
|
||||||
/*Use smaller clip area only around the visible line*/
|
|
||||||
int32_t y_in_old = (int32_t)((int32_t)_lv_trigo_sin(angle_old + angle_ofs) * r_in) >> LV_TRIGO_SHIFT;
|
|
||||||
int32_t x_in_old = (int32_t)((int32_t)_lv_trigo_sin(angle_old + 90 + angle_ofs) * r_in) >> LV_TRIGO_SHIFT;
|
|
||||||
|
|
||||||
|
|
||||||
int32_t y_out_old = (int32_t)((int32_t)_lv_trigo_sin(angle_old + angle_ofs) * r_out) >> LV_TRIGO_SHIFT;
|
|
||||||
int32_t x_out_old = (int32_t)((int32_t)_lv_trigo_sin(angle_old + 90 + angle_ofs) * r_out) >> LV_TRIGO_SHIFT;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int32_t angle_new = (level_new * ext->scale_angle) / (ext->line_cnt - 1);
|
|
||||||
|
|
||||||
/*Use smaller clip area only around the visible line*/
|
|
||||||
int32_t y_in_new = (int32_t)((int32_t)_lv_trigo_sin(angle_new + angle_ofs) * r_in) >> LV_TRIGO_SHIFT;
|
|
||||||
int32_t x_in_new = (int32_t)((int32_t)_lv_trigo_sin(angle_new + 90 + angle_ofs) * r_in) >> LV_TRIGO_SHIFT;
|
|
||||||
|
|
||||||
|
|
||||||
int32_t y_out_new = (int32_t)((int32_t)_lv_trigo_sin(angle_new + angle_ofs) * r_out) >> LV_TRIGO_SHIFT;
|
|
||||||
int32_t x_out_new = (int32_t)((int32_t)_lv_trigo_sin(angle_new + 90 + angle_ofs) * r_out) >> LV_TRIGO_SHIFT;
|
|
||||||
|
|
||||||
lv_area_t a;
|
|
||||||
if(x_out_old < 0 && x_out_new < 0) {
|
|
||||||
a.x1 = lmeter->coords.x1 + left - line_width;
|
|
||||||
a.y1 = LV_MATH_MIN4(y_out_old, y_out_new, y_in_old, y_in_new) + y_ofs - line_width;
|
|
||||||
a.x2 = LV_MATH_MAX(x_in_old, x_in_new) + x_ofs + line_width;
|
|
||||||
a.y2 = LV_MATH_MAX4(y_out_old, y_out_new, y_in_old, y_in_new) + y_ofs + line_width;
|
|
||||||
}
|
|
||||||
else if(x_out_old > 0 && x_out_new > 0) {
|
|
||||||
a.x1 = LV_MATH_MIN(x_in_old, x_in_new) + x_ofs - line_width;
|
|
||||||
a.y1 = LV_MATH_MIN4(y_out_old, y_out_new, y_in_old, y_in_new) + y_ofs - line_width;
|
|
||||||
a.x2 = lmeter->coords.x2 - right + line_width;
|
|
||||||
a.y2 = LV_MATH_MAX4(y_out_old, y_out_new, y_in_old, y_in_new) + y_ofs + line_width;
|
|
||||||
}
|
|
||||||
else if(y_out_old < 0 && y_out_new < 0) {
|
|
||||||
a.x1 = LV_MATH_MIN4(x_out_old, x_out_new, x_in_old, x_in_new) + x_ofs - line_width;
|
|
||||||
a.y1 = lmeter->coords.y1 + top - line_width;
|
|
||||||
a.x2 = LV_MATH_MAX4(x_out_old, x_out_new, x_in_old, x_in_new) + x_ofs + line_width;
|
|
||||||
a.y2 = LV_MATH_MAX(y_in_old, y_in_new) + y_ofs + line_width;
|
|
||||||
}
|
|
||||||
else if(y_out_old > 0 && y_out_new > 0) {
|
|
||||||
a.x1 = LV_MATH_MIN4(x_out_old, x_out_new, x_in_old, x_in_new) + x_ofs - line_width;
|
|
||||||
a.y1 = LV_MATH_MIN(y_in_old, y_in_new) + y_ofs - line_width;
|
|
||||||
a.x2 = LV_MATH_MAX4(x_out_old, x_out_new, x_in_old, x_in_new) + x_ofs + line_width;
|
|
||||||
a.y2 = lmeter->coords.y2 - bottom + line_width;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
a.x1 = lmeter->coords.x1 + left - line_width;
|
|
||||||
a.y1 = lmeter->coords.y1 + top - line_width;
|
|
||||||
a.x2 = lmeter->coords.x2 - right + line_width;
|
|
||||||
a.y2 = lmeter->coords.y2 - bottom + line_width;
|
|
||||||
}
|
|
||||||
|
|
||||||
lv_obj_invalidate_area(lmeter, &a);
|
|
||||||
|
|
||||||
|
lv_obj_invalidate(lmeter);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -521,7 +447,7 @@ void lv_linemeter_draw_scale(lv_obj_t * lmeter, const lv_area_t * clip_area, uin
|
|||||||
p1.y = y_out_extra;
|
p1.y = y_out_extra;
|
||||||
|
|
||||||
/* Set the color of the lines */
|
/* Set the color of the lines */
|
||||||
if((!ext->mirrored && i >= level) || (ext->mirrored && i <= level)) {
|
if((!ext->mirrored && i > level) || (ext->mirrored && i < level)) {
|
||||||
line_dsc.color = end_color;
|
line_dsc.color = end_color;
|
||||||
line_dsc.width = end_line_width;
|
line_dsc.width = end_line_width;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -177,7 +177,7 @@ void lv_roller_set_options(lv_obj_t * roller, const char * options, lv_roller_mo
|
|||||||
lv_label_set_text(label, options);
|
lv_label_set_text(label, options);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
ext->mode = LV_ROLLER_MODE_INIFINITE;
|
ext->mode = LV_ROLLER_MODE_INFINITE;
|
||||||
|
|
||||||
size_t opt_len = strlen(options) + 1; /*+1 to add '\n' after option lists*/
|
size_t opt_len = strlen(options) + 1; /*+1 to add '\n' after option lists*/
|
||||||
char * opt_extra = _lv_mem_buf_get(opt_len * LV_ROLLER_INF_PAGES);
|
char * opt_extra = _lv_mem_buf_get(opt_len * LV_ROLLER_INF_PAGES);
|
||||||
@@ -238,7 +238,7 @@ void lv_roller_set_selected(lv_obj_t * roller, uint16_t sel_opt, lv_anim_enable_
|
|||||||
lv_roller_ext_t * ext = lv_obj_get_ext_attr(roller);
|
lv_roller_ext_t * ext = lv_obj_get_ext_attr(roller);
|
||||||
|
|
||||||
/*In infinite mode interpret the new ID relative to the currently visible "page"*/
|
/*In infinite mode interpret the new ID relative to the currently visible "page"*/
|
||||||
if(ext->mode == LV_ROLLER_MODE_INIFINITE) {
|
if(ext->mode == LV_ROLLER_MODE_INFINITE) {
|
||||||
int32_t sel_opt_signed = sel_opt;
|
int32_t sel_opt_signed = sel_opt;
|
||||||
uint16_t page = ext->sel_opt_id / LV_ROLLER_INF_PAGES;
|
uint16_t page = ext->sel_opt_id / LV_ROLLER_INF_PAGES;
|
||||||
|
|
||||||
@@ -302,7 +302,7 @@ uint16_t lv_roller_get_selected(const lv_obj_t * roller)
|
|||||||
LV_ASSERT_OBJ(roller, LV_OBJX_NAME);
|
LV_ASSERT_OBJ(roller, LV_OBJX_NAME);
|
||||||
|
|
||||||
lv_roller_ext_t * ext = lv_obj_get_ext_attr(roller);
|
lv_roller_ext_t * ext = lv_obj_get_ext_attr(roller);
|
||||||
if(ext->mode == LV_ROLLER_MODE_INIFINITE) {
|
if(ext->mode == LV_ROLLER_MODE_INFINITE) {
|
||||||
uint16_t real_id_cnt = ext->option_cnt / LV_ROLLER_INF_PAGES;
|
uint16_t real_id_cnt = ext->option_cnt / LV_ROLLER_INF_PAGES;
|
||||||
return ext->sel_opt_id % real_id_cnt;
|
return ext->sel_opt_id % real_id_cnt;
|
||||||
}
|
}
|
||||||
@@ -355,7 +355,7 @@ uint16_t lv_roller_get_option_cnt(const lv_obj_t * roller)
|
|||||||
LV_ASSERT_OBJ(roller, LV_OBJX_NAME);
|
LV_ASSERT_OBJ(roller, LV_OBJX_NAME);
|
||||||
|
|
||||||
lv_roller_ext_t * ext = lv_obj_get_ext_attr(roller);
|
lv_roller_ext_t * ext = lv_obj_get_ext_attr(roller);
|
||||||
if(ext->mode == LV_ROLLER_MODE_INIFINITE) {
|
if(ext->mode == LV_ROLLER_MODE_INFINITE) {
|
||||||
return ext->option_cnt / LV_ROLLER_INF_PAGES;
|
return ext->option_cnt / LV_ROLLER_INF_PAGES;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -1005,7 +1005,7 @@ static void inf_normalize(void * scrl)
|
|||||||
lv_obj_t * roller = lv_obj_get_parent(roller_scrl);
|
lv_obj_t * roller = lv_obj_get_parent(roller_scrl);
|
||||||
lv_roller_ext_t * ext = lv_obj_get_ext_attr(roller);
|
lv_roller_ext_t * ext = lv_obj_get_ext_attr(roller);
|
||||||
|
|
||||||
if(ext->mode == LV_ROLLER_MODE_INIFINITE) {
|
if(ext->mode == LV_ROLLER_MODE_INFINITE) {
|
||||||
uint16_t real_id_cnt = ext->option_cnt / LV_ROLLER_INF_PAGES;
|
uint16_t real_id_cnt = ext->option_cnt / LV_ROLLER_INF_PAGES;
|
||||||
ext->sel_opt_id = ext->sel_opt_id % real_id_cnt;
|
ext->sel_opt_id = ext->sel_opt_id % real_id_cnt;
|
||||||
ext->sel_opt_id += (LV_ROLLER_INF_PAGES / 2) * real_id_cnt; /*Select the middle page*/
|
ext->sel_opt_id += (LV_ROLLER_INF_PAGES / 2) * real_id_cnt; /*Select the middle page*/
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ extern "C" {
|
|||||||
/** Roller mode. */
|
/** Roller mode. */
|
||||||
enum {
|
enum {
|
||||||
LV_ROLLER_MODE_NORMAL, /**< Normal mode (roller ends at the end of the options). */
|
LV_ROLLER_MODE_NORMAL, /**< Normal mode (roller ends at the end of the options). */
|
||||||
LV_ROLLER_MODE_INIFINITE, /**< Infinite mode (roller can be scrolled forever). */
|
LV_ROLLER_MODE_INFINITE, /**< Infinite mode (roller can be scrolled forever). */
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef uint8_t lv_roller_mode_t;
|
typedef uint8_t lv_roller_mode_t;
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ lv_obj_t * lv_slider_create(lv_obj_t * par, const lv_obj_t * copy)
|
|||||||
/*Initialize the allocated 'ext' */
|
/*Initialize the allocated 'ext' */
|
||||||
ext->value_to_set = NULL;
|
ext->value_to_set = NULL;
|
||||||
ext->dragging = 0;
|
ext->dragging = 0;
|
||||||
|
ext->left_knob_focus = 0;
|
||||||
lv_style_list_init(&ext->style_knob);
|
lv_style_list_init(&ext->style_knob);
|
||||||
|
|
||||||
/*The signal and design functions are not copied so set them here*/
|
/*The signal and design functions are not copied so set them here*/
|
||||||
@@ -327,6 +328,8 @@ static lv_res_t lv_slider_signal(lv_obj_t * slider, lv_signal_t sign, void * par
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(sign == LV_SIGNAL_PRESSING && ext->value_to_set != NULL) {
|
else if(sign == LV_SIGNAL_PRESSING && ext->value_to_set != NULL) {
|
||||||
|
if(lv_indev_get_type(param) != LV_INDEV_TYPE_POINTER) return res;
|
||||||
|
|
||||||
lv_indev_get_point(param, &p);
|
lv_indev_get_point(param, &p);
|
||||||
lv_bidi_dir_t base_dir = lv_obj_get_base_dir(slider);
|
lv_bidi_dir_t base_dir = lv_obj_get_base_dir(slider);
|
||||||
|
|
||||||
@@ -390,11 +393,25 @@ static lv_res_t lv_slider_signal(lv_obj_t * slider, lv_signal_t sign, void * par
|
|||||||
bool editing = lv_group_get_editing(g);
|
bool editing = lv_group_get_editing(g);
|
||||||
lv_indev_type_t indev_type = lv_indev_get_type(lv_indev_get_act());
|
lv_indev_type_t indev_type = lv_indev_get_type(lv_indev_get_act());
|
||||||
if(indev_type == LV_INDEV_TYPE_ENCODER) {
|
if(indev_type == LV_INDEV_TYPE_ENCODER) {
|
||||||
if(editing) lv_group_set_editing(g, false);
|
if(editing) {
|
||||||
|
if(lv_slider_get_type(slider) == LV_SLIDER_TYPE_RANGE) {
|
||||||
|
if(ext->left_knob_focus == 0) ext->left_knob_focus = 1;
|
||||||
|
else {
|
||||||
|
ext->left_knob_focus = 0;
|
||||||
|
lv_group_set_editing(g, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
lv_group_set_editing(g, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
else if(sign == LV_SIGNAL_FOCUS) {
|
||||||
|
ext->left_knob_focus = 0;
|
||||||
|
}
|
||||||
else if(sign == LV_SIGNAL_COORD_CHG) {
|
else if(sign == LV_SIGNAL_COORD_CHG) {
|
||||||
/* The knob size depends on slider size.
|
/* The knob size depends on slider size.
|
||||||
* During the drawing method the ext. size is used by the knob so refresh the ext. size.*/
|
* During the drawing method the ext. size is used by the knob so refresh the ext. size.*/
|
||||||
@@ -425,12 +442,16 @@ static lv_res_t lv_slider_signal(lv_obj_t * slider, lv_signal_t sign, void * par
|
|||||||
char c = *((char *)param);
|
char c = *((char *)param);
|
||||||
|
|
||||||
if(c == LV_KEY_RIGHT || c == LV_KEY_UP) {
|
if(c == LV_KEY_RIGHT || c == LV_KEY_UP) {
|
||||||
lv_slider_set_value(slider, lv_slider_get_value(slider) + 1, LV_ANIM_ON);
|
if(!ext->left_knob_focus) lv_slider_set_value(slider, lv_slider_get_value(slider) + 1, LV_ANIM_ON);
|
||||||
|
else lv_slider_set_left_value(slider, lv_slider_get_left_value(slider) + 1, LV_ANIM_ON);
|
||||||
|
|
||||||
res = lv_event_send(slider, LV_EVENT_VALUE_CHANGED, NULL);
|
res = lv_event_send(slider, LV_EVENT_VALUE_CHANGED, NULL);
|
||||||
if(res != LV_RES_OK) return res;
|
if(res != LV_RES_OK) return res;
|
||||||
}
|
}
|
||||||
else if(c == LV_KEY_LEFT || c == LV_KEY_DOWN) {
|
else if(c == LV_KEY_LEFT || c == LV_KEY_DOWN) {
|
||||||
lv_slider_set_value(slider, lv_slider_get_value(slider) - 1, LV_ANIM_ON);
|
if(!ext->left_knob_focus) lv_slider_set_value(slider, lv_slider_get_value(slider) - 1, LV_ANIM_ON);
|
||||||
|
else lv_slider_set_left_value(slider, lv_slider_get_left_value(slider) - 1, LV_ANIM_ON);
|
||||||
|
|
||||||
res = lv_event_send(slider, LV_EVENT_VALUE_CHANGED, NULL);
|
res = lv_event_send(slider, LV_EVENT_VALUE_CHANGED, NULL);
|
||||||
if(res != LV_RES_OK) return res;
|
if(res != LV_RES_OK) return res;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ typedef struct {
|
|||||||
lv_area_t right_knob_area;
|
lv_area_t right_knob_area;
|
||||||
int16_t * value_to_set; /* Which bar value to set */
|
int16_t * value_to_set; /* Which bar value to set */
|
||||||
uint8_t dragging : 1; /*1: the slider is being dragged*/
|
uint8_t dragging : 1; /*1: the slider is being dragged*/
|
||||||
|
uint8_t left_knob_focus : 1; /*1: with encoder now the right knob can be adjusted*/
|
||||||
} lv_slider_ext_t;
|
} lv_slider_ext_t;
|
||||||
|
|
||||||
/** Built-in styles of slider*/
|
/** Built-in styles of slider*/
|
||||||
|
|||||||
@@ -467,6 +467,8 @@ void lv_table_set_cell_type(lv_obj_t * table, uint16_t row, uint16_t col, uint8_
|
|||||||
ext->cell_data[cell][0] = format.format_byte;
|
ext->cell_data[cell][0] = format.format_byte;
|
||||||
|
|
||||||
ext->cell_types |= 1 << type;
|
ext->cell_types |= 1 << type;
|
||||||
|
|
||||||
|
lv_obj_invalidate(table);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -715,8 +715,9 @@ void lv_textarea_set_pwd_mode(lv_obj_t * ta, bool en)
|
|||||||
lv_textarea_ext_t * ext = lv_obj_get_ext_attr(ta);
|
lv_textarea_ext_t * ext = lv_obj_get_ext_attr(ta);
|
||||||
if(ext->pwd_mode == en) return;
|
if(ext->pwd_mode == en) return;
|
||||||
|
|
||||||
|
ext->pwd_mode = en == false ? 0 : 1;
|
||||||
/*Pwd mode is now enabled*/
|
/*Pwd mode is now enabled*/
|
||||||
if(ext->pwd_mode == 0 && en != false) {
|
if(en != false) {
|
||||||
char * txt = lv_label_get_text(ext->label);
|
char * txt = lv_label_get_text(ext->label);
|
||||||
size_t len = strlen(txt);
|
size_t len = strlen(txt);
|
||||||
ext->pwd_tmp = lv_mem_alloc(len + 1);
|
ext->pwd_tmp = lv_mem_alloc(len + 1);
|
||||||
@@ -730,15 +731,13 @@ void lv_textarea_set_pwd_mode(lv_obj_t * ta, bool en)
|
|||||||
lv_textarea_clear_selection(ta);
|
lv_textarea_clear_selection(ta);
|
||||||
}
|
}
|
||||||
/*Pwd mode is now disabled*/
|
/*Pwd mode is now disabled*/
|
||||||
else if(ext->pwd_mode == 1 && en == false) {
|
else {
|
||||||
lv_textarea_clear_selection(ta);
|
lv_textarea_clear_selection(ta);
|
||||||
lv_label_set_text(ext->label, ext->pwd_tmp);
|
lv_label_set_text(ext->label, ext->pwd_tmp);
|
||||||
lv_mem_free(ext->pwd_tmp);
|
lv_mem_free(ext->pwd_tmp);
|
||||||
ext->pwd_tmp = NULL;
|
ext->pwd_tmp = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
ext->pwd_mode = en == false ? 0 : 1;
|
|
||||||
|
|
||||||
refr_cursor_area(ta);
|
refr_cursor_area(ta);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user