CPP-TOOLBOX
Loading...
Searching...
No Matches
GLFWLambdaCallbackManager Class Reference

Allows you to specify glfw callbacks as c++ lambdas, @description glfw only allows c-style function pointers to be bound to glfw, this class allows you to get around this by wrapping the passed in std::functions in methods which are c-style functions, and then passing those wrappers into glfw. More...

#include <glfw_lambda_callback_manager.hpp>

Public Types

using CharCallback = std::function<void(unsigned int)>
 
using KeyCallback = std::function<void(int, int, int, int)>
 
using CursorPosCallback = std::function<void(double, double)>
 
using MouseButtonCallback = std::function<void(int, int, int)>
 
using ScrollCallback = std::function<void(double, double)>
 
using FrameBufferSizeCallback = std::function<void(int, int)>
 

Public Member Functions

void set_char_callback (CharCallback char_callback)
 
void set_key_callback (KeyCallback key_callback)
 
void set_cursor_pos_callback (CursorPosCallback cursor_pos_callback)
 
void set_mouse_button_callback (MouseButtonCallback mouse_button_callback)
 
void set_scroll_callback (ScrollCallback scroll_callback)
 
void set_frame_buffer_size_callback (FrameBufferSizeCallback frame_buffer_size_callback)
 
void set_all_callbacks (AllGLFWLambdaCallbacks all_callbacks)
 
 GLFWLambdaCallbackManager (GLFWwindow *window)
 
 GLFWLambdaCallbackManager (GLFWwindow *window, CharCallback char_callback, KeyCallback key_callback, CursorPosCallback cursor_pos_callback, MouseButtonCallback mouse_button_callback, ScrollCallback scroll_callback, FrameBufferSizeCallback frame_buffer_size_callback)
 
void register_all_callbacks_with_glfw ()
 

Detailed Description

Allows you to specify glfw callbacks as c++ lambdas, @description glfw only allows c-style function pointers to be bound to glfw, this class allows you to get around this by wrapping the passed in std::functions in methods which are c-style functions, and then passing those wrappers into glfw.

Member Typedef Documentation

◆ CharCallback

using GLFWLambdaCallbackManager::CharCallback = std::function<void(unsigned int)>

◆ CursorPosCallback

using GLFWLambdaCallbackManager::CursorPosCallback = std::function<void(double, double)>

◆ FrameBufferSizeCallback

using GLFWLambdaCallbackManager::FrameBufferSizeCallback = std::function<void(int, int)>

◆ KeyCallback

using GLFWLambdaCallbackManager::KeyCallback = std::function<void(int, int, int, int)>

◆ MouseButtonCallback

using GLFWLambdaCallbackManager::MouseButtonCallback = std::function<void(int, int, int)>

◆ ScrollCallback

using GLFWLambdaCallbackManager::ScrollCallback = std::function<void(double, double)>

Constructor & Destructor Documentation

◆ GLFWLambdaCallbackManager() [1/2]

GLFWLambdaCallbackManager::GLFWLambdaCallbackManager ( GLFWwindow * window)

◆ GLFWLambdaCallbackManager() [2/2]

GLFWLambdaCallbackManager::GLFWLambdaCallbackManager ( GLFWwindow * window,
CharCallback char_callback,
KeyCallback key_callback,
CursorPosCallback cursor_pos_callback,
MouseButtonCallback mouse_button_callback,
ScrollCallback scroll_callback,
FrameBufferSizeCallback frame_buffer_size_callback )

Member Function Documentation

◆ register_all_callbacks_with_glfw()

void GLFWLambdaCallbackManager::register_all_callbacks_with_glfw ( )

◆ set_all_callbacks()

void GLFWLambdaCallbackManager::set_all_callbacks ( AllGLFWLambdaCallbacks all_callbacks)

◆ set_char_callback()

void GLFWLambdaCallbackManager::set_char_callback ( CharCallback char_callback)

◆ set_cursor_pos_callback()

void GLFWLambdaCallbackManager::set_cursor_pos_callback ( CursorPosCallback cursor_pos_callback)

◆ set_frame_buffer_size_callback()

void GLFWLambdaCallbackManager::set_frame_buffer_size_callback ( FrameBufferSizeCallback frame_buffer_size_callback)

◆ set_key_callback()

void GLFWLambdaCallbackManager::set_key_callback ( KeyCallback key_callback)

◆ set_mouse_button_callback()

void GLFWLambdaCallbackManager::set_mouse_button_callback ( MouseButtonCallback mouse_button_callback)

◆ set_scroll_callback()

void GLFWLambdaCallbackManager::set_scroll_callback ( ScrollCallback scroll_callback)

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