]> Shamusworld >> Repos - ttedit/commitdiff
Fix for bad mouse warping on single point selection.
authorShamus Hammons <jlhamm@acm.org>
Fri, 4 Mar 2016 20:37:52 +0000 (14:37 -0600)
committerShamus Hammons <jlhamm@acm.org>
Fri, 4 Mar 2016 20:37:52 +0000 (14:37 -0600)
.gitignore
src/editwindow.cpp
src/editwindow.h

index fdd715511b61d3ffe7aad4b06f472d586b7c4030..43f06c51fc7a6474e09e70f471460bc9a5b3c330 100644 (file)
@@ -4,3 +4,10 @@ ttedit
 debug.log
 obj/*
 saves/*
+old-ttedit-src/*
+mousetest.cpp
+res/ttedit.ico
+res/ttedit.rc
+res/toolbar1.bmp
+docs/*
+
index 85b4d9c716360349edefda5b7128dcfe14d06fbe..93757ce1803e22577737b7da92319f66c11ede1b 100755 (executable)
@@ -88,7 +88,7 @@ void EditWindow::CreateCursors(void)
        }
 }
 
-
+#if 0
 QPoint EditWindow::GetAdjustedMousePosition(QMouseEvent * event)
 {
        // This is undoing the transform, e.g. going from client coords to local
@@ -103,7 +103,7 @@ QPoint EditWindow::GetAdjustedClientPosition(int x, int y)
        // VOODOO ALERT (ON Y COMPONENT!!!!)
        return QPoint(-offsetX + x, (size().height() - (-offsetY + y)) * +1.0);
 }
-
+#endif
 
 /*
 TODO:
@@ -116,8 +116,6 @@ void EditWindow::paintEvent(QPaintEvent * /*event*/)
 {
        QPainter qtp(this);
        Painter painter(&qtp);
-//hm, causes lockup (or does it???)
-//& it doesn't help with our Bezier rendering code :-P
        painter.SetRenderHint(QPainter::Antialiasing);
 
        Global::zoom = scale;
@@ -434,9 +432,8 @@ WriteLogMsg(" --> [# polys: %u, # points: %u]\n", pts.GetNumPolys(), pts.GetNumP
                        if (pts.GetNumPoints() > 0)
                        {
 //                             pt = GetAdjustedClientPosition(pts.GetX(ptHighlight), pts.GetY(ptHighlight));
-                               Vector pt = Painter::QtToCartesianCoords(Vector(event->x(), event->y()));
+                               Vector pt = Painter::CartesianToQtCoords(Vector(pts.GetX(ptHighlight), pts.GetY(ptHighlight)));
 //printf("GetAdjustedClientPosition = %i, %i\n", pt.x(), pt.y());
-//                             WarpPointer(pt.x, pt.y);
                                QPoint warp(pt.x, pt.y);
                                QCursor::setPos(mapToGlobal(warp));
 
@@ -478,7 +475,7 @@ WriteLogMsg(" --> [# polys: %u, # points: %u]\n", pts.GetNumPolys(), pts.GetNumP
                        rotationCenter = Vector(centroid.x, centroid.y);
                        showRotationCenter = true;
 //                     pt = GetAdjustedClientPosition(pts.GetX(ptHighlight), pts.GetY(ptHighlight));
-                       Vector pt = Painter::QtToCartesianCoords(Vector(pts.GetX(ptHighlight), pts.GetY(ptHighlight)));
+                       Vector pt = Painter::CartesianToQtCoords(Vector(pts.GetX(ptHighlight), pts.GetY(ptHighlight)));
                        QCursor::setPos(mapToGlobal(QPoint(pt.x, pt.y)));
                        rotationZeroPoint = Vector(pts.GetX(ptHighlight), pts.GetY(ptHighlight));
                        haveZeroPoint = true;
@@ -489,7 +486,7 @@ WriteLogMsg(" --> [# polys: %u, # points: %u]\n", pts.GetNumPolys(), pts.GetNumP
                {
                        pts.InvertPolyDrawSequence(pts.GetPolyForPointNumber(ptHighlight));
 //                     pt = GetAdjustedClientPosition(pts.GetX(ptHighlight), pts.GetY(ptHighlight));
-                       Vector pt = Painter::QtToCartesianCoords(Vector(pts.GetX(ptHighlight), pts.GetY(ptHighlight)));
+                       Vector pt = Painter::CartesianToQtCoords(Vector(pts.GetX(ptHighlight), pts.GetY(ptHighlight)));
                        QCursor::setPos(mapToGlobal(QPoint(pt.x, pt.y)));
                        update();
                }
index 11a5b0720eb66feb8734ff3a3a8ffe809a0efb29..983a96c1e02b636e0340b68f95df5df58294d91c 100755 (executable)
@@ -34,8 +34,6 @@ class EditWindow: public QWidget
 
        private:
                void CreateCursors(void);
-               QPoint GetAdjustedMousePosition(QMouseEvent *);
-               QPoint GetAdjustedClientPosition(int x, int y);
                void DrawGlyph(Painter & p, GlyphPoints & glyph);
                void DrawGlyphPoly(Painter & p, GlyphPoints & glyph, uint16_t poly);
                void ClearSelection(void);