Tatooine
Public Types | Public Member Functions | Public Attributes | Private Member Functions | List of all members
tatooine::flowexplorer::window Struct Reference

#include <window.h>

Inheritance diagram for tatooine::flowexplorer::window:
[legend]
Collaboration diagram for tatooine::flowexplorer::window:
[legend]

Public Types

using this_type = window
 
using parent_type = rendering::first_person_window
 
- Public Types inherited from tatooine::rendering::first_person_window
using parent_type = gl::window
 

Public Member Functions

auto ui_scale_factor () const
 
auto aabb2d_icon_tex () const -> auto const &
 
auto aabb3d_icon_tex () const -> auto const &
 
 window ()
 
 window (filesystem::path const &scene_path)
 
 ~window ()
 
void on_key_pressed (gl::key k) override
 
void on_button_pressed (gl::button b) override
 
void on_button_released (gl::button b) override
 
void on_cursor_moved (double, double) override
 
void start ()
 
auto push_regular_font () -> void
 
auto push_header1_font () -> void
 
auto push_header2_font () -> void
 
auto push_bold_font () -> void
 
auto pop_font () -> void
 
auto close_file_explorer ()
 
auto open_file_explorer (ui::base::node &n)
 
auto open_file_explorer (std::string const &title, ui::base::node &n)
 
auto open_file_explorer (std::string const &title, std::vector< std::string > const &extensions, ui::base::node &n)
 
auto open_file_explorer_write (ui::base::node &n)
 
auto open_file_explorer_write (std::string const &title, ui::base::node &n)
 
auto open_file_explorer_write (std::string const &title, std::vector< std::string > const &extensions, ui::base::node &n)
 
auto file_explorer_is_opened () const
 
auto file_explorer () const -> auto const &
 
auto file_explorer () -> auto &
 
- Public Member Functions inherited from tatooine::rendering::first_person_window
 first_person_window (std::size_t width=800, std::size_t height=600)
 
virtual ~first_person_window ()=default
 
auto width () const
 
auto height () const
 
auto camera_controller () -> auto &
 
auto camera_controller () const -> auto const &
 
template<typename Event >
auto render_loop (Event &&event)
 
template<typename F >
auto update (F &&f, std::chrono::duration< double > const &dt)
 
auto projection_matrix () const
 
auto view_matrix () const
 
auto on_resize (int w, int h) -> void override
 
auto on_key_pressed (gl::key k) -> void override
 
- Public Member Functions inherited from tatooine::gl::window
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)
 
- Public Member Functions inherited from tatooine::gl::window_notifier
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)
 
- Public Member Functions inherited from tatooine::gl::window_listener
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

float m_ui_scale_factor = 1.0f
 
bool m_show_nodes_gui = true
 
double m_mouse_x
 
double m_mouse_y
 
bool m_left_button_down = false
 
scene m_scene
 
std::unique_ptr< ImGui::FileBrowser > m_file_browser
 
ui::base::nodem_path_notifier = nullptr
 
ImFont * m_font_regular = nullptr
 
ImFont * m_font_header1 = nullptr
 
ImFont * m_font_header2 = nullptr
 
ImFont * m_font_bold = nullptr
 
gl::tex2rgba32f m_aabb2d_icon_tex
 
gl::tex2rgba32f m_aabb3d_icon_tex
 
- Public Attributes inherited from tatooine::rendering::first_person_window
std::size_t m_width
 
std::size_t m_height
 
struct camera_controller< float > m_camera_controller
 
std::chrono::time_point< std::chrono::system_clock > m_time
 
- Public Attributes inherited from tatooine::gl::window
std::unique_ptr< glfw::windowm_glfw_window
 
std::unique_ptr< struct imgui_render_backendm_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
 
- Public Attributes inherited from tatooine::gl::window_notifier
std::vector< window_listener * > m_window_listeners
 
std::vector< std::unique_ptr< base_holder > > m_events
 

Private Member Functions

auto open_file_explorer ()
 
auto open_file_explorer (std::string const &title)
 
auto open_file_explorer (std::string const &title, std::vector< std::string > const &extensions)
 

Member Typedef Documentation

◆ parent_type

◆ this_type

Constructor & Destructor Documentation

◆ window() [1/2]

◆ window() [2/2]

tatooine::flowexplorer::window::window ( filesystem::path const &  scene_path)

◆ ~window()

tatooine::flowexplorer::window::~window ( )

Member Function Documentation

◆ aabb2d_icon_tex()

auto tatooine::flowexplorer::window::aabb2d_icon_tex ( ) const -> auto const&
inline

◆ aabb3d_icon_tex()

auto tatooine::flowexplorer::window::aabb3d_icon_tex ( ) const -> auto const&
inline

◆ close_file_explorer()

auto tatooine::flowexplorer::window::close_file_explorer ( )
inline

◆ file_explorer() [1/2]

auto tatooine::flowexplorer::window::file_explorer ( ) -> auto&
inline

◆ file_explorer() [2/2]

auto tatooine::flowexplorer::window::file_explorer ( ) const -> auto const&
inline

◆ file_explorer_is_opened()

auto tatooine::flowexplorer::window::file_explorer_is_opened ( ) const
inline

◆ on_button_pressed()

void tatooine::flowexplorer::window::on_button_pressed ( gl::button  b)
overridevirtual

Reimplemented from tatooine::gl::window.

◆ on_button_released()

void tatooine::flowexplorer::window::on_button_released ( gl::button  b)
overridevirtual

Reimplemented from tatooine::gl::window.

◆ on_cursor_moved()

void tatooine::flowexplorer::window::on_cursor_moved ( double  ,
double   
)
overridevirtual

Reimplemented from tatooine::gl::window.

◆ on_key_pressed()

void tatooine::flowexplorer::window::on_key_pressed ( gl::key  k)
overridevirtual

◆ open_file_explorer() [1/6]

auto tatooine::flowexplorer::window::open_file_explorer ( )
inlineprivate

◆ open_file_explorer() [2/6]

auto tatooine::flowexplorer::window::open_file_explorer ( std::string const &  title)
inlineprivate

◆ open_file_explorer() [3/6]

auto tatooine::flowexplorer::window::open_file_explorer ( std::string const &  title,
std::vector< std::string > const &  extensions 
)
inlineprivate

◆ open_file_explorer() [4/6]

auto tatooine::flowexplorer::window::open_file_explorer ( std::string const &  title,
std::vector< std::string > const &  extensions,
ui::base::node n 
)
inline

◆ open_file_explorer() [5/6]

auto tatooine::flowexplorer::window::open_file_explorer ( std::string const &  title,
ui::base::node n 
)
inline

◆ open_file_explorer() [6/6]

auto tatooine::flowexplorer::window::open_file_explorer ( ui::base::node n)
inline

◆ open_file_explorer_write() [1/3]

auto tatooine::flowexplorer::window::open_file_explorer_write ( std::string const &  title,
std::vector< std::string > const &  extensions,
ui::base::node n 
)
inline

◆ open_file_explorer_write() [2/3]

auto tatooine::flowexplorer::window::open_file_explorer_write ( std::string const &  title,
ui::base::node n 
)
inline

◆ open_file_explorer_write() [3/3]

auto tatooine::flowexplorer::window::open_file_explorer_write ( ui::base::node n)
inline

◆ pop_font()

auto tatooine::flowexplorer::window::pop_font ( ) -> void
inline

◆ push_bold_font()

auto tatooine::flowexplorer::window::push_bold_font ( ) -> void
inline

◆ push_header1_font()

auto tatooine::flowexplorer::window::push_header1_font ( ) -> void
inline

◆ push_header2_font()

auto tatooine::flowexplorer::window::push_header2_font ( ) -> void
inline

◆ push_regular_font()

auto tatooine::flowexplorer::window::push_regular_font ( ) -> void
inline

◆ start()

void tatooine::flowexplorer::window::start ( )

◆ ui_scale_factor()

auto tatooine::flowexplorer::window::ui_scale_factor ( ) const
inline

Member Data Documentation

◆ m_aabb2d_icon_tex

gl::tex2rgba32f tatooine::flowexplorer::window::m_aabb2d_icon_tex

◆ m_aabb3d_icon_tex

gl::tex2rgba32f tatooine::flowexplorer::window::m_aabb3d_icon_tex

◆ m_file_browser

std::unique_ptr<ImGui::FileBrowser> tatooine::flowexplorer::window::m_file_browser

◆ m_font_bold

ImFont* tatooine::flowexplorer::window::m_font_bold = nullptr

◆ m_font_header1

ImFont* tatooine::flowexplorer::window::m_font_header1 = nullptr

◆ m_font_header2

ImFont* tatooine::flowexplorer::window::m_font_header2 = nullptr

◆ m_font_regular

ImFont* tatooine::flowexplorer::window::m_font_regular = nullptr

◆ m_left_button_down

bool tatooine::flowexplorer::window::m_left_button_down = false

◆ m_mouse_x

double tatooine::flowexplorer::window::m_mouse_x

◆ m_mouse_y

double tatooine::flowexplorer::window::m_mouse_y

◆ m_path_notifier

ui::base::node* tatooine::flowexplorer::window::m_path_notifier = nullptr

◆ m_scene

scene tatooine::flowexplorer::window::m_scene

◆ m_show_nodes_gui

bool tatooine::flowexplorer::window::m_show_nodes_gui = true

◆ m_ui_scale_factor

float tatooine::flowexplorer::window::m_ui_scale_factor = 1.0f

The documentation for this struct was generated from the following file: