#include "mirroraction.h"
#include "applicationwindow.h"
+#include "container.h"
+#include "drawingview.h"
#include "line.h"
#include "mathconstants.h"
#include "painter.h"
MirrorAction::MirrorAction(): state(FIRST_POINT), line(NULL),
- shiftWasPressedOnNextPoint(false)
+ shiftWasPressedOnNextPoint(false), mirror(new Container(Vector()))
{
}
// QString text = tr("Length: %1 in.");
// text = text.arg(Vector::Magnitude(p1, p2));
painter->DrawInformativeText(text);
+
+ mirror->Draw(painter);
}
}
else
{
p2 = point;
+
+ mirror->Clear();
+ int itemsSelected = ApplicationWindow::drawing->document.ItemsSelected();
+
+ if (itemsSelected == 0)
+ return;
+
+ for(int i=0; i<itemsSelected; i++)
+ {
+ Object * object = ApplicationWindow::drawing->document.SelectedItem(i);
+ Object * mirrored = object->Mirror(p1, p2);
+ mirror->Add(mirrored);
+ }
}
}