summaryrefslogtreecommitdiff
path: root/Editor/GUI/WindowBase.h
blob: cf3cae648a40d5f1d56b763ad3928859f791d49b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#pragma once

#include <windows.h>
#include <vector>
#include "Runtime/Math/Rect.h"
#include "Runtime/Lua/LuaBind/LuaBind.h"
#include "Runtime/Lua/LuaHelper.h"
#include "Runtime/Utilities/Singleton.h"
#include "Runtime/Debug/Log.h"
#include "Runtime/Graphics/OpenGL.h"
#include "Runtime/Utilities/UtilMacros.h"
#include "Editor/Utils/HelperFuncs.h"
#include "Runtime/Math/Math.h"
#include "Runtime/Utilities/Exception.h"

class WindowBase
{
};

CustomException(WindowException);

class GUIWindow;

class WindowUtil
{
public:
	static void RegisterClasses();

	static const wchar_t* kContainerWindowClassName;
	static const wchar_t* kPopupWindowClassName;
	static const wchar_t* kGUIWindowClassName;
};

class WindowManager : Singleton<WindowManager>
{
public:
	static Vector2 GetMousePosition();
	static GUIWindow* GetMouseOverWindow();

private:
	static std::vector<GUIWindow*> s_GUIWindows;

};