11 changed files with 120 additions and 9 deletions
@ -0,0 +1,16 @@
|
||||
#include "eraseritem.hpp" |
||||
|
||||
EraserItem::EraserItem() { |
||||
} |
||||
|
||||
EraserItem::~EraserItem() { |
||||
} |
||||
|
||||
void EraserItem::mouseDragEvent(QGraphicsSceneMouseEvent *e, CropScene *scene) { |
||||
for (auto i : scene->items()) { |
||||
if (i->contains(e->scenePos()) && i->zValue() != -1 && i != scene->polyItm() && i != scene->selRect()) { |
||||
scene->removeItem(i); |
||||
break; |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,18 @@
|
||||
#ifndef ERASERITEM_HPP |
||||
#define ERASERITEM_HPP |
||||
|
||||
#include "drawitem.hpp" |
||||
|
||||
class EraserItem : public DrawItem { |
||||
public: |
||||
EraserItem(); |
||||
~EraserItem(); |
||||
QString name() override { |
||||
return "Eraser"; |
||||
} |
||||
void mouseDragEvent(QGraphicsSceneMouseEvent *e, CropScene *scene) override; |
||||
void mouseDragEndEvent(QGraphicsSceneMouseEvent *, CropScene *) override { |
||||
} |
||||
}; |
||||
|
||||
#endif // ERASERITEM_HPP
|
@ -0,0 +1,23 @@
|
||||
#include "rectitem.hpp" |
||||
|
||||
RectItem::RectItem() { |
||||
} |
||||
|
||||
RectItem::~RectItem() { |
||||
} |
||||
|
||||
void RectItem::mouseDragEvent(QGraphicsSceneMouseEvent *e, CropScene *scene) { |
||||
if (!rect) { |
||||
rect = scene->addRect(e->scenePos().x(), e->scenePos().y(), 0, 0); |
||||
rect->setBrush(scene->brush()); |
||||
rect->setPen(scene->pen()); |
||||
initPos = e->scenePos(); |
||||
} else { |
||||
auto p = e->scenePos(); |
||||
rect->setRect( |
||||
QRect(qMin(initPos.x(), p.x()), qMin(initPos.y(), p.y()), qAbs(initPos.x() - p.x()), qAbs(initPos.y() - p.y()))); |
||||
} |
||||
} |
||||
|
||||
void RectItem::mouseDragEndEvent(QGraphicsSceneMouseEvent *, CropScene *) { |
||||
} |
@ -0,0 +1,21 @@
|
||||
#ifndef RECTITEM_HPP |
||||
#define RECTITEM_HPP |
||||
|
||||
#include "drawitem.hpp" |
||||
|
||||
class RectItem : public DrawItem { |
||||
public: |
||||
RectItem(); |
||||
~RectItem(); |
||||
QString name() override { |
||||
return "Rectangle"; |
||||
} |
||||
void mouseDragEvent(QGraphicsSceneMouseEvent *e, CropScene *scene) override; |
||||
void mouseDragEndEvent(QGraphicsSceneMouseEvent *, CropScene *) override; |
||||
|
||||
private: |
||||
QGraphicsRectItem *rect = nullptr; |
||||
QPointF initPos; |
||||
}; |
||||
|
||||
#endif // RECTITEM_HPP
|
Loading…
Reference in new issue