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.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'Source/Asura.Engine/Window/Window.h') 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