mirror of https://github.com/arendst/Tasmota.git
LVGL add screen support
This commit is contained in:
parent
be92738c57
commit
85a6ab797a
|
@ -9,6 +9,7 @@
|
||||||
#ifdef USE_LVGL
|
#ifdef USE_LVGL
|
||||||
|
|
||||||
#include "lvgl.h"
|
#include "lvgl.h"
|
||||||
|
#include "be_lvgl.h"
|
||||||
|
|
||||||
extern int lv0_member(bvm *vm); // resolve virtual members
|
extern int lv0_member(bvm *vm); // resolve virtual members
|
||||||
|
|
||||||
|
@ -21,13 +22,33 @@ extern int lv0_load_seg7_font(bvm *vm);
|
||||||
extern int lv0_load_font(bvm *vm);
|
extern int lv0_load_font(bvm *vm);
|
||||||
extern int lv0_load_freetype_font(bvm *vm);
|
extern int lv0_load_freetype_font(bvm *vm);
|
||||||
|
|
||||||
extern int lv0_scr_act(bvm *vm);
|
|
||||||
extern int lv0_layer_top(bvm *vm);
|
|
||||||
extern int lv0_layer_sys(bvm *vm);
|
|
||||||
extern int lv0_get_hor_res(bvm *vm);
|
|
||||||
extern int lv0_get_ver_res(bvm *vm);
|
|
||||||
extern int lv0_screenshot(bvm *vm);
|
extern int lv0_screenshot(bvm *vm);
|
||||||
|
|
||||||
|
static int lv_get_hor_res(void) {
|
||||||
|
return lv_disp_get_hor_res(lv_disp_get_default());
|
||||||
|
}
|
||||||
|
static int lv_get_ver_res(bvm *vm) {
|
||||||
|
return lv_disp_get_ver_res(lv_disp_get_default());
|
||||||
|
}
|
||||||
|
|
||||||
|
/* `lv` methods */
|
||||||
|
const lvbe_call_c_t lv_func[] = {
|
||||||
|
// resolution
|
||||||
|
{ "get_hor_res", (void*) &lv_get_hor_res, "i", "" },
|
||||||
|
{ "get_ver_res", (void*) &lv_get_ver_res, "i", "" },
|
||||||
|
|
||||||
|
// layers
|
||||||
|
{ "layer_sys", (void*) &lv_layer_sys, "lv_obj", "" },
|
||||||
|
{ "layer_top", (void*) &lv_layer_top, "lv_obj", "" },
|
||||||
|
|
||||||
|
// screens
|
||||||
|
{ "scr_act", (void*) &lv_scr_act, "lv_obj", "" },
|
||||||
|
{ "scr_load", (void*) &lv_scr_load, "", "(lv_obj)" },
|
||||||
|
{ "scr_load_anim", (void*) &lv_scr_load_anim, "", "(lv_obj)iiib" },
|
||||||
|
};
|
||||||
|
const size_t lv_func_size = sizeof(lv_func) / sizeof(lv_func[0]);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct lvbe_constant_t {
|
typedef struct lvbe_constant_t {
|
||||||
|
@ -37,392 +58,439 @@ typedef struct lvbe_constant_t {
|
||||||
|
|
||||||
const lvbe_constant_t lv0_constants[] = {
|
const lvbe_constant_t lv0_constants[] = {
|
||||||
|
|
||||||
{ "ALIGN_CENTER", 0 },
|
{ "ALIGN_CENTER", LV_ALIGN_CENTER },
|
||||||
{ "ALIGN_IN_BOTTOM_LEFT", 4 },
|
{ "ALIGN_IN_BOTTOM_LEFT", LV_ALIGN_IN_BOTTOM_LEFT },
|
||||||
{ "ALIGN_IN_BOTTOM_MID", 5 },
|
{ "ALIGN_IN_BOTTOM_MID", LV_ALIGN_IN_BOTTOM_MID },
|
||||||
{ "ALIGN_IN_BOTTOM_RIGHT", 6 },
|
{ "ALIGN_IN_BOTTOM_RIGHT", LV_ALIGN_IN_BOTTOM_RIGHT },
|
||||||
{ "ALIGN_IN_LEFT_MID", 7 },
|
{ "ALIGN_IN_LEFT_MID", LV_ALIGN_IN_LEFT_MID },
|
||||||
{ "ALIGN_IN_RIGHT_MID", 8 },
|
{ "ALIGN_IN_RIGHT_MID", LV_ALIGN_IN_RIGHT_MID },
|
||||||
{ "ALIGN_IN_TOP_LEFT", 1 },
|
{ "ALIGN_IN_TOP_LEFT", LV_ALIGN_IN_TOP_LEFT },
|
||||||
{ "ALIGN_IN_TOP_MID", 2 },
|
{ "ALIGN_IN_TOP_MID", LV_ALIGN_IN_TOP_MID },
|
||||||
{ "ALIGN_IN_TOP_RIGHT", 3 },
|
{ "ALIGN_IN_TOP_RIGHT", LV_ALIGN_IN_TOP_RIGHT },
|
||||||
{ "ALIGN_OUT_BOTTOM_LEFT", 12 },
|
{ "ALIGN_OUT_BOTTOM_LEFT", LV_ALIGN_OUT_BOTTOM_LEFT },
|
||||||
{ "ALIGN_OUT_BOTTOM_MID", 13 },
|
{ "ALIGN_OUT_BOTTOM_MID", LV_ALIGN_OUT_BOTTOM_MID },
|
||||||
{ "ALIGN_OUT_BOTTOM_RIGHT", 14 },
|
{ "ALIGN_OUT_BOTTOM_RIGHT", LV_ALIGN_OUT_BOTTOM_RIGHT },
|
||||||
{ "ALIGN_OUT_LEFT_BOTTOM", 17 },
|
{ "ALIGN_OUT_LEFT_BOTTOM", LV_ALIGN_OUT_LEFT_BOTTOM },
|
||||||
{ "ALIGN_OUT_LEFT_MID", 16 },
|
{ "ALIGN_OUT_LEFT_MID", LV_ALIGN_OUT_LEFT_MID },
|
||||||
{ "ALIGN_OUT_LEFT_TOP", 15 },
|
{ "ALIGN_OUT_LEFT_TOP", LV_ALIGN_OUT_LEFT_TOP },
|
||||||
{ "ALIGN_OUT_RIGHT_BOTTOM", 20 },
|
{ "ALIGN_OUT_RIGHT_BOTTOM", LV_ALIGN_OUT_RIGHT_BOTTOM },
|
||||||
{ "ALIGN_OUT_RIGHT_MID", 19 },
|
{ "ALIGN_OUT_RIGHT_MID", LV_ALIGN_OUT_RIGHT_MID },
|
||||||
{ "ALIGN_OUT_RIGHT_TOP", 18 },
|
{ "ALIGN_OUT_RIGHT_TOP", LV_ALIGN_OUT_RIGHT_TOP },
|
||||||
{ "ALIGN_OUT_TOP_LEFT", 9 },
|
{ "ALIGN_OUT_TOP_LEFT", LV_ALIGN_OUT_TOP_LEFT },
|
||||||
{ "ALIGN_OUT_TOP_MID", 10 },
|
{ "ALIGN_OUT_TOP_MID", LV_ALIGN_OUT_TOP_MID },
|
||||||
{ "ALIGN_OUT_TOP_RIGHT", 11 },
|
{ "ALIGN_OUT_TOP_RIGHT", LV_ALIGN_OUT_TOP_RIGHT },
|
||||||
{ "ANIM_OFF", 0 },
|
{ "ANIM_OFF", LV_ANIM_OFF },
|
||||||
{ "ANIM_ON", 1 },
|
{ "ANIM_ON", LV_ANIM_ON },
|
||||||
{ "AQUA", 65535 },
|
{ "AQUA", 65535 },
|
||||||
{ "ARC_PART_BG", 0 },
|
{ "ARC_PART_BG", LV_ARC_PART_BG },
|
||||||
{ "ARC_PART_INDIC", 1 },
|
{ "ARC_PART_INDIC", LV_ARC_PART_INDIC },
|
||||||
{ "ARC_PART_KNOB", 2 },
|
{ "ARC_PART_KNOB", LV_ARC_PART_KNOB },
|
||||||
{ "ARC_TYPE_NORMAL", 0 },
|
{ "ARC_TYPE_NORMAL", LV_ARC_TYPE_NORMAL },
|
||||||
{ "ARC_TYPE_REVERSE", 2 },
|
{ "ARC_TYPE_REVERSE", LV_ARC_TYPE_REVERSE },
|
||||||
{ "ARC_TYPE_SYMMETRIC", 1 },
|
{ "ARC_TYPE_SYMMETRIC", LV_ARC_TYPE_SYMMETRIC },
|
||||||
{ "BAR_TYPE_CUSTOM", 2 },
|
{ "BAR_TYPE_CUSTOM", LV_BAR_TYPE_CUSTOM },
|
||||||
{ "BAR_TYPE_NORMAL", 0 },
|
{ "BAR_TYPE_NORMAL", LV_BAR_TYPE_NORMAL },
|
||||||
{ "BAR_TYPE_SYMMETRICAL", 1 },
|
{ "BAR_TYPE_SYMMETRICAL", LV_BAR_TYPE_SYMMETRICAL },
|
||||||
{ "BLACK", 0 },
|
{ "BLACK", 0 },
|
||||||
{ "BLEND_MODE_ADDITIVE", 1 },
|
{ "BLEND_MODE_ADDITIVE", LV_BLEND_MODE_ADDITIVE },
|
||||||
{ "BLEND_MODE_NORMAL", 0 },
|
{ "BLEND_MODE_NORMAL", LV_BLEND_MODE_NORMAL },
|
||||||
{ "BLEND_MODE_SUBTRACTIVE", 2 },
|
{ "BLEND_MODE_SUBTRACTIVE", LV_BLEND_MODE_SUBTRACTIVE },
|
||||||
{ "BLUE", 255 },
|
{ "BLUE", 255 },
|
||||||
{ "BORDER_SIDE_BOTTOM", 1 },
|
{ "BORDER_SIDE_BOTTOM", LV_BORDER_SIDE_BOTTOM },
|
||||||
{ "BORDER_SIDE_FULL", 15 },
|
{ "BORDER_SIDE_FULL", LV_BORDER_SIDE_FULL },
|
||||||
{ "BORDER_SIDE_INTERNAL", 16 },
|
{ "BORDER_SIDE_INTERNAL", LV_BORDER_SIDE_INTERNAL },
|
||||||
{ "BORDER_SIDE_LEFT", 4 },
|
{ "BORDER_SIDE_LEFT", LV_BORDER_SIDE_LEFT },
|
||||||
{ "BORDER_SIDE_NONE", 0 },
|
{ "BORDER_SIDE_NONE", LV_BORDER_SIDE_NONE },
|
||||||
{ "BORDER_SIDE_RIGHT", 8 },
|
{ "BORDER_SIDE_RIGHT", LV_BORDER_SIDE_RIGHT },
|
||||||
{ "BORDER_SIDE_TOP", 2 },
|
{ "BORDER_SIDE_TOP", LV_BORDER_SIDE_TOP },
|
||||||
{ "BTNMATRIX_CTRL_CHECKABLE", 64 },
|
{ "BTNMATRIX_CTRL_CHECKABLE", LV_BTNMATRIX_CTRL_CHECKABLE },
|
||||||
{ "BTNMATRIX_CTRL_CHECK_STATE", 128 },
|
{ "BTNMATRIX_CTRL_CHECK_STATE", LV_BTNMATRIX_CTRL_CHECK_STATE },
|
||||||
{ "BTNMATRIX_CTRL_CLICK_TRIG", 256 },
|
{ "BTNMATRIX_CTRL_CLICK_TRIG", LV_BTNMATRIX_CTRL_CLICK_TRIG },
|
||||||
{ "BTNMATRIX_CTRL_DISABLED", 32 },
|
{ "BTNMATRIX_CTRL_DISABLED", LV_BTNMATRIX_CTRL_DISABLED },
|
||||||
{ "BTNMATRIX_CTRL_HIDDEN", 8 },
|
{ "BTNMATRIX_CTRL_HIDDEN", LV_BTNMATRIX_CTRL_HIDDEN },
|
||||||
{ "BTNMATRIX_CTRL_NO_REPEAT", 16 },
|
{ "BTNMATRIX_CTRL_NO_REPEAT", LV_BTNMATRIX_CTRL_NO_REPEAT },
|
||||||
{ "BTN_STATE_CHECKED_DISABLED", 5 },
|
{ "BTN_STATE_CHECKED_DISABLED", LV_BTN_STATE_CHECKED_DISABLED },
|
||||||
{ "BTN_STATE_CHECKED_PRESSED", 4 },
|
{ "BTN_STATE_CHECKED_PRESSED", LV_BTN_STATE_CHECKED_PRESSED },
|
||||||
{ "BTN_STATE_CHECKED_RELEASED", 3 },
|
{ "BTN_STATE_CHECKED_RELEASED", LV_BTN_STATE_CHECKED_RELEASED },
|
||||||
{ "BTN_STATE_DISABLED", 2 },
|
{ "BTN_STATE_DISABLED", LV_BTN_STATE_DISABLED },
|
||||||
{ "BTN_STATE_PRESSED", 1 },
|
{ "BTN_STATE_PRESSED", LV_BTN_STATE_PRESSED },
|
||||||
{ "BTN_STATE_RELEASED", 0 },
|
{ "BTN_STATE_RELEASED", LV_BTN_STATE_RELEASED },
|
||||||
{ "CALENDAR_PART_BG", 0 },
|
{ "CALENDAR_PART_BG", LV_CALENDAR_PART_BG },
|
||||||
{ "CALENDAR_PART_DATE", 3 },
|
{ "CALENDAR_PART_DATE", LV_CALENDAR_PART_DATE },
|
||||||
{ "CALENDAR_PART_DAY_NAMES", 2 },
|
{ "CALENDAR_PART_DAY_NAMES", LV_CALENDAR_PART_DAY_NAMES },
|
||||||
{ "CALENDAR_PART_HEADER", 1 },
|
{ "CALENDAR_PART_HEADER", LV_CALENDAR_PART_HEADER },
|
||||||
{ "CHART_AXIS_DRAW_LAST_TICK", 1 },
|
{ "CHART_AXIS_DRAW_LAST_TICK", LV_CHART_AXIS_DRAW_LAST_TICK },
|
||||||
{ "CHART_AXIS_INVERSE_LABELS_ORDER", 2 },
|
{ "CHART_AXIS_INVERSE_LABELS_ORDER", LV_CHART_AXIS_INVERSE_LABELS_ORDER },
|
||||||
{ "CHART_AXIS_PRIMARY_Y", 0 },
|
{ "CHART_AXIS_PRIMARY_Y", LV_CHART_AXIS_PRIMARY_Y },
|
||||||
{ "CHART_AXIS_SECONDARY_Y", 1 },
|
{ "CHART_AXIS_SECONDARY_Y", LV_CHART_AXIS_SECONDARY_Y },
|
||||||
{ "CHART_AXIS_SKIP_LAST_TICK", 0 },
|
{ "CHART_AXIS_SKIP_LAST_TICK", LV_CHART_AXIS_SKIP_LAST_TICK },
|
||||||
{ "CHART_CURSOR_DOWN", 8 },
|
{ "CHART_CURSOR_DOWN", LV_CHART_CURSOR_DOWN },
|
||||||
{ "CHART_CURSOR_LEFT", 4 },
|
{ "CHART_CURSOR_LEFT", LV_CHART_CURSOR_LEFT },
|
||||||
{ "CHART_CURSOR_NONE", 0 },
|
{ "CHART_CURSOR_NONE", LV_CHART_CURSOR_NONE },
|
||||||
{ "CHART_CURSOR_RIGHT", 1 },
|
{ "CHART_CURSOR_RIGHT", LV_CHART_CURSOR_RIGHT },
|
||||||
{ "CHART_CURSOR_UP", 2 },
|
{ "CHART_CURSOR_UP", LV_CHART_CURSOR_UP },
|
||||||
{ "CHART_PART_BG", 0 },
|
{ "CHART_PART_BG", LV_CHART_PART_BG },
|
||||||
{ "CHART_PART_CURSOR", 3 },
|
{ "CHART_PART_CURSOR", LV_CHART_PART_CURSOR },
|
||||||
{ "CHART_PART_SERIES", 2 },
|
{ "CHART_PART_SERIES", LV_CHART_PART_SERIES },
|
||||||
{ "CHART_PART_SERIES_BG", 1 },
|
{ "CHART_PART_SERIES_BG", LV_CHART_PART_SERIES_BG },
|
||||||
{ "CHART_TYPE_COLUMN", 2 },
|
{ "CHART_TYPE_COLUMN", LV_CHART_TYPE_COLUMN },
|
||||||
{ "CHART_TYPE_LINE", 1 },
|
{ "CHART_TYPE_LINE", LV_CHART_TYPE_LINE },
|
||||||
{ "CHART_TYPE_NONE", 0 },
|
{ "CHART_TYPE_NONE", LV_CHART_TYPE_NONE },
|
||||||
{ "CHART_UPDATE_MODE_CIRCULAR", 1 },
|
{ "CHART_UPDATE_MODE_CIRCULAR", LV_CHART_UPDATE_MODE_CIRCULAR },
|
||||||
{ "CHART_UPDATE_MODE_SHIFT", 0 },
|
{ "CHART_UPDATE_MODE_SHIFT", LV_CHART_UPDATE_MODE_SHIFT },
|
||||||
{ "CHECKBOX_PART_BG", 0 },
|
{ "CHECKBOX_PART_BG", LV_CHECKBOX_PART_BG },
|
||||||
{ "CHECKBOX_PART_BULLET", 64 },
|
{ "CHECKBOX_PART_BULLET", LV_CHECKBOX_PART_BULLET },
|
||||||
{ "CPICKER_COLOR_MODE_HUE", 0 },
|
{ "CPICKER_COLOR_MODE_HUE", LV_CPICKER_COLOR_MODE_HUE },
|
||||||
{ "CPICKER_COLOR_MODE_SATURATION", 1 },
|
{ "CPICKER_COLOR_MODE_SATURATION", LV_CPICKER_COLOR_MODE_SATURATION },
|
||||||
{ "CPICKER_COLOR_MODE_VALUE", 2 },
|
{ "CPICKER_COLOR_MODE_VALUE", LV_CPICKER_COLOR_MODE_VALUE },
|
||||||
{ "CPICKER_PART_KNOB", 1 },
|
{ "CPICKER_PART_KNOB", LV_CPICKER_PART_KNOB },
|
||||||
{ "CPICKER_PART_MAIN", 0 },
|
{ "CPICKER_PART_MAIN", LV_CPICKER_PART_MAIN },
|
||||||
{ "CPICKER_TYPE_DISC", 1 },
|
{ "CPICKER_TYPE_DISC", LV_CPICKER_TYPE_DISC },
|
||||||
{ "CPICKER_TYPE_RECT", 0 },
|
{ "CPICKER_TYPE_RECT", LV_CPICKER_TYPE_RECT },
|
||||||
{ "CYAN", 65535 },
|
{ "CYAN", 65535 },
|
||||||
{ "DISP_ROT_180", 2 },
|
{ "DISP_ROT_180", LV_DISP_ROT_180 },
|
||||||
{ "DISP_ROT_270", 3 },
|
{ "DISP_ROT_270", LV_DISP_ROT_270 },
|
||||||
{ "DISP_ROT_90", 1 },
|
{ "DISP_ROT_90", LV_DISP_ROT_90 },
|
||||||
{ "DISP_ROT_NONE", 0 },
|
{ "DISP_ROT_NONE", LV_DISP_ROT_NONE },
|
||||||
{ "DISP_SIZE_EXTRA_LARGE", 3 },
|
{ "DISP_SIZE_EXTRA_LARGE", LV_DISP_SIZE_EXTRA_LARGE },
|
||||||
{ "DISP_SIZE_LARGE", 2 },
|
{ "DISP_SIZE_LARGE", LV_DISP_SIZE_LARGE },
|
||||||
{ "DISP_SIZE_MEDIUM", 1 },
|
{ "DISP_SIZE_MEDIUM", LV_DISP_SIZE_MEDIUM },
|
||||||
{ "DISP_SIZE_SMALL", 0 },
|
{ "DISP_SIZE_SMALL", LV_DISP_SIZE_SMALL },
|
||||||
{ "DRAG_DIR_BOTH", 3 },
|
{ "DRAG_DIR_BOTH", LV_DRAG_DIR_BOTH },
|
||||||
{ "DRAG_DIR_HOR", 1 },
|
{ "DRAG_DIR_HOR", LV_DRAG_DIR_HOR },
|
||||||
{ "DRAG_DIR_ONE", 4 },
|
{ "DRAG_DIR_ONE", LV_DRAG_DIR_ONE },
|
||||||
{ "DRAG_DIR_VER", 2 },
|
{ "DRAG_DIR_VER", LV_DRAG_DIR_VER },
|
||||||
{ "DROPDOWN_DIR_DOWN", 0 },
|
{ "DROPDOWN_DIR_DOWN", LV_DROPDOWN_DIR_DOWN },
|
||||||
{ "DROPDOWN_DIR_LEFT", 2 },
|
{ "DROPDOWN_DIR_LEFT", LV_DROPDOWN_DIR_LEFT },
|
||||||
{ "DROPDOWN_DIR_RIGHT", 3 },
|
{ "DROPDOWN_DIR_RIGHT", LV_DROPDOWN_DIR_RIGHT },
|
||||||
{ "DROPDOWN_DIR_UP", 1 },
|
{ "DROPDOWN_DIR_UP", LV_DROPDOWN_DIR_UP },
|
||||||
{ "DROPDOWN_PART_LIST", 64 },
|
{ "DROPDOWN_PART_LIST", LV_DROPDOWN_PART_LIST },
|
||||||
{ "DROPDOWN_PART_MAIN", 0 },
|
{ "DROPDOWN_PART_MAIN", LV_DROPDOWN_PART_MAIN },
|
||||||
{ "DROPDOWN_PART_SCROLLBAR", 65 },
|
{ "DROPDOWN_PART_SCROLLBAR", LV_DROPDOWN_PART_SCROLLBAR },
|
||||||
{ "DROPDOWN_PART_SELECTED", 66 },
|
{ "DROPDOWN_PART_SELECTED", LV_DROPDOWN_PART_SELECTED },
|
||||||
{ "EVENT_APPLY", 19 },
|
{ "EVENT_APPLY", LV_EVENT_APPLY },
|
||||||
{ "EVENT_CANCEL", 20 },
|
{ "EVENT_CANCEL", LV_EVENT_CANCEL },
|
||||||
{ "EVENT_CLICKED", 6 },
|
{ "EVENT_CLICKED", LV_EVENT_CLICKED },
|
||||||
{ "EVENT_DEFOCUSED", 14 },
|
{ "EVENT_DEFOCUSED", LV_EVENT_DEFOCUSED },
|
||||||
{ "EVENT_DELETE", 21 },
|
{ "EVENT_DELETE", LV_EVENT_DELETE },
|
||||||
{ "EVENT_DRAG_BEGIN", 8 },
|
{ "EVENT_DRAG_BEGIN", LV_EVENT_DRAG_BEGIN },
|
||||||
{ "EVENT_DRAG_END", 9 },
|
{ "EVENT_DRAG_END", LV_EVENT_DRAG_END },
|
||||||
{ "EVENT_DRAG_THROW_BEGIN", 10 },
|
{ "EVENT_DRAG_THROW_BEGIN", LV_EVENT_DRAG_THROW_BEGIN },
|
||||||
{ "EVENT_FOCUSED", 13 },
|
{ "EVENT_FOCUSED", LV_EVENT_FOCUSED },
|
||||||
{ "EVENT_GESTURE", 11 },
|
{ "EVENT_GESTURE", LV_EVENT_GESTURE },
|
||||||
{ "EVENT_INSERT", 17 },
|
{ "EVENT_INSERT", LV_EVENT_INSERT },
|
||||||
{ "EVENT_KEY", 12 },
|
{ "EVENT_KEY", LV_EVENT_KEY },
|
||||||
{ "EVENT_LEAVE", 15 },
|
{ "EVENT_LEAVE", LV_EVENT_LEAVE },
|
||||||
{ "EVENT_LONG_PRESSED", 4 },
|
{ "EVENT_LONG_PRESSED", LV_EVENT_LONG_PRESSED },
|
||||||
{ "EVENT_LONG_PRESSED_REPEAT", 5 },
|
{ "EVENT_LONG_PRESSED_REPEAT", LV_EVENT_LONG_PRESSED_REPEAT },
|
||||||
{ "EVENT_PRESSED", 0 },
|
{ "EVENT_PRESSED", LV_EVENT_PRESSED },
|
||||||
{ "EVENT_PRESSING", 1 },
|
{ "EVENT_PRESSING", LV_EVENT_PRESSING },
|
||||||
{ "EVENT_PRESS_LOST", 2 },
|
{ "EVENT_PRESS_LOST", LV_EVENT_PRESS_LOST },
|
||||||
{ "EVENT_REFRESH", 18 },
|
{ "EVENT_REFRESH", LV_EVENT_REFRESH },
|
||||||
{ "EVENT_RELEASED", 7 },
|
{ "EVENT_RELEASED", LV_EVENT_RELEASED },
|
||||||
{ "EVENT_SHORT_CLICKED", 3 },
|
{ "EVENT_SHORT_CLICKED", LV_EVENT_SHORT_CLICKED },
|
||||||
{ "EVENT_VALUE_CHANGED", 16 },
|
{ "EVENT_VALUE_CHANGED", LV_EVENT_VALUE_CHANGED },
|
||||||
{ "FIT_MAX", 3 },
|
{ "FIT_MAX", LV_FIT_MAX },
|
||||||
{ "FIT_NONE", 0 },
|
{ "FIT_NONE", LV_FIT_NONE },
|
||||||
{ "FIT_PARENT", 2 },
|
{ "FIT_PARENT", LV_FIT_PARENT },
|
||||||
{ "FIT_TIGHT", 1 },
|
{ "FIT_TIGHT", LV_FIT_TIGHT },
|
||||||
{ "FS_MODE_RD", 2 },
|
{ "FS_MODE_RD", LV_FS_MODE_RD },
|
||||||
{ "FS_MODE_WR", 1 },
|
{ "FS_MODE_WR", LV_FS_MODE_WR },
|
||||||
{ "FS_RES_BUSY", 7 },
|
{ "FS_RES_BUSY", LV_FS_RES_BUSY },
|
||||||
{ "FS_RES_DENIED", 6 },
|
{ "FS_RES_DENIED", LV_FS_RES_DENIED },
|
||||||
{ "FS_RES_FS_ERR", 2 },
|
{ "FS_RES_FS_ERR", LV_FS_RES_FS_ERR },
|
||||||
{ "FS_RES_FULL", 4 },
|
{ "FS_RES_FULL", LV_FS_RES_FULL },
|
||||||
{ "FS_RES_HW_ERR", 1 },
|
{ "FS_RES_HW_ERR", LV_FS_RES_HW_ERR },
|
||||||
{ "FS_RES_INV_PARAM", 11 },
|
{ "FS_RES_INV_PARAM", LV_FS_RES_INV_PARAM },
|
||||||
{ "FS_RES_LOCKED", 5 },
|
{ "FS_RES_LOCKED", LV_FS_RES_LOCKED },
|
||||||
{ "FS_RES_NOT_EX", 3 },
|
{ "FS_RES_NOT_EX", LV_FS_RES_NOT_EX },
|
||||||
{ "FS_RES_NOT_IMP", 9 },
|
{ "FS_RES_NOT_IMP", LV_FS_RES_NOT_IMP },
|
||||||
{ "FS_RES_OK", 0 },
|
{ "FS_RES_OK", LV_FS_RES_OK },
|
||||||
{ "FS_RES_OUT_OF_MEM", 10 },
|
{ "FS_RES_OUT_OF_MEM", LV_FS_RES_OUT_OF_MEM },
|
||||||
{ "FS_RES_TOUT", 8 },
|
{ "FS_RES_TOUT", LV_FS_RES_TOUT },
|
||||||
{ "FS_RES_UNKNOWN", 12 },
|
{ "FS_RES_UNKNOWN", LV_FS_RES_UNKNOWN },
|
||||||
{ "GAUGE_PART_MAIN", 0 },
|
{ "GAUGE_PART_MAIN", LV_GAUGE_PART_MAIN },
|
||||||
{ "GAUGE_PART_MAJOR", 1 },
|
{ "GAUGE_PART_MAJOR", LV_GAUGE_PART_MAJOR },
|
||||||
{ "GAUGE_PART_NEEDLE", 2 },
|
{ "GAUGE_PART_NEEDLE", LV_GAUGE_PART_NEEDLE },
|
||||||
{ "GESTURE_DIR_BOTTOM", 1 },
|
{ "GESTURE_DIR_BOTTOM", LV_GESTURE_DIR_BOTTOM },
|
||||||
{ "GESTURE_DIR_LEFT", 2 },
|
{ "GESTURE_DIR_LEFT", LV_GESTURE_DIR_LEFT },
|
||||||
{ "GESTURE_DIR_RIGHT", 3 },
|
{ "GESTURE_DIR_RIGHT", LV_GESTURE_DIR_RIGHT },
|
||||||
{ "GESTURE_DIR_TOP", 0 },
|
{ "GESTURE_DIR_TOP", LV_GESTURE_DIR_TOP },
|
||||||
{ "GRAD_DIR_HOR", 2 },
|
{ "GRAD_DIR_HOR", LV_GRAD_DIR_HOR },
|
||||||
{ "GRAD_DIR_NONE", 0 },
|
{ "GRAD_DIR_NONE", LV_GRAD_DIR_NONE },
|
||||||
{ "GRAD_DIR_VER", 1 },
|
{ "GRAD_DIR_VER", LV_GRAD_DIR_VER },
|
||||||
{ "GRAY", 8421504 },
|
{ "GRAY", 8421504 },
|
||||||
{ "GREEN", 32768 },
|
{ "GREEN", 32768 },
|
||||||
{ "INDEV_STATE_PR", 1 },
|
{ "INDEV_STATE_PR", LV_INDEV_STATE_PR },
|
||||||
{ "INDEV_STATE_REL", 0 },
|
{ "INDEV_STATE_REL", LV_INDEV_STATE_REL },
|
||||||
{ "KEYBOARD_MODE_NUM", 3 },
|
{ "KEYBOARD_MODE_NUM", LV_KEYBOARD_MODE_NUM },
|
||||||
{ "KEYBOARD_MODE_SPECIAL", 2 },
|
{ "KEYBOARD_MODE_SPECIAL", LV_KEYBOARD_MODE_SPECIAL },
|
||||||
{ "KEYBOARD_MODE_TEXT_LOWER", 0 },
|
{ "KEYBOARD_MODE_TEXT_LOWER", LV_KEYBOARD_MODE_TEXT_LOWER },
|
||||||
{ "KEYBOARD_MODE_TEXT_UPPER", 1 },
|
{ "KEYBOARD_MODE_TEXT_UPPER", LV_KEYBOARD_MODE_TEXT_UPPER },
|
||||||
{ "KEYBOARD_PART_BG", 0 },
|
{ "KEYBOARD_PART_BG", LV_KEYBOARD_PART_BG },
|
||||||
{ "KEYBOARD_PART_BTN", 1 },
|
{ "KEYBOARD_PART_BTN", LV_KEYBOARD_PART_BTN },
|
||||||
{ "KEY_BACKSPACE", 8 },
|
{ "KEY_BACKSPACE", LV_KEY_BACKSPACE },
|
||||||
{ "KEY_DEL", 127 },
|
{ "KEY_DEL", LV_KEY_DEL },
|
||||||
{ "KEY_DOWN", 18 },
|
{ "KEY_DOWN", LV_KEY_DOWN },
|
||||||
{ "KEY_END", 3 },
|
{ "KEY_END", LV_KEY_END },
|
||||||
{ "KEY_ENTER", 10 },
|
{ "KEY_ENTER", LV_KEY_ENTER },
|
||||||
{ "KEY_ESC", 27 },
|
{ "KEY_ESC", LV_KEY_ESC },
|
||||||
{ "KEY_HOME", 2 },
|
{ "KEY_HOME", LV_KEY_HOME },
|
||||||
{ "KEY_LEFT", 20 },
|
{ "KEY_LEFT", LV_KEY_LEFT },
|
||||||
{ "KEY_NEXT", 9 },
|
{ "KEY_NEXT", LV_KEY_NEXT },
|
||||||
{ "KEY_PREV", 11 },
|
{ "KEY_PREV", LV_KEY_PREV },
|
||||||
{ "KEY_RIGHT", 19 },
|
{ "KEY_RIGHT", LV_KEY_RIGHT },
|
||||||
{ "KEY_UP", 17 },
|
{ "KEY_UP", LV_KEY_UP },
|
||||||
{ "LABEL_ALIGN_AUTO", 3 },
|
{ "LABEL_ALIGN_AUTO", LV_LABEL_ALIGN_AUTO },
|
||||||
{ "LABEL_ALIGN_CENTER", 1 },
|
{ "LABEL_ALIGN_CENTER", LV_LABEL_ALIGN_CENTER },
|
||||||
{ "LABEL_ALIGN_LEFT", 0 },
|
{ "LABEL_ALIGN_LEFT", LV_LABEL_ALIGN_LEFT },
|
||||||
{ "LABEL_ALIGN_RIGHT", 2 },
|
{ "LABEL_ALIGN_RIGHT", LV_LABEL_ALIGN_RIGHT },
|
||||||
{ "LABEL_LONG_BREAK", 1 },
|
{ "LABEL_LONG_BREAK", LV_LABEL_LONG_BREAK },
|
||||||
{ "LABEL_LONG_CROP", 5 },
|
{ "LABEL_LONG_CROP", LV_LABEL_LONG_CROP },
|
||||||
{ "LABEL_LONG_DOT", 2 },
|
{ "LABEL_LONG_DOT", LV_LABEL_LONG_DOT },
|
||||||
{ "LABEL_LONG_EXPAND", 0 },
|
{ "LABEL_LONG_EXPAND", LV_LABEL_LONG_EXPAND },
|
||||||
{ "LABEL_LONG_SROLL", 3 },
|
{ "LABEL_LONG_SROLL", LV_LABEL_LONG_SROLL },
|
||||||
{ "LABEL_LONG_SROLL_CIRC", 4 },
|
{ "LABEL_LONG_SROLL_CIRC", LV_LABEL_LONG_SROLL_CIRC },
|
||||||
{ "LAYOUT_CENTER", 1 },
|
{ "LAYOUT_CENTER", LV_LAYOUT_CENTER },
|
||||||
{ "LAYOUT_COLUMN_LEFT", 2 },
|
{ "LAYOUT_COLUMN_LEFT", LV_LAYOUT_COLUMN_LEFT },
|
||||||
{ "LAYOUT_COLUMN_MID", 3 },
|
{ "LAYOUT_COLUMN_MID", LV_LAYOUT_COLUMN_MID },
|
||||||
{ "LAYOUT_COLUMN_RIGHT", 4 },
|
{ "LAYOUT_COLUMN_RIGHT", LV_LAYOUT_COLUMN_RIGHT },
|
||||||
{ "LAYOUT_GRID", 11 },
|
{ "LAYOUT_GRID", LV_LAYOUT_GRID },
|
||||||
{ "LAYOUT_OFF", 0 },
|
{ "LAYOUT_OFF", LV_LAYOUT_OFF },
|
||||||
{ "LAYOUT_PRETTY_BOTTOM", 10 },
|
{ "LAYOUT_PRETTY_BOTTOM", LV_LAYOUT_PRETTY_BOTTOM },
|
||||||
{ "LAYOUT_PRETTY_MID", 9 },
|
{ "LAYOUT_PRETTY_MID", LV_LAYOUT_PRETTY_MID },
|
||||||
{ "LAYOUT_PRETTY_TOP", 8 },
|
{ "LAYOUT_PRETTY_TOP", LV_LAYOUT_PRETTY_TOP },
|
||||||
{ "LAYOUT_ROW_BOTTOM", 7 },
|
{ "LAYOUT_ROW_BOTTOM", LV_LAYOUT_ROW_BOTTOM },
|
||||||
{ "LAYOUT_ROW_MID", 6 },
|
{ "LAYOUT_ROW_MID", LV_LAYOUT_ROW_MID },
|
||||||
{ "LAYOUT_ROW_TOP", 5 },
|
{ "LAYOUT_ROW_TOP", LV_LAYOUT_ROW_TOP },
|
||||||
{ "LED_PART_MAIN", 0 },
|
{ "LED_PART_MAIN", LV_LED_PART_MAIN },
|
||||||
{ "LIME", 65280 },
|
{ "LIME", 65280 },
|
||||||
{ "LINEMETER_PART_MAIN", 0 },
|
{ "LINEMETER_PART_MAIN", LV_LINEMETER_PART_MAIN },
|
||||||
{ "LIST_PART_BG", 0 },
|
{ "LIST_PART_BG", LV_LIST_PART_BG },
|
||||||
{ "LIST_PART_EDGE_FLASH", 2 },
|
{ "LIST_PART_EDGE_FLASH", LV_LIST_PART_EDGE_FLASH },
|
||||||
{ "LIST_PART_SCROLLBAR", 1 },
|
{ "LIST_PART_SCROLLBAR", LV_LIST_PART_SCROLLBAR },
|
||||||
{ "MAGENTA", 16711935 },
|
{ "MAGENTA", 16711935 },
|
||||||
{ "MAROON", 8388608 },
|
{ "MAROON", 8388608 },
|
||||||
|
{ "MSGBOX_PART_BG", LV_MSGBOX_PART_BG },
|
||||||
|
{ "MSGBOX_PART_BTN", LV_MSGBOX_PART_BTN },
|
||||||
|
{ "MSGBOX_PART_BTN_BG", LV_MSGBOX_PART_BTN_BG },
|
||||||
{ "NAVY", 128 },
|
{ "NAVY", 128 },
|
||||||
{ "OBJMASK_PART_MAIN", 0 },
|
{ "OBJMASK_PART_MAIN", LV_OBJMASK_PART_MAIN },
|
||||||
{ "OBJ_PART_ALL", 255 },
|
{ "OBJ_PART_ALL", LV_OBJ_PART_ALL },
|
||||||
{ "OBJ_PART_MAIN", 0 },
|
{ "OBJ_PART_MAIN", LV_OBJ_PART_MAIN },
|
||||||
{ "OBJ_PART_REAL_FIRST", 64 },
|
|
||||||
{ "OBJ_PART_VIRTUAL_FIRST", 1 },
|
|
||||||
{ "OLIVE", 8421376 },
|
{ "OLIVE", 8421376 },
|
||||||
{ "OPA_0", 0 },
|
{ "OPA_0", LV_OPA_0 },
|
||||||
{ "OPA_10", 25 },
|
{ "OPA_10", LV_OPA_10 },
|
||||||
{ "OPA_100", 255 },
|
{ "OPA_100", LV_OPA_100 },
|
||||||
{ "OPA_20", 51 },
|
{ "OPA_20", LV_OPA_20 },
|
||||||
{ "OPA_30", 76 },
|
{ "OPA_30", LV_OPA_30 },
|
||||||
{ "OPA_40", 102 },
|
{ "OPA_40", LV_OPA_40 },
|
||||||
{ "OPA_50", 127 },
|
{ "OPA_50", LV_OPA_50 },
|
||||||
{ "OPA_60", 153 },
|
{ "OPA_60", LV_OPA_60 },
|
||||||
{ "OPA_70", 178 },
|
{ "OPA_70", LV_OPA_70 },
|
||||||
{ "OPA_80", 204 },
|
{ "OPA_80", LV_OPA_80 },
|
||||||
{ "OPA_90", 229 },
|
{ "OPA_90", LV_OPA_90 },
|
||||||
{ "OPA_COVER", 255 },
|
{ "OPA_COVER", LV_OPA_COVER },
|
||||||
{ "OPA_TRANSP", 0 },
|
{ "OPA_TRANSP", LV_OPA_TRANSP },
|
||||||
{ "PAGE_EDGE_BOTTOM", 8 },
|
{ "PAGE_EDGE_BOTTOM", LV_PAGE_EDGE_BOTTOM },
|
||||||
{ "PAGE_EDGE_LEFT", 1 },
|
{ "PAGE_EDGE_LEFT", LV_PAGE_EDGE_LEFT },
|
||||||
{ "PAGE_EDGE_RIGHT", 4 },
|
{ "PAGE_EDGE_RIGHT", LV_PAGE_EDGE_RIGHT },
|
||||||
{ "PAGE_EDGE_TOP", 2 },
|
{ "PAGE_EDGE_TOP", LV_PAGE_EDGE_TOP },
|
||||||
{ "PROTECT_CHILD_CHG", 1 },
|
{ "PAGE_PART_BG", LV_PAGE_PART_BG },
|
||||||
{ "PROTECT_CLICK_FOCUS", 32 },
|
{ "PAGE_PART_EDGE_FLASH", LV_PAGE_PART_EDGE_FLASH },
|
||||||
{ "PROTECT_EVENT_TO_DISABLED", 64 },
|
{ "PAGE_PART_SCROLLABLE", LV_PAGE_PART_SCROLLABLE },
|
||||||
{ "PROTECT_FOLLOW", 8 },
|
{ "PAGE_PART_SCROLLBAR", LV_PAGE_PART_SCROLLBAR },
|
||||||
{ "PROTECT_NONE", 0 },
|
{ "PROTECT_CHILD_CHG", LV_PROTECT_CHILD_CHG },
|
||||||
{ "PROTECT_PARENT", 2 },
|
{ "PROTECT_CLICK_FOCUS", LV_PROTECT_CLICK_FOCUS },
|
||||||
{ "PROTECT_POS", 4 },
|
{ "PROTECT_EVENT_TO_DISABLED", LV_PROTECT_EVENT_TO_DISABLED },
|
||||||
{ "PROTECT_PRESS_LOST", 16 },
|
{ "PROTECT_FOLLOW", LV_PROTECT_FOLLOW },
|
||||||
|
{ "PROTECT_NONE", LV_PROTECT_NONE },
|
||||||
|
{ "PROTECT_PARENT", LV_PROTECT_PARENT },
|
||||||
|
{ "PROTECT_POS", LV_PROTECT_POS },
|
||||||
|
{ "PROTECT_PRESS_LOST", LV_PROTECT_PRESS_LOST },
|
||||||
{ "PURPLE", 8388736 },
|
{ "PURPLE", 8388736 },
|
||||||
{ "RED", 16711680 },
|
{ "RED", 16711680 },
|
||||||
{ "ROLLER_MODE_INFINITE", 1 },
|
{ "ROLLER_MODE_INFINITE", LV_ROLLER_MODE_INFINITE },
|
||||||
{ "ROLLER_MODE_NORMAL", 0 },
|
{ "ROLLER_MODE_NORMAL", LV_ROLLER_MODE_NORMAL },
|
||||||
{ "SCROLLBAR_MODE_AUTO", 3 },
|
{ "ROLLER_PART_BG", LV_ROLLER_PART_BG },
|
||||||
{ "SCROLLBAR_MODE_DRAG", 2 },
|
{ "ROLLER_PART_SELECTED", LV_ROLLER_PART_SELECTED },
|
||||||
{ "SCROLLBAR_MODE_HIDE", 4 },
|
{ "SCROLLBAR_MODE_AUTO", LV_SCROLLBAR_MODE_AUTO },
|
||||||
{ "SCROLLBAR_MODE_OFF", 0 },
|
{ "SCROLLBAR_MODE_DRAG", LV_SCROLLBAR_MODE_DRAG },
|
||||||
{ "SCROLLBAR_MODE_ON", 1 },
|
{ "SCROLLBAR_MODE_HIDE", LV_SCROLLBAR_MODE_HIDE },
|
||||||
{ "SCROLLBAR_MODE_UNHIDE", 8 },
|
{ "SCROLLBAR_MODE_OFF", LV_SCROLLBAR_MODE_OFF },
|
||||||
|
{ "SCROLLBAR_MODE_ON", LV_SCROLLBAR_MODE_ON },
|
||||||
|
{ "SCROLLBAR_MODE_UNHIDE", LV_SCROLLBAR_MODE_UNHIDE },
|
||||||
|
{ "SCR_LOAD_ANIM_FADE_ON", LV_SCR_LOAD_ANIM_FADE_ON },
|
||||||
|
{ "SCR_LOAD_ANIM_MOVE_BOTTOM", LV_SCR_LOAD_ANIM_MOVE_BOTTOM },
|
||||||
|
{ "SCR_LOAD_ANIM_MOVE_LEFT", LV_SCR_LOAD_ANIM_MOVE_LEFT },
|
||||||
|
{ "SCR_LOAD_ANIM_MOVE_RIGHT", LV_SCR_LOAD_ANIM_MOVE_RIGHT },
|
||||||
|
{ "SCR_LOAD_ANIM_MOVE_TOP", LV_SCR_LOAD_ANIM_MOVE_TOP },
|
||||||
|
{ "SCR_LOAD_ANIM_NONE", LV_SCR_LOAD_ANIM_NONE },
|
||||||
|
{ "SCR_LOAD_ANIM_OVER_BOTTOM", LV_SCR_LOAD_ANIM_OVER_BOTTOM },
|
||||||
|
{ "SCR_LOAD_ANIM_OVER_LEFT", LV_SCR_LOAD_ANIM_OVER_LEFT },
|
||||||
|
{ "SCR_LOAD_ANIM_OVER_RIGHT", LV_SCR_LOAD_ANIM_OVER_RIGHT },
|
||||||
|
{ "SCR_LOAD_ANIM_OVER_TOP", LV_SCR_LOAD_ANIM_OVER_TOP },
|
||||||
{ "SILVER", 12632256 },
|
{ "SILVER", 12632256 },
|
||||||
{ "SLIDER_TYPE_NORMAL", 0 },
|
{ "SLIDER_PART_BG", LV_SLIDER_PART_BG },
|
||||||
{ "SLIDER_TYPE_RANGE", 2 },
|
{ "SLIDER_PART_INDIC", LV_SLIDER_PART_INDIC },
|
||||||
{ "SLIDER_TYPE_SYMMETRICAL", 1 },
|
{ "SLIDER_PART_KNOB", LV_SLIDER_PART_KNOB },
|
||||||
{ "SPINNER_DIR_BACKWARD", 1 },
|
{ "SLIDER_TYPE_NORMAL", LV_SLIDER_TYPE_NORMAL },
|
||||||
{ "SPINNER_DIR_FORWARD", 0 },
|
{ "SLIDER_TYPE_RANGE", LV_SLIDER_TYPE_RANGE },
|
||||||
{ "SPINNER_TYPE_CONSTANT_ARC", 2 },
|
{ "SLIDER_TYPE_SYMMETRICAL", LV_SLIDER_TYPE_SYMMETRICAL },
|
||||||
{ "SPINNER_TYPE_FILLSPIN_ARC", 1 },
|
{ "SPINBOX_PART_BG", LV_SPINBOX_PART_BG },
|
||||||
{ "SPINNER_TYPE_SPINNING_ARC", 0 },
|
{ "SPINBOX_PART_CURSOR", LV_SPINBOX_PART_CURSOR },
|
||||||
{ "STATE_CHECKED", 1 },
|
{ "SPINNER_DIR_BACKWARD", LV_SPINNER_DIR_BACKWARD },
|
||||||
{ "STATE_DEFAULT", 0 },
|
{ "SPINNER_DIR_FORWARD", LV_SPINNER_DIR_FORWARD },
|
||||||
{ "STATE_DISABLED", 32 },
|
{ "SPINNER_PART_BG", LV_SPINNER_PART_BG },
|
||||||
{ "STATE_EDITED", 4 },
|
{ "SPINNER_PART_INDIC", LV_SPINNER_PART_INDIC },
|
||||||
{ "STATE_FOCUSED", 2 },
|
{ "SPINNER_TYPE_CONSTANT_ARC", LV_SPINNER_TYPE_CONSTANT_ARC },
|
||||||
{ "STATE_HOVERED", 8 },
|
{ "SPINNER_TYPE_FILLSPIN_ARC", LV_SPINNER_TYPE_FILLSPIN_ARC },
|
||||||
{ "STATE_PRESSED", 16 },
|
{ "SPINNER_TYPE_SPINNING_ARC", LV_SPINNER_TYPE_SPINNING_ARC },
|
||||||
{ "STYLE_BG_BLEND_MODE", 32 },
|
{ "STATE_CHECKED", LV_STATE_CHECKED },
|
||||||
{ "STYLE_BG_COLOR", 41 },
|
{ "STATE_DEFAULT", LV_STATE_DEFAULT },
|
||||||
{ "STYLE_BG_GRAD_COLOR", 42 },
|
{ "STATE_DISABLED", LV_STATE_DISABLED },
|
||||||
{ "STYLE_BG_GRAD_DIR", 35 },
|
{ "STATE_EDITED", LV_STATE_EDITED },
|
||||||
{ "STYLE_BG_GRAD_STOP", 34 },
|
{ "STATE_FOCUSED", LV_STATE_FOCUSED },
|
||||||
{ "STYLE_BG_MAIN_STOP", 33 },
|
{ "STATE_HOVERED", LV_STATE_HOVERED },
|
||||||
{ "STYLE_BG_OPA", 44 },
|
{ "STATE_PRESSED", LV_STATE_PRESSED },
|
||||||
{ "STYLE_BORDER_BLEND_MODE", 50 },
|
{ "STYLE_BG_BLEND_MODE", LV_STYLE_BG_BLEND_MODE },
|
||||||
{ "STYLE_BORDER_COLOR", 57 },
|
{ "STYLE_BG_COLOR", LV_STYLE_BG_COLOR },
|
||||||
{ "STYLE_BORDER_OPA", 60 },
|
{ "STYLE_BG_GRAD_COLOR", LV_STYLE_BG_GRAD_COLOR },
|
||||||
{ "STYLE_BORDER_POST", 51 },
|
{ "STYLE_BG_GRAD_DIR", LV_STYLE_BG_GRAD_DIR },
|
||||||
{ "STYLE_BORDER_SIDE", 49 },
|
{ "STYLE_BG_GRAD_STOP", LV_STYLE_BG_GRAD_STOP },
|
||||||
{ "STYLE_BORDER_WIDTH", 48 },
|
{ "STYLE_BG_MAIN_STOP", LV_STYLE_BG_MAIN_STOP },
|
||||||
{ "STYLE_CLIP_CORNER", 2 },
|
{ "STYLE_BG_OPA", LV_STYLE_BG_OPA },
|
||||||
{ "STYLE_IMAGE_BLEND_MODE", 32928 },
|
{ "STYLE_BORDER_BLEND_MODE", LV_STYLE_BORDER_BLEND_MODE },
|
||||||
{ "STYLE_IMAGE_OPA", 32940 },
|
{ "STYLE_BORDER_COLOR", LV_STYLE_BORDER_COLOR },
|
||||||
{ "STYLE_IMAGE_RECOLOR", 32937 },
|
{ "STYLE_BORDER_OPA", LV_STYLE_BORDER_OPA },
|
||||||
{ "STYLE_IMAGE_RECOLOR_OPA", 32941 },
|
{ "STYLE_BORDER_POST", LV_STYLE_BORDER_POST },
|
||||||
{ "STYLE_LINE_BLEND_MODE", 145 },
|
{ "STYLE_BORDER_SIDE", LV_STYLE_BORDER_SIDE },
|
||||||
{ "STYLE_LINE_COLOR", 153 },
|
{ "STYLE_BORDER_WIDTH", LV_STYLE_BORDER_WIDTH },
|
||||||
{ "STYLE_LINE_DASH_GAP", 147 },
|
{ "STYLE_CLIP_CORNER", LV_STYLE_CLIP_CORNER },
|
||||||
{ "STYLE_LINE_DASH_WIDTH", 146 },
|
{ "STYLE_IMAGE_BLEND_MODE", LV_STYLE_IMAGE_BLEND_MODE },
|
||||||
{ "STYLE_LINE_OPA", 156 },
|
{ "STYLE_IMAGE_OPA", LV_STYLE_IMAGE_OPA },
|
||||||
{ "STYLE_LINE_ROUNDED", 148 },
|
{ "STYLE_IMAGE_RECOLOR", LV_STYLE_IMAGE_RECOLOR },
|
||||||
{ "STYLE_LINE_WIDTH", 144 },
|
{ "STYLE_IMAGE_RECOLOR_OPA", LV_STYLE_IMAGE_RECOLOR_OPA },
|
||||||
{ "STYLE_MARGIN_BOTTOM", 22 },
|
{ "STYLE_LINE_BLEND_MODE", LV_STYLE_LINE_BLEND_MODE },
|
||||||
{ "STYLE_MARGIN_LEFT", 23 },
|
{ "STYLE_LINE_COLOR", LV_STYLE_LINE_COLOR },
|
||||||
{ "STYLE_MARGIN_RIGHT", 24 },
|
{ "STYLE_LINE_DASH_GAP", LV_STYLE_LINE_DASH_GAP },
|
||||||
{ "STYLE_MARGIN_TOP", 21 },
|
{ "STYLE_LINE_DASH_WIDTH", LV_STYLE_LINE_DASH_WIDTH },
|
||||||
{ "STYLE_OPA_SCALE", 32780 },
|
{ "STYLE_LINE_OPA", LV_STYLE_LINE_OPA },
|
||||||
{ "STYLE_OUTLINE_BLEND_MODE", 66 },
|
{ "STYLE_LINE_ROUNDED", LV_STYLE_LINE_ROUNDED },
|
||||||
{ "STYLE_OUTLINE_COLOR", 73 },
|
{ "STYLE_LINE_WIDTH", LV_STYLE_LINE_WIDTH },
|
||||||
{ "STYLE_OUTLINE_OPA", 76 },
|
{ "STYLE_MARGIN_BOTTOM", LV_STYLE_MARGIN_BOTTOM },
|
||||||
{ "STYLE_OUTLINE_PAD", 65 },
|
{ "STYLE_MARGIN_LEFT", LV_STYLE_MARGIN_LEFT },
|
||||||
{ "STYLE_OUTLINE_WIDTH", 64 },
|
{ "STYLE_MARGIN_RIGHT", LV_STYLE_MARGIN_RIGHT },
|
||||||
{ "STYLE_PAD_BOTTOM", 17 },
|
{ "STYLE_MARGIN_TOP", LV_STYLE_MARGIN_TOP },
|
||||||
{ "STYLE_PAD_INNER", 20 },
|
{ "STYLE_OPA_SCALE", LV_STYLE_OPA_SCALE },
|
||||||
{ "STYLE_PAD_LEFT", 18 },
|
{ "STYLE_OUTLINE_BLEND_MODE", LV_STYLE_OUTLINE_BLEND_MODE },
|
||||||
{ "STYLE_PAD_RIGHT", 19 },
|
{ "STYLE_OUTLINE_COLOR", LV_STYLE_OUTLINE_COLOR },
|
||||||
{ "STYLE_PAD_TOP", 16 },
|
{ "STYLE_OUTLINE_OPA", LV_STYLE_OUTLINE_OPA },
|
||||||
{ "STYLE_PATTERN_BLEND_MODE", 96 },
|
{ "STYLE_OUTLINE_PAD", LV_STYLE_OUTLINE_PAD },
|
||||||
{ "STYLE_PATTERN_IMAGE", 110 },
|
{ "STYLE_OUTLINE_WIDTH", LV_STYLE_OUTLINE_WIDTH },
|
||||||
{ "STYLE_PATTERN_OPA", 108 },
|
{ "STYLE_PAD_BOTTOM", LV_STYLE_PAD_BOTTOM },
|
||||||
{ "STYLE_PATTERN_RECOLOR", 105 },
|
{ "STYLE_PAD_INNER", LV_STYLE_PAD_INNER },
|
||||||
{ "STYLE_PATTERN_RECOLOR_OPA", 109 },
|
{ "STYLE_PAD_LEFT", LV_STYLE_PAD_LEFT },
|
||||||
{ "STYLE_PATTERN_REPEAT", 97 },
|
{ "STYLE_PAD_RIGHT", LV_STYLE_PAD_RIGHT },
|
||||||
{ "STYLE_RADIUS", 1 },
|
{ "STYLE_PAD_TOP", LV_STYLE_PAD_TOP },
|
||||||
{ "STYLE_SCALE_BORDER_WIDTH", 193 },
|
{ "STYLE_PATTERN_BLEND_MODE", LV_STYLE_PATTERN_BLEND_MODE },
|
||||||
{ "STYLE_SCALE_END_BORDER_WIDTH", 194 },
|
{ "STYLE_PATTERN_IMAGE", LV_STYLE_PATTERN_IMAGE },
|
||||||
{ "STYLE_SCALE_END_COLOR", 202 },
|
{ "STYLE_PATTERN_OPA", LV_STYLE_PATTERN_OPA },
|
||||||
{ "STYLE_SCALE_END_LINE_WIDTH", 195 },
|
{ "STYLE_PATTERN_RECOLOR", LV_STYLE_PATTERN_RECOLOR },
|
||||||
{ "STYLE_SCALE_GRAD_COLOR", 201 },
|
{ "STYLE_PATTERN_RECOLOR_OPA", LV_STYLE_PATTERN_RECOLOR_OPA },
|
||||||
{ "STYLE_SCALE_WIDTH", 192 },
|
{ "STYLE_PATTERN_REPEAT", LV_STYLE_PATTERN_REPEAT },
|
||||||
{ "STYLE_SHADOW_BLEND_MODE", 84 },
|
{ "STYLE_RADIUS", LV_STYLE_RADIUS },
|
||||||
{ "STYLE_SHADOW_COLOR", 89 },
|
{ "STYLE_SCALE_BORDER_WIDTH", LV_STYLE_SCALE_BORDER_WIDTH },
|
||||||
{ "STYLE_SHADOW_OFS_X", 81 },
|
{ "STYLE_SCALE_END_BORDER_WIDTH", LV_STYLE_SCALE_END_BORDER_WIDTH },
|
||||||
{ "STYLE_SHADOW_OFS_Y", 82 },
|
{ "STYLE_SCALE_END_COLOR", LV_STYLE_SCALE_END_COLOR },
|
||||||
{ "STYLE_SHADOW_OPA", 92 },
|
{ "STYLE_SCALE_END_LINE_WIDTH", LV_STYLE_SCALE_END_LINE_WIDTH },
|
||||||
{ "STYLE_SHADOW_SPREAD", 83 },
|
{ "STYLE_SCALE_GRAD_COLOR", LV_STYLE_SCALE_GRAD_COLOR },
|
||||||
{ "STYLE_SHADOW_WIDTH", 80 },
|
{ "STYLE_SCALE_WIDTH", LV_STYLE_SCALE_WIDTH },
|
||||||
{ "STYLE_SIZE", 3 },
|
{ "STYLE_SHADOW_BLEND_MODE", LV_STYLE_SHADOW_BLEND_MODE },
|
||||||
{ "STYLE_TEXT_BLEND_MODE", 32899 },
|
{ "STYLE_SHADOW_COLOR", LV_STYLE_SHADOW_COLOR },
|
||||||
{ "STYLE_TEXT_COLOR", 32905 },
|
{ "STYLE_SHADOW_OFS_X", LV_STYLE_SHADOW_OFS_X },
|
||||||
{ "STYLE_TEXT_DECOR", 32898 },
|
{ "STYLE_SHADOW_OFS_Y", LV_STYLE_SHADOW_OFS_Y },
|
||||||
{ "STYLE_TEXT_FONT", 32910 },
|
{ "STYLE_SHADOW_OPA", LV_STYLE_SHADOW_OPA },
|
||||||
{ "STYLE_TEXT_LETTER_SPACE", 32896 },
|
{ "STYLE_SHADOW_SPREAD", LV_STYLE_SHADOW_SPREAD },
|
||||||
{ "STYLE_TEXT_LINE_SPACE", 32897 },
|
{ "STYLE_SHADOW_WIDTH", LV_STYLE_SHADOW_WIDTH },
|
||||||
{ "STYLE_TEXT_OPA", 32908 },
|
{ "STYLE_SIZE", LV_STYLE_SIZE },
|
||||||
{ "STYLE_TEXT_SEL_BG_COLOR", 32907 },
|
{ "STYLE_TEXT_BLEND_MODE", LV_STYLE_TEXT_BLEND_MODE },
|
||||||
{ "STYLE_TEXT_SEL_COLOR", 32906 },
|
{ "STYLE_TEXT_COLOR", LV_STYLE_TEXT_COLOR },
|
||||||
{ "STYLE_TRANSFORM_ANGLE", 6 },
|
{ "STYLE_TEXT_DECOR", LV_STYLE_TEXT_DECOR },
|
||||||
{ "STYLE_TRANSFORM_HEIGHT", 5 },
|
{ "STYLE_TEXT_FONT", LV_STYLE_TEXT_FONT },
|
||||||
{ "STYLE_TRANSFORM_WIDTH", 4 },
|
{ "STYLE_TEXT_LETTER_SPACE", LV_STYLE_TEXT_LETTER_SPACE },
|
||||||
{ "STYLE_TRANSFORM_ZOOM", 7 },
|
{ "STYLE_TEXT_LINE_SPACE", LV_STYLE_TEXT_LINE_SPACE },
|
||||||
{ "STYLE_TRANSITION_DELAY", 177 },
|
{ "STYLE_TEXT_OPA", LV_STYLE_TEXT_OPA },
|
||||||
{ "STYLE_TRANSITION_PATH", 190 },
|
{ "STYLE_TEXT_SEL_BG_COLOR", LV_STYLE_TEXT_SEL_BG_COLOR },
|
||||||
{ "STYLE_TRANSITION_PROP_1", 178 },
|
{ "STYLE_TEXT_SEL_COLOR", LV_STYLE_TEXT_SEL_COLOR },
|
||||||
{ "STYLE_TRANSITION_PROP_2", 179 },
|
{ "STYLE_TRANSFORM_ANGLE", LV_STYLE_TRANSFORM_ANGLE },
|
||||||
{ "STYLE_TRANSITION_PROP_3", 180 },
|
{ "STYLE_TRANSFORM_HEIGHT", LV_STYLE_TRANSFORM_HEIGHT },
|
||||||
{ "STYLE_TRANSITION_PROP_4", 181 },
|
{ "STYLE_TRANSFORM_WIDTH", LV_STYLE_TRANSFORM_WIDTH },
|
||||||
{ "STYLE_TRANSITION_PROP_5", 182 },
|
{ "STYLE_TRANSFORM_ZOOM", LV_STYLE_TRANSFORM_ZOOM },
|
||||||
{ "STYLE_TRANSITION_PROP_6", 183 },
|
{ "STYLE_TRANSITION_DELAY", LV_STYLE_TRANSITION_DELAY },
|
||||||
{ "STYLE_TRANSITION_TIME", 176 },
|
{ "STYLE_TRANSITION_PATH", LV_STYLE_TRANSITION_PATH },
|
||||||
{ "STYLE_VALUE_ALIGN", 117 },
|
{ "STYLE_TRANSITION_PROP_1", LV_STYLE_TRANSITION_PROP_1 },
|
||||||
{ "STYLE_VALUE_BLEND_MODE", 114 },
|
{ "STYLE_TRANSITION_PROP_2", LV_STYLE_TRANSITION_PROP_2 },
|
||||||
{ "STYLE_VALUE_COLOR", 121 },
|
{ "STYLE_TRANSITION_PROP_3", LV_STYLE_TRANSITION_PROP_3 },
|
||||||
{ "STYLE_VALUE_FONT", 126 },
|
{ "STYLE_TRANSITION_PROP_4", LV_STYLE_TRANSITION_PROP_4 },
|
||||||
{ "STYLE_VALUE_LETTER_SPACE", 112 },
|
{ "STYLE_TRANSITION_PROP_5", LV_STYLE_TRANSITION_PROP_5 },
|
||||||
{ "STYLE_VALUE_LINE_SPACE", 113 },
|
{ "STYLE_TRANSITION_PROP_6", LV_STYLE_TRANSITION_PROP_6 },
|
||||||
{ "STYLE_VALUE_OFS_X", 115 },
|
{ "STYLE_TRANSITION_TIME", LV_STYLE_TRANSITION_TIME },
|
||||||
{ "STYLE_VALUE_OFS_Y", 116 },
|
{ "STYLE_VALUE_ALIGN", LV_STYLE_VALUE_ALIGN },
|
||||||
{ "STYLE_VALUE_OPA", 124 },
|
{ "STYLE_VALUE_BLEND_MODE", LV_STYLE_VALUE_BLEND_MODE },
|
||||||
{ "STYLE_VALUE_STR", 127 },
|
{ "STYLE_VALUE_COLOR", LV_STYLE_VALUE_COLOR },
|
||||||
{ "TABVIEW_TAB_POS_BOTTOM", 2 },
|
{ "STYLE_VALUE_FONT", LV_STYLE_VALUE_FONT },
|
||||||
{ "TABVIEW_TAB_POS_LEFT", 3 },
|
{ "STYLE_VALUE_LETTER_SPACE", LV_STYLE_VALUE_LETTER_SPACE },
|
||||||
{ "TABVIEW_TAB_POS_NONE", 0 },
|
{ "STYLE_VALUE_LINE_SPACE", LV_STYLE_VALUE_LINE_SPACE },
|
||||||
{ "TABVIEW_TAB_POS_RIGHT", 4 },
|
{ "STYLE_VALUE_OFS_X", LV_STYLE_VALUE_OFS_X },
|
||||||
{ "TABVIEW_TAB_POS_TOP", 1 },
|
{ "STYLE_VALUE_OFS_Y", LV_STYLE_VALUE_OFS_Y },
|
||||||
|
{ "STYLE_VALUE_OPA", LV_STYLE_VALUE_OPA },
|
||||||
|
{ "STYLE_VALUE_STR", LV_STYLE_VALUE_STR },
|
||||||
|
{ "SWITCH_PART_BG", LV_SWITCH_PART_BG },
|
||||||
|
{ "SWITCH_PART_INDIC", LV_SWITCH_PART_INDIC },
|
||||||
|
{ "SWITCH_PART_KNOB", LV_SWITCH_PART_KNOB },
|
||||||
|
{ "TABLE_PART_BG", LV_TABLE_PART_BG },
|
||||||
|
{ "TABLE_PART_CELL1", LV_TABLE_PART_CELL1 },
|
||||||
|
{ "TABLE_PART_CELL2", LV_TABLE_PART_CELL2 },
|
||||||
|
{ "TABLE_PART_CELL3", LV_TABLE_PART_CELL3 },
|
||||||
|
{ "TABLE_PART_CELL4", LV_TABLE_PART_CELL4 },
|
||||||
|
{ "TABVIEW_PART_BG", LV_TABVIEW_PART_BG },
|
||||||
|
{ "TABVIEW_PART_BG_SCROLLABLE", LV_TABVIEW_PART_BG_SCROLLABLE },
|
||||||
|
{ "TABVIEW_PART_INDIC", LV_TABVIEW_PART_INDIC },
|
||||||
|
{ "TABVIEW_PART_TAB_BG", LV_TABVIEW_PART_TAB_BG },
|
||||||
|
{ "TABVIEW_PART_TAB_BTN", LV_TABVIEW_PART_TAB_BTN },
|
||||||
|
{ "TABVIEW_TAB_POS_BOTTOM", LV_TABVIEW_TAB_POS_BOTTOM },
|
||||||
|
{ "TABVIEW_TAB_POS_LEFT", LV_TABVIEW_TAB_POS_LEFT },
|
||||||
|
{ "TABVIEW_TAB_POS_NONE", LV_TABVIEW_TAB_POS_NONE },
|
||||||
|
{ "TABVIEW_TAB_POS_RIGHT", LV_TABVIEW_TAB_POS_RIGHT },
|
||||||
|
{ "TABVIEW_TAB_POS_TOP", LV_TABVIEW_TAB_POS_TOP },
|
||||||
{ "TEAL", 32896 },
|
{ "TEAL", 32896 },
|
||||||
{ "TEMPL_STYLE_X", 0 },
|
{ "TEXTAREA_CURSOR_LAST", LV_TEXTAREA_CURSOR_LAST },
|
||||||
{ "TEMPL_STYLE_Y", 1 },
|
{ "TEXTAREA_PART_BG", LV_TEXTAREA_PART_BG },
|
||||||
{ "TEXTAREA_CURSOR_LAST", 32767 },
|
{ "TEXTAREA_PART_CURSOR", LV_TEXTAREA_PART_CURSOR },
|
||||||
{ "TEXT_DECOR_NONE", 0 },
|
{ "TEXTAREA_PART_EDGE_FLASH", LV_TEXTAREA_PART_EDGE_FLASH },
|
||||||
{ "TEXT_DECOR_STRIKETHROUGH", 2 },
|
{ "TEXTAREA_PART_PLACEHOLDER", LV_TEXTAREA_PART_PLACEHOLDER },
|
||||||
{ "TEXT_DECOR_UNDERLINE", 1 },
|
{ "TEXTAREA_PART_SCROLLBAR", LV_TEXTAREA_PART_SCROLLBAR },
|
||||||
{ "TXT_CMD_STATE_IN", 2 },
|
{ "TEXT_DECOR_NONE", LV_TEXT_DECOR_NONE },
|
||||||
{ "TXT_CMD_STATE_PAR", 1 },
|
{ "TEXT_DECOR_STRIKETHROUGH", LV_TEXT_DECOR_STRIKETHROUGH },
|
||||||
{ "TXT_CMD_STATE_WAIT", 0 },
|
{ "TEXT_DECOR_UNDERLINE", LV_TEXT_DECOR_UNDERLINE },
|
||||||
{ "TXT_FLAG_CENTER", 4 },
|
{ "TILEVIEW_PART_BG", LV_TILEVIEW_PART_BG },
|
||||||
{ "TXT_FLAG_EXPAND", 2 },
|
{ "TILEVIEW_PART_EDGE_FLASH", LV_TILEVIEW_PART_EDGE_FLASH },
|
||||||
{ "TXT_FLAG_FIT", 16 },
|
{ "TILEVIEW_PART_SCROLLBAR", LV_TILEVIEW_PART_SCROLLBAR },
|
||||||
{ "TXT_FLAG_NONE", 0 },
|
{ "TXT_CMD_STATE_IN", LV_TXT_CMD_STATE_IN },
|
||||||
{ "TXT_FLAG_RECOLOR", 1 },
|
{ "TXT_CMD_STATE_PAR", LV_TXT_CMD_STATE_PAR },
|
||||||
{ "TXT_FLAG_RIGHT", 8 },
|
{ "TXT_CMD_STATE_WAIT", LV_TXT_CMD_STATE_WAIT },
|
||||||
|
{ "TXT_FLAG_CENTER", LV_TXT_FLAG_CENTER },
|
||||||
|
{ "TXT_FLAG_EXPAND", LV_TXT_FLAG_EXPAND },
|
||||||
|
{ "TXT_FLAG_FIT", LV_TXT_FLAG_FIT },
|
||||||
|
{ "TXT_FLAG_NONE", LV_TXT_FLAG_NONE },
|
||||||
|
{ "TXT_FLAG_RECOLOR", LV_TXT_FLAG_RECOLOR },
|
||||||
|
{ "TXT_FLAG_RIGHT", LV_TXT_FLAG_RIGHT },
|
||||||
{ "WHITE", 16777215 },
|
{ "WHITE", 16777215 },
|
||||||
|
{ "WIN_PART_BG", LV_WIN_PART_BG },
|
||||||
|
{ "WIN_PART_CONTENT_SCROLLABLE", LV_WIN_PART_CONTENT_SCROLLABLE },
|
||||||
|
{ "WIN_PART_HEADER", LV_WIN_PART_HEADER },
|
||||||
|
{ "WIN_PART_SCROLLBAR", LV_WIN_PART_SCROLLBAR },
|
||||||
{ "YELLOW", 16776960 },
|
{ "YELLOW", 16776960 },
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -513,13 +581,6 @@ be_native_module_attr_table(lvgl) {
|
||||||
be_native_module_function("load_font", lv0_load_font),
|
be_native_module_function("load_font", lv0_load_font),
|
||||||
be_native_module_function("load_freetype_font", lv0_load_freetype_font),
|
be_native_module_function("load_freetype_font", lv0_load_freetype_font),
|
||||||
|
|
||||||
|
|
||||||
// screen and layers
|
|
||||||
be_native_module_function("scr_act", lv0_scr_act),
|
|
||||||
be_native_module_function("layer_top", lv0_layer_top),
|
|
||||||
be_native_module_function("layer_sys", lv0_layer_sys),
|
|
||||||
be_native_module_function("get_hor_res", lv0_get_hor_res),
|
|
||||||
be_native_module_function("get_ver_res", lv0_get_ver_res),
|
|
||||||
be_native_module_function("screenshot", lv0_screenshot),
|
be_native_module_function("screenshot", lv0_screenshot),
|
||||||
|
|
||||||
|
|
||||||
|
@ -667,11 +728,6 @@ module lvgl (scope: global) {
|
||||||
load_font, func(lv0_load_font)
|
load_font, func(lv0_load_font)
|
||||||
load_freetype_font, func(lv0_load_freetype_font)
|
load_freetype_font, func(lv0_load_freetype_font)
|
||||||
|
|
||||||
scr_act, func(lv0_scr_act)
|
|
||||||
layer_top, func(lv0_layer_top)
|
|
||||||
layer_sys, func(lv0_layer_sys)
|
|
||||||
get_hor_res, func(lv0_get_hor_res)
|
|
||||||
get_ver_res, func(lv0_get_ver_res)
|
|
||||||
screenshot, func(lv0_screenshot)
|
screenshot, func(lv0_screenshot)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
#ifdef USE_LVGL
|
#ifdef USE_LVGL
|
||||||
|
|
||||||
#include "lvgl.h"
|
#include "lvgl.h"
|
||||||
|
#include "be_lvgl.h"
|
||||||
|
|
||||||
extern int lv0_init(bvm *vm);
|
extern int lv0_init(bvm *vm);
|
||||||
|
|
||||||
|
|
|
@ -75,7 +75,7 @@
|
||||||
* Set the maximum total stack size.
|
* Set the maximum total stack size.
|
||||||
* Default: 20000
|
* Default: 20000
|
||||||
**/
|
**/
|
||||||
#define BE_STACK_TOTAL_MAX 4000
|
#define BE_STACK_TOTAL_MAX 8000
|
||||||
|
|
||||||
/* Macro: BE_STACK_FREE_MIN
|
/* Macro: BE_STACK_FREE_MIN
|
||||||
* Set the minimum free count of the stack. The stack idles will
|
* Set the minimum free count of the stack. The stack idles will
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,83 +1,78 @@
|
||||||
#include "be_constobj.h"
|
#include "be_constobj.h"
|
||||||
|
|
||||||
static be_define_const_map_slots(m_liblvgl_map) {
|
static be_define_const_map_slots(m_liblvgl_map) {
|
||||||
{ be_const_key(SYMBOL_EYE_CLOSE, -1), be_const_str(&be_local_const_str_SYMBOL_EYE_CLOSE) },
|
|
||||||
{ be_const_key(SYMBOL_IMAGE, 15), be_const_str(&be_local_const_str_SYMBOL_IMAGE) },
|
|
||||||
{ be_const_key(SYMBOL_SETTINGS, 70), be_const_str(&be_local_const_str_SYMBOL_SETTINGS) },
|
|
||||||
{ be_const_key(SYMBOL_UPLOAD, -1), be_const_str(&be_local_const_str_SYMBOL_UPLOAD) },
|
|
||||||
{ be_const_key(SYMBOL_AUDIO, -1), be_const_str(&be_local_const_str_SYMBOL_AUDIO) },
|
|
||||||
{ be_const_key(SYMBOL_USB, -1), be_const_str(&be_local_const_str_SYMBOL_USB) },
|
|
||||||
{ be_const_key(SYMBOL_EDIT, -1), be_const_str(&be_local_const_str_SYMBOL_EDIT) },
|
|
||||||
{ be_const_key(SYMBOL_BELL, 2), be_const_str(&be_local_const_str_SYMBOL_BELL) },
|
|
||||||
{ be_const_key(SYMBOL_LOOP, -1), be_const_str(&be_local_const_str_SYMBOL_LOOP) },
|
|
||||||
{ be_const_key(SYMBOL_CALL, 16), be_const_str(&be_local_const_str_SYMBOL_CALL) },
|
|
||||||
{ be_const_key(SYMBOL_CUT, -1), be_const_str(&be_local_const_str_SYMBOL_CUT) },
|
|
||||||
{ be_const_key(SYMBOL_MUTE, -1), be_const_str(&be_local_const_str_SYMBOL_MUTE) },
|
|
||||||
{ be_const_key(SYMBOL_RIGHT, -1), be_const_str(&be_local_const_str_SYMBOL_RIGHT) },
|
|
||||||
{ be_const_key(SYMBOL_HOME, -1), be_const_str(&be_local_const_str_SYMBOL_HOME) },
|
|
||||||
{ be_const_key(SYMBOL_PREV, 54), be_const_str(&be_local_const_str_SYMBOL_PREV) },
|
|
||||||
{ be_const_key(SYMBOL_WIFI, 49), be_const_str(&be_local_const_str_SYMBOL_WIFI) },
|
|
||||||
{ be_const_key(SYMBOL_CLOSE, -1), be_const_str(&be_local_const_str_SYMBOL_CLOSE) },
|
|
||||||
{ be_const_key(SYMBOL_BLUETOOTH, -1), be_const_str(&be_local_const_str_SYMBOL_BLUETOOTH) },
|
|
||||||
{ be_const_key(SYMBOL_DUMMY, -1), be_const_str(&be_local_const_str_SYMBOL_DUMMY) },
|
|
||||||
{ be_const_key(SYMBOL_VIDEO, -1), be_const_str(&be_local_const_str_SYMBOL_VIDEO) },
|
|
||||||
{ be_const_key(SYMBOL_PAUSE, -1), be_const_str(&be_local_const_str_SYMBOL_PAUSE) },
|
|
||||||
{ be_const_key(SYMBOL_PASTE, 13), be_const_str(&be_local_const_str_SYMBOL_PASTE) },
|
|
||||||
{ be_const_key(SYMBOL_MINUS, -1), be_const_str(&be_local_const_str_SYMBOL_MINUS) },
|
|
||||||
{ be_const_key(SYMBOL_STOP, -1), be_const_str(&be_local_const_str_SYMBOL_STOP) },
|
|
||||||
{ be_const_key(get_hor_res, 12), be_const_func(lv0_get_hor_res) },
|
|
||||||
{ be_const_key(screenshot, 19), be_const_func(lv0_screenshot) },
|
|
||||||
{ be_const_key(SYMBOL_GPS, -1), be_const_str(&be_local_const_str_SYMBOL_GPS) },
|
|
||||||
{ be_const_key(SYMBOL_POWER, -1), be_const_str(&be_local_const_str_SYMBOL_POWER) },
|
|
||||||
{ be_const_key(SYMBOL_VOLUME_MID, 51), be_const_str(&be_local_const_str_SYMBOL_VOLUME_MID) },
|
|
||||||
{ be_const_key(SYMBOL_BATTERY_EMPTY, -1), be_const_str(&be_local_const_str_SYMBOL_BATTERY_EMPTY) },
|
|
||||||
{ be_const_key(SYMBOL_DRIVE, 61), be_const_str(&be_local_const_str_SYMBOL_DRIVE) },
|
|
||||||
{ be_const_key(SYMBOL_KEYBOARD, -1), be_const_str(&be_local_const_str_SYMBOL_KEYBOARD) },
|
|
||||||
{ be_const_key(load_freetype_font, -1), be_const_func(lv0_load_freetype_font) },
|
|
||||||
{ be_const_key(SYMBOL_REFRESH, 28), be_const_str(&be_local_const_str_SYMBOL_REFRESH) },
|
|
||||||
{ be_const_key(SYMBOL_BATTERY_2, 53), be_const_str(&be_local_const_str_SYMBOL_BATTERY_2) },
|
|
||||||
{ be_const_key(SYMBOL_NEW_LINE, -1), be_const_str(&be_local_const_str_SYMBOL_NEW_LINE) },
|
|
||||||
{ be_const_key(SYMBOL_SD_CARD, -1), be_const_str(&be_local_const_str_SYMBOL_SD_CARD) },
|
|
||||||
{ be_const_key(SYMBOL_VOLUME_MAX, -1), be_const_str(&be_local_const_str_SYMBOL_VOLUME_MAX) },
|
|
||||||
{ be_const_key(SYMBOL_PLUS, -1), be_const_str(&be_local_const_str_SYMBOL_PLUS) },
|
|
||||||
{ be_const_key(SYMBOL_EJECT, -1), be_const_str(&be_local_const_str_SYMBOL_EJECT) },
|
|
||||||
{ be_const_key(layer_sys, -1), be_const_func(lv0_layer_sys) },
|
|
||||||
{ be_const_key(SYMBOL_BATTERY_FULL, -1), be_const_str(&be_local_const_str_SYMBOL_BATTERY_FULL) },
|
|
||||||
{ be_const_key(SYMBOL_DOWNLOAD, 23), be_const_str(&be_local_const_str_SYMBOL_DOWNLOAD) },
|
|
||||||
{ be_const_key(load_font, -1), be_const_func(lv0_load_font) },
|
|
||||||
{ be_const_key(SYMBOL_EYE_OPEN, -1), be_const_str(&be_local_const_str_SYMBOL_EYE_OPEN) },
|
|
||||||
{ be_const_key(register_button_encoder, -1), be_const_func(lv0_register_button_encoder) },
|
|
||||||
{ be_const_key(SYMBOL_BULLET, 9), be_const_str(&be_local_const_str_SYMBOL_BULLET) },
|
|
||||||
{ be_const_key(start, 3), be_const_func(lv0_start) },
|
|
||||||
{ be_const_key(scr_act, 5), be_const_func(lv0_scr_act) },
|
|
||||||
{ be_const_key(SYMBOL_UP, -1), be_const_str(&be_local_const_str_SYMBOL_UP) },
|
|
||||||
{ be_const_key(SYMBOL_CHARGE, -1), be_const_str(&be_local_const_str_SYMBOL_CHARGE) },
|
|
||||||
{ be_const_key(seg7_font, -1), be_const_func(lv0_load_seg7_font) },
|
|
||||||
{ be_const_key(SYMBOL_PLAY, 17), be_const_str(&be_local_const_str_SYMBOL_PLAY) },
|
|
||||||
{ be_const_key(layer_top, -1), be_const_func(lv0_layer_top) },
|
|
||||||
{ be_const_key(SYMBOL_SAVE, -1), be_const_str(&be_local_const_str_SYMBOL_SAVE) },
|
|
||||||
{ be_const_key(SYMBOL_COPY, 1), be_const_str(&be_local_const_str_SYMBOL_COPY) },
|
|
||||||
{ be_const_key(get_ver_res, 48), be_const_func(lv0_get_ver_res) },
|
|
||||||
{ be_const_key(SYMBOL_DIRECTORY, -1), be_const_str(&be_local_const_str_SYMBOL_DIRECTORY) },
|
|
||||||
{ be_const_key(montserrat_font, -1), be_const_func(lv0_load_montserrat_font) },
|
|
||||||
{ be_const_key(SYMBOL_SHUFFLE, -1), be_const_str(&be_local_const_str_SYMBOL_SHUFFLE) },
|
|
||||||
{ be_const_key(SYMBOL_FILE, -1), be_const_str(&be_local_const_str_SYMBOL_FILE) },
|
|
||||||
{ be_const_key(SYMBOL_WARNING, -1), be_const_str(&be_local_const_str_SYMBOL_WARNING) },
|
|
||||||
{ be_const_key(SYMBOL_LIST, 45), be_const_str(&be_local_const_str_SYMBOL_LIST) },
|
|
||||||
{ be_const_key(SYMBOL_LEFT, -1), be_const_str(&be_local_const_str_SYMBOL_LEFT) },
|
|
||||||
{ be_const_key(SYMBOL_TRASH, -1), be_const_str(&be_local_const_str_SYMBOL_TRASH) },
|
|
||||||
{ be_const_key(SYMBOL_BACKSPACE, -1), be_const_str(&be_local_const_str_SYMBOL_BACKSPACE) },
|
|
||||||
{ be_const_key(SYMBOL_DOWN, -1), be_const_str(&be_local_const_str_SYMBOL_DOWN) },
|
|
||||||
{ be_const_key(member, -1), be_const_func(lv0_member) },
|
|
||||||
{ be_const_key(SYMBOL_OK, -1), be_const_str(&be_local_const_str_SYMBOL_OK) },
|
|
||||||
{ be_const_key(SYMBOL_BATTERY_3, -1), be_const_str(&be_local_const_str_SYMBOL_BATTERY_3) },
|
|
||||||
{ be_const_key(SYMBOL_NEXT, -1), be_const_str(&be_local_const_str_SYMBOL_NEXT) },
|
{ be_const_key(SYMBOL_NEXT, -1), be_const_str(&be_local_const_str_SYMBOL_NEXT) },
|
||||||
{ be_const_key(SYMBOL_BATTERY_1, 14), be_const_str(&be_local_const_str_SYMBOL_BATTERY_1) },
|
{ be_const_key(SYMBOL_GPS, -1), be_const_str(&be_local_const_str_SYMBOL_GPS) },
|
||||||
|
{ be_const_key(SYMBOL_POWER, 29), be_const_str(&be_local_const_str_SYMBOL_POWER) },
|
||||||
|
{ be_const_key(SYMBOL_WARNING, -1), be_const_str(&be_local_const_str_SYMBOL_WARNING) },
|
||||||
|
{ be_const_key(SYMBOL_MUTE, 43), be_const_str(&be_local_const_str_SYMBOL_MUTE) },
|
||||||
|
{ be_const_key(SYMBOL_UP, -1), be_const_str(&be_local_const_str_SYMBOL_UP) },
|
||||||
|
{ be_const_key(SYMBOL_SHUFFLE, -1), be_const_str(&be_local_const_str_SYMBOL_SHUFFLE) },
|
||||||
|
{ be_const_key(SYMBOL_BATTERY_3, -1), be_const_str(&be_local_const_str_SYMBOL_BATTERY_3) },
|
||||||
|
{ be_const_key(SYMBOL_VOLUME_MAX, -1), be_const_str(&be_local_const_str_SYMBOL_VOLUME_MAX) },
|
||||||
|
{ be_const_key(SYMBOL_PLUS, 31), be_const_str(&be_local_const_str_SYMBOL_PLUS) },
|
||||||
|
{ be_const_key(SYMBOL_SETTINGS, -1), be_const_str(&be_local_const_str_SYMBOL_SETTINGS) },
|
||||||
|
{ be_const_key(SYMBOL_PLAY, 58), be_const_str(&be_local_const_str_SYMBOL_PLAY) },
|
||||||
|
{ be_const_key(screenshot, 59), be_const_func(lv0_screenshot) },
|
||||||
|
{ be_const_key(SYMBOL_UPLOAD, -1), be_const_str(&be_local_const_str_SYMBOL_UPLOAD) },
|
||||||
|
{ be_const_key(SYMBOL_LEFT, -1), be_const_str(&be_local_const_str_SYMBOL_LEFT) },
|
||||||
|
{ be_const_key(load_font, -1), be_const_func(lv0_load_font) },
|
||||||
|
{ be_const_key(SYMBOL_CALL, -1), be_const_str(&be_local_const_str_SYMBOL_CALL) },
|
||||||
|
{ be_const_key(SYMBOL_KEYBOARD, -1), be_const_str(&be_local_const_str_SYMBOL_KEYBOARD) },
|
||||||
|
{ be_const_key(SYMBOL_PAUSE, 40), be_const_str(&be_local_const_str_SYMBOL_PAUSE) },
|
||||||
|
{ be_const_key(SYMBOL_DOWN, -1), be_const_str(&be_local_const_str_SYMBOL_DOWN) },
|
||||||
|
{ be_const_key(SYMBOL_BATTERY_FULL, -1), be_const_str(&be_local_const_str_SYMBOL_BATTERY_FULL) },
|
||||||
|
{ be_const_key(SYMBOL_BATTERY_EMPTY, -1), be_const_str(&be_local_const_str_SYMBOL_BATTERY_EMPTY) },
|
||||||
|
{ be_const_key(SYMBOL_CLOSE, -1), be_const_str(&be_local_const_str_SYMBOL_CLOSE) },
|
||||||
|
{ be_const_key(SYMBOL_PASTE, 49), be_const_str(&be_local_const_str_SYMBOL_PASTE) },
|
||||||
|
{ be_const_key(SYMBOL_RIGHT, -1), be_const_str(&be_local_const_str_SYMBOL_RIGHT) },
|
||||||
|
{ be_const_key(SYMBOL_USB, 21), be_const_str(&be_local_const_str_SYMBOL_USB) },
|
||||||
|
{ be_const_key(SYMBOL_BULLET, -1), be_const_str(&be_local_const_str_SYMBOL_BULLET) },
|
||||||
|
{ be_const_key(SYMBOL_BELL, 7), be_const_str(&be_local_const_str_SYMBOL_BELL) },
|
||||||
|
{ be_const_key(SYMBOL_WIFI, -1), be_const_str(&be_local_const_str_SYMBOL_WIFI) },
|
||||||
|
{ be_const_key(SYMBOL_SAVE, -1), be_const_str(&be_local_const_str_SYMBOL_SAVE) },
|
||||||
|
{ be_const_key(SYMBOL_DOWNLOAD, -1), be_const_str(&be_local_const_str_SYMBOL_DOWNLOAD) },
|
||||||
|
{ be_const_key(start, -1), be_const_func(lv0_start) },
|
||||||
|
{ be_const_key(SYMBOL_DIRECTORY, 28), be_const_str(&be_local_const_str_SYMBOL_DIRECTORY) },
|
||||||
|
{ be_const_key(SYMBOL_TRASH, 35), be_const_str(&be_local_const_str_SYMBOL_TRASH) },
|
||||||
|
{ be_const_key(SYMBOL_IMAGE, -1), be_const_str(&be_local_const_str_SYMBOL_IMAGE) },
|
||||||
|
{ be_const_key(SYMBOL_VOLUME_MID, 54), be_const_str(&be_local_const_str_SYMBOL_VOLUME_MID) },
|
||||||
|
{ be_const_key(SYMBOL_STOP, 10), be_const_str(&be_local_const_str_SYMBOL_STOP) },
|
||||||
|
{ be_const_key(SYMBOL_DUMMY, -1), be_const_str(&be_local_const_str_SYMBOL_DUMMY) },
|
||||||
|
{ be_const_key(member, -1), be_const_func(lv0_member) },
|
||||||
|
{ be_const_key(SYMBOL_EDIT, -1), be_const_str(&be_local_const_str_SYMBOL_EDIT) },
|
||||||
|
{ be_const_key(seg7_font, 41), be_const_func(lv0_load_seg7_font) },
|
||||||
|
{ be_const_key(SYMBOL_NEW_LINE, -1), be_const_str(&be_local_const_str_SYMBOL_NEW_LINE) },
|
||||||
|
{ be_const_key(register_button_encoder, -1), be_const_func(lv0_register_button_encoder) },
|
||||||
|
{ be_const_key(load_freetype_font, -1), be_const_func(lv0_load_freetype_font) },
|
||||||
|
{ be_const_key(SYMBOL_REFRESH, 16), be_const_str(&be_local_const_str_SYMBOL_REFRESH) },
|
||||||
|
{ be_const_key(SYMBOL_SD_CARD, -1), be_const_str(&be_local_const_str_SYMBOL_SD_CARD) },
|
||||||
|
{ be_const_key(SYMBOL_EJECT, 20), be_const_str(&be_local_const_str_SYMBOL_EJECT) },
|
||||||
|
{ be_const_key(SYMBOL_CUT, 5), be_const_str(&be_local_const_str_SYMBOL_CUT) },
|
||||||
|
{ be_const_key(SYMBOL_LIST, 13), be_const_str(&be_local_const_str_SYMBOL_LIST) },
|
||||||
|
{ be_const_key(SYMBOL_MINUS, -1), be_const_str(&be_local_const_str_SYMBOL_MINUS) },
|
||||||
|
{ be_const_key(SYMBOL_LOOP, 8), be_const_str(&be_local_const_str_SYMBOL_LOOP) },
|
||||||
|
{ be_const_key(SYMBOL_EYE_CLOSE, 66), be_const_str(&be_local_const_str_SYMBOL_EYE_CLOSE) },
|
||||||
|
{ be_const_key(SYMBOL_BACKSPACE, -1), be_const_str(&be_local_const_str_SYMBOL_BACKSPACE) },
|
||||||
|
{ be_const_key(SYMBOL_OK, -1), be_const_str(&be_local_const_str_SYMBOL_OK) },
|
||||||
|
{ be_const_key(SYMBOL_AUDIO, -1), be_const_str(&be_local_const_str_SYMBOL_AUDIO) },
|
||||||
|
{ be_const_key(SYMBOL_EYE_OPEN, -1), be_const_str(&be_local_const_str_SYMBOL_EYE_OPEN) },
|
||||||
|
{ be_const_key(SYMBOL_BLUETOOTH, -1), be_const_str(&be_local_const_str_SYMBOL_BLUETOOTH) },
|
||||||
|
{ be_const_key(SYMBOL_VIDEO, -1), be_const_str(&be_local_const_str_SYMBOL_VIDEO) },
|
||||||
|
{ be_const_key(SYMBOL_HOME, -1), be_const_str(&be_local_const_str_SYMBOL_HOME) },
|
||||||
|
{ be_const_key(SYMBOL_BATTERY_2, -1), be_const_str(&be_local_const_str_SYMBOL_BATTERY_2) },
|
||||||
|
{ be_const_key(SYMBOL_COPY, -1), be_const_str(&be_local_const_str_SYMBOL_COPY) },
|
||||||
|
{ be_const_key(SYMBOL_DRIVE, -1), be_const_str(&be_local_const_str_SYMBOL_DRIVE) },
|
||||||
|
{ be_const_key(montserrat_font, 30), be_const_func(lv0_load_montserrat_font) },
|
||||||
|
{ be_const_key(SYMBOL_PREV, -1), be_const_str(&be_local_const_str_SYMBOL_PREV) },
|
||||||
|
{ be_const_key(SYMBOL_BATTERY_1, -1), be_const_str(&be_local_const_str_SYMBOL_BATTERY_1) },
|
||||||
|
{ be_const_key(SYMBOL_FILE, -1), be_const_str(&be_local_const_str_SYMBOL_FILE) },
|
||||||
|
{ be_const_key(SYMBOL_CHARGE, -1), be_const_str(&be_local_const_str_SYMBOL_CHARGE) },
|
||||||
};
|
};
|
||||||
|
|
||||||
static be_define_const_map(
|
static be_define_const_map(
|
||||||
m_liblvgl_map,
|
m_liblvgl_map,
|
||||||
72
|
67
|
||||||
);
|
);
|
||||||
|
|
||||||
static be_define_const_module(
|
static be_define_const_module(
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
/********************************************************************
|
||||||
|
* Tasmota LVGL Headers
|
||||||
|
*******************************************************************/
|
||||||
|
#ifndef __BE_LVGL_H__
|
||||||
|
#define __BE_LVGL_H__
|
||||||
|
|
||||||
|
#include "be_constobj.h"
|
||||||
|
|
||||||
|
#ifdef USE_LVGL
|
||||||
|
|
||||||
|
#include "lvgl.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
// table of functions per class
|
||||||
|
typedef struct lvbe_call_c_t {
|
||||||
|
const char * name;
|
||||||
|
void * func;
|
||||||
|
const char * return_type;
|
||||||
|
const char * arg_type;
|
||||||
|
} lvbe_call_c_t;
|
||||||
|
|
||||||
|
// list of classes and function tables
|
||||||
|
typedef struct lvbe_call_c_classes_t {
|
||||||
|
const char * name;
|
||||||
|
const lvbe_call_c_t * func_table;
|
||||||
|
size_t size;
|
||||||
|
} lvbe_call_c_classes_t;
|
||||||
|
extern const lvbe_call_c_classes_t lv_classes[];
|
||||||
|
extern const size_t lv_classes_size;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif // USE_LVGL
|
||||||
|
|
||||||
|
#endif // __BE_LVGL_H__
|
|
@ -216,14 +216,30 @@ int be_instance_member(bvm *vm, binstance *obj, bstring *name, bvalue *dst)
|
||||||
return type;
|
return type;
|
||||||
}
|
}
|
||||||
|
|
||||||
bbool be_instance_setmember(bvm *vm, binstance *obj, bstring *name, bvalue *src)
|
bbool be_instance_setmember(bvm *vm, binstance *o, bstring *name, bvalue *src)
|
||||||
{
|
{
|
||||||
bvalue v;
|
bvalue v;
|
||||||
be_assert(name != NULL);
|
be_assert(name != NULL);
|
||||||
obj = instance_member(vm, obj, name, &v);
|
binstance * obj = instance_member(vm, o, name, &v);
|
||||||
if (obj && var_istype(&v, MT_VARIABLE)) {
|
if (obj && var_istype(&v, MT_VARIABLE)) {
|
||||||
obj->members[var_toint(&v)] = *src;
|
obj->members[var_toint(&v)] = *src;
|
||||||
return btrue;
|
return btrue;
|
||||||
|
} else {
|
||||||
|
obj = instance_member(vm, o, str_literal(vm, "setmember"), &v);
|
||||||
|
if (obj && var_type(&v) == MT_VARIABLE) {
|
||||||
|
v = obj->members[v.v.i];
|
||||||
|
}
|
||||||
|
if (var_basetype(&v) == BE_FUNCTION) {
|
||||||
|
bvalue *top = vm->top;
|
||||||
|
var_setval(top, &v);
|
||||||
|
var_setinstance(top + 1, o); /* move instance to argv[0] */
|
||||||
|
var_setstr(top + 2, name); /* move method name to argv[1] */
|
||||||
|
var_setval(top + 3, src); /* move method name to argv[1] */
|
||||||
|
vm->top += 4; /* prevent collection results */
|
||||||
|
be_dofunc(vm, top, 3); /* call method 'member' */
|
||||||
|
vm->top -= 4;
|
||||||
|
return var_tobool(top);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return bfalse;
|
return bfalse;
|
||||||
}
|
}
|
||||||
|
|
|
@ -778,7 +778,7 @@ newframe: /* a new call frame */
|
||||||
binstance *obj = var_toobj(b);
|
binstance *obj = var_toobj(b);
|
||||||
int type = obj_attribute(vm, b, c, a);
|
int type = obj_attribute(vm, b, c, a);
|
||||||
reg = vm->reg;
|
reg = vm->reg;
|
||||||
if (var_basetype(a) == BE_FUNCTION) {
|
if (basetype(type) == BE_FUNCTION) {
|
||||||
a[1] = self;
|
a[1] = self;
|
||||||
} else {
|
} else {
|
||||||
vm_error(vm, "attribute_error",
|
vm_error(vm, "attribute_error",
|
||||||
|
@ -793,10 +793,24 @@ newframe: /* a new call frame */
|
||||||
var_settype(a, NOT_METHOD);
|
var_settype(a, NOT_METHOD);
|
||||||
a[1] = *src;
|
a[1] = *src;
|
||||||
} else {
|
} else {
|
||||||
|
bvalue *member = be_module_attr(vm, module, str_literal(vm, "member"));
|
||||||
|
var_setnil(a);
|
||||||
|
if (member && var_basetype(member) == BE_FUNCTION) {
|
||||||
|
bvalue *top = vm->top;
|
||||||
|
top[0] = *member;
|
||||||
|
top[1] = *c; /* move name to argv[0] */
|
||||||
|
vm->top += 2; /* prevent collection results */
|
||||||
|
be_dofunc(vm, top, 1); /* call method 'method' */
|
||||||
|
vm->top -= 2;
|
||||||
|
var_settype(a, NOT_METHOD);
|
||||||
|
a[1] = *vm->top; /* copy result to R(A) */
|
||||||
|
}
|
||||||
|
if (var_basetype(a) == BE_NIL) {
|
||||||
vm_error(vm, "attribute_error",
|
vm_error(vm, "attribute_error",
|
||||||
"module '%s' has no method '%s'",
|
"module '%s' has no method '%s'",
|
||||||
be_module_name(module), str(attr));
|
be_module_name(module), str(attr));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
attribute_error(vm, "method", b, c);
|
attribute_error(vm, "method", b, c);
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,20 +7,6 @@
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// table of functions per class
|
|
||||||
// typedef struct lvbe_call_c_t {
|
|
||||||
// const char * name;
|
|
||||||
// void * func;
|
|
||||||
// const char * return_type;
|
|
||||||
// const char * arg_type;
|
|
||||||
// } lvbe_call_c_t;
|
|
||||||
|
|
||||||
// list of classes and function tables
|
|
||||||
// typedef struct lvbe_call_c_classes_t {
|
|
||||||
// const char * name;
|
|
||||||
// const lvbe_call_c_t * func_table;
|
|
||||||
// size_t size;
|
|
||||||
// } lvbe_call_c_classes_t;
|
|
||||||
|
|
||||||
|
|
||||||
/* `lv_img` methods */
|
/* `lv_img` methods */
|
||||||
|
|
|
@ -357,7 +357,7 @@ typedef void * lv_indev_drv_user_data_t; /*Type of user data in the i
|
||||||
* The behavior of asserts can be overwritten by redefining them here.
|
* The behavior of asserts can be overwritten by redefining them here.
|
||||||
* E.g. #define LV_ASSERT_MEM(p) <my_assert_code>
|
* E.g. #define LV_ASSERT_MEM(p) <my_assert_code>
|
||||||
*/
|
*/
|
||||||
#define LV_USE_DEBUG 1
|
#define LV_USE_DEBUG 0
|
||||||
#if LV_USE_DEBUG
|
#if LV_USE_DEBUG
|
||||||
|
|
||||||
/*Check if the parameter is NULL. (Quite fast) */
|
/*Check if the parameter is NULL. (Quite fast) */
|
||||||
|
@ -499,13 +499,15 @@ typedef void * lv_font_user_data_t;
|
||||||
* texts and borders will be black and the background will be
|
* texts and borders will be black and the background will be
|
||||||
* white. Else the colors are inverted.
|
* white. Else the colors are inverted.
|
||||||
* No flags. Set LV_THEME_DEFAULT_FLAG 0 */
|
* No flags. Set LV_THEME_DEFAULT_FLAG 0 */
|
||||||
#define LV_USE_THEME_MONO 1
|
#define LV_USE_THEME_MONO 0
|
||||||
|
|
||||||
#define LV_THEME_DEFAULT_INCLUDE <stdint.h> /*Include a header for the init. function*/
|
#define LV_THEME_DEFAULT_INCLUDE <stdint.h> /*Include a header for the init. function*/
|
||||||
#define LV_THEME_DEFAULT_INIT lv_theme_material_init
|
#define LV_THEME_DEFAULT_INIT lv_theme_material_init
|
||||||
|
// #define LV_THEME_DEFAULT_INIT lv_theme_empty_init
|
||||||
#define LV_THEME_DEFAULT_COLOR_PRIMARY lv_color_hex(0x01a2b1)
|
#define LV_THEME_DEFAULT_COLOR_PRIMARY lv_color_hex(0x01a2b1)
|
||||||
#define LV_THEME_DEFAULT_COLOR_SECONDARY lv_color_hex(0x44d1b6)
|
#define LV_THEME_DEFAULT_COLOR_SECONDARY lv_color_hex(0x44d1b6)
|
||||||
#define LV_THEME_DEFAULT_FLAG LV_THEME_MATERIAL_FLAG_LIGHT
|
#define LV_THEME_DEFAULT_FLAG LV_THEME_MATERIAL_FLAG_DARK
|
||||||
|
// #define LV_THEME_DEFAULT_FLAG 0
|
||||||
// #define LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_14
|
// #define LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_14
|
||||||
#define LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_10
|
#define LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_10
|
||||||
#define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_14
|
#define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_14
|
||||||
|
|
|
@ -937,6 +937,7 @@
|
||||||
#define USE_LVGL_FREETYPE_MAX_FACES 64 // max number of FreeType faces in cache
|
#define USE_LVGL_FREETYPE_MAX_FACES 64 // max number of FreeType faces in cache
|
||||||
#define USE_LVGL_FREETYPE_MAX_SIZES 4 // max number of sizes in cache
|
#define USE_LVGL_FREETYPE_MAX_SIZES 4 // max number of sizes in cache
|
||||||
#define USE_LVGL_FREETYPE_MAX_BYTES 16*1024 // max bytes in cache
|
#define USE_LVGL_FREETYPE_MAX_BYTES 16*1024 // max bytes in cache
|
||||||
|
#define USE_LVGL_FREETYPE_MAX_BYTES_PSRAM 64*1024 // max bytes in cache when using PSRAM
|
||||||
#define USE_LVGL_BG_DEFAULT 0x000000 // Default color for the uninitialized background screen (black)
|
#define USE_LVGL_BG_DEFAULT 0x000000 // Default color for the uninitialized background screen (black)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
|
|
||||||
#include <berry.h>
|
#include <berry.h>
|
||||||
#include "lvgl.h"
|
#include "lvgl.h"
|
||||||
|
#include "be_lvgl.h"
|
||||||
#include "Adafruit_LvGL_Glue.h"
|
#include "Adafruit_LvGL_Glue.h"
|
||||||
|
|
||||||
#ifdef USE_LVGL_FREETYPE
|
#ifdef USE_LVGL_FREETYPE
|
||||||
|
@ -352,23 +353,6 @@ extern "C" {
|
||||||
return be_call_c_func(vm, func, return_type, arg_type);
|
return be_call_c_func(vm, func, return_type, arg_type);
|
||||||
}
|
}
|
||||||
|
|
||||||
// table of functions per class
|
|
||||||
typedef struct lvbe_call_c_t {
|
|
||||||
const char * name;
|
|
||||||
void * func;
|
|
||||||
const char * return_type;
|
|
||||||
const char * arg_type;
|
|
||||||
} lvbe_call_c_t;
|
|
||||||
|
|
||||||
// list of classes and function tables
|
|
||||||
typedef struct lvbe_call_c_classes_t {
|
|
||||||
const char * name;
|
|
||||||
const lvbe_call_c_t * func_table;
|
|
||||||
size_t size;
|
|
||||||
} lvbe_call_c_classes_t;
|
|
||||||
extern const lvbe_call_c_classes_t lv_classes[];
|
|
||||||
extern const size_t lv_classes_size;
|
|
||||||
|
|
||||||
// virtual method, arg1: instance, arg2: name of method
|
// virtual method, arg1: instance, arg2: name of method
|
||||||
int lvx_member(bvm *vm) {
|
int lvx_member(bvm *vm) {
|
||||||
int32_t argc = be_top(vm); // Get the number of arguments
|
int32_t argc = be_top(vm); // Get the number of arguments
|
||||||
|
@ -800,6 +784,10 @@ extern "C" {
|
||||||
int32_t value;
|
int32_t value;
|
||||||
} lvbe_constant_t;
|
} lvbe_constant_t;
|
||||||
|
|
||||||
|
|
||||||
|
extern const lvbe_call_c_t lv_func[];
|
||||||
|
extern const size_t lv_func_size;
|
||||||
|
|
||||||
extern const lvbe_constant_t lv0_constants[];
|
extern const lvbe_constant_t lv0_constants[];
|
||||||
extern const size_t lv0_constants_size;
|
extern const size_t lv0_constants_size;
|
||||||
|
|
||||||
|
@ -808,29 +796,42 @@ extern "C" {
|
||||||
int32_t argc = be_top(vm); // Get the number of arguments
|
int32_t argc = be_top(vm); // Get the number of arguments
|
||||||
if (argc == 1 && be_isstring(vm, 1)) {
|
if (argc == 1 && be_isstring(vm, 1)) {
|
||||||
const char * needle = be_tostring(vm, 1);
|
const char * needle = be_tostring(vm, 1);
|
||||||
int32_t low = 0;
|
|
||||||
int32_t high = lv0_constants_size - 1;
|
int32_t constant_idx = bin_search(needle, &lv0_constants[0].name, sizeof(lv0_constants[0]), lv0_constants_size);
|
||||||
int32_t mid = (low + high) / 2;
|
|
||||||
// start a dissect
|
if (constant_idx >= 0) {
|
||||||
while (low <= high) {
|
|
||||||
int32_t comp = strcmp(needle, lv0_constants[mid].name);
|
|
||||||
if (comp < 0) {
|
|
||||||
high = mid - 1;
|
|
||||||
} else if (comp > 0) {
|
|
||||||
low = mid + 1;
|
|
||||||
} else {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
mid = (low + high) / 2;
|
|
||||||
}
|
|
||||||
if (low <= high) {
|
|
||||||
// we did have a match, low == high
|
// we did have a match, low == high
|
||||||
be_pushint(vm, lv0_constants[mid].value);
|
be_pushint(vm, lv0_constants[constant_idx].value);
|
||||||
|
be_return(vm);
|
||||||
|
} else {
|
||||||
|
// search for a method with this name
|
||||||
|
|
||||||
|
int32_t method_idx = bin_search(needle, &lv_func[0].name, sizeof(lv_func[0]), lv_func_size);
|
||||||
|
|
||||||
|
if (method_idx >= 0) {
|
||||||
|
const lvbe_call_c_t * method = &lv_func[method_idx];
|
||||||
|
// push native closure
|
||||||
|
be_pushntvclosure(vm, &lvx_call_c, 3); // 3 upvals
|
||||||
|
|
||||||
|
be_pushcomptr(vm, method->func);
|
||||||
|
be_setupval(vm, -2, 0);
|
||||||
|
be_pop(vm, 1);
|
||||||
|
|
||||||
|
be_pushstring(vm, method->return_type);
|
||||||
|
be_setupval(vm, -2, 1);
|
||||||
|
be_pop(vm, 1);
|
||||||
|
|
||||||
|
be_pushstring(vm, method->arg_type);
|
||||||
|
be_setupval(vm, -2, 2);
|
||||||
|
be_pop(vm, 1);
|
||||||
|
|
||||||
|
// all good
|
||||||
be_return(vm);
|
be_return(vm);
|
||||||
} else {
|
} else {
|
||||||
be_return_nil(vm);
|
be_return_nil(vm);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
be_raise(vm, kTypeError, nullptr);
|
be_raise(vm, kTypeError, nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -942,23 +943,6 @@ extern "C" {
|
||||||
return more_to_report;
|
return more_to_report;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*********************************************************************************************\
|
|
||||||
* Methods specific to Tasmota LVGL
|
|
||||||
\*********************************************************************************************/
|
|
||||||
// lv.scr_act() -> lv_obj() instance
|
|
||||||
int lv0_scr_act(bvm *vm) { return lv0_lvobj__void_call(vm, &lv_scr_act); }
|
|
||||||
int lv0_layer_top(bvm *vm) { return lv0_lvobj__void_call(vm, &lv_layer_top); }
|
|
||||||
int lv0_layer_sys(bvm *vm) { return lv0_lvobj__void_call(vm, &lv_layer_sys); }
|
|
||||||
|
|
||||||
int lv0_get_hor_res(bvm *vm) {
|
|
||||||
be_pushint(vm, lv_disp_get_hor_res(lv_disp_get_default()));
|
|
||||||
be_return(vm);
|
|
||||||
}
|
|
||||||
int lv0_get_ver_res(bvm *vm) {
|
|
||||||
be_pushint(vm, lv_disp_get_ver_res(lv_disp_get_default()));
|
|
||||||
be_return(vm);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*********************************************************************************************\
|
/*********************************************************************************************\
|
||||||
* Support for lv_indev and objects that don't need creator
|
* Support for lv_indev and objects that don't need creator
|
||||||
\*********************************************************************************************/
|
\*********************************************************************************************/
|
||||||
|
|
|
@ -428,7 +428,7 @@ void start_lvgl(const char * uconfig) {
|
||||||
// initialize the FreeType renderer
|
// initialize the FreeType renderer
|
||||||
lv_freetype_init(USE_LVGL_FREETYPE_MAX_FACES,
|
lv_freetype_init(USE_LVGL_FREETYPE_MAX_FACES,
|
||||||
USE_LVGL_FREETYPE_MAX_SIZES,
|
USE_LVGL_FREETYPE_MAX_SIZES,
|
||||||
USE_LVGL_FREETYPE_MAX_BYTES);
|
psramFound() ? USE_LVGL_FREETYPE_MAX_BYTES_PSRAM : USE_LVGL_FREETYPE_MAX_BYTES);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
AddLog(LOG_LEVEL_INFO, PSTR(D_LOG_LVGL "LVGL initialized"));
|
AddLog(LOG_LEVEL_INFO, PSTR(D_LOG_LVGL "LVGL initialized"));
|
||||||
|
|
|
@ -202,17 +202,26 @@ with open(lv_module_file) as f:
|
||||||
lv_module.append( [ None, l_raw ] ) # if key in None then add comment line
|
lv_module.append( [ None, l_raw ] ) # if key in None then add comment line
|
||||||
l_raw = re.sub('//.*$', '', l_raw) # remove trailing comments
|
l_raw = re.sub('//.*$', '', l_raw) # remove trailing comments
|
||||||
l_raw = re.sub('\s+', '', l_raw) # remove all spaces
|
l_raw = re.sub('\s+', '', l_raw) # remove all spaces
|
||||||
|
l_raw = re.sub(',.*$', '', l_raw) # remove comma and anything after it
|
||||||
if (len(l_raw) == 0): continue
|
if (len(l_raw) == 0): continue
|
||||||
|
|
||||||
k_v = l_raw.split("=")
|
k_v = l_raw.split("=")
|
||||||
if len(k_v) != 2:
|
if len(k_v) > 2:
|
||||||
print(f"Error: cannot match {l_raw}")
|
print(f"Error: cannot match {l_raw}")
|
||||||
continue
|
continue
|
||||||
|
# extract the key name
|
||||||
k = k_v[0]
|
k = k_v[0]
|
||||||
|
if k.startswith("_"):
|
||||||
|
continue # skip any label starting with '_'
|
||||||
k = re.sub('^LV_', '', k) # remove remove any LV_ prefix
|
k = re.sub('^LV_', '', k) # remove remove any LV_ prefix
|
||||||
|
if len(k_v) == 2: # value is included
|
||||||
v = k_v[1]
|
v = k_v[1]
|
||||||
if k is None or v is None: continue
|
if k is None or v is None: continue
|
||||||
v_num = try_int(eval(v))
|
v_num = try_int(eval(v))
|
||||||
|
else: # no value, we use the C value instead
|
||||||
|
v_num = None
|
||||||
|
v = None
|
||||||
|
|
||||||
|
|
||||||
if not k.isidentifier():
|
if not k.isidentifier():
|
||||||
print(f"Error: {k} is not an identifier")
|
print(f"Error: {k} is not an identifier")
|
||||||
|
@ -221,7 +230,7 @@ with open(lv_module_file) as f:
|
||||||
if v_num is not None:
|
if v_num is not None:
|
||||||
lv_module.append( [k, v_num] )
|
lv_module.append( [k, v_num] )
|
||||||
else:
|
else:
|
||||||
lv_module.append( [k, v] ) # keep as string
|
lv_module.append( [k, v] ) # keep as string or None
|
||||||
|
|
||||||
# recursively try to match value
|
# recursively try to match value
|
||||||
# TODO
|
# TODO
|
||||||
|
@ -263,20 +272,6 @@ print("""
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// table of functions per class
|
|
||||||
// typedef struct lvbe_call_c_t {
|
|
||||||
// const char * name;
|
|
||||||
// void * func;
|
|
||||||
// const char * return_type;
|
|
||||||
// const char * arg_type;
|
|
||||||
// } lvbe_call_c_t;
|
|
||||||
|
|
||||||
// list of classes and function tables
|
|
||||||
// typedef struct lvbe_call_c_classes_t {
|
|
||||||
// const char * name;
|
|
||||||
// const lvbe_call_c_t * func_table;
|
|
||||||
// size_t size;
|
|
||||||
// } lvbe_call_c_classes_t;
|
|
||||||
|
|
||||||
""")
|
""")
|
||||||
|
|
||||||
|
@ -368,6 +363,7 @@ print("""
|
||||||
#ifdef USE_LVGL
|
#ifdef USE_LVGL
|
||||||
|
|
||||||
#include "lvgl.h"
|
#include "lvgl.h"
|
||||||
|
#include "be_lvgl.h"
|
||||||
|
|
||||||
extern int lv0_init(bvm *vm);
|
extern int lv0_init(bvm *vm);
|
||||||
|
|
||||||
|
@ -498,6 +494,7 @@ print("""/********************************************************************
|
||||||
#ifdef USE_LVGL
|
#ifdef USE_LVGL
|
||||||
|
|
||||||
#include "lvgl.h"
|
#include "lvgl.h"
|
||||||
|
#include "be_lvgl.h"
|
||||||
|
|
||||||
extern int lv0_member(bvm *vm); // resolve virtual members
|
extern int lv0_member(bvm *vm); // resolve virtual members
|
||||||
|
|
||||||
|
@ -510,12 +507,32 @@ extern int lv0_load_seg7_font(bvm *vm);
|
||||||
extern int lv0_load_font(bvm *vm);
|
extern int lv0_load_font(bvm *vm);
|
||||||
extern int lv0_load_freetype_font(bvm *vm);
|
extern int lv0_load_freetype_font(bvm *vm);
|
||||||
|
|
||||||
extern int lv0_scr_act(bvm *vm);
|
|
||||||
extern int lv0_layer_top(bvm *vm);
|
|
||||||
extern int lv0_layer_sys(bvm *vm);
|
|
||||||
extern int lv0_get_hor_res(bvm *vm);
|
|
||||||
extern int lv0_get_ver_res(bvm *vm);
|
|
||||||
extern int lv0_screenshot(bvm *vm);
|
extern int lv0_screenshot(bvm *vm);
|
||||||
|
|
||||||
|
static int lv_get_hor_res(void) {
|
||||||
|
return lv_disp_get_hor_res(lv_disp_get_default());
|
||||||
|
}
|
||||||
|
static int lv_get_ver_res(bvm *vm) {
|
||||||
|
return lv_disp_get_ver_res(lv_disp_get_default());
|
||||||
|
}
|
||||||
|
|
||||||
|
/* `lv` methods */
|
||||||
|
const lvbe_call_c_t lv_func[] = {
|
||||||
|
// resolution
|
||||||
|
{ "get_hor_res", (void*) &lv_get_hor_res, "i", "" },
|
||||||
|
{ "get_ver_res", (void*) &lv_get_ver_res, "i", "" },
|
||||||
|
|
||||||
|
// layers
|
||||||
|
{ "layer_sys", (void*) &lv_layer_sys, "lv_obj", "" },
|
||||||
|
{ "layer_top", (void*) &lv_layer_top, "lv_obj", "" },
|
||||||
|
|
||||||
|
// screens
|
||||||
|
{ "scr_act", (void*) &lv_scr_act, "lv_obj", "" },
|
||||||
|
{ "scr_load", (void*) &lv_scr_load, "", "(lv_obj)" },
|
||||||
|
{ "scr_load_anim", (void*) &lv_scr_load_anim, "", "(lv_obj)iiib" },
|
||||||
|
};
|
||||||
|
const size_t lv_func_size = sizeof(lv_func) / sizeof(lv_func[0]);
|
||||||
|
|
||||||
""")
|
""")
|
||||||
|
|
||||||
print("""
|
print("""
|
||||||
|
@ -536,7 +553,10 @@ for k_v in lv_module:
|
||||||
|
|
||||||
for k in sorted(lv_module2):
|
for k in sorted(lv_module2):
|
||||||
v = lv_module2[k]
|
v = lv_module2[k]
|
||||||
|
if v is not None:
|
||||||
print(f" {{ \"{k}\", {v} }},")
|
print(f" {{ \"{k}\", {v} }},")
|
||||||
|
else:
|
||||||
|
print(f" {{ \"{k}\", LV_{k} }},")
|
||||||
|
|
||||||
print("""
|
print("""
|
||||||
};
|
};
|
||||||
|
@ -653,13 +673,6 @@ print("""
|
||||||
be_native_module_function("load_font", lv0_load_font),
|
be_native_module_function("load_font", lv0_load_font),
|
||||||
be_native_module_function("load_freetype_font", lv0_load_freetype_font),
|
be_native_module_function("load_freetype_font", lv0_load_freetype_font),
|
||||||
|
|
||||||
|
|
||||||
// screen and layers
|
|
||||||
be_native_module_function("scr_act", lv0_scr_act),
|
|
||||||
be_native_module_function("layer_top", lv0_layer_top),
|
|
||||||
be_native_module_function("layer_sys", lv0_layer_sys),
|
|
||||||
be_native_module_function("get_hor_res", lv0_get_hor_res),
|
|
||||||
be_native_module_function("get_ver_res", lv0_get_ver_res),
|
|
||||||
be_native_module_function("screenshot", lv0_screenshot),
|
be_native_module_function("screenshot", lv0_screenshot),
|
||||||
""")
|
""")
|
||||||
|
|
||||||
|
@ -823,11 +836,6 @@ print("""
|
||||||
load_font, func(lv0_load_font)
|
load_font, func(lv0_load_font)
|
||||||
load_freetype_font, func(lv0_load_freetype_font)
|
load_freetype_font, func(lv0_load_freetype_font)
|
||||||
|
|
||||||
scr_act, func(lv0_scr_act)
|
|
||||||
layer_top, func(lv0_layer_top)
|
|
||||||
layer_sys, func(lv0_layer_sys)
|
|
||||||
get_hor_res, func(lv0_get_hor_res)
|
|
||||||
get_ver_res, func(lv0_get_ver_res)
|
|
||||||
screenshot, func(lv0_screenshot)
|
screenshot, func(lv0_screenshot)
|
||||||
|
|
||||||
""")
|
""")
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue