#pragma once #include #include #include extern lv_disp_t* displayHandle; class CoreS3Display : public tt::hal::Display { private: esp_lcd_panel_io_handle_t ioHandle = nullptr; esp_lcd_panel_handle_t panelHandle = nullptr; lv_display_t* displayHandle = nullptr; public: std::string getName() const final { return "ILI9342C"; } std::string getDescription() const final { return "Display (ILI9342C with an ILI9341 driver)"; } bool start() override; bool stop() override; std::shared_ptr _Nullable createTouch() override; void setBacklightDuty(uint8_t backlightDuty) override; bool supportsBacklightDuty() const override { return true; } void setGammaCurve(uint8_t index) override; uint8_t getGammaCurveCount() const override { return 4; }; lv_display_t* _Nullable getLvglDisplay() const override { return displayHandle; } }; std::shared_ptr createDisplay();