From 64d9d7b3eb7cece81da8b2cb56eb0f50d87a5964 Mon Sep 17 00:00:00 2001 From: chai Date: Fri, 1 Mar 2019 08:50:34 +0800 Subject: *misc --- Source/Asura.Engine/Window/Window.cpp | 19 +++++++++++++++++++ Source/Asura.Engine/Window/Window.h | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) (limited to 'Source/Asura.Engine/Window') diff --git a/Source/Asura.Engine/Window/Window.cpp b/Source/Asura.Engine/Window/Window.cpp index e69de29..5e800e0 100644 --- a/Source/Asura.Engine/Window/Window.cpp +++ b/Source/Asura.Engine/Window/Window.cpp @@ -0,0 +1,19 @@ +#include "Window.h" + +namespace AsuraEngine +{ + namespace Graphics + { + + Window::Window() + { + + } + + Window::~Window() + { + + } + + } +} diff --git a/Source/Asura.Engine/Window/Window.h b/Source/Asura.Engine/Window/Window.h index 4e16e79..3456d75 100644 --- a/Source/Asura.Engine/Window/Window.h +++ b/Source/Asura.Engine/Window/Window.h @@ -1,13 +1,20 @@ #ifndef __ASURA_ENGINE_WINDOW_H__ #define __ASURA_ENGINE_WINDOW_H__ +#include "SDL2/Sdl.h" #include "Graphics/RenderTarget.h" +#include "Math/Vector2.hpp" namespace AsuraEngine { namespace Graphics { + enum WindowStyle + { + + }; + /// /// 窗口,支持多窗口。在编辑器下需要多个窗口支持,runner只需要一个窗口。 /// @@ -19,8 +26,35 @@ namespace AsuraEngine ~Window(); + SDL_Window* GetSDLHandle(); + + void SetSize(uint width, uint height); + + void SetPosition(int x, int y); + + void SetTitle(const std::string& title); + + void SetWindowStyle(WindowStyle style); + + void Show(); + + void Hide(); + + /// + /// 如果是开启双缓冲的窗口,需要交换缓冲区来展示到前台 + /// + void SwapRenderBuffer(); + private: + /// + /// SDL window handle. + /// + SDL_Window* mWindowHandle; + + Math::Vector2i mPosition; + + Math::Vector2i mSize; }; -- cgit v1.1-26-g67d0