69class FGE_API SurfaceHeadless final :
public Surface
72 explicit SurfaceHeadless(
Instance& instance, VkExtent2D extent = {0, 0});
73 SurfaceHeadless(SurfaceHeadless&& r)
noexcept;
74 ~SurfaceHeadless()
override;
76 bool create(VkExtent2D extent);
78 void setExtent(VkExtent2D extent);
80 void destroy()
override;
82 [[nodiscard]] VkExtent2D getExtent()
const override;
128class FGE_API SurfaceSDLWindow final :
public SurfaceWindow
131 inline explicit SurfaceSDLWindow(
Instance& instance) :
132 SurfaceWindow(instance),
135 SurfaceSDLWindow(
Instance& instance,
136 std::string_view title,
137 fge::Vector2i
const& position,
138 fge::Vector2i
const& size,
140 SurfaceSDLWindow(
Instance& instance, fge::Vector2i
const& position, fge::Vector2i
const& size, uint32_t flags);
141 SurfaceSDLWindow(SurfaceSDLWindow&& r)
noexcept;
142 ~SurfaceSDLWindow()
override;
164 bool create(std::string_view title, fge::Vector2i
const& position, fge::Vector2i
const& size, uint32_t flags);
165 void destroy()
override;
167 [[nodiscard]] Types getType()
const override;
169 [[nodiscard]] fge::Vector2i getSize()
const override;
170 [[nodiscard]] fge::Vector2i getPosition()
const override;
172 [[nodiscard]] SDL_Window* getWindow()
const;
175 SDL_Window* g_window;
bool create(std::string_view title, fge::Vector2i const &position, fge::Vector2i const &size, uint32_t flags)
Create a surface and the SDL_Window.