summaryrefslogtreecommitdiff
path: root/Source/Asura.Editor/System/ContainerFrame.h
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2019-08-16 08:54:08 +0800
committerchai <chaifix@163.com>2019-08-16 08:54:08 +0800
commita077eb38b01292611f4f6031b75e3e2c1c20f06e (patch)
tree8f760483d7b0290952bbdb5bcd8f3943102aeb3a /Source/Asura.Editor/System/ContainerFrame.h
parent6a065c913e9308cc72e1ad0723b6167048f439b6 (diff)
Diffstat (limited to 'Source/Asura.Editor/System/ContainerFrame.h')
-rw-r--r--Source/Asura.Editor/System/ContainerFrame.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/Source/Asura.Editor/System/ContainerFrame.h b/Source/Asura.Editor/System/ContainerFrame.h
new file mode 100644
index 0000000..51a08d4
--- /dev/null
+++ b/Source/Asura.Editor/System/ContainerFrame.h
@@ -0,0 +1,63 @@
+#ifndef _ASURA_CONTAINER_FRAME_H_
+#define _ASURA_CONTAINER_FRAME_H_
+
+#include <windows.h>
+#include <string.h>
+
+#include <asura-base/Scripting/Scripting.h>
+#include <asura-base/Classes.h>
+
+#include "../Type.h"
+
+namespace_begin(AsuraEditor)
+
+/// ༭ڵnativeڣΪmenuûmenuģGUIWindow
+class ContainerFrame : public AEScripting::Portable<ContainerFrame>
+{
+public:
+
+ enum WindowStyle
+ {
+ WINDOW_STYLE_MAIN, ///<
+ WINDOW_STYLE_NORMAL, ///<
+ WINDOW_STYLE_TOOL, ///<
+ WINDOW_STYLE_POPUP, ///<
+ };
+
+ struct WindowConfig
+ {
+ std::string title; ///<
+ uint x, y; ///<
+ uint width, height; ///< С
+ WindowStyle style; ///<
+ };
+
+ ContainerFrame();
+ ~ContainerFrame();
+
+ bool Init(WindowConfig& config);
+
+private:
+
+ WindowStyle m_Style;
+ HWND m_HWND;
+ HDC m_HDC;
+
+luaxport:
+
+ LUAX_DECL_FACTORY(ContainerFrame);
+
+ LUAX_DECL_ENUM(WindowStyle);
+
+ LUAX_DECL_METHOD(_New);
+ LUAX_DECL_METHOD(_Init);
+ LUAX_DECL_METHOD(_SetPosition);
+
+};
+
+// GUIWindowĿ
+using ContainerWindow = ContainerFrame;
+
+namespace_end
+
+#endif \ No newline at end of file