浏览代码

Improve documentation on getCursorPos and fix cursorInControl.

Daniel Buckmaster 11 年之前
父节点
当前提交
f6d54d810b
共有 2 个文件被更改,包括 5 次插入1 次删除
  1. 4 1
      Engine/source/gui/core/guiCanvas.cpp
  2. 1 0
      Engine/source/gui/core/guiControl.cpp

+ 4 - 1
Engine/source/gui/core/guiCanvas.cpp

@@ -2225,7 +2225,10 @@ DefineEngineMethod( GuiCanvas, reset, void, (),,
 }
 
 DefineEngineMethod( GuiCanvas, getCursorPos, Point2I, (),,
-				   "@brief Get the current position of the cursor.\n\n"
+				   "@brief Get the current position of the cursor in screen-space. Note that this position"
+               " might be outside the Torque window. If you want to get the position within the Canvas,"
+               " call screenToClient on the result.\n\n"
+               "@see Canvas::screenToClient()\n\n"
 				   "@param param Description\n\n"
 				   "@tsexample\n"
 				   "%cursorPos = Canvas.getCursorPos();\n"

+ 1 - 0
Engine/source/gui/core/guiControl.cpp

@@ -1427,6 +1427,7 @@ bool GuiControl::cursorInControl()
    if (! root) return false;
 
    Point2I pt = root->getCursorPos();
+   pt = root->getPlatformWindow() ? root->getPlatformWindow()->screenToClient(pt) : pt;
    Point2I extent = getExtent();
    Point2I offset = localToGlobalCoord(Point2I(0, 0));
    if (pt.x >= offset.x && pt.y >= offset.y &&