gui.hpp (992B)
1 #ifndef GUI_H 2 #define GUI_H 3 #include "lvgl.h" 4 #include <cstdint> 5 #include <src/drivers/display/drm/lv_linux_drm.h> 6 #include <src/drivers/evdev/lv_evdev.h> 7 #include <src/indev/lv_indev.h> 8 #include "screen.hpp" 9 10 class Gui { 11 private: 12 uint16_t window_width = 480; 13 uint16_t window_height = 800; 14 bool fullscreen = 0; 15 bool maximize = 0; 16 17 void displayInit(){ 18 //display 19 const char *device = "/dev/dri/card1"; 20 lv_display_t *disp = lv_linux_drm_create(); 21 lv_linux_drm_set_file(disp, device, -1); 22 23 //touch input device 24 const char *inputDevice = "/dev/input/by-path/platform-fe205000.i2c-event"; 25 lv_indev_t *touch = lv_evdev_create(LV_INDEV_TYPE_POINTER, inputDevice); 26 lv_indev_set_display(touch, disp); 27 28 } 29 30 protected: 31 public: 32 Gui() 33 { 34 lv_init(); 35 displayInit(); 36 } 37 38 uint32_t timerHandler(){ 39 return lv_timer_handler(); 40 } 41 42 43 int setActiveScreen(Screen *screen){ 44 lv_screen_load(screen->getScreen()); 45 return 0; 46 } 47 }; 48 49 #endif