summaryrefslogtreecommitdiff
path: root/Editor/GUI/WindowUtil.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Editor/GUI/WindowUtil.cpp')
-rw-r--r--Editor/GUI/WindowUtil.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/Editor/GUI/WindowUtil.cpp b/Editor/GUI/WindowUtil.cpp
index 34a7b30..2c73573 100644
--- a/Editor/GUI/WindowUtil.cpp
+++ b/Editor/GUI/WindowUtil.cpp
@@ -1,3 +1,4 @@
+#include "Runtime/Utilities/StaticInitiator.h"
#include "EditorWindows.h"
#include "WinUtils.h"
@@ -9,6 +10,16 @@ static ATOM ContainerWindowClassAtom;
static ATOM PopupWindowClassAtom;
static ATOM GUIViewClassAtom;
+static int s_EditorMouseOffsetX;
+static int s_EditorMouseOffsetY;
+static HWND s_EditorInputWindow;
+
+InitializeStaticVariables([]() {
+ s_EditorMouseOffsetX = 0;
+ s_EditorMouseOffsetY = 0;
+ s_EditorInputWindow = NULL;
+});
+
void WindowUtil::RegisterClasses()
{
log_info("WindowUtil::Init()");
@@ -16,4 +27,22 @@ void WindowUtil::RegisterClasses()
ContainerWindowClassAtom = winutils::RegisterWindowClass(kContainerWindowClassName, ContainerWindow::ContainerWndProc, CS_HREDRAW | CS_VREDRAW);
PopupWindowClassAtom = winutils::RegisterWindowClass(kPopupWindowClassName, ContainerWindow::ContainerWndProc, CS_HREDRAW | CS_VREDRAW | CS_DROPSHADOW);//CS_HREDRAW宽度(水平)变化时重绘、CS_VREDRAW高度(垂直)变化时重绘
GUIViewClassAtom = winutils::RegisterWindowClass(kGUIWindowClassName, GUIWindow::GUIViewWndProc, CS_HREDRAW | CS_VREDRAW | CS_DROPSHADOW);
+}
+
+void WindowUtil::SetEditorMouseOffset(int x, int y, HWND window)
+{
+ s_EditorMouseOffsetX = x;
+ s_EditorMouseOffsetY = y;
+ s_EditorInputWindow = window;
+}
+
+void WindowUtil::GetEditorMouseOffset(int *x, int *y, HWND *window)
+{
+ *x = s_EditorMouseOffsetX;
+ *y = s_EditorMouseOffsetY;
+
+ if (NULL != window)
+ {
+ *window = s_EditorInputWindow;
+ }
} \ No newline at end of file