// Copyright (c) 2012-2017 VideoStitch SAS // Copyright (c) 2018 stitchEm #pragma once #include "cropshapeeditor.hpp" class VS_GUI_EXPORT CropRectangleEditor : public CropShapeEditor { Q_OBJECT public: CropRectangleEditor(const QSize thumbnailSize, const QSize frameSize, const Crop& initCrop, QWidget* const parent = nullptr); public slots: virtual void setDefaultCrop() override; protected: virtual const QRectF getTopArea(const QRectF rectangle) const override; virtual const QRectF getBottomArea(const QRectF rectangle) const override; virtual const QRectF getLeftArea(const QRectF rectangle) const override; virtual const QRectF getRightArea(const QRectF rectangle) const override; virtual const QRectF getTopLeftCorner(const QRectF rectangle) const override; virtual const QRectF getTopRightCorner(const QRectF rectangle) const override; virtual const QRectF getBottomLeftCorner(const QRectF rectangle) const override; virtual const QRectF getBottomRightCorner(const QRectF rectangle) const override; virtual void mousePressEvent(QMouseEvent* event) override; virtual void mouseReleaseEvent(QMouseEvent* event) override; virtual void mouseMoveEvent(QMouseEvent* event) override; private: virtual void drawCropShape(QPainter& painter) override; };