SDEngine
Game Engine
Loading...
Searching...
No Matches
sd::Window Class Reference

#include <Window.hpp>

+ Collaboration diagram for sd::Window:

Public Member Functions

 Window (int width, int height, const std::string &title)
 
 Window (const WindowDesc &desc)
 
 Window (Window &&)=delete
 
Windowoperator= (Window &&)=delete
 
 Window (const Window &)=delete
 
Windowoperator= (const Window &)=delete
 
 ~Window ()
 
void set_resize_callback (const ResizeCallbackFn &callback)
 
void set_key_callback (const KeyCallbackFn &callback)
 
void set_scroll_callback (const ScrollCallbackFn &callback)
 
void set_cursor_callback (const CursorCallbackFn &callback)
 
void set_mouse_button_callback (const MouseButtonCallbackFn &callback)
 
void set_refresh_callback (const RefreshCallbackFn &callback)
 
void set_char_callback (const CharCallbackFn &callback)
 
GLFWwindowget_native_handle () const
 
std::pair< int, intget_window_size () const
 
std::pair< int, intget_framebuffer_size () const
 
bool should_close () const
 
vk::UniqueSurfaceKHR create_window_surface (vk::UniqueInstance &instance, const VkAllocationCallbacks *allocation_callback) const
 
EventManagerget_event_manager ()
 

Static Public Member Functions

static void wait_events ()
 ONLY CALL if ALL windows are minimized.
 

Public Attributes

LayerList layer_stack
 

Static Private Member Functions

static void dispatch_resize (GLFWwindow *window, int width, int height)
 
static void dispatch_close (GLFWwindow *window)
 
static void dispatch_key (GLFWwindow *window, int key, int scancode, int action, int mods)
 
static void dispatch_scroll (GLFWwindow *window, double xOffset, double yOffset)
 
static void dispatch_cursor (GLFWwindow *window, double xPos, double yPos)
 
static void dispatch_mouse_button (GLFWwindow *window, int button, int action, int mods)
 
static void dispatch_refresh (GLFWwindow *window)
 
static void dispatch_char_dispatch_char (GLFWwindow *window, unsigned int keycode)
 

Private Attributes

GLFWwindowm_handle
 
ResizeCallbackFn m_resize_callback
 
KeyCallbackFn m_key_callback
 
ScrollCallbackFn m_scroll_callback
 
CursorCallbackFn m_cursor_callback
 
MouseButtonCallbackFn m_mouse_button_callback
 
RefreshCallbackFn m_refresh_callback
 
CharCallbackFn m_char_callback
 
EventManager m_window_event_manager
 

Constructor & Destructor Documentation

◆ Window() [1/4]

sd::Window::Window ( int  width,
int  height,
const std::string &  title 
)

◆ Window() [2/4]

sd::Window::Window ( const WindowDesc desc)
explicit

◆ Window() [3/4]

sd::Window::Window ( Window &&  )
delete

◆ Window() [4/4]

sd::Window::Window ( const Window )
delete

◆ ~Window()

sd::Window::~Window ( )

Member Function Documentation

◆ create_window_surface()

vk::UniqueSurfaceKHR sd::Window::create_window_surface ( vk::UniqueInstance &  instance,
const VkAllocationCallbacks allocation_callback 
) const

◆ dispatch_char_dispatch_char()

void sd::Window::dispatch_char_dispatch_char ( GLFWwindow window,
unsigned int  keycode 
)
staticprivate

◆ dispatch_close()

void sd::Window::dispatch_close ( GLFWwindow window)
staticprivate

◆ dispatch_cursor()

void sd::Window::dispatch_cursor ( GLFWwindow window,
double  xPos,
double  yPos 
)
staticprivate

◆ dispatch_key()

void sd::Window::dispatch_key ( GLFWwindow window,
int  key,
int  scancode,
int  action,
int  mods 
)
staticprivate

◆ dispatch_mouse_button()

void sd::Window::dispatch_mouse_button ( GLFWwindow window,
int  button,
int  action,
int  mods 
)
staticprivate

◆ dispatch_refresh()

void sd::Window::dispatch_refresh ( GLFWwindow window)
staticprivate

◆ dispatch_resize()

void sd::Window::dispatch_resize ( GLFWwindow window,
int  width,
int  height 
)
staticprivate

◆ dispatch_scroll()

void sd::Window::dispatch_scroll ( GLFWwindow window,
double  xOffset,
double  yOffset 
)
staticprivate

◆ get_event_manager()

EventManager & sd::Window::get_event_manager ( )
inline

◆ get_framebuffer_size()

std::pair< int, int > sd::Window::get_framebuffer_size ( ) const

◆ get_native_handle()

GLFWwindow * sd::Window::get_native_handle ( ) const
inline

◆ get_window_size()

std::pair< int, int > sd::Window::get_window_size ( ) const

◆ operator=() [1/2]

Window & sd::Window::operator= ( const Window )
delete

◆ operator=() [2/2]

Window & sd::Window::operator= ( Window &&  )
delete

◆ set_char_callback()

void sd::Window::set_char_callback ( const CharCallbackFn callback)
inline

◆ set_cursor_callback()

void sd::Window::set_cursor_callback ( const CursorCallbackFn callback)
inline

◆ set_key_callback()

void sd::Window::set_key_callback ( const KeyCallbackFn callback)
inline

◆ set_mouse_button_callback()

void sd::Window::set_mouse_button_callback ( const MouseButtonCallbackFn callback)
inline

◆ set_refresh_callback()

void sd::Window::set_refresh_callback ( const RefreshCallbackFn callback)
inline

◆ set_resize_callback()

void sd::Window::set_resize_callback ( const ResizeCallbackFn callback)
inline

◆ set_scroll_callback()

void sd::Window::set_scroll_callback ( const ScrollCallbackFn callback)
inline

◆ should_close()

bool sd::Window::should_close ( ) const
inline

◆ wait_events()

static void sd::Window::wait_events ( )
inlinestatic

ONLY CALL if ALL windows are minimized.

Member Data Documentation

◆ layer_stack

LayerList sd::Window::layer_stack

◆ m_char_callback

CharCallbackFn sd::Window::m_char_callback
private

◆ m_cursor_callback

CursorCallbackFn sd::Window::m_cursor_callback
private

◆ m_handle

GLFWwindow* sd::Window::m_handle
private

◆ m_key_callback

KeyCallbackFn sd::Window::m_key_callback
private

◆ m_mouse_button_callback

MouseButtonCallbackFn sd::Window::m_mouse_button_callback
private

◆ m_refresh_callback

RefreshCallbackFn sd::Window::m_refresh_callback
private

◆ m_resize_callback

ResizeCallbackFn sd::Window::m_resize_callback
private

◆ m_scroll_callback

ScrollCallbackFn sd::Window::m_scroll_callback
private

◆ m_window_event_manager

EventManager sd::Window::m_window_event_manager
private

The documentation for this class was generated from the following files: