File indexing completed on 2025-02-02 04:54:38

0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002 // SPDX-FileCopyrightText: 2018 Kevin Ottens <ervin@kde.org>
0003 
0004 #include "strokeitem.h"
0005 
0006 #include <QPainter>
0007 
0008 StrokeItem::StrokeItem(QQuickItem *parent)
0009     : QQuickPaintedItem(parent)
0010 {
0011     setAntialiasing(true);
0012     setRenderTarget(FramebufferObject);
0013 }
0014 
0015 Stroke StrokeItem::stroke() const
0016 {
0017     return m_stroke;
0018 }
0019 
0020 void StrokeItem::setStroke(const Stroke &stroke)
0021 {
0022     m_stroke = stroke;
0023     Q_EMIT strokeChanged(stroke);
0024     update();
0025 }
0026 
0027 void StrokeItem::addSample(const StrokeSample &sample)
0028 {
0029     m_stroke.addSample(sample);
0030     Q_EMIT strokeChanged(m_stroke);
0031     update();
0032 }
0033 
0034 void StrokeItem::paint(QPainter *painter)
0035 {
0036     m_strokepainter.render(m_stroke, painter);
0037 }