+void DrawingView::ToolMouseDown(Point p)
+{
+ if (Global::tool == TTLine)
+ {
+ if (Global::toolState == TSNone)
+ {
+ toolPoint[0] = p;
+// toolState = TSPoint1;
+// toolObject = (Object *)(new Line(p, Vector(0, 0)));
+ }
+ else //if (Global::toolState == TSPoint1)
+ {
+ toolPoint[1] = p;
+ }
+ }
+}
+
+
+void DrawingView::ToolMouseMove(Point p)
+{
+ if (Global::tool == TTLine)
+ {
+ if (Global::toolState == TSNone)
+ toolPoint[0] = p;
+ else
+ toolPoint[1] = p;
+ }
+}
+
+
+void DrawingView::ToolMouseUp(Point p)
+{
+ if (Global::tool == TTLine)
+ {
+ if (Global::toolState == TSNone)
+ {
+ Global::toolState = TSPoint2;
+ // Prevent spurious line from drawing...
+ toolPoint[1] = toolPoint[0];
+ }
+ else
+ {
+ Line * l = new Line(toolPoint[0], toolPoint[1]);
+ document.objects.push_back(l);
+ toolPoint[0] = toolPoint[1];
+ }
+ }
+}
+
+
+void DrawingView::ToolDraw(Painter * painter)
+{
+ if (Global::tool == TTLine)
+ {
+ if (Global::toolState == TSNone)
+ {
+ painter->DrawHandle(toolPoint[0]);
+ }
+ else
+ {
+ painter->DrawLine(toolPoint[0], toolPoint[1]);
+ painter->DrawHandle(toolPoint[1]);
+ }
+ }
+}
+
+