#pragma once #include "SdlTouch.h" #include #include class SdlDisplay final : public tt::hal::display::DisplayDevice { lv_disp_t* displayHandle = nullptr; public: std::string getName() const override { return "SDL Display"; } std::string getDescription() const override { return ""; } bool start() override { return true; } bool stop() override { return true; } bool supportsLvgl() const override { return true; } bool startLvgl() override { if (displayHandle) return true; // already started displayHandle = lv_sdl_window_create(320, 240); lv_sdl_window_set_title(displayHandle, "Tactility"); return displayHandle != nullptr; } bool stopLvgl() override { if (!displayHandle) return true; lv_display_delete(displayHandle); displayHandle = nullptr; return true; } lv_display_t* getLvglDisplay() const override { return displayHandle; } std::shared_ptr getTouchDevice() override { return std::make_shared(); } bool supportsDisplayDriver() const override { return false; } std::shared_ptr getDisplayDriver() override { return nullptr; } };