diff --git a/openVulkanoCpp/Base/IGraphicsApp.hpp b/openVulkanoCpp/Base/IGraphicsApp.hpp index 767acfa..e9d8b27 100644 --- a/openVulkanoCpp/Base/IGraphicsApp.hpp +++ b/openVulkanoCpp/Base/IGraphicsApp.hpp @@ -1,14 +1,20 @@ +/* + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. + */ + #pragma once -#include -#include "IInitable.hpp" + #include "ITickable.hpp" #include "ICloseable.hpp" +#include namespace openVulkanoCpp { class IGraphicsAppManager; - class IGraphicsApp : public IInitable, public ITickable, public ICloseable + class IGraphicsApp : public ITickable, public ICloseable { private: IGraphicsAppManager* manager = nullptr; @@ -16,6 +22,7 @@ namespace openVulkanoCpp public: virtual ~IGraphicsApp() = default; + virtual void Init() = 0; IGraphicsAppManager* GetGraphicsAppManager() const { return manager; } void SetGraphicsAppManager(IGraphicsAppManager* manager) { this->manager = manager; } virtual std::string GetAppName() = 0; diff --git a/openVulkanoCpp/Base/IInitable.hpp b/openVulkanoCpp/Base/IInitable.hpp deleted file mode 100644 index f3cfa9f..0000000 --- a/openVulkanoCpp/Base/IInitable.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once - -namespace openVulkanoCpp -{ - class IInitable - { - public: - virtual ~IInitable() = default; - - virtual void Init() = 0; - }; -} \ No newline at end of file diff --git a/openVulkanoCpp/Base/IPlatform.hpp b/openVulkanoCpp/Base/IPlatform.hpp index 94c6380..8e3205b 100644 --- a/openVulkanoCpp/Base/IPlatform.hpp +++ b/openVulkanoCpp/Base/IPlatform.hpp @@ -1,6 +1,5 @@ #pragma once -#include "IInitable.hpp" #include "ITickable.hpp" #include "ICloseable.hpp" #include "UI/IWindow.hpp" @@ -13,9 +12,11 @@ namespace openVulkanoCpp PlatformInitFailedException(char const* const message) : runtime_error(message) {} }; - class IPlatform : public IInitable, public ITickable, public ICloseable + class IPlatform : public ITickable, public ICloseable { public: + virtual void Init() = 0; + virtual IWindow* MakeWindow() = 0; }; } diff --git a/openVulkanoCpp/Host/GLFW/InputProviderGLFW.hpp b/openVulkanoCpp/Host/GLFW/InputProviderGLFW.hpp index 56c4f80..f055ec2 100644 --- a/openVulkanoCpp/Host/GLFW/InputProviderGLFW.hpp +++ b/openVulkanoCpp/Host/GLFW/InputProviderGLFW.hpp @@ -6,7 +6,6 @@ #pragma once -#include "Base/IInitable.hpp" #include "Base/ITickable.hpp" #include "Base/ICloseable.hpp" #include "Base/IPlatform.hpp" @@ -19,7 +18,7 @@ namespace openVulkanoCpp { class WindowGLFW; - class InputProviderGLFW final : public IInitable, public ITickable, public ICloseable + class InputProviderGLFW final : public ITickable, public ICloseable { friend WindowGLFW; static InputProviderGLFW* INSTANCE; @@ -31,7 +30,7 @@ namespace openVulkanoCpp bool activeWindowChanged = false; public: - void Init() override; + void Init(); void Close() override; diff --git a/openVulkanoCpp/Host/GLFW/PlatformGLFW.hpp b/openVulkanoCpp/Host/GLFW/PlatformGLFW.hpp index 753c00b..5f18062 100644 --- a/openVulkanoCpp/Host/GLFW/PlatformGLFW.hpp +++ b/openVulkanoCpp/Host/GLFW/PlatformGLFW.hpp @@ -30,7 +30,7 @@ namespace openVulkanoCpp [[nodiscard]] bool IsInitialized() const { return initialized; } - void Init() override; + void Init(); void Tick() override; diff --git a/openVulkanoCpp/Scene/Geometry.hpp b/openVulkanoCpp/Scene/Geometry.hpp index a72781f..61181ea 100644 --- a/openVulkanoCpp/Scene/Geometry.hpp +++ b/openVulkanoCpp/Scene/Geometry.hpp @@ -23,7 +23,7 @@ namespace openVulkanoCpp UINT16 = sizeof(uint16_t), UINT32 = sizeof(uint32_t) }; - class Geometry : public virtual ICloseable + class Geometry : public ICloseable { public: uint32_t vertexCount = 0, indexCount = 0; diff --git a/openVulkanoCpp/Scene/Node.hpp b/openVulkanoCpp/Scene/Node.hpp index fab3fd6..4160c14 100644 --- a/openVulkanoCpp/Scene/Node.hpp +++ b/openVulkanoCpp/Scene/Node.hpp @@ -6,7 +6,6 @@ #pragma once -#include "Base/IInitable.hpp" #include "Base/ICloseable.hpp" #include "Math/Math.hpp" #include "Drawable.hpp" @@ -18,7 +17,7 @@ namespace openVulkanoCpp::Scene { class Scene; - class Node : public virtual IInitable, public virtual ICloseable + class Node : public ICloseable { friend Scene; @@ -37,7 +36,7 @@ namespace openVulkanoCpp::Scene ~Node() override; - void Init() override; + void Init(); void Close() override; diff --git a/openVulkanoCpp/Scene/Scene.hpp b/openVulkanoCpp/Scene/Scene.hpp index ab46c98..09fda3d 100644 --- a/openVulkanoCpp/Scene/Scene.hpp +++ b/openVulkanoCpp/Scene/Scene.hpp @@ -15,7 +15,7 @@ namespace openVulkanoCpp { namespace Scene { - class Scene : virtual public IInitable, virtual public ICloseable + class Scene : public ICloseable { public: Node* root; @@ -30,7 +30,7 @@ namespace openVulkanoCpp if (root) Scene::Close(); } - void Init() override + void Init() { Node* newRoot = new Node(); newRoot->Init();