diff --git a/Mapper.cpp b/Mapper.cpp index dbab55a..3eb90d0 100644 --- a/Mapper.cpp +++ b/Mapper.cpp @@ -240,6 +240,7 @@ void EllipseColorMapper::draw(QPainter* painter) qDebug() << "Rotation: " << rotation << endl; painter->save(); // save painter state + painter->resetTransform(); painter->setBrush(color->getColor()); const QPointF& center = outputEllipse->getCenter(); @@ -247,6 +248,17 @@ void EllipseColorMapper::draw(QPainter* painter) painter->rotate(rotation); painter->drawEllipse(QPointF(0,0), outputEllipse->getHorizontalRadius(), outputEllipse->getVerticalRadius()); + painter->restore(); // restore saved painter state +} + +void EllipseColorMapper::drawControls(QPainter* painter) +{ + painter->setRenderHint(QPainter::Antialiasing); + painter->setPen(Qt::NoPen); + + painter->save(); // save painter state + + std::tr1::shared_ptr outputEllipse = std::tr1::static_pointer_cast(outputShape); painter->resetTransform(); for (int i=0; i<4; i++) { painter->setBrush(QColor(0, 0, 0)); diff --git a/Mapper.h b/Mapper.h index f3e2b35..d4c8860 100644 --- a/Mapper.h +++ b/Mapper.h @@ -148,7 +148,7 @@ public: virtual ~EllipseColorMapper() {} virtual void draw(QPainter* painter); -// virtual void drawControls(QPainter* painter); + virtual void drawControls(QPainter* painter); }; /**