Use std::string when setting Window title instead of std::string_view
This commit is contained in:
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user