#pragma once enum e_event_code { NONE, EVENT_PRESSED, EVENT_LONG_PRESSED, LV_EVENT_RELEASED, REDRAW }; class cEvents { public: void* user_data = nullptr; void* param = nullptr; cEvents* prev = nullptr; enum e_event_code code; uint16_t x; uint16_t y; cEvents* event_get_code(cEvents* e) { std::cout << e->code << std::endl; return this; } bool event_send_code(cEvents* e) { return true; } }; class cBaseClass { uint8_t uBuf; enum { IN, OUT, BIDIR } IO; virtual void init() {}; virtual void run() {}; virtual void update() {}; }; struct myModel { const char* pClassName = "myModel"; };