summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMateusz Piekos <mateuszpiekos@gmail.com>2012-07-17 09:59:17 (GMT)
committerMateusz Piekos <mateuszpiekos@gmail.com>2012-07-17 09:59:17 (GMT)
commit1f8e319e256ac15438d63080d11a860dfa16431c (patch)
treed20cfb5a3f290020f4e6ffc9052b7894f933fb8d
parentb2e11d7f32db65a6be001dfdf74b74f16f4c9ec3 (diff)
downloadswift-contrib-1f8e319e256ac15438d63080d11a860dfa16431c.zip
swift-contrib-1f8e319e256ac15438d63080d11a860dfa16431c.tar.bz2
Added handling of elements position updates
-rw-r--r--Swift/QtUI/Whiteboard/FreehandLineItem.cpp3
-rw-r--r--Swift/QtUI/Whiteboard/GView.cpp49
-rw-r--r--Swift/QtUI/Whiteboard/GView.h6
-rw-r--r--Swift/QtUI/Whiteboard/QtWhiteboardWindow.cpp60
-rw-r--r--Swift/QtUI/Whiteboard/QtWhiteboardWindow.h3
-rw-r--r--Swift/QtUI/Whiteboard/WhiteboardElementDrawingVisitor.h128
-rw-r--r--Swiften/Parser/PayloadParsers/WhiteboardParser.cpp6
-rw-r--r--Swiften/Serializer/PayloadSerializers/WhiteboardSerializer.cpp2
-rw-r--r--Swiften/Whiteboard/Elements/WhiteboardLineElement.h14
-rw-r--r--Swiften/Whiteboard/IncomingWhiteboardSession.cpp18
10 files changed, 174 insertions, 115 deletions
diff --git a/Swift/QtUI/Whiteboard/FreehandLineItem.cpp b/Swift/QtUI/Whiteboard/FreehandLineItem.cpp
index bd53843..92c4005 100644
--- a/Swift/QtUI/Whiteboard/FreehandLineItem.cpp
+++ b/Swift/QtUI/Whiteboard/FreehandLineItem.cpp
@@ -32,6 +32,7 @@ namespace Swift {
void FreehandLineItem::setStartPoint(QPointF point)
{
+ prepareGeometryChange();
points_.clear();
points_.append(point);
QRectF rect(point, point);
@@ -41,6 +42,8 @@ namespace Swift {
void FreehandLineItem::lineTo(QPointF point)
{
+ prepareGeometryChange();
+
qreal x1, x2, y1, y2;
x1 = points_.last().x();
x2 = point.x();
diff --git a/Swift/QtUI/Whiteboard/GView.cpp b/Swift/QtUI/Whiteboard/GView.cpp
index 92339ce..4e7e006 100644
--- a/Swift/QtUI/Whiteboard/GView.cpp
+++ b/Swift/QtUI/Whiteboard/GView.cpp
@@ -11,6 +11,7 @@ namespace Swift {
GView::GView(QGraphicsScene* scene, QWidget* parent) : QGraphicsView(scene, parent), brush(QColor(Qt::white))
{
selectionRect = 0;
+ lastItem = 0;
zValue = 0;
}
@@ -52,6 +53,7 @@ namespace Swift {
// if (mousePressed && pos >= items_.size()) {
// pos++;
// }
+ itemsMap_.insert(id, item);
if (pos > items_.size()) {
item->setZValue(zValue++);
scene()->addItem(item);
@@ -86,6 +88,10 @@ namespace Swift {
items_.clear();
}
+ QGraphicsItem* GView::getItem(QString id) {
+ return itemsMap_.value(id);
+ }
+
QString GView::getNewID() {
return idPrefix + P2QSTRING(idGenerator.generateID());
}
@@ -337,17 +343,40 @@ namespace Swift {
void GView::mouseReleaseEvent(QMouseEvent *event)
{
mousePressed = false;
- zValue++;
- lastItem->setZValue(zValue++);
- items_.append(lastItem);
-// lastItemChanged(lastItem, lastItem->data(101).toInt());
- std::cout << "items:" << std::endl;
- for (QList<QGraphicsItem*>::const_iterator it = items_.begin(); it != items_.end(); ++it) {
- std::cout << (*it)->data(100).toString().toStdString() << std::endl;
- }
- std::cout << std::endl;
+ QGraphicsPolygonItem* polygon = dynamic_cast<QGraphicsPolygonItem*>(lastItem);
+ if (polygon && polygon->polygon().size() >= 3) {
+ int i = 1;
+ for (QList<QGraphicsItem*>::const_iterator it = items_.begin(); it != items_.end(); ++it) {
+ if (*it == polygon) {
+ break;
+ }
+ i++;
+ }
+ lastItemChanged(polygon, i, Update);
+ } else if (lastItem) {
+ zValue++;
+ lastItem->setZValue(zValue++);
+ items_.append(lastItem);
+ itemsMap_.insert(lastItem->data(100).toString(), lastItem);
+ std::cout << "items:" << std::endl;
+ for (QList<QGraphicsItem*>::const_iterator it = items_.begin(); it != items_.end(); ++it) {
+ std::cout << (*it)->data(100).toString().toStdString() << std::endl;
+ }
+ std::cout << std::endl;
- lastItemChanged(lastItem, items_.size());
+ lastItemChanged(lastItem, items_.size(), New);
+ } else if (selectionRect){
+ QGraphicsItem* item = selectionRect->data(1).value<QGraphicsItem*>();
+ int i = 1;
+ for (QList<QGraphicsItem*>::const_iterator it = items_.begin(); it != items_.end(); ++it) {
+ if (*it == item) {
+ break;
+ }
+ i++;
+ }
+ lastItemChanged(item, i, Update);
+ }
+// lastItem = 0;
}
diff --git a/Swift/QtUI/Whiteboard/GView.h b/Swift/QtUI/Whiteboard/GView.h
index 9428f3d..9b8f60f 100644
--- a/Swift/QtUI/Whiteboard/GView.h
+++ b/Swift/QtUI/Whiteboard/GView.h
@@ -21,6 +21,7 @@ namespace Swift {
Q_OBJECT;
public:
enum Mode { Rubber, Line, Rect, Circle, HandLine, FilledHandLine, Text, Polygon, Select };
+ enum Type { New, Update };
GView(QGraphicsScene* scene, QWidget* parent = 0);
void setLineWidth(int i);
void setLineColor(QColor color);
@@ -34,6 +35,7 @@ namespace Swift {
void addItem(QGraphicsItem* item, QString id, int pos);
void setIDPrefix(QString prefix);
void clear();
+ QGraphicsItem* getItem(QString id);
public slots:
void moveUpSelectedItem();
@@ -50,12 +52,12 @@ namespace Swift {
QGraphicsItem* lastItem;
QGraphicsRectItem* selectionRect;
TextDialog* textDialog;
-// QMap<QString, QGraphicsItem*> items_;
+ QMap<QString, QGraphicsItem*> itemsMap_;
QList<QGraphicsItem*> items_;
SimpleIDGenerator idGenerator;
QString idPrefix;
signals:
- void lastItemChanged(QGraphicsItem* item, int pos);
+ void lastItemChanged(QGraphicsItem* item, int pos, GView::Type type);
};
}
diff --git a/Swift/QtUI/Whiteboard/QtWhiteboardWindow.cpp b/Swift/QtUI/Whiteboard/QtWhiteboardWindow.cpp
index 5743d80..add9802 100644
--- a/Swift/QtUI/Whiteboard/QtWhiteboardWindow.cpp
+++ b/Swift/QtUI/Whiteboard/QtWhiteboardWindow.cpp
@@ -16,10 +16,11 @@
#include <Swiften/Whiteboard/Elements/WhiteboardLineElement.h>
#include <Swiften/Whiteboard/Elements/WhiteboardRectElement.h>
#include <Swiften/Whiteboard/Operations/WhiteboardInsertOperation.h>
+#include <Swiften/Whiteboard/Operations/WhiteboardUpdateOperation.h>
#include <Swift/QtUI/Whiteboard/WhiteboardElementDrawingVisitor.h>
#include <QMessageBox>
-using namespace std;
+//using namespace std;
namespace Swift {
QtWhiteboardWindow::QtWhiteboardWindow(WhiteboardSession::ref whiteboardSession) : QWidget() {
@@ -36,7 +37,7 @@ namespace Swift {
graphicsView = new GView(scene, this);
graphicsView->setMode(GView::Line);
- connect(graphicsView, SIGNAL(lastItemChanged(QGraphicsItem*, int)), this, SLOT(handleLastItemChanged(QGraphicsItem*, int)));
+ connect(graphicsView, SIGNAL(lastItemChanged(QGraphicsItem*, int, GView::Type)), this, SLOT(handleLastItemChanged(QGraphicsItem*, int, GView::Type)));
widthBox = new QSpinBox(this);
connect(widthBox, SIGNAL(valueChanged(int)), this, SLOT(changeLineWidth(int)));
@@ -132,18 +133,20 @@ namespace Swift {
setSession(whiteboardSession);
}
- void QtWhiteboardWindow::handleWhiteboardElementReceive(const WhiteboardElement::ref element) {
-// WhiteboardElementDrawingVisitor visitor(graphicsView);
-// element->accept(visitor);
- }
-
void QtWhiteboardWindow::handleWhiteboardOperationReceive(const WhiteboardOperation::ref operation) {
- WhiteboardElementDrawingVisitor visitor(graphicsView, operation->getPos());
WhiteboardInsertOperation::ref insertOp = boost::dynamic_pointer_cast<WhiteboardInsertOperation>(operation);
if (insertOp) {
+ WhiteboardElementDrawingVisitor visitor(graphicsView, operation->getPos(), GView::New);
insertOp->getElement()->accept(visitor);
lastOpID = insertOp->getID();
}
+
+ WhiteboardUpdateOperation::ref updateOp = boost::dynamic_pointer_cast<WhiteboardUpdateOperation>(operation);
+ if (updateOp) {
+ WhiteboardElementDrawingVisitor visitor(graphicsView, operation->getPos(), GView::Update);
+ updateOp->getElement()->accept(visitor);
+ lastOpID = updateOp->getID();
+ }
}
void QtWhiteboardWindow::changeLineWidth(int i)
@@ -219,7 +222,6 @@ namespace Swift {
graphicsView->clear();
whiteboardSession_ = session;
graphicsView->setIDPrefix(P2QSTRING(whiteboardSession_->getClientID()));
- whiteboardSession_->onElementReceived.connect(boost::bind(&QtWhiteboardWindow::handleWhiteboardElementReceive, this, _1));
whiteboardSession_->onOperationReceived.connect(boost::bind(&QtWhiteboardWindow::handleWhiteboardOperationReceive, this, _1));
whiteboardSession_->onRequestAccepted.connect(boost::bind(&QWidget::show, this));
whiteboardSession_->onSessionTerminateReceived.connect(boost::bind(&QtWhiteboardWindow::handleSessionTerminate, this));
@@ -229,13 +231,14 @@ namespace Swift {
QWidget::activateWindow();
}
- void QtWhiteboardWindow::handleLastItemChanged(QGraphicsItem* item, int pos) {
+ void QtWhiteboardWindow::handleLastItemChanged(QGraphicsItem* item, int pos, GView::Type type) {
WhiteboardElement::ref el;
QGraphicsLineItem* lineItem = qgraphicsitem_cast<QGraphicsLineItem*>(item);
if (lineItem != 0) {
QLine line = lineItem->line().toLine();
QColor color = lineItem->pen().color();
- WhiteboardLineElement::ref element = boost::make_shared<WhiteboardLineElement>(line.x1(), line.y1(), line.x2(), line.y2());
+ WhiteboardLineElement::ref element = boost::make_shared<WhiteboardLineElement>(line.x1()+lineItem->pos().x(), line.y1()+lineItem->pos().y(), line.x2()+lineItem->pos().x(), line.y2()+lineItem->pos().y());
+// element->setShift(lineItem->pos().x(), lineItem->pos().y());
element->setColor(Color(color.red(), color.green(), color.blue(), color.alpha()));
element->setPenWidth(lineItem->pen().width());
@@ -250,7 +253,7 @@ namespace Swift {
std::vector<std::pair<int, int> > points;
QVector<QPointF>::const_iterator it = freehandLineItem->points().constBegin();
for ( ; it != freehandLineItem->points().constEnd(); ++it) {
- points.push_back(std::pair<int, int>(it->x(), it->y()));
+ points.push_back(std::pair<int, int>(it->x()+item->pos().x(), it->y()+item->pos().y()));
}
element->setColor(Color(color.red(), color.green(), color.blue(), color.alpha()));
@@ -265,7 +268,7 @@ namespace Swift {
QGraphicsRectItem* rectItem = qgraphicsitem_cast<QGraphicsRectItem*>(item);
if (rectItem != 0) {
QRectF rect = rectItem->rect();
- WhiteboardRectElement::ref element = boost::make_shared<WhiteboardRectElement>(rect.x(), rect.y(), rect.width(), rect.height());
+ WhiteboardRectElement::ref element = boost::make_shared<WhiteboardRectElement>(rect.x()+item->pos().x(), rect.y()+item->pos().y(), rect.width(), rect.height());
QColor penColor = rectItem->pen().color();
QColor brushColor = rectItem->brush().color();
@@ -299,7 +302,7 @@ namespace Swift {
std::vector<std::pair<int, int> > points;
QVector<QPointF>::const_iterator it = polygon.begin();
for (; it != polygon.end(); ++it) {
- points.push_back(std::pair<int, int>(it->x(), it->y()));
+ points.push_back(std::pair<int, int>(it->x()+item->pos().x(), it->y()+item->pos().y()));
}
element->setPoints(points);
@@ -318,8 +321,8 @@ namespace Swift {
QGraphicsEllipseItem* ellipseItem = qgraphicsitem_cast<QGraphicsEllipseItem*>(item);
if (ellipseItem) {
QRectF rect = ellipseItem->rect();
- int cx = rect.x()+rect.width()/2;
- int cy = rect.y()+rect.height()/2;
+ int cx = rect.x()+rect.width()/2 + item->pos().x();
+ int cy = rect.y()+rect.height()/2 + item->pos().y();
int rx = rect.width()/2;
int ry = rect.height()/2;
WhiteboardEllipseElement::ref element = boost::make_shared<WhiteboardEllipseElement>(cx, cy, rx, ry);
@@ -334,13 +337,24 @@ namespace Swift {
// whiteboardSession_->sendElement(element);
el = element;
}
- WhiteboardInsertOperation::ref insertOp = boost::make_shared<WhiteboardInsertOperation>();
- insertOp->setID(el->getID());
- insertOp->setPos(pos);
- insertOp->setElement(el);
- insertOp->setParentID(lastOpID);
- lastOpID = el->getID();
- whiteboardSession_->sendOperation(insertOp);
+
+ if (type == GView::New) {
+ WhiteboardInsertOperation::ref insertOp = boost::make_shared<WhiteboardInsertOperation>();
+ insertOp->setID(el->getID());
+ insertOp->setPos(pos);
+ insertOp->setElement(el);
+ insertOp->setParentID(lastOpID);
+ lastOpID = el->getID();
+ whiteboardSession_->sendOperation(insertOp);
+ } else {
+ WhiteboardUpdateOperation::ref updateOp = boost::make_shared<WhiteboardUpdateOperation>();
+ updateOp->setID(el->getID());
+ updateOp->setPos(pos);
+ updateOp->setElement(el);
+ updateOp->setParentID(lastOpID);
+ lastOpID = el->getID();
+ whiteboardSession_->sendOperation(updateOp);
+ }
}
void QtWhiteboardWindow::handleSessionTerminate() {
diff --git a/Swift/QtUI/Whiteboard/QtWhiteboardWindow.h b/Swift/QtUI/Whiteboard/QtWhiteboardWindow.h
index fbe98a7..8adee83 100644
--- a/Swift/QtUI/Whiteboard/QtWhiteboardWindow.h
+++ b/Swift/QtUI/Whiteboard/QtWhiteboardWindow.h
@@ -49,11 +49,10 @@ namespace Swift {
void setTextMode();
void setPolygonMode();
void setSelectMode();
- void handleLastItemChanged(QGraphicsItem* item, int pos);
+ void handleLastItemChanged(QGraphicsItem* item, int pos, GView::Type type);
private:
void handleSessionTerminate();
- void handleWhiteboardElementReceive(const WhiteboardElement::ref element);
void handleWhiteboardOperationReceive(const WhiteboardOperation::ref operation);
void closeEvent(QCloseEvent* event);
diff --git a/Swift/QtUI/Whiteboard/WhiteboardElementDrawingVisitor.h b/Swift/QtUI/Whiteboard/WhiteboardElementDrawingVisitor.h
index d9809b5..fc28c6f 100644
--- a/Swift/QtUI/Whiteboard/WhiteboardElementDrawingVisitor.h
+++ b/Swift/QtUI/Whiteboard/WhiteboardElementDrawingVisitor.h
@@ -18,58 +18,90 @@
namespace Swift {
class WhiteboardElementDrawingVisitor : public WhiteboardElementVisitor {
public:
- WhiteboardElementDrawingVisitor(GView* graphicsView, int pos) : graphicsView_(graphicsView), pos_(pos) {}
+ WhiteboardElementDrawingVisitor(GView* graphicsView, int pos, GView::Type type) : graphicsView_(graphicsView), pos_(pos), type_(type) {}
void visit(WhiteboardLineElement& element) {
- QGraphicsLineItem *item = new QGraphicsLineItem(element.x1(), element.y1(), element.x2(), element.y2());
- QPen pen;
- Color color = element.getColor();
- pen.setColor(QColor(color.getRed(), color.getGreen(), color.getBlue(), color.getAlpha()));
- pen.setWidth(element.getPenWidth());
- item->setPen(pen);
- QString id = P2QSTRING(element.getID());
- item->setData(100, id);
- graphicsView_->addItem(item, id, pos_);
+ QGraphicsLineItem *item;
+ if (type_ == GView::New) {
+ item = new QGraphicsLineItem(element.x1(), element.y1(), element.x2(), element.y2());
+ graphicsView_->addItem(item, P2QSTRING(element.getID()), pos_);
+ } else {
+ item = qgraphicsitem_cast<QGraphicsLineItem*>(graphicsView_->getItem(P2QSTRING(element.getID())));
+ QLineF line(element.x1(), element.y1(), element.x2(), element.y2());
+ item->setLine(line);
+ item->setPos(0,0);
+ }
+ if (item) {
+ QPen pen;
+ Color color = element.getColor();
+ pen.setColor(QColor(color.getRed(), color.getGreen(), color.getBlue(), color.getAlpha()));
+ pen.setWidth(element.getPenWidth());
+ item->setPen(pen);
+ QString id = P2QSTRING(element.getID());
+ item->setData(100, id);
+ }
}
void visit(WhiteboardFreehandPathElement& element) {
- FreehandLineItem *item = new FreehandLineItem;
- QPen pen;
- Color color = element.getColor();
- pen.setColor(QColor(color.getRed(), color.getGreen(), color.getBlue(), color.getAlpha()));
- pen.setWidth(element.getPenWidth());
- item->setPen(pen);
-
- std::vector<std::pair<int, int> >::const_iterator it = element.getPoints().begin();
- item->setStartPoint(QPointF(it->first, it->second));
- for (++it; it != element.getPoints().end(); ++it) {
- item->lineTo(QPointF(it->first, it->second));
+ FreehandLineItem *item;
+ if (type_ == GView::New) {
+ item = new FreehandLineItem;
+ } else {
+ item = qgraphicsitem_cast<FreehandLineItem*>(graphicsView_->getItem(P2QSTRING(element.getID())));
+ item->setPos(0,0);
}
- QString id = P2QSTRING(element.getID());
- item->setData(100, id);
- graphicsView_->addItem(item, id, pos_);
+ if (item) {
+ QPen pen;
+ Color color = element.getColor();
+ pen.setColor(QColor(color.getRed(), color.getGreen(), color.getBlue(), color.getAlpha()));
+ pen.setWidth(element.getPenWidth());
+ item->setPen(pen);
+
+ std::vector<std::pair<int, int> >::const_iterator it = element.getPoints().begin();
+ item->setStartPoint(QPointF(it->first, it->second));
+ for (++it; it != element.getPoints().end(); ++it) {
+ item->lineTo(QPointF(it->first, it->second));
+ }
+
+ QString id = P2QSTRING(element.getID());
+ item->setData(100, id);
+ }
+ if (type_ == GView::New) {
+ graphicsView_->addItem(item, P2QSTRING(element.getID()), pos_);
+ }
}
void visit(WhiteboardRectElement& element) {
- QGraphicsRectItem* item = new QGraphicsRectItem(element.getX(), element.getY(), element.getWidth(), element.getHeight());
- QPen pen;
- QBrush brush(Qt::SolidPattern);
- Color penColor = element.getPenColor();
- Color brushColor = element.getBrushColor();
- pen.setColor(QColor(penColor.getRed(), penColor.getGreen(), penColor.getBlue(), penColor.getAlpha()));
- pen.setWidth(element.getPenWidth());
- brush.setColor(QColor(brushColor.getRed(), brushColor.getGreen(), brushColor.getBlue(), brushColor.getAlpha()));
- item->setPen(pen);
- item->setBrush(brush);
- QString id = P2QSTRING(element.getID());
- item->setData(100, id);
- graphicsView_->addItem(item, id, pos_);
+ QGraphicsRectItem* item;
+ if (type_ == GView::New) {
+ item = new QGraphicsRectItem(element.getX(), element.getY(), element.getWidth(), element.getHeight());
+ graphicsView_->addItem(item, P2QSTRING(element.getID()), pos_);
+ } else {
+ item = qgraphicsitem_cast<QGraphicsRectItem*>(graphicsView_->getItem(P2QSTRING(element.getID())));
+ QRectF rect(element.getX(), element.getY(), element.getWidth(), element.getHeight());
+ item->setRect(rect);
+ item->setPos(0,0);
+ }
+
+ if (item) {
+ QPen pen;
+ QBrush brush(Qt::SolidPattern);
+ Color penColor = element.getPenColor();
+ Color brushColor = element.getBrushColor();
+ pen.setColor(QColor(penColor.getRed(), penColor.getGreen(), penColor.getBlue(), penColor.getAlpha()));
+ pen.setWidth(element.getPenWidth());
+ brush.setColor(QColor(brushColor.getRed(), brushColor.getGreen(), brushColor.getBlue(), brushColor.getAlpha()));
+ item->setPen(pen);
+ item->setBrush(brush);
+ QString id = P2QSTRING(element.getID());
+ item->setData(100, id);
+ }
}
void visit(WhiteboardPolygonElement& element) {
- /* QGraphicsPolygonItem* item = qgraphicsitem_cast<QGraphicsPolygonItem*>(graphicsView_->getItem(P2QSTRING(element.getID())));
- if (item == 0) {
+ QGraphicsPolygonItem* item = qgraphicsitem_cast<QGraphicsPolygonItem*>(graphicsView_->getItem(P2QSTRING(element.getID())));
+ if (item == 0 && type_ == GView::New) {
item = new QGraphicsPolygonItem();
QPen pen;
QBrush brush(Qt::SolidPattern);
@@ -89,7 +121,7 @@ namespace Swift {
for (; it != element.getPoints().end(); ++it) {
polygon.append(QPointF(it->first, it->second));
}
- item->setPolygon(polygon);*/
+ item->setPolygon(polygon);
}
void visit(WhiteboardTextElement& element) {
@@ -108,11 +140,18 @@ namespace Swift {
void visit(WhiteboardEllipseElement& element) {
QRectF rect;
-
+ QGraphicsEllipseItem* item;
+ QString id = P2QSTRING(element.getID());
rect.setTopLeft(QPointF(element.getCX()-element.getRX(), element.getCY()-element.getRY()));
rect.setBottomRight(QPointF(element.getCX()+element.getRX(), element.getCY()+element.getRY()));
-
- QGraphicsEllipseItem* item = new QGraphicsEllipseItem(rect);
+ if (type_ == GView::New) {
+ item = new QGraphicsEllipseItem(rect);
+ graphicsView_->addItem(item, id, pos_);
+ } else {
+ item = qgraphicsitem_cast<QGraphicsEllipseItem*>(graphicsView_->getItem(id));
+ item->setRect(rect);
+ item->setPos(0,0);
+ }
QPen pen;
QBrush brush(Qt::SolidPattern);
Color penColor = element.getPenColor();
@@ -122,13 +161,12 @@ namespace Swift {
brush.setColor(QColor(brushColor.getRed(), brushColor.getGreen(), brushColor.getBlue(), brushColor.getAlpha()));
item->setPen(pen);
item->setBrush(brush);
- QString id = P2QSTRING(element.getID());
item->setData(100, id);
- graphicsView_->addItem(item, id, pos_);
}
private:
GView* graphicsView_;
int pos_;
+ GView::Type type_;
};
}
diff --git a/Swiften/Parser/PayloadParsers/WhiteboardParser.cpp b/Swiften/Parser/PayloadParsers/WhiteboardParser.cpp
index 5d4aef1..7581115 100644
--- a/Swiften/Parser/PayloadParsers/WhiteboardParser.cpp
+++ b/Swiften/Parser/PayloadParsers/WhiteboardParser.cpp
@@ -52,21 +52,15 @@ namespace Swift {
int y1 = 0;
int x2 = 0;
int y2 = 0;
- int xShift = 0;
- int yShift = 0;
try {
x1 = boost::lexical_cast<int>(attributes.getAttributeValue("x1").get_value_or("0"));
y1 = boost::lexical_cast<int>(attributes.getAttributeValue("y1").get_value_or("0"));
x2 = boost::lexical_cast<int>(attributes.getAttributeValue("x2").get_value_or("0"));
y2 = boost::lexical_cast<int>(attributes.getAttributeValue("y2").get_value_or("0"));
- xShift = boost::lexical_cast<int>(attributes.getAttributeValue("xshift").get_value_or("0"));
- yShift = boost::lexical_cast<int>(attributes.getAttributeValue("yshift").get_value_or("0"));
} catch (boost::bad_lexical_cast&) {
}
WhiteboardLineElement::ref whiteboardElement = boost::make_shared<WhiteboardLineElement>(x1, y1, x2, y2);
- whiteboardElement->setShift(xShift, yShift);
-
Color color(attributes.getAttributeValue("stroke").get_value_or("#000000"));
color.setAlpha(opacityToAlpha(attributes.getAttributeValue("opacity").get_value_or("1")));
whiteboardElement->setColor(color);
diff --git a/Swiften/Serializer/PayloadSerializers/WhiteboardSerializer.cpp b/Swiften/Serializer/PayloadSerializers/WhiteboardSerializer.cpp
index 965939a..d22d4ce 100644
--- a/Swiften/Serializer/PayloadSerializers/WhiteboardSerializer.cpp
+++ b/Swiften/Serializer/PayloadSerializers/WhiteboardSerializer.cpp
@@ -20,8 +20,6 @@ namespace Swift {
element->setAttribute("y1", boost::lexical_cast<std::string>(line.y1()));
element->setAttribute("x2", boost::lexical_cast<std::string>(line.x2()));
element->setAttribute("y2", boost::lexical_cast<std::string>(line.y2()));
- element->setAttribute("xshift", boost::lexical_cast<std::string>(line.getXShift()));
- element->setAttribute("yshift", boost::lexical_cast<std::string>(line.getYShift()));
element->setAttribute("id", line.getID());
element->setAttribute("stroke", line.getColor().toHex());
element->setAttribute("stroke-width", boost::lexical_cast<std::string>(line.getPenWidth()));
diff --git a/Swiften/Whiteboard/Elements/WhiteboardLineElement.h b/Swiften/Whiteboard/Elements/WhiteboardLineElement.h
index 85e6302..20455b6 100644
--- a/Swiften/Whiteboard/Elements/WhiteboardLineElement.h
+++ b/Swiften/Whiteboard/Elements/WhiteboardLineElement.h
@@ -37,19 +37,6 @@ namespace Swift {
return y2_;
}
- int getXShift() const {
- return xShift_;
- }
-
- int getYShift() const {
- return yShift_;
- }
-
- void setShift(int x, int y) {
- xShift_ = x;
- yShift_ = y;
- }
-
const Color& getColor() const {
return color_;
}
@@ -80,7 +67,6 @@ namespace Swift {
private:
int x1_, y1_, x2_, y2_;
- int xShift_, yShift_;
Color color_;
int penWidth_;
std::string id_;
diff --git a/Swiften/Whiteboard/IncomingWhiteboardSession.cpp b/Swiften/Whiteboard/IncomingWhiteboardSession.cpp
index 42f5934..568bed8 100644
--- a/Swiften/Whiteboard/IncomingWhiteboardSession.cpp
+++ b/Swiften/Whiteboard/IncomingWhiteboardSession.cpp
@@ -27,17 +27,13 @@ namespace Swift {
void IncomingWhiteboardSession::handleIncomingOperation(WhiteboardOperation::ref operation) {
// std::cout << "incoming pos: " << operation->getPos() << std::endl;
// WhiteboardInsertOperation::ref insertOp = boost::dynamic_pointer_cast<WhiteboardInsertOperation>(operation);
-// if (insertOp) {
- WhiteboardOperation::ref op = server.handleClientOperationReceived(operation);
- //std::cout << "in1: " << operation->getID() << " " << operation->getPos() << " " << operation->getParentID() << std::endl;
- //std::cout << "in2: " << op->getID() << " " << op->getPos() << " " << op->getParentID() << std::endl;
- onOperationReceived(op);
- WhiteboardPayload::ref payload = boost::make_shared<WhiteboardPayload>();
- payload->setOperation(op);
- sendPayload(payload);
-// } else {
-// std::cout << "unknown operation" << std::endl;
-// }
+ WhiteboardOperation::ref op = server.handleClientOperationReceived(operation);
+ //std::cout << "in1: " << operation->getID() << " " << operation->getPos() << " " << operation->getParentID() << std::endl;
+ //std::cout << "in2: " << op->getID() << " " << op->getPos() << " " << op->getParentID() << std::endl;
+ onOperationReceived(op);
+ WhiteboardPayload::ref payload = boost::make_shared<WhiteboardPayload>();
+ payload->setOperation(op);
+ sendPayload(payload);
}
void IncomingWhiteboardSession::sendOperation(WhiteboardOperation::ref operation) {