You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
126 lines
3.5 KiB
Python
126 lines
3.5 KiB
Python
from micropython import const # NOQA
|
|
import display_driver_framework
|
|
|
|
_WIDTH = const(480)
|
|
_HEIGHT = const(320)
|
|
|
|
_BUFFER_SIZE = _WIDTH * _HEIGHT * 3
|
|
import lcd_bus # NOQA
|
|
|
|
bus = lcd_bus.SDLBus(flags=0)
|
|
|
|
buf1 = bus.allocate_framebuffer(_BUFFER_SIZE, 0)
|
|
buf2 = bus.allocate_framebuffer(_BUFFER_SIZE, 0)
|
|
|
|
import lvgl as lv # NOQA
|
|
|
|
import sdl_display # NOQA
|
|
|
|
lv.init()
|
|
display = sdl_display.SDLDisplay(
|
|
data_bus=bus,
|
|
display_width=480,
|
|
display_height=320,
|
|
frame_buffer1=buf1,
|
|
frame_buffer2=buf2,
|
|
color_space=lv.COLOR_FORMAT.RGB888
|
|
)
|
|
|
|
display.init()
|
|
|
|
import sdl_pointer
|
|
|
|
mouse = sdl_pointer.SDLPointer()
|
|
print(mouse)
|
|
|
|
import task_handler
|
|
th = task_handler.TaskHandler()
|
|
|
|
scrn = lv.screen_active()
|
|
scrn.set_style_bg_color(lv.color_hex(0x000000), 0)
|
|
|
|
tabview = lv.tabview(scrn)
|
|
tabview.set_tab_bar_position(lv.DIR.LEFT)
|
|
tabview.set_tab_bar_size(80)
|
|
|
|
tab_buttons = tabview.get_tab_bar()
|
|
tab_buttons.set_style_text_color(lv.color_hex(0xFFFFFF), 0)
|
|
#f58700 dark orange
|
|
tab_buttons.set_style_border_side(lv.BORDER_SIDE.RIGHT, lv.PART.ITEMS | lv.STATE.CHECKED)
|
|
tab_buttons.set_style_text_font(lv.font_montserrat_16,0)
|
|
home_tab = tabview.add_tab(lv.SYMBOL.HOME)
|
|
target_tab = tabview.add_tab(lv.SYMBOL.LIST)
|
|
settings_tab = tabview.add_tab(lv.SYMBOL.SETTINGS)
|
|
|
|
# Button on settings
|
|
|
|
btn = lv.button(settings_tab)
|
|
btn.align(lv.ALIGN.CENTER, 0, 0)
|
|
btn.set_size(150, 100)
|
|
btn_label = lv.label(btn)
|
|
btn_label.align(lv.ALIGN.CENTER, 0, 0)
|
|
btn_label.set_style_text_font(lv.font_montserrat_14, 0)
|
|
btn_label.set_style_text_align(lv.STATE.DEFAULT, lv.TEXT_ALIGN.CENTER)
|
|
btn_label.set_text("Button")
|
|
g_btn_count = 0
|
|
|
|
def btn_event_cb(e: lv.event_t):
|
|
btn = e.get_target_obj()
|
|
label = btn.get_child(0)
|
|
if e.get_code() == lv.EVENT.CLICKED:
|
|
global g_btn_count
|
|
g_btn_count += 1
|
|
label.set_text(f"Button: {g_btn_count}")
|
|
|
|
btn.add_event_cb(btn_event_cb, lv.EVENT.ALL, None)
|
|
|
|
|
|
# lv_obj_set_style_border_side(tab_buttons, LV_BORDER_SIDE_RIGHT, LV_PART_ITEMS | LV_STATE_CHECKED);
|
|
|
|
# /*Add 3 tabs (the tabs are page (lv_page) and can be scrolled*/
|
|
# lv_obj_t * tab1 = lv_tabview_add_tab(tabview, "Tab 1");
|
|
# lv_obj_t * tab2 = lv_tabview_add_tab(tabview, "Tab 2");
|
|
# lv_obj_t * tab3 = lv_tabview_add_tab(tabview, "Tab 3");
|
|
# lv_obj_t * tab4 = lv_tabview_add_tab(tabview, "Tab 4");
|
|
# lv_obj_t * tab5 = lv_tabview_add_tab(tabview, "Tab 5");
|
|
|
|
# lv_obj_set_style_bg_color(tab2, lv_palette_lighten(LV_PALETTE_AMBER, 3), 0);
|
|
# lv_obj_set_style_bg_opa(tab2, LV_OPA_COVER, 0);
|
|
|
|
# /*Add content to the tabs*/
|
|
# lv_obj_t * label = lv_label_create(tab1);
|
|
# lv_label_set_text(label, "First tab");
|
|
|
|
# label = lv_label_create(tab2);
|
|
# lv_label_set_text(label, "Second tab");
|
|
|
|
# label = lv_label_create(tab3);
|
|
# lv_label_set_text(label, "Third tab");
|
|
|
|
# label = lv_label_create(tab4);
|
|
# lv_label_set_text(label, "Forth tab");
|
|
|
|
# label = lv_label_create(tab5);
|
|
# lv_label_set_text(label, "Fifth tab");
|
|
|
|
# lv_obj_remove_flag(lv_tabview_get_content(tabview), LV_OBJ_FLAG_SCROLLABLE);
|
|
|
|
|
|
# # Button
|
|
# btn = lv.button(scrn)
|
|
# btn.set_pos(10, 10)
|
|
# btn.set_size(120, 50)
|
|
# btn_label = lv.label(btn)
|
|
# btn_label.set_text("Button")
|
|
# g_btn_count = 0
|
|
|
|
# def btn_event_cb(e: lv.event_t):
|
|
# btn = e.get_target_obj()
|
|
# label = btn.get_child(0)
|
|
# if e.get_code() == lv.EVENT.CLICKED:
|
|
# global g_btn_count
|
|
# g_btn_count += 1
|
|
# label.set_text(f"Button: {g_btn_count}")
|
|
|
|
# btn.add_event_cb(btn_event_cb, lv.EVENT.ALL, None)
|