Loading...
Searching...
No Matches
hellfire::GLFWWindow Class Referencefinal

#include <GLFWWindow.h>

Inheritance diagram for hellfire::GLFWWindow:
Collaboration diagram for hellfire::GLFWWindow:

Public Member Functions

bool create (int width, int height, const std::string &title) override
 
void destroy () override
 
void swap_buffers () override
 
void poll_events () override
 
void wait_for_events () override
 
void set_title (const std::string &title) override
 
void set_size (int width, int height) override
 
glm::ivec2 get_size () const override
 
bool should_close () const override
 
void * get_native_handle () override
 
glm::ivec2 get_framebuffer_size () const override
 
bool is_key_pressed (int keycode) const override
 
glm::vec2 get_mouse_position () const override
 
void make_current () override
 
void set_event_handler (IWindowEventHandler *handler) override
 
float get_elapsed_time () override
 
void warp_cursor (double x, double y) override
 
void set_cursor_mode (CursorMode mode) override
 
void enable_vsync (bool vsync) override
 
- Public Member Functions inherited from hellfire::IWindow
virtual ~IWindow ()=default
 

Static Private Member Functions

static void key_callback (GLFWwindow *window, int key, int scancode, int action, int mods)
 
static void mouse_button_callback (GLFWwindow *window, int button, int action, int mods)
 
static void cursor_position_callback (GLFWwindow *window, double x, double y)
 
static void window_size_callback (GLFWwindow *window, int width, int height)
 
static void window_iconifiy_callback (GLFWwindow *window, int iconified)
 

Private Attributes

GLFWwindow * window_ = nullptr
 
IWindowEventHandlerevent_handler_ = nullptr
 
bool initialized_ = false
 

Additional Inherited Members

- Protected Attributes inherited from hellfire::IWindow
WindowInfo window_info_ = {}
 

Detailed Description

Definition at line 10 of file GLFWWindow.h.

Member Function Documentation

◆ create()

bool hellfire::GLFWWindow::create ( int  width,
int  height,
const std::string &  title 
)
overridevirtual

Implements hellfire::IWindow.

Definition at line 7 of file GLFWWindow.cpp.

◆ cursor_position_callback()

void hellfire::GLFWWindow::cursor_position_callback ( GLFWwindow *  window,
double  x,
double  y 
)
staticprivate

Definition at line 147 of file GLFWWindow.cpp.

◆ destroy()

void hellfire::GLFWWindow::destroy ( )
overridevirtual

Implements hellfire::IWindow.

Definition at line 39 of file GLFWWindow.cpp.

◆ enable_vsync()

void hellfire::GLFWWindow::enable_vsync ( bool  vsync)
overridevirtual

Implements hellfire::IWindow.

Definition at line 200 of file GLFWWindow.cpp.

◆ get_elapsed_time()

float hellfire::GLFWWindow::get_elapsed_time ( )
overridevirtual

Implements hellfire::IWindow.

Definition at line 178 of file GLFWWindow.cpp.

◆ get_framebuffer_size()

glm::ivec2 hellfire::GLFWWindow::get_framebuffer_size ( ) const
overridevirtual

Implements hellfire::IWindow.

Definition at line 94 of file GLFWWindow.cpp.

◆ get_mouse_position()

glm::vec2 hellfire::GLFWWindow::get_mouse_position ( ) const
overridevirtual

Implements hellfire::IWindow.

Definition at line 110 of file GLFWWindow.cpp.

◆ get_native_handle()

void * hellfire::GLFWWindow::get_native_handle ( )
overridevirtual

Implements hellfire::IWindow.

Definition at line 90 of file GLFWWindow.cpp.

◆ get_size()

glm::ivec2 hellfire::GLFWWindow::get_size ( ) const
overridevirtual

Implements hellfire::IWindow.

Definition at line 82 of file GLFWWindow.cpp.

◆ is_key_pressed()

bool hellfire::GLFWWindow::is_key_pressed ( int  keycode) const
overridevirtual

Implements hellfire::IWindow.

Definition at line 103 of file GLFWWindow.cpp.

◆ key_callback()

void hellfire::GLFWWindow::key_callback ( GLFWwindow *  window,
int  key,
int  scancode,
int  action,
int  mods 
)
staticprivate

Definition at line 125 of file GLFWWindow.cpp.

◆ make_current()

void hellfire::GLFWWindow::make_current ( )
overridevirtual

Implements hellfire::IWindow.

Definition at line 119 of file GLFWWindow.cpp.

◆ mouse_button_callback()

void hellfire::GLFWWindow::mouse_button_callback ( GLFWwindow *  window,
int  button,
int  action,
int  mods 
)
staticprivate

Definition at line 136 of file GLFWWindow.cpp.

◆ poll_events()

void hellfire::GLFWWindow::poll_events ( )
overridevirtual

Implements hellfire::IWindow.

Definition at line 57 of file GLFWWindow.cpp.

◆ set_cursor_mode()

void hellfire::GLFWWindow::set_cursor_mode ( CursorMode  mode)
overridevirtual

Implements hellfire::IWindow.

Definition at line 186 of file GLFWWindow.cpp.

◆ set_event_handler()

void hellfire::GLFWWindow::set_event_handler ( IWindowEventHandler handler)
overridevirtual

Implements hellfire::IWindow.

Definition at line 174 of file GLFWWindow.cpp.

◆ set_size()

void hellfire::GLFWWindow::set_size ( int  width,
int  height 
)
overridevirtual

Implements hellfire::IWindow.

Definition at line 74 of file GLFWWindow.cpp.

◆ set_title()

void hellfire::GLFWWindow::set_title ( const std::string &  title)
overridevirtual

Implements hellfire::IWindow.

Definition at line 67 of file GLFWWindow.cpp.

◆ should_close()

bool hellfire::GLFWWindow::should_close ( ) const
overridevirtual

Implements hellfire::IWindow.

Definition at line 86 of file GLFWWindow.cpp.

◆ swap_buffers()

void hellfire::GLFWWindow::swap_buffers ( )
overridevirtual

Implements hellfire::IWindow.

Definition at line 51 of file GLFWWindow.cpp.

◆ wait_for_events()

void hellfire::GLFWWindow::wait_for_events ( )
overridevirtual

Implements hellfire::IWindow.

Definition at line 63 of file GLFWWindow.cpp.

◆ warp_cursor()

void hellfire::GLFWWindow::warp_cursor ( double  x,
double  y 
)
overridevirtual

Implements hellfire::IWindow.

Definition at line 182 of file GLFWWindow.cpp.

◆ window_iconifiy_callback()

void hellfire::GLFWWindow::window_iconifiy_callback ( GLFWwindow *  window,
int  iconified 
)
staticprivate

Definition at line 165 of file GLFWWindow.cpp.

◆ window_size_callback()

void hellfire::GLFWWindow::window_size_callback ( GLFWwindow *  window,
int  width,
int  height 
)
staticprivate

Definition at line 154 of file GLFWWindow.cpp.

Member Data Documentation

◆ event_handler_

IWindowEventHandler* hellfire::GLFWWindow::event_handler_ = nullptr
private

Definition at line 42 of file GLFWWindow.h.

◆ initialized_

bool hellfire::GLFWWindow::initialized_ = false
private

Definition at line 43 of file GLFWWindow.h.

◆ window_

GLFWwindow* hellfire::GLFWWindow::window_ = nullptr
private

Definition at line 41 of file GLFWWindow.h.


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