4 changed files with 42 additions and 2 deletions
@ -0,0 +1,12 @@
|
||||
#include "ellipseitem.hpp" |
||||
|
||||
void EllipseItem::mouseDragEvent(QGraphicsSceneMouseEvent *e, CropScene *scene) { |
||||
if (!ellie) { |
||||
ellie = scene->addEllipse(e->scenePos().x(), e->scenePos().y(), 0, 0, scene->pen(), scene->brush()); |
||||
initPos = e->scenePos(); |
||||
} else { |
||||
auto p = e->scenePos(); |
||||
ellie->setRect(QRectF(qMin(initPos.x(), p.x()), qMin(initPos.y(), p.y()), qAbs(initPos.x() - p.x()), |
||||
qAbs(initPos.y() - p.y()))); |
||||
} |
||||
} |
@ -0,0 +1,24 @@
|
||||
#ifndef ELLIPSEITEM_HPP |
||||
#define ELLIPSEITEM_HPP |
||||
|
||||
#include "drawitem.hpp" |
||||
|
||||
class EllipseItem : public DrawItem { |
||||
public: |
||||
EllipseItem() { |
||||
} |
||||
QString name() { |
||||
return "Blur"; |
||||
} |
||||
~EllipseItem() { |
||||
} |
||||
void mouseDragEvent(QGraphicsSceneMouseEvent *e, CropScene *scene) override; |
||||
void mouseDragEndEvent(QGraphicsSceneMouseEvent *, CropScene *) override { |
||||
} |
||||
|
||||
private: |
||||
QGraphicsEllipseItem *ellie = nullptr; |
||||
QPointF initPos; |
||||
}; |
||||
|
||||
#endif // ELLIPSEITEM_HPP
|
Loading…
Reference in new issue