HASPmota broken `changed` event (#22194)

* HASPmota broken `changed` event

* Avoid breaking compatibility
This commit is contained in:
s-hadinger 2024-09-23 23:09:31 +02:00 committed by GitHub
parent 2d5545997e
commit 17cc9e18b4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 2938 additions and 2871 deletions

View File

@ -36,6 +36,7 @@ All notable changes to this project will be documented in this file.
- Compilation exception when metrics not found (#22170)
- ESP8266 Exception 3 on tasmota-minimal caused by unaligned PROGMEM (#22169)
- LVGL compilation of lv_menu (#22188)
- HASPmota broken `changed` event
### Removed

View File

@ -27,13 +27,16 @@ lv.ANIM_IMAGE_PART_MAIN = 0
lv.ANIM_OFF = 0
lv.ANIM_ON = 1
lv.ANIM_PLAYTIME_INFINITE = -1
lv.ANIM_REPEAT_INFINITE = 65535
lv.ANIM_REPEAT_INFINITE = -1
lv.ARC_MODE_NORMAL = 0
lv.ARC_MODE_REVERSE = 2
lv.ARC_MODE_SYMMETRICAL = 1
lv.BAR_MODE_NORMAL = 0
lv.BAR_MODE_RANGE = 2
lv.BAR_MODE_SYMMETRICAL = 1
lv.BAR_ORIENTATION_AUTO = 0
lv.BAR_ORIENTATION_HORIZONTAL = 1
lv.BAR_ORIENTATION_VERTICAL = 2
lv.BASE_DIR_AUTO = 2
lv.BASE_DIR_LTR = 0
lv.BASE_DIR_NEUTRAL = 32
@ -70,6 +73,10 @@ lv.BUTTONMATRIX_CTRL_DISABLED = 64
lv.BUTTONMATRIX_CTRL_HIDDEN = 16
lv.BUTTONMATRIX_CTRL_NO_REPEAT = 32
lv.BUTTONMATRIX_CTRL_POPOVER = 1024
lv.BUTTONMATRIX_CTRL_RESERVED_1 = 2048
lv.BUTTONMATRIX_CTRL_RESERVED_2 = 4096
lv.BUTTONMATRIX_CTRL_RESERVED_3 = 8192
lv.CHART_AXIS_LAST = 5
lv.CHART_AXIS_PRIMARY_X = 2
lv.CHART_AXIS_PRIMARY_Y = 0
lv.CHART_AXIS_SECONDARY_X = 4
@ -90,6 +97,8 @@ lv.COLOR_FORMAT_A1 = 11
lv.COLOR_FORMAT_A2 = 12
lv.COLOR_FORMAT_A4 = 13
lv.COLOR_FORMAT_A8 = 14
lv.COLOR_FORMAT_AL88 = 21
lv.COLOR_FORMAT_ARGB8565 = 19
lv.COLOR_FORMAT_ARGB8888 = 16
lv.COLOR_FORMAT_I1 = 7
lv.COLOR_FORMAT_I2 = 8
@ -156,86 +165,89 @@ lv.DISP_ROTATION_0 = 0
lv.DISP_ROTATION_180 = 2
lv.DISP_ROTATION_270 = 3
lv.DISP_ROTATION_90 = 1
lv.DRAW_LETTER_BITMAP_FORMAT_A8 = 1
lv.DRAW_LETTER_BITMAP_FORMAT_IMAGE = 2
lv.DRAW_LETTER_BITMAP_FORMAT_INVALID = 0
lv.DRAW_LETTER_VECTOR_FORMAT = 3
lv.DRAW_TASK_STATE_IN_PROGRESS = 2
lv.DRAW_TASK_STATE_QUEUED = 1
lv.DRAW_TASK_STATE_READY = 3
lv.DRAW_TASK_STATE_WAITING = 0
lv.DRAW_TASK_TYPE_ARC = 7
lv.DRAW_TASK_TYPE_BORDER = 1
lv.DRAW_TASK_TYPE_BOX_SHADOW = 2
lv.DRAW_TASK_TYPE_FILL = 0
lv.DRAW_TASK_TYPE_IMAGE = 4
lv.DRAW_TASK_TYPE_LABEL = 3
lv.DRAW_TASK_TYPE_LAYER = 5
lv.DRAW_TASK_TYPE_LINE = 6
lv.DRAW_TASK_TYPE_MASK_BITMAP = 10
lv.DRAW_TASK_TYPE_MASK_RECTANGLE = 9
lv.DRAW_TASK_TYPE_TRIANGLE = 8
lv.DRAW_TASK_TYPE_VECTOR = 11
lv.DRAW_TASK_TYPE_ARC = 8
lv.DRAW_TASK_TYPE_BORDER = 2
lv.DRAW_TASK_TYPE_BOX_SHADOW = 3
lv.DRAW_TASK_TYPE_FILL = 1
lv.DRAW_TASK_TYPE_IMAGE = 5
lv.DRAW_TASK_TYPE_LABEL = 4
lv.DRAW_TASK_TYPE_LAYER = 6
lv.DRAW_TASK_TYPE_LINE = 7
lv.DRAW_TASK_TYPE_MASK_BITMAP = 11
lv.DRAW_TASK_TYPE_MASK_RECTANGLE = 10
lv.DRAW_TASK_TYPE_NONE = 0
lv.DRAW_TASK_TYPE_TRIANGLE = 9
lv.DRAW_TASK_TYPE_VECTOR = 12
lv.DROPDOWN_POS_LAST = 65535
lv.EVENT_ALL = 0
lv.EVENT_CANCEL = 33
lv.EVENT_CHILD_CHANGED = 36
lv.EVENT_CHILD_CREATED = 37
lv.EVENT_CHILD_DELETED = 38
lv.EVENT_CANCEL = 36
lv.EVENT_CHILD_CHANGED = 39
lv.EVENT_CHILD_CREATED = 40
lv.EVENT_CHILD_DELETED = 41
lv.EVENT_CLICKED = 7
lv.EVENT_COLOR_FORMAT_CHANGED = 49
lv.EVENT_COVER_CHECK = 20
lv.EVENT_CREATE = 34
lv.EVENT_DEFOCUSED = 16
lv.EVENT_DELETE = 35
lv.EVENT_DRAW_MAIN = 23
lv.EVENT_DRAW_MAIN_BEGIN = 22
lv.EVENT_DRAW_MAIN_END = 24
lv.EVENT_DRAW_POST = 26
lv.EVENT_DRAW_POST_BEGIN = 25
lv.EVENT_DRAW_POST_END = 27
lv.EVENT_DRAW_TASK_ADDED = 28
lv.EVENT_FLUSH_FINISH = 56
lv.EVENT_FLUSH_START = 55
lv.EVENT_FOCUSED = 15
lv.EVENT_COLOR_FORMAT_CHANGED = 52
lv.EVENT_COVER_CHECK = 23
lv.EVENT_CREATE = 37
lv.EVENT_DEFOCUSED = 17
lv.EVENT_DELETE = 38
lv.EVENT_DRAW_MAIN = 26
lv.EVENT_DRAW_MAIN_BEGIN = 25
lv.EVENT_DRAW_MAIN_END = 27
lv.EVENT_DRAW_POST = 29
lv.EVENT_DRAW_POST_BEGIN = 28
lv.EVENT_DRAW_POST_END = 30
lv.EVENT_DRAW_TASK_ADDED = 31
lv.EVENT_FLUSH_FINISH = 59
lv.EVENT_FLUSH_START = 58
lv.EVENT_FLUSH_WAIT_FINISH = 61
lv.EVENT_FLUSH_WAIT_START = 60
lv.EVENT_FOCUSED = 16
lv.EVENT_GESTURE = 13
lv.EVENT_GET_SELF_SIZE = 46
lv.EVENT_HIT_TEST = 18
lv.EVENT_INDEV_RESET = 19
lv.EVENT_INSERT = 30
lv.EVENT_INVALIDATE_AREA = 47
lv.EVENT_GET_SELF_SIZE = 49
lv.EVENT_HIT_TEST = 19
lv.EVENT_HOVER_LEAVE = 22
lv.EVENT_HOVER_OVER = 21
lv.EVENT_INDEV_RESET = 20
lv.EVENT_INSERT = 33
lv.EVENT_INVALIDATE_AREA = 50
lv.EVENT_KEY = 14
lv.EVENT_LAYOUT_CHANGED = 45
lv.EVENT_LEAVE = 17
lv.EVENT_LAST = 63
lv.EVENT_LAYOUT_CHANGED = 48
lv.EVENT_LEAVE = 18
lv.EVENT_LONG_PRESSED = 5
lv.EVENT_LONG_PRESSED_REPEAT = 6
lv.EVENT_PREPROCESS = 32768
lv.EVENT_PRESSED = 1
lv.EVENT_PRESSING = 2
lv.EVENT_PRESS_LOST = 3
lv.EVENT_READY = 32
lv.EVENT_REFRESH = 31
lv.EVENT_REFR_EXT_DRAW_SIZE = 21
lv.EVENT_REFR_READY = 52
lv.EVENT_REFR_REQUEST = 50
lv.EVENT_REFR_START = 51
lv.EVENT_READY = 35
lv.EVENT_REFRESH = 34
lv.EVENT_REFR_EXT_DRAW_SIZE = 24
lv.EVENT_REFR_READY = 55
lv.EVENT_REFR_REQUEST = 53
lv.EVENT_REFR_START = 54
lv.EVENT_RELEASED = 8
lv.EVENT_RENDER_READY = 54
lv.EVENT_RENDER_START = 53
lv.EVENT_RESOLUTION_CHANGED = 48
lv.EVENT_SCREEN_LOADED = 41
lv.EVENT_SCREEN_LOAD_START = 40
lv.EVENT_SCREEN_UNLOADED = 42
lv.EVENT_SCREEN_UNLOAD_START = 39
lv.EVENT_RENDER_READY = 57
lv.EVENT_RENDER_START = 56
lv.EVENT_RESOLUTION_CHANGED = 51
lv.EVENT_ROTARY = 15
lv.EVENT_SCREEN_LOADED = 44
lv.EVENT_SCREEN_LOAD_START = 43
lv.EVENT_SCREEN_UNLOADED = 45
lv.EVENT_SCREEN_UNLOAD_START = 42
lv.EVENT_SCROLL = 12
lv.EVENT_SCROLL_BEGIN = 9
lv.EVENT_SCROLL_END = 11
lv.EVENT_SCROLL_THROW_BEGIN = 10
lv.EVENT_SHORT_CLICKED = 4
lv.EVENT_SIZE_CHANGED = 43
lv.EVENT_STYLE_CHANGED = 44
lv.EVENT_VALUE_CHANGED = 29
lv.EVENT_VSYNC = 57
lv.EVENT_SIZE_CHANGED = 46
lv.EVENT_STYLE_CHANGED = 47
lv.EVENT_VALUE_CHANGED = 32
lv.EVENT_VSYNC = 62
lv.FLEX_ALIGN_CENTER = 2
lv.FLEX_ALIGN_END = 1
lv.FLEX_ALIGN_SPACE_AROUND = 4
@ -271,9 +283,15 @@ lv.FS_SEEK_SET = 0
lv.FT_FONT_STYLE_BOLD = 2
lv.FT_FONT_STYLE_ITALIC = 1
lv.FT_FONT_STYLE_NORMAL = 0
lv.GRAD_DIR_CONICAL = 5
lv.GRAD_DIR_HOR = 2
lv.GRAD_DIR_LINEAR = 3
lv.GRAD_DIR_NONE = 0
lv.GRAD_DIR_RADIAL = 4
lv.GRAD_DIR_VER = 1
lv.GRAD_EXTEND_PAD = 0
lv.GRAD_EXTEND_REFLECT = 2
lv.GRAD_EXTEND_REPEAT = 1
lv.GRID_ALIGN_CENTER = 1
lv.GRID_ALIGN_END = 2
lv.GRID_ALIGN_SPACE_AROUND = 5
@ -290,8 +308,10 @@ lv.IMAGEBUTTON_STATE_CHECKED_DISABLED = 5
lv.IMAGEBUTTON_STATE_CHECKED_PRESSED = 4
lv.IMAGEBUTTON_STATE_CHECKED_RELEASED = 3
lv.IMAGEBUTTON_STATE_DISABLED = 2
lv.IMAGEBUTTON_STATE_NUM = 6
lv.IMAGEBUTTON_STATE_PRESSED = 1
lv.IMAGEBUTTON_STATE_RELEASED = 0
lv.IMAGE_ALIGN_AUTO_TRANSFORM = 10
lv.IMAGE_ALIGN_BOTTOM_LEFT = 4
lv.IMAGE_ALIGN_BOTTOM_MID = 5
lv.IMAGE_ALIGN_BOTTOM_RIGHT = 6
@ -309,17 +329,17 @@ lv.IMAGE_COMPRESS_NONE = 0
lv.IMAGE_COMPRESS_RLE = 1
lv.IMAGE_FLAGS_ALLOCATED = 16
lv.IMAGE_FLAGS_COMPRESSED = 8
lv.IMAGE_FLAGS_MODIFIABLE = 2
lv.IMAGE_FLAGS_MODIFIABLE = 32
lv.IMAGE_FLAGS_PREMULTIPLIED = 1
lv.IMAGE_FLAGS_USER1 = 4096
lv.IMAGE_FLAGS_USER2 = 8192
lv.IMAGE_FLAGS_USER3 = 16384
lv.IMAGE_FLAGS_USER4 = 32768
lv.IMAGE_FLAGS_USER5 = 256
lv.IMAGE_FLAGS_USER6 = 512
lv.IMAGE_FLAGS_USER7 = 1024
lv.IMAGE_FLAGS_USER8 = 2048
lv.IMAGE_FLAGS_VECTORS = 4
lv.IMAGE_FLAGS_USER1 = 256
lv.IMAGE_FLAGS_USER2 = 512
lv.IMAGE_FLAGS_USER3 = 1024
lv.IMAGE_FLAGS_USER4 = 2048
lv.IMAGE_FLAGS_USER5 = 4096
lv.IMAGE_FLAGS_USER6 = 8192
lv.IMAGE_FLAGS_USER7 = 16384
lv.IMAGE_FLAGS_USER8 = 32768
lv.IMAGE_HEADER_MAGIC = 25
lv.IMAGE_SRC_FILE = 1
lv.IMAGE_SRC_SYMBOL = 2
lv.IMAGE_SRC_UNKNOWN = 3
@ -359,6 +379,7 @@ lv.LAYER_TYPE_SIMPLE = 1
lv.LAYER_TYPE_TRANSFORM = 2
lv.LAYOUT_FLEX = 1
lv.LAYOUT_GRID = 2
lv.LAYOUT_LAST = 3
lv.LAYOUT_NONE = 0
lv.LOG_LEVEL_ERROR = 3
lv.LOG_LEVEL_INFO = 1
@ -410,6 +431,10 @@ lv.OBJ_FLAG_USER_3 = 536870912
lv.OBJ_FLAG_USER_4 = 1073741824
lv.OBJ_FLAG_WIDGET_1 = 33554432
lv.OBJ_FLAG_WIDGET_2 = 67108864
lv.OBJ_POINT_TRANSFORM_FLAG_INVERSE = 2
lv.OBJ_POINT_TRANSFORM_FLAG_INVERSE_RECURSIVE = 3
lv.OBJ_POINT_TRANSFORM_FLAG_NONE = 0
lv.OBJ_POINT_TRANSFORM_FLAG_RECURSIVE = 1
lv.OBJ_TREE_WALK_END = 2
lv.OBJ_TREE_WALK_NEXT = 0
lv.OBJ_TREE_WALK_SKIP_CHILDREN = 1
@ -436,6 +461,7 @@ lv.PALETTE_DEEP_PURPLE = 3
lv.PALETTE_GREEN = 9
lv.PALETTE_GREY = 18
lv.PALETTE_INDIGO = 4
lv.PALETTE_LAST = 19
lv.PALETTE_LIGHT_BLUE = 6
lv.PALETTE_LIGHT_GREEN = 10
lv.PALETTE_LIME = 11
@ -469,6 +495,7 @@ lv.SCALE_LABEL_ENABLED_DEFAULT = 1
lv.SCALE_MAJOR_TICK_EVERY_DEFAULT = 5
lv.SCALE_MODE_HORIZONTAL_BOTTOM = 1
lv.SCALE_MODE_HORIZONTAL_TOP = 0
lv.SCALE_MODE_LAST = 17
lv.SCALE_MODE_ROUND_INNER = 8
lv.SCALE_MODE_ROUND_OUTER = 16
lv.SCALE_MODE_VERTICAL_LEFT = 2
@ -499,15 +526,17 @@ lv.SCR_LOAD_ANIM_OVER_BOTTOM = 4
lv.SCR_LOAD_ANIM_OVER_LEFT = 1
lv.SCR_LOAD_ANIM_OVER_RIGHT = 2
lv.SCR_LOAD_ANIM_OVER_TOP = 3
lv.SIZE_CONTENT = 536872913
lv.SIZE_CONTENT = 1073741823
lv.SLIDER_MODE_NORMAL = 0
lv.SLIDER_MODE_RANGE = 2
lv.SLIDER_MODE_SYMMETRICAL = 1
lv.SPAN_MODE_BREAK = 2
lv.SPAN_MODE_EXPAND = 1
lv.SPAN_MODE_FIXED = 0
lv.SPAN_MODE_LAST = 3
lv.SPAN_OVERFLOW_CLIP = 0
lv.SPAN_OVERFLOW_ELLIPSIS = 1
lv.SPAN_OVERFLOW_LAST = 2
lv.STATE_ANY = 65535
lv.STATE_CHECKED = 1
lv.STATE_DEFAULT = 0
@ -547,6 +576,7 @@ lv.STYLE_BG_IMAGE_TILED = 44
lv.STYLE_BG_MAIN_OPA = 36
lv.STYLE_BG_MAIN_STOP = 33
lv.STYLE_BG_OPA = 29
lv.STYLE_BITMAP_MASK_SRC = 115
lv.STYLE_BLEND_MODE = 103
lv.STYLE_BORDER_COLOR = 49
lv.STYLE_BORDER_OPA = 50
@ -556,21 +586,21 @@ lv.STYLE_BORDER_WIDTH = 48
lv.STYLE_CLIP_CORNER = 45
lv.STYLE_COLOR_FILTER_DSC = 97
lv.STYLE_COLOR_FILTER_OPA = 98
lv.STYLE_FLEX_CROSS_PLACE = 117
lv.STYLE_FLEX_FLOW = 115
lv.STYLE_FLEX_GROW = 119
lv.STYLE_FLEX_MAIN_PLACE = 116
lv.STYLE_FLEX_TRACK_PLACE = 118
lv.STYLE_GRID_CELL_COLUMN_POS = 124
lv.STYLE_GRID_CELL_COLUMN_SPAN = 125
lv.STYLE_GRID_CELL_ROW_POS = 127
lv.STYLE_GRID_CELL_ROW_SPAN = 128
lv.STYLE_GRID_CELL_X_ALIGN = 126
lv.STYLE_GRID_CELL_Y_ALIGN = 129
lv.STYLE_GRID_COLUMN_ALIGN = 120
lv.STYLE_GRID_COLUMN_DSC_ARRAY = 123
lv.STYLE_GRID_ROW_ALIGN = 121
lv.STYLE_GRID_ROW_DSC_ARRAY = 122
lv.STYLE_FLEX_CROSS_PLACE = 127
lv.STYLE_FLEX_FLOW = 125
lv.STYLE_FLEX_GROW = 129
lv.STYLE_FLEX_MAIN_PLACE = 126
lv.STYLE_FLEX_TRACK_PLACE = 128
lv.STYLE_GRID_CELL_COLUMN_POS = 134
lv.STYLE_GRID_CELL_COLUMN_SPAN = 135
lv.STYLE_GRID_CELL_ROW_POS = 137
lv.STYLE_GRID_CELL_ROW_SPAN = 138
lv.STYLE_GRID_CELL_X_ALIGN = 136
lv.STYLE_GRID_CELL_Y_ALIGN = 139
lv.STYLE_GRID_COLUMN_ALIGN = 130
lv.STYLE_GRID_COLUMN_DSC_ARRAY = 133
lv.STYLE_GRID_ROW_ALIGN = 131
lv.STYLE_GRID_ROW_DSC_ARRAY = 132
lv.STYLE_HEIGHT = 2
lv.STYLE_IMAGE_OPA = 68
lv.STYLE_IMAGE_RECOLOR = 69
@ -578,6 +608,7 @@ lv.STYLE_IMAGE_RECOLOR_OPA = 70
lv.STYLE_IMG_OPA = 68
lv.STYLE_IMG_RECOLOR = 69
lv.STYLE_IMG_RECOLOR_OPA = 70
lv.STYLE_LAST_BUILT_IN_PROP = 140
lv.STYLE_LAYOUT = 22
lv.STYLE_LENGTH = 3
lv.STYLE_LINE_COLOR = 76
@ -594,6 +625,7 @@ lv.STYLE_MAX_HEIGHT = 7
lv.STYLE_MAX_WIDTH = 5
lv.STYLE_MIN_HEIGHT = 6
lv.STYLE_MIN_WIDTH = 4
lv.STYLE_NUM_BUILT_IN_PROPS = 141
lv.STYLE_OPA = 95
lv.STYLE_OPA_LAYERED = 96
lv.STYLE_OUTLINE_COLOR = 57
@ -607,10 +639,12 @@ lv.STYLE_PAD_RIGHT = 19
lv.STYLE_PAD_ROW = 20
lv.STYLE_PAD_TOP = 16
lv.STYLE_PROP_ANY = 255
lv.STYLE_PROP_CONST = 255
lv.STYLE_PROP_INV = 0
lv.STYLE_RADIUS = 12
lv.STYLE_RES_FOUND = 1
lv.STYLE_RES_NOT_FOUND = 0
lv.STYLE_ROTARY_SENSITIVITY = 116
lv.STYLE_SHADOW_COLOR = 61
lv.STYLE_SHADOW_OFFSET_X = 64
lv.STYLE_SHADOW_OFFSET_Y = 65
@ -619,6 +653,10 @@ lv.STYLE_SHADOW_OFS_Y = 65
lv.STYLE_SHADOW_OPA = 62
lv.STYLE_SHADOW_SPREAD = 66
lv.STYLE_SHADOW_WIDTH = 60
lv.STYLE_STATE_CMP_DIFF_DRAW_PAD = 2
lv.STYLE_STATE_CMP_DIFF_LAYOUT = 3
lv.STYLE_STATE_CMP_DIFF_REDRAW = 1
lv.STYLE_STATE_CMP_SAME = 0
lv.STYLE_TEXT_ALIGN = 94
lv.STYLE_TEXT_COLOR = 88
lv.STYLE_TEXT_DECOR = 93
@ -657,40 +695,8 @@ lv.TEXT_ALIGN_RIGHT = 3
lv.TEXT_DECOR_NONE = 0
lv.TEXT_DECOR_STRIKETHROUGH = 2
lv.TEXT_DECOR_UNDERLINE = 1
lv.TEXT_FLAG_BREAK_ALL = 4
lv.TEXT_FLAG_EXPAND = 1
lv.TEXT_FLAG_FIT = 2
lv.TEXT_FLAG_NONE = 0
lv.VECTOR_BLEND_ADDITIVE = 7
lv.VECTOR_BLEND_DST_IN = 3
lv.VECTOR_BLEND_DST_OVER = 2
lv.VECTOR_BLEND_MULTIPLY = 5
lv.VECTOR_BLEND_NONE = 6
lv.VECTOR_BLEND_SCREEN = 4
lv.VECTOR_BLEND_SRC_IN = 1
lv.VECTOR_BLEND_SRC_OVER = 0
lv.VECTOR_BLEND_SUBTRACTIVE = 8
lv.VECTOR_DRAW_STYLE_GRADIENT = 2
lv.VECTOR_DRAW_STYLE_PATTERN = 1
lv.VECTOR_DRAW_STYLE_SOLID = 0
lv.VECTOR_FILL_EVENODD = 1
lv.VECTOR_FILL_NONZERO = 0
lv.VECTOR_GRADIENT_SPREAD_PAD = 0
lv.VECTOR_GRADIENT_SPREAD_REFLECT = 2
lv.VECTOR_GRADIENT_SPREAD_REPEAT = 1
lv.VECTOR_GRADIENT_STYLE_LINEAR = 0
lv.VECTOR_GRADIENT_STYLE_RADIAL = 1
lv.VECTOR_PATH_OP_CLOSE = 4
lv.VECTOR_PATH_OP_CUBIC_TO = 3
lv.VECTOR_PATH_OP_LINE_TO = 1
lv.VECTOR_PATH_OP_MOVE_TO = 0
lv.VECTOR_PATH_OP_QUAD_TO = 2
lv.VECTOR_PATH_QUALITY_HIGH = 1
lv.VECTOR_PATH_QUALITY_LOW = 2
lv.VECTOR_PATH_QUALITY_MEDIUM = 0
lv.VECTOR_STROKE_CAP_BUTT = 0
lv.VECTOR_STROKE_CAP_ROUND = 2
lv.VECTOR_STROKE_CAP_SQUARE = 1
lv.VECTOR_STROKE_JOIN_BEVEL = 1
lv.VECTOR_STROKE_JOIN_MITER = 0
lv.VECTOR_STROKE_JOIN_ROUND = 2
lv.ZOOM_NONE = 256

View File

@ -9,6 +9,34 @@
var haspmota = module("haspmota")
#################################################################################
# Bytes list
#
# This function takes a list of events (uin8) and returns a bytes object
#
# It is used only at compile time, and is not included in the final flash
# The bytes object is far more compact than a list of ints and
# does automatic deduplication if the same list occurs twice
#################################################################################
def list_to_bytes(l)
var b = bytes()
for v: l
b.add(v, 1)
end
return b
end
#################################################################################
# Pre-defined events lists
#################################################################################
var EVENTS_NONE = list_to_bytes([])
var EVENTS_TOUCH = list_to_bytes([lv.EVENT_PRESSED, lv.EVENT_CLICKED, lv.EVENT_PRESS_LOST, lv.EVENT_RELEASED,
lv.EVENT_LONG_PRESSED, #-lv.EVENT_LONG_PRESSED_REPEAT-# ])
var EVENTS_ALL = list_to_bytes([lv.EVENT_PRESSED, lv.EVENT_CLICKED, lv.EVENT_PRESS_LOST, lv.EVENT_RELEASED,
lv.EVENT_LONG_PRESSED, #-lv.EVENT_LONG_PRESSED_REPEAT,-#
lv.EVENT_VALUE_CHANGED ]) # adding VALUE_CHANGED
#################################################################################
# Class `lvh_root`
#
@ -17,7 +45,8 @@ var haspmota = module("haspmota")
#################################################################################
#@ solidify:lvh_root,weak
class lvh_root
static var _lv_class = nil # _lv_class refers to the lvgl class encapsulated, and is overriden by subclasses
static var _lv_class = nil # _lv_class refers to the lvgl class encapsulated, and is overriden by subclasses
static var _EVENTS = EVENTS_NONE
# attributes to ignore when set at object level (they are managed by page)
static var _attr_ignore = [
@ -518,6 +547,7 @@ end
class lvh_obj : lvh_root
static var _lv_class = lv.obj # _lv_class refers to the lvgl class encapsulated, and is overriden by subclasses
static var _lv_part2_selector # selector for secondary part (like knob of arc)
static var _EVENTS = EVENTS_ALL
#====================================================================
# Instance variables
@ -584,8 +614,11 @@ class lvh_obj : lvh_root
}
def register_event_cb()
var oh = self._page._oh
for ev:self._event_map.keys()
oh.register_event(self, ev)
var b = self._EVENTS
var i = 0
while (i < size(b))
oh.register_event(self, b[i])
i += 1
end
end
@ -606,16 +639,14 @@ class lvh_obj : lvh_root
var tas_event_more = "" # complementary data
if code == lv.EVENT_VALUE_CHANGED
try
# try to get the new val
var val = self.val
if val != nil tas_event_more = format(',"val":%s', json.dump(val)) end
var text = self.text
if text != nil
tas_event_more += ',"text":'
tas_event_more += json.dump(text)
end
except ..
import introspect
var val = introspect.get(self, "val") # does not raise an exception if not found
if (val != nil && type(val) != 'module')
tas_event_more = f',"val":{json.dump(val)}'
end
var text = introspect.get(self, "text") # does not raise an exception if not found
if (text != nil && type(text) != 'module')
tas_event_more += f',"text":{json.dump(text)}'
end
end
var tas_event = format('{"hasp":{"p%ib%i":{"event":"%s"%s}}}', self._page._page_id, self.id, event_hasp, tas_event_more)
@ -1096,6 +1127,8 @@ end
#@ solidify:lvh_fixed,weak
class lvh_fixed : lvh_obj
# static var _lv_class = lv.obj # from parent class
# static var _EVENTS = EVENTS_ALL
# label do not need a sub-label
def post_init()
super(self).post_init() # call super
@ -1115,6 +1148,7 @@ end
#@ solidify:lvh_flex,weak
class lvh_flex : lvh_fixed
# static var _lv_class = lv.obj # from parent class
static var _EVENTS = EVENTS_NONE # inhetited
# label do not need a sub-label
def post_init()
super(self).post_init() # call super
@ -1143,6 +1177,7 @@ end
class lvh_arc : lvh_obj
static var _lv_class = lv.arc
static var _lv_part2_selector = lv.PART_KNOB
# static var _EVENTS = EVENTS_ALL
var _label_angle # nil if none
# line_width converts to arc_width
@ -1223,6 +1258,7 @@ end
class lvh_switch : lvh_obj
static var _lv_class = lv.switch
static var _lv_part2_selector = lv.PART_KNOB
# static var _EVENTS = EVENTS_ALL
# map val to toggle
def set_val(t)
self._val = t
@ -1239,6 +1275,7 @@ end
#@ solidify:lvh_spinner,weak
class lvh_spinner : lvh_arc
static var _lv_class = lv.spinner
# static var _EVENTS = EVENTS_ALL # inherited
var _speed, _angle
# init
@ -1356,6 +1393,7 @@ end
#@ solidify:lvh_slider,weak
class lvh_slider : lvh_obj
static var _lv_class = lv.slider
# static var _EVENTS = EVENTS_ALL
def set_val(t)
self._val = t
@ -1439,6 +1477,7 @@ end
#@ solidify:lvh_dropdown,weak
class lvh_dropdown : lvh_obj
static var _lv_class = lv.dropdown
# static var _EVENTS = EVENTS_ALL
var _symbol # we need to keep a reference to the string used for symbol to avoid GC
static var _dir = [ lv.DIR_BOTTOM, lv.DIR_TOP, lv.DIR_LEFT, lv.DIR_RIGHT ] # 0 = down, 1 = up, 2 = left, 3 = right
@ -1509,6 +1548,7 @@ end
#@ solidify:lvh_dropdown_list,weak
class lvh_dropdown_list : lvh_obj
static var _lv_class = nil
# static var _EVENTS = EVENTS_NONE
def post_init()
self._lv_obj = nil # default to nil object, whatever it was initialized with
@ -1518,7 +1558,7 @@ class lvh_dropdown_list : lvh_obj
else
print("HSP: '_dropdown_list' should have a parent of type 'dropdown'")
end
# super(self).post_init() # call super - don't call post_init to not register a callback
super(self).post_init()
end
end
@ -2055,7 +2095,9 @@ class lvh_checkbox : lvh_obj static var _lv_class = lv.checkbox end
# class lvh_textarea : lvh_obj static var _lv_class = lv.textarea end
# special case for scr (which is actually lv_obj)
#@ solidify:lvh_scr,weak
class lvh_scr : lvh_obj static var _lv_class = nil end # no class for screen
class lvh_scr : lvh_obj
static var _lv_class = nil # no class for screen
end
#################################################################################