Преглед изворни кода

fixing click coordinates with vector transform

Unknown пре 6 година
родитељ
комит
bad492b122
1 измењених фајлова са 2 додато и 2 уклоњено
  1. 2 2
      vectoredit/umain.pas

+ 2 - 2
vectoredit/umain.pas

@@ -530,7 +530,7 @@ begin
 
   if not justDown and not Assigned(newShape) then
   begin
-    newStartPoint := AffineMatrixInverse(vectorTransform)*imgPtF;
+    newStartPoint := AffineMatrixInverse(AffineMatrixTranslation(-0.5,-0.5)*vectorTransform*AffineMatrixTranslation(0.5,0.5))*imgPtF;
     newButton := Button;
     justDown := true;
   end;
@@ -816,7 +816,7 @@ begin
   img.MouseMove(Shift, imgPtF.X, imgPtF.Y, cur, handled);
   UpdateViewCursor(cur);
 
-  ptF := AffineMatrixInverse(vectorTransform)*imgPtF;
+  ptF := AffineMatrixInverse(AffineMatrixTranslation(-0.5,-0.5)*vectorTransform*AffineMatrixTranslation(0.5,0.5))*imgPtF;
   if justDown and not Assigned(newShape) and IsCreateShapeTool(currentTool) and
     (VectLen(ptF-newStartPoint) >= EditorPointSize) then
   begin