Use std::string when setting Window title instead of std::string_view

This commit is contained in:
2025-09-07 00:45:12 +10:00
committed by Jayden Grubb
parent 829a00bab8
commit ba30cc49d5
3 changed files with 9 additions and 9 deletions

View File

@@ -11,7 +11,7 @@
#include <nova/render/render_structs.h> #include <nova/render/render_structs.h>
#include <nova/types.h> #include <nova/types.h>
#include <string_view> #include <string>
namespace Nova { namespace Nova {
class RenderDriver; class RenderDriver;
@@ -30,10 +30,10 @@ namespace Nova {
virtual void beep() = 0; virtual void beep() = 0;
virtual u32 get_window_count() const = 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 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_size(WindowID window, u32 width, u32 height) = 0;
virtual void set_window_position(WindowID window, i32 x, i32 y) = 0; virtual void set_window_position(WindowID window, i32 x, i32 y) = 0;

View File

@@ -108,7 +108,7 @@ u32 X11WindowDriver::get_window_count() const {
return static_cast<u32>(m_windows.size()); return static_cast<u32>(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(); NOVA_AUTO_TRACE();
X11::Window handle = XCreateSimpleWindow(m_display, DefaultRootWindow(m_display), 0, 0, p_width, p_height, 0, 0, 0); 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); XSetWMProtocols(m_display, handle, &m_window_close_atom, 1);
XSelectInput(m_display, handle, StructureNotifyMask); XSelectInput(m_display, handle, StructureNotifyMask);
XStoreName(m_display, handle, p_title.data()); XStoreName(m_display, handle, p_title.c_str());
XMapWindow(m_display, handle); XMapWindow(m_display, handle);
XFlush(m_display); XFlush(m_display);
@@ -135,10 +135,10 @@ void X11WindowDriver::destroy_window(WindowID p_window) {
m_windows.erase(p_window->handle); 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_AUTO_TRACE();
NOVA_ASSERT(p_window); 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) { void X11WindowDriver::set_window_size(WindowID p_window, const u32 p_width, const u32 p_height) {

View File

@@ -27,10 +27,10 @@ namespace Nova {
void beep() override; void beep() override;
u32 get_window_count() const 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 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_size(WindowID window, u32 width, u32 height) override;
void set_window_position(WindowID window, i32 x, i32 y) override; void set_window_position(WindowID window, i32 x, i32 y) override;