#pragma once #include "IRenderTarget.hpp" #include "Types.hpp" #include "Vector2.hpp" namespace TSE { class IWindow : public IRenderTarget { public: static IWindow* lastWindow; string title; protected: virtual bool Init() = 0; public: virtual void Clear() const = 0; virtual void ClearDepthBuffer() const = 0; virtual bool ShouldClose() const = 0; virtual void DoneSetup() = 0; bool BaseInit() const; void BaseUpdate() const; Vector2 GetSize() const; ~IWindow(); }; } // namespace TSE