File indexing completed on 2025-02-23 04:09:02

0001 /*
0002  *  SPDX-FileCopyrightText: 2016 Dmitry Kazakov <dimula73@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #ifndef __KIS_SNAP_LINE_STRATEGY_H
0008 #define __KIS_SNAP_LINE_STRATEGY_H
0009 
0010 #include <QScopedPointer>
0011 
0012 #include "KoSnapStrategy.h"
0013 
0014 
0015 class KisSnapLineStrategy : public KoSnapStrategy
0016 {
0017 public:
0018     KisSnapLineStrategy(KoSnapGuide::Strategy type = KoSnapGuide::CustomSnapping);
0019     ~KisSnapLineStrategy() override;
0020 
0021     bool snap(const QPointF &mousePosition, KoSnapProxy * proxy, qreal maxSnapDistance) override;
0022     QPainterPath decoration(const KoViewConverter &converter) const override;
0023 
0024     void addLine(Qt::Orientation orientation, qreal pos);
0025 
0026     void setHorizontalLines(const QList<qreal> &lines);
0027     void setVerticalLines(const QList<qreal> &lines);
0028 
0029 private:
0030     struct Private;
0031     const QScopedPointer<Private> m_d;
0032 };
0033 
0034 #endif /* __KIS_SNAP_LINE_STRATEGY_H */