}
+void DrawingView::HandlePenWidth(float width)
+{
+ std::vector<void *>::iterator i = select.begin();
+
+ for(; i!=select.end(); i++)
+ {
+ Object * obj = (Object *)(*i);
+ obj->thickness = width;
+ }
+}
+
+
+void DrawingView::HandlePenStyle(int style)
+{
+ std::vector<void *>::iterator i = select.begin();
+
+ for(; i!=select.end(); i++)
+ {
+ Object * obj = (Object *)(*i);
+ obj->style = style;
+ }
+}
+
+
+void DrawingView::HandlePenColor(uint32_t color)
+{
+ std::vector<void *>::iterator i = select.begin();
+
+ for(; i!=select.end(); i++)
+ {
+ Object * obj = (Object *)(*i);
+ obj->color = color;
+ }
+}
+
+
QPoint DrawingView::GetAdjustedMousePosition(QMouseEvent * event)
{
// This is undoing the transform, e.g. going from client coords to local
{
if (toolPoint[0] == toolPoint[1])
return;
-
+
Point mirrorPoint = toolPoint[0] + Vector(toolPoint[1], toolPoint[0]);
painter->DrawLine(mirrorPoint, toolPoint[1]);
dragged = (Object *)hover[0];
draggingObject = true;
+ // Alert the pen widget
+ emit(ObjectSelected(dragged));
+
// See if anything is using just a straight click on a handle
if (HandleObjectClicked())
{