diff --git a/src/tools/rectangle/rectangletool.cpp b/src/tools/rectangle/rectangletool.cpp index 530fd729..b2f220a7 100644 --- a/src/tools/rectangle/rectangletool.cpp +++ b/src/tools/rectangle/rectangletool.cpp @@ -26,6 +26,7 @@ RectangleTool::RectangleTool(QObject* parent) : AbstractTwoPointTool(parent) { m_supportsDiagonalAdj = true; + context_thickness = 0; } QIcon RectangleTool::icon(const QColor& background, bool inEditor) const @@ -60,9 +61,9 @@ void RectangleTool::process(QPainter& painter, if (recordUndo) { updateBackup(pixmap); } - painter.setPen(QPen(m_color, PADDING_VALUE + m_thickness)); + painter.setPen(QPen(m_color, m_thickness)); painter.setBrush(QBrush(m_color)); - if (m_thickness == 0) { + if (context_thickness == 0) { painter.drawRect(QRect(m_points.first, m_points.second)); } else { painter.drawRoundedRect( @@ -78,14 +79,15 @@ void RectangleTool::process(QPainter& painter, void RectangleTool::paintMousePreview(QPainter& painter, const CaptureContext& context) { - painter.setPen(QPen(context.color, PADDING_VALUE + context.thickness)); + painter.setPen(QPen(context.color, context.thickness)); painter.drawLine(context.mousePos, context.mousePos); } void RectangleTool::drawStart(const CaptureContext& context) { m_color = context.color; - m_thickness = context.thickness; + m_thickness = context.thickness + PADDING_VALUE; + context_thickness = context.thickness; m_points.first = context.mousePos; m_points.second = context.mousePos; } diff --git a/src/tools/rectangle/rectangletool.h b/src/tools/rectangle/rectangletool.h index fc936c9f..8864434a 100644 --- a/src/tools/rectangle/rectangletool.h +++ b/src/tools/rectangle/rectangletool.h @@ -39,6 +39,8 @@ public: protected: ToolType nameID() const override; +private: + int context_thickness; public slots: void drawStart(const CaptureContext& context) override; void pressed(const CaptureContext& context) override; diff --git a/src/tools/selection/selectiontool.cpp b/src/tools/selection/selectiontool.cpp index 63d6e9bd..5b0e994e 100644 --- a/src/tools/selection/selectiontool.cpp +++ b/src/tools/selection/selectiontool.cpp @@ -65,21 +65,21 @@ void SelectionTool::process(QPainter& painter, if (recordUndo) { updateBackup(pixmap); } - painter.setPen(QPen(m_color, PADDING_VALUE + m_thickness)); + painter.setPen(QPen(m_color, m_thickness)); painter.drawRect(QRect(m_points.first, m_points.second)); } void SelectionTool::paintMousePreview(QPainter& painter, const CaptureContext& context) { - painter.setPen(QPen(context.color, PADDING_VALUE + context.thickness)); + painter.setPen(QPen(context.color, context.thickness)); painter.drawLine(context.mousePos, context.mousePos); } void SelectionTool::drawStart(const CaptureContext& context) { m_color = context.color; - m_thickness = context.thickness; + m_thickness = context.thickness + PADDING_VALUE; m_points.first = context.mousePos; m_points.second = context.mousePos; }