Files
MicroPythonOS/internal_filesystem/lib/mpos/ui/event.py
T
Thomas Farstrike a2af392cb1 Refactor mpos.ui
2025-10-30 20:31:02 +01:00

86 lines
3.1 KiB
Python

# lib/mpos/ui/event.py
import lvgl as lv
EVENT_MAP = {
lv.EVENT.ALL: "ALL",
lv.EVENT.CANCEL: "CANCEL",
lv.EVENT.CHILD_CHANGED: "CHILD_CHANGED",
lv.EVENT.CHILD_CREATED: "CHILD_CREATED",
lv.EVENT.CHILD_DELETED: "CHILD_DELETED",
lv.EVENT.CLICKED: "CLICKED",
lv.EVENT.COLOR_FORMAT_CHANGED: "COLOR_FORMAT_CHANGED",
lv.EVENT.COVER_CHECK: "COVER_CHECK",
lv.EVENT.CREATE: "CREATE",
lv.EVENT.DEFOCUSED: "DEFOCUSED",
lv.EVENT.DELETE: "DELETE",
lv.EVENT.DRAW_MAIN: "DRAW_MAIN",
lv.EVENT.DRAW_MAIN_BEGIN: "DRAW_MAIN_BEGIN",
lv.EVENT.DRAW_MAIN_END: "DRAW_MAIN_END",
lv.EVENT.DRAW_POST: "DRAW_POST",
lv.EVENT.DRAW_POST_BEGIN: "DRAW_POST_BEGIN",
lv.EVENT.DRAW_POST_END: "DRAW_POST_END",
lv.EVENT.DRAW_TASK_ADDED: "DRAW_TASK_ADDED",
lv.EVENT.FLUSH_FINISH: "FLUSH_FINISH",
lv.EVENT.FLUSH_START: "FLUSH_START",
lv.EVENT.FLUSH_WAIT_FINISH: "FLUSH_WAIT_FINISH",
lv.EVENT.FLUSH_WAIT_START: "FLUSH_WAIT_START",
lv.EVENT.FOCUSED: "FOCUSED",
lv.EVENT.GESTURE: "GESTURE",
lv.EVENT.GET_SELF_SIZE: "GET_SELF_SIZE",
lv.EVENT.HIT_TEST: "HIT_TEST",
lv.EVENT.HOVER_LEAVE: "HOVER_LEAVE",
lv.EVENT.HOVER_OVER: "HOVER_OVER",
lv.EVENT.INDEV_RESET: "INDEV_RESET",
lv.EVENT.INSERT: "INSERT",
lv.EVENT.INVALIDATE_AREA: "INVALIDATE_AREA",
lv.EVENT.KEY: "KEY",
lv.EVENT.LAST: "LAST",
lv.EVENT.LAYOUT_CHANGED: "LAYOUT_CHANGED",
lv.EVENT.LEAVE: "LEAVE",
lv.EVENT.LONG_PRESSED: "LONG_PRESSED",
lv.EVENT.LONG_PRESSED_REPEAT: "LONG_PRESSED_REPEAT",
lv.EVENT.PREPROCESS: "PREPROCESS",
lv.EVENT.PRESSED: "PRESSED",
lv.EVENT.PRESSING: "PRESSING",
lv.EVENT.PRESS_LOST: "PRESS_LOST",
lv.EVENT.READY: "READY",
lv.EVENT.REFRESH: "REFRESH",
lv.EVENT.REFR_EXT_DRAW_SIZE: "REFR_EXT_DRAW_SIZE",
lv.EVENT.REFR_READY: "REFR_READY",
lv.EVENT.REFR_REQUEST: "REFR_REQUEST",
lv.EVENT.REFR_START: "REFR_START",
lv.EVENT.RELEASED: "RELEASED",
lv.EVENT.RENDER_READY: "RENDER_READY",
lv.EVENT.RENDER_START: "RENDER_START",
lv.EVENT.RESOLUTION_CHANGED: "RESOLUTION_CHANGED",
lv.EVENT.ROTARY: "ROTARY",
lv.EVENT.SCREEN_LOADED: "SCREEN_LOADED",
lv.EVENT.SCREEN_LOAD_START: "SCREEN_LOAD_START",
lv.EVENT.SCREEN_UNLOADED: "SCREEN_UNLOADED",
lv.EVENT.SCREEN_UNLOAD_START: "SCREEN_UNLOAD_START",
lv.EVENT.SCROLL: "SCROLL",
lv.EVENT.SCROLL_BEGIN: "SCROLL_BEGIN",
lv.EVENT.SCROLL_END: "SCROLL_END",
lv.EVENT.SCROLL_THROW_BEGIN: "SCROLL_THROW_BEGIN",
lv.EVENT.SHORT_CLICKED: "SHORT_CLICKED",
lv.EVENT.SIZE_CHANGED: "SIZE_CHANGED",
lv.EVENT.STYLE_CHANGED: "STYLE_CHANGED",
lv.EVENT.VALUE_CHANGED: "VALUE_CHANGED",
lv.EVENT.VSYNC: "VSYNC"
}
def get_event_name(code):
return EVENT_MAP.get(code, f"Unknown {code}")
def print_event(event):
code = event.get_code()
ignored = {19,23,25,26,27,28,29,30,31,32,33,39,49,52}
if code in ignored:
return
name = get_event_name(code)
target = event.get_target_obj()
key = f", key: {event.get_key()}" if code == lv.EVENT.KEY else ""
print(f"{target}{name}{key}")