if ((state == OSSelected) || ((state == OSInactive) && hitPoint2))
painter->DrawHandle(endpoint);
-#if 0
+#if 1
if (state == OSSelected)
- painter->SetPen(QPen(Qt::red, 2.0, Qt::DotLine));
+ painter->SetPen(QPen(Qt::cyan, 1.0 * Painter::zoom * size, Qt::SolidLine));
else
// painter->SetPen(QPen(Qt::blue, 1.0, Qt::SolidLine));
#endif
/*virtual*/ void Dimension::PointerMoved(Vector point)
{
-#if 0
- // We know this is true because mouse move messages don't come here unless
- // the object was actually clicked on--therefore we *know* we're being
- // dragged...
- objectWasDragged = true;
-
-/* if (dragging)
- {
- // Here we need to check whether or not we're dragging a handle or the object itself...
- Vector delta = point - oldPoint;
-
- position += delta;
- endpoint += delta;
-
- oldPoint = point;
- needUpdate = true;
- }
- else*/ if (draggingHandle1)
+ if (selectionInProgress)
{
- Vector delta = point - oldPoint;
-
- position += delta;
+ // Check for whether or not the rect contains this line
+ if (selection.contains(position.x, position.y)
+ && selection.contains(endpoint.x, endpoint.y))
+ state = OSSelected;
+ else
+ state = OSInactive;
- oldPoint = point;
- needUpdate = true;
+ return;
}
- else if (draggingHandle2)
- {
- Vector delta = point - oldPoint;
-
- endpoint += delta;
- oldPoint = point;
- needUpdate = true;
- }
- else
- needUpdate = false;
-#else
// Hit test tells us what we hit (if anything) through boolean variables. (It
// also tells us whether or not the state changed. --not any more)
SaveHitState();
oldPoint = point;
needUpdate = true;
}
-#endif
}