2#include "../foray_basics.hpp"
3#include "../foray_vulkan.hpp"
8#include <sdl2/SDL_vulkan.h>
42 void Title(
const std::string& title);
48 void Size(
const VkExtent2D size);
68 inline static std::vector<Window*>
sWindows = std::vector<Window*>();
Event type fired when the windows closure is requested (by OS or user through OS)
Definition foray_event.hpp:182
Event type fired when a window is resized.
Definition foray_event.hpp:155
Base class for operating system events.
Definition foray_event.hpp:13
Window class. Provides access to common properties of operating system level windows.
Definition foray_window.hpp:15
VkOffset2D mPosition
Definition foray_window.hpp:79
VkExtent2D mWindowedSize
Definition foray_window.hpp:78
SDL_Window * GetSdlWindowHandle() const
Definition foray_window.hpp:58
SDL_Window * mHandle
Definition foray_window.hpp:70
static Window * FindBySDLId(uint32_t id)
Window(const Window &other)=delete
virtual VkSurfaceKHR GetOrCreateSurfaceKHR(VkInstance instance)
VkExtent2D mFullScreenSize
Definition foray_window.hpp:77
int32_t mDisplayId
Definition foray_window.hpp:76
void Size(const VkExtent2D size)
(Setter) WindowPtr Size. Only works in windowed display modes.
virtual void HandleEvent(const Event *event)
virtual void HandleEvent_Closed(const EventWindowCloseRequested *event)
void operator=(const Window &other)=delete
virtual void assertThreadIsOwner()
EDisplayMode mDisplayMode
Definition foray_window.hpp:75
virtual uint32_t SDLId() const
VkSurfaceKHR mSurface
Definition foray_window.hpp:71
bool Exists() const
Check if the window exists on an OS level.
Definition foray_window.hpp:32
static std::vector< Window * > sWindows
Definition foray_window.hpp:68
static std::vector< Window * > & Windows()
VkExtent2D Size() const
(Getter) WindowPtr Size
Definition foray_window.hpp:45
virtual void Create()
Creates the OS level window based on the parameters of the window object.
static const int32_t WINDOWPOS_AUTO
Definition foray_window.hpp:17
virtual void HandleEvent_Resized(const EventWindowResized *event)
void Position(const VkOffset2D pos)
(Setter) Window Position
const std::string & Title() const
(Getter) WindowPtr Title
Definition foray_window.hpp:39
SDL_threadID mOwningThreadID
Definition foray_window.hpp:81
uint32_t mId
Definition foray_window.hpp:72
VkOffset2D Position() const
(Getter) Window Position
Definition foray_window.hpp:50
virtual void Destroy()
Destroys the OS side of the window.
void Title(const std::string &title)
(Setter) WindowPtr Title
std::string mTitle
Definition foray_window.hpp:74
EDisplayMode DisplayMode() const
(Getter) Display Mode
Definition foray_window.hpp:56
Window(const Window &&other)=delete
virtual std::vector< const char * > GetVkSurfaceExtensions() const
void DisplayMode(EDisplayMode mode, bool preserveSize=false)
(Setter) Display Mode
Definition foray_env.hpp:7
EDisplayMode
Supported modes of window display.
Definition foray_helpers.hpp:380
@ WindowedResizable
An OS window with default borders etc. and resizing enabled.