From a8f65e54ac8f2635a887903106d90ffe4b243e53 Mon Sep 17 00:00:00 2001 From: Henrik Hautakoski Date: Wed, 23 Aug 2023 15:06:54 +0200 Subject: [PATCH] Platform/PlatformApplication: Adding createWindow() --- source/Platform/PlatformApplication.h | 5 ++++- source/Platform/Unix/UnixApplication.cpp | 6 ++++++ source/Platform/Unix/UnixApplication.h | 2 ++ source/Platform/Win32/Win32Application.cpp | 8 ++++---- source/Platform/Win32/Win32Application.h | 2 +- 5 files changed, 17 insertions(+), 6 deletions(-) diff --git a/source/Platform/PlatformApplication.h b/source/Platform/PlatformApplication.h index a141f08..f6d12e0 100644 --- a/source/Platform/PlatformApplication.h +++ b/source/Platform/PlatformApplication.h @@ -7,6 +7,9 @@ namespace sp { +class Window; + +class PlatformWindow; class PlatformInput; class PlatformDisplay; @@ -19,7 +22,7 @@ public : virtual void shutdown() = 0; - //virtual PlatformDisplay& getDisplay() = 0; + virtual PlatformWindow* createWindow(Window* window) = 0; virtual PlatformInput& getInput() = 0; diff --git a/source/Platform/Unix/UnixApplication.cpp b/source/Platform/Unix/UnixApplication.cpp index e9835ff..08ad5d6 100644 --- a/source/Platform/Unix/UnixApplication.cpp +++ b/source/Platform/Unix/UnixApplication.cpp @@ -1,4 +1,5 @@ +#include "X11Window.h" #include "UnixApplication.h" #include "Xlib.h" @@ -14,6 +15,11 @@ void UnixApplication::shutdown() Xlib::shutdown(); } +PlatformWindow* UnixApplication::createWindow(Window* window) +{ + return new X11Window(window); +} + PlatformInput& UnixApplication::getInput() { return m_input; diff --git a/source/Platform/Unix/UnixApplication.h b/source/Platform/Unix/UnixApplication.h index 173aeb1..b1d37f4 100644 --- a/source/Platform/Unix/UnixApplication.h +++ b/source/Platform/Unix/UnixApplication.h @@ -15,6 +15,8 @@ public : virtual void shutdown(); + virtual PlatformWindow* createWindow(Window* window); + virtual PlatformInput& getInput(); protected : diff --git a/source/Platform/Win32/Win32Application.cpp b/source/Platform/Win32/Win32Application.cpp index c4e5c99..09dd3b4 100644 --- a/source/Platform/Win32/Win32Application.cpp +++ b/source/Platform/Win32/Win32Application.cpp @@ -1,4 +1,5 @@ +#include "Win32Window.h" #include "Win32Application.h" namespace sp { @@ -11,11 +12,10 @@ void Win32Application::shutdown() { } -/* -PlatformDisplay& Win32Application::getDisplay() +PlatformWindow* Win32Application::createWindow(Window* window) { - return m_display; -} */ + return new Win32Window(window); +} PlatformInput& Win32Application::getInput() { diff --git a/source/Platform/Win32/Win32Application.h b/source/Platform/Win32/Win32Application.h index e95e697..ea1e074 100644 --- a/source/Platform/Win32/Win32Application.h +++ b/source/Platform/Win32/Win32Application.h @@ -18,7 +18,7 @@ public : virtual void shutdown(); - //virtual PlatformDisplay& getDisplay(); + virtual PlatformWindow* createWindow(Window* window); virtual PlatformInput& getInput();