diff --git a/engine/include/nova/platform/window_driver.h b/engine/include/nova/platform/window_driver.h index ea5cacb..72dc9b2 100644 --- a/engine/include/nova/platform/window_driver.h +++ b/engine/include/nova/platform/window_driver.h @@ -11,7 +11,7 @@ #include #include -#include +#include namespace Nova { class RenderDriver; @@ -30,10 +30,10 @@ namespace Nova { virtual void beep() = 0; virtual u32 get_window_count() const = 0; - [[nodiscard]] virtual WindowID create_window(std::string_view title, u32 width, u32 height) = 0; + [[nodiscard]] virtual WindowID create_window(const std::string& title, u32 width, u32 height) = 0; virtual void destroy_window(WindowID window) = 0; - virtual void set_window_title(WindowID window, std::string_view title) = 0; + virtual void set_window_title(WindowID window, const std::string& title) = 0; virtual void set_window_size(WindowID window, u32 width, u32 height) = 0; virtual void set_window_position(WindowID window, i32 x, i32 y) = 0; diff --git a/engine/src/platform/linux/x11/window_driver.cpp b/engine/src/platform/linux/x11/window_driver.cpp index 559c27a..0908c6f 100644 --- a/engine/src/platform/linux/x11/window_driver.cpp +++ b/engine/src/platform/linux/x11/window_driver.cpp @@ -108,7 +108,7 @@ u32 X11WindowDriver::get_window_count() const { return static_cast(m_windows.size()); } -WindowID X11WindowDriver::create_window(const std::string_view p_title, const u32 p_width, const u32 p_height) { +WindowID X11WindowDriver::create_window(const std::string& p_title, const u32 p_width, const u32 p_height) { NOVA_AUTO_TRACE(); X11::Window handle = XCreateSimpleWindow(m_display, DefaultRootWindow(m_display), 0, 0, p_width, p_height, 0, 0, 0); @@ -120,7 +120,7 @@ WindowID X11WindowDriver::create_window(const std::string_view p_title, const u3 XSetWMProtocols(m_display, handle, &m_window_close_atom, 1); XSelectInput(m_display, handle, StructureNotifyMask); - XStoreName(m_display, handle, p_title.data()); + XStoreName(m_display, handle, p_title.c_str()); XMapWindow(m_display, handle); XFlush(m_display); @@ -135,10 +135,10 @@ void X11WindowDriver::destroy_window(WindowID p_window) { m_windows.erase(p_window->handle); } -void X11WindowDriver::set_window_title(WindowID p_window, const std::string_view p_title) { +void X11WindowDriver::set_window_title(WindowID p_window, const std::string& p_title) { NOVA_AUTO_TRACE(); NOVA_ASSERT(p_window); - XStoreName(m_display, p_window->handle, p_title.data()); + XStoreName(m_display, p_window->handle, p_title.c_str()); } void X11WindowDriver::set_window_size(WindowID p_window, const u32 p_width, const u32 p_height) { diff --git a/engine/src/platform/linux/x11/window_driver.h b/engine/src/platform/linux/x11/window_driver.h index 65555c5..c842eb1 100644 --- a/engine/src/platform/linux/x11/window_driver.h +++ b/engine/src/platform/linux/x11/window_driver.h @@ -27,10 +27,10 @@ namespace Nova { void beep() override; u32 get_window_count() const override; - [[nodiscard]] WindowID create_window(std::string_view title, u32 width, u32 height) override; + [[nodiscard]] WindowID create_window(const std::string& title, u32 width, u32 height) override; void destroy_window(WindowID window) override; - void set_window_title(WindowID window, std::string_view title) override; + void set_window_title(WindowID window, const std::string& title) override; void set_window_size(WindowID window, u32 width, u32 height) override; void set_window_position(WindowID window, i32 x, i32 y) override;