#pragma once #include "chronology.h" #include "collection.h" #include "gfx/gl/uiShader.h" #include "special_members.h" #include "stdTypeDefs.h" #include "uiComponent.h" // IWYU pragma: keep #include class WindowContent : public StdTypeDefs { public: using Factory = std::function; WindowContent(size_t width, size_t height); virtual ~WindowContent() = default; NO_MOVE(WindowContent); NO_COPY(WindowContent); virtual void tick(TickDuration); virtual void render() const = 0; virtual bool handleInput(const SDL_Event & e); protected: ::Collection uiComponents; UIShader uiShader; };