summaryrefslogtreecommitdiff
path: root/Source/Asura.Editor/System/ContainerWindow.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Asura.Editor/System/ContainerWindow.h')
-rw-r--r--Source/Asura.Editor/System/ContainerWindow.h62
1 files changed, 62 insertions, 0 deletions
diff --git a/Source/Asura.Editor/System/ContainerWindow.h b/Source/Asura.Editor/System/ContainerWindow.h
new file mode 100644
index 0000000..5893aff
--- /dev/null
+++ b/Source/Asura.Editor/System/ContainerWindow.h
@@ -0,0 +1,62 @@
+#ifndef _ASURA_EDITOR_WINDOW_H_
+#define _ASURA_EDITOR_WINDOW_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
+///
+class ContainerWindow : public AEScripting::Portable<ContainerWindow>
+{
+public:
+
+ enum WindowStyle
+ {
+ WINDOW_STYLE_BASIC, ///<
+ WINDOW_STYLE_TOOL, ///<
+ WINDOW_STYLE_CONFIRM, ///< ȷϴ
+ };
+
+ struct WindowConfig
+ {
+ std::string title; ///<
+ uint x, y; ///<
+ uint width, height; ///< С
+ WindowStyle style; ///<
+ };
+
+ ContainerWindow();
+ ~ContainerWindow();
+
+ bool Init(WindowConfig& config);
+
+private:
+
+ ContainerWindow* mParent;
+ WindowStyle mStyle;
+ HWND mHWND;
+ HDC mHDC;
+
+luaxport:
+
+ LUAX_DECL_FACTORY(ContainerWindow);
+
+ LUAX_DECL_ENUM(WindowStyle);
+
+ LUAX_DECL_METHOD(_New);
+ LUAX_DECL_METHOD(_Init);
+ LUAX_DECL_METHOD(_SetPosition);
+
+};
+
+namespace_end
+
+#endif \ No newline at end of file