Lint & Format (JS/TS) / lint-format (pull_request) Successful in 16s
Python / lint-format (pull_request) Successful in 23s
Python / test (pull_request) Successful in 48s
C++ / build (pull_request) Successful in 2m20s
Lint & Format (Rust) / lint-format (pull_request) Successful in 1m59s
27 lines
582 B
C++
27 lines
582 B
C++
#pragma once
|
|
|
|
#include <QCanvasPainterItemRenderer>
|
|
#include <qcontainerfwd.h>
|
|
#include "stroke.hpp"
|
|
|
|
namespace ZShell::internal {
|
|
|
|
class StrokeCanvasRenderer final : public QCanvasPainterItemRenderer {
|
|
public:
|
|
void synchronizeData(QCanvasPainterItem* item) override;
|
|
void paint(QCanvasPainter* painter) override;
|
|
|
|
private:
|
|
QColor m_penColor;
|
|
qreal m_penWidth = 4.0;
|
|
bool m_hoverVisible = false;
|
|
QPointF m_hoverPoint;
|
|
bool m_isDrawing = false;
|
|
|
|
QVector<Stroke> m_strokes;
|
|
Stroke m_currentStroke;
|
|
QVector<int> m_pendingGroupRemovals;
|
|
};
|
|
|
|
}; // namespace ZShell::internal
|