From 910ea7724128b92d5ed772342d0d000d94f3c5c8 Mon Sep 17 00:00:00 2001 From: James Whitehead II Date: Sat, 19 Apr 2008 20:13:47 +0000 Subject: [PATCH] * Changed code for GetCursorPosition() thanks to ckknight --- TomTom.lua | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/TomTom.lua b/TomTom.lua index 4b37ac5..c40b054 100755 --- a/TomTom.lua +++ b/TomTom.lua @@ -737,16 +737,21 @@ function TomTom:GetXY(id) end do + -- Code courtesy ckknight function GetCurrentCursorPosition() - -- Coordinate calculation code taken from CT_MapMod - local cX, cY = GetCursorPosition() - local ceX, ceY = WorldMapFrame:GetCenter() - local wmfw, wmfh = WorldMapButton:GetWidth(), WorldMapButton:GetHeight() - - cX = ( ( ( cX / WorldMapFrame:GetScale() ) - ( ceX - wmfw / 2 ) ) / wmfw + 22/10000 ) - cY = ( ( ( ( ceY + wmfh / 2 ) - ( cY / WorldMapFrame:GetScale() ) ) / wmfh ) - 262/10000 ) + local x, y = GetCursorPosition() + local left, top = WorldMapDetailFrame:GetLeft(), WorldMapDetailFrame:GetTop() + local width = WorldMapDetailFrame:GetWidth() + local height = WorldMapDetailFrame:GetHeight() + local scale = WorldMapDetailFrame:GetEffectiveScale() + local cx = (x/scale - left) / width + local cy = (top - y/scale) / height + + if cx < 0 or cx > 1 or cy < 0 or cy > 1 then + return nil, nil + end - return cX, cY + return cx, cy end local coord_fmt = "%%.%df, %%.%df" -- 1.7.9.5