Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_selection_component.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2007 Sven Langkamp <sven.langkamp@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6#ifndef KIS_SELECTION_COMPONENT_H
7#define KIS_SELECTION_COMPONENT_H
8
9#include <kritaimage_export.h>
10
11#include <QTransform>
12
13class QRect;
14class KUndo2Command;
15class KisSelection;
16
17#include "kis_types.h"
18
19class KRITAIMAGE_EXPORT KisSelectionComponent
20{
21public:
24
25 virtual KisSelectionComponent* clone(KisSelection* selection) = 0;
26
27 virtual void renderToProjection(KisPaintDeviceSP projection) = 0;
28 virtual void renderToProjection(KisPaintDeviceSP projection, const QRect& r) = 0;
29
30 virtual void moveX(qint32 x);
31 virtual void moveY(qint32 y) { Q_UNUSED(y); }
32
33 virtual KUndo2Command* transform(const QTransform &transform) {
34 Q_UNUSED(transform);
35 return 0;
36 }
37
38 virtual bool isEmpty() const = 0;
39 virtual QPainterPath outlineCache() const = 0;
40 virtual bool outlineCacheValid() const = 0;
41 virtual void recalculateOutlineCache() = 0;
42
43 virtual KUndo2Command* resetToEmpty() { return 0; }
44
45 virtual void setResolutionProxy(KisImageResolutionProxySP /* resolutionProxy */) { };
46};
47
48#endif
virtual bool isEmpty() const =0
virtual bool outlineCacheValid() const =0
virtual void renderToProjection(KisPaintDeviceSP projection)=0
virtual void moveY(qint32 y)
virtual KisSelectionComponent * clone(KisSelection *selection)=0
virtual void setResolutionProxy(KisImageResolutionProxySP)
virtual void renderToProjection(KisPaintDeviceSP projection, const QRect &r)=0
virtual QPainterPath outlineCache() const =0
virtual KUndo2Command * transform(const QTransform &transform)
virtual void recalculateOutlineCache()=0
virtual KUndo2Command * resetToEmpty()