Tatooine
|
#include <window.h>
Public Member Functions | |
auto | imgui_render_backend () const -> auto const & |
auto | imgui_render_backend () -> auto & |
window (const std::string &title, size_t width, size_t height) | |
~window () | |
void | make_current () |
void | release () |
void | refresh () |
void | render_imgui () |
void | swap_buffers () |
void | check_events () |
void | on_key_pressed (key) override |
void | on_key_released (key) override |
void | on_button_pressed (button) override |
void | on_button_released (button) override |
void | on_wheel_up () override |
void | on_wheel_down () override |
void | on_wheel_left () override |
void | on_wheel_right () override |
void | on_cursor_moved (double, double) override |
void | on_resize (int, int) override |
auto | get () -> auto & |
auto | get () const -> auto const & |
auto | should_close () const |
auto | primary_screen_resolution () const |
template<typename F > | |
void | do_async (F &&f) |
![]() | |
void | notify_key_pressed (key k) |
void | notify_key_released (key k) |
void | notify_button_pressed (button b) |
void | notify_button_released (button b) |
void | notify_wheel_up () |
void | notify_wheel_down () |
void | notify_wheel_left () |
void | notify_wheel_right () |
void | notify_cursor_moved (double x, double y) |
void | notify_resize (int width, int height) |
void | notify_close () |
void | add_listener (window_listener &l) |
template<typename Event > | |
void | add_resize_event (Event &&event) |
template<typename Event > | |
void | add_key_pressed_event (Event &&event) |
template<typename Event > | |
void | add_key_released_event (Event &&event) |
template<typename Event > | |
void | add_button_pressed_event (Event &&event) |
template<typename Event > | |
void | add_button_released_event (Event &&event) |
template<typename Event > | |
void | add_cursor_moved_event (Event &&event) |
template<typename Event > | |
void | add_wheel_up_event (Event &&event) |
template<typename Event > | |
void | add_wheel_down_event (Event &&event) |
![]() | |
virtual void | on_cursor_moved (double, double) |
virtual void | on_resize (int, int) |
virtual void | on_close () |
virtual void | on_key_pressed (key) |
virtual void | on_key_released (key) |
virtual void | on_button_pressed (button) |
virtual void | on_button_released (button) |
virtual void | on_wheel_up () |
virtual void | on_wheel_down () |
virtual void | on_wheel_left () |
virtual void | on_wheel_right () |
Public Attributes | |
std::unique_ptr< glfw::window > | m_glfw_window |
std::unique_ptr< struct imgui_render_backend > | m_imgui_render_backend |
std::list< std::thread > | m_async_tasks |
std::vector< std::list< std::thread >::iterator > | m_joinable_async_tasks |
std::mutex | m_async_tasks_mutex |
![]() | |
std::vector< window_listener * > | m_window_listeners |
std::vector< std::unique_ptr< base_holder > > | m_events |
Private Member Functions | |
void | setup (const std::string &title, size_t width, size_t height) |
void | init_imgui (size_t width, size_t height) |
void | deinit_imgui () |
tatooine::gl::window::window | ( | const std::string & | title, |
size_t | width, | ||
size_t | height | ||
) |
tatooine::gl::window::~window | ( | ) |
void tatooine::gl::window::check_events | ( | ) |
|
private |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
void tatooine::gl::window::make_current | ( | ) |
|
overridevirtual |
Reimplemented from tatooine::gl::button_listener.
Reimplemented in tatooine::flowexplorer::window.
|
overridevirtual |
Reimplemented from tatooine::gl::button_listener.
Reimplemented in tatooine::flowexplorer::window.
Reimplemented from tatooine::gl::window_listener.
Reimplemented in tatooine::flowexplorer::window.
|
overridevirtual |
Reimplemented from tatooine::gl::keyboard_listener.
Reimplemented in tatooine::rendering::first_person_window, and tatooine::flowexplorer::window.
|
overridevirtual |
Reimplemented from tatooine::gl::keyboard_listener.
|
overridevirtual |
Reimplemented from tatooine::gl::window_listener.
Reimplemented in tatooine::rendering::first_person_window.
|
overridevirtual |
Reimplemented from tatooine::gl::button_listener.
|
overridevirtual |
Reimplemented from tatooine::gl::button_listener.
|
overridevirtual |
Reimplemented from tatooine::gl::button_listener.
|
overridevirtual |
Reimplemented from tatooine::gl::button_listener.
|
inline |
void tatooine::gl::window::refresh | ( | ) |
void tatooine::gl::window::release | ( | ) |
void tatooine::gl::window::render_imgui | ( | ) |
|
private |
|
inline |
void tatooine::gl::window::swap_buffers | ( | ) |
std::list<std::thread> tatooine::gl::window::m_async_tasks |
std::mutex tatooine::gl::window::m_async_tasks_mutex |
std::unique_ptr<glfw::window> tatooine::gl::window::m_glfw_window |
std::unique_ptr<struct imgui_render_backend> tatooine::gl::window::m_imgui_render_backend |
std::vector<std::list<std::thread>::iterator> tatooine::gl::window::m_joinable_async_tasks |