forked from MicroPythonOS/MicroPythonOS
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathutil.py
More file actions
33 lines (31 loc) · 1 KB
/
util.py
File metadata and controls
33 lines (31 loc) · 1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import lvgl as lv
def urldecode(s):
result = ""
i = 0
while i < len(s):
if s[i] == '%':
result += chr(int(s[i+1:i+3], 16))
i += 3
else:
result += s[i]
i += 1
return result
def print_lvgl_widget(obj, depth=0):
if obj:
label = ""
hidden = ""
editable = "editable"
obj_area = lv.area_t()
obj.get_coords(obj_area)
if obj.has_flag(lv.obj.FLAG.HIDDEN):
hidden = "hidden "
if not obj.is_editable():
editable = "not editable "
if isinstance(obj,lv.label):
label = f" with label '{obj.get_text()}'"
padding = " " * depth
print(f"{padding}{obj} pos:{obj_area.x1}x{obj_area.y1} size:{obj_area.get_width()}x{obj_area.get_height()} {hidden}{editable} {label}")
for childnr in range(obj.get_child_count()):
print_lvgl_widget(obj.get_child(childnr), depth+1)
else:
print("print_lvgl_widget called on 'None'")