Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_abstract_projection_plane.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2015 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef __KIS_ABSTRACT_PROJECTION_PLANE_H
8#define __KIS_ABSTRACT_PROJECTION_PLANE_H
9
10#include "kis_types.h"
11#include "kis_layer.h"
12
13class QRect;
14class KisPainter;
15
16
33class KRITAIMAGE_EXPORT KisAbstractProjectionPlane
34{
35public:
38
44 virtual QRect recalculate(const QRect& rect, KisNodeSP filthyNode, KisRenderPassFlags flags) = 0;
45
50 virtual void apply(KisPainter *painter, const QRect &rect) = 0;
51
56 virtual QRect needRect(const QRect &rect, KisLayer::PositionToFilthy pos = KisLayer::N_FILTHY) const = 0;
57
62 virtual QRect changeRect(const QRect &rect, KisLayer::PositionToFilthy pos = KisLayer::N_FILTHY) const = 0;
63
68 virtual QRect accessRect(const QRect &rect, KisLayer::PositionToFilthy pos = KisLayer::N_FILTHY) const = 0;
69
74 virtual QRect needRectForOriginal(const QRect &rect) const = 0;
75
81 virtual QRect tightUserVisibleBounds() const = 0;
82
91 virtual QRect looseUserVisibleBounds() const = 0;
92
97};
98
104{
105public:
106 QRect recalculate(const QRect& rect, KisNodeSP filthyNode, KisRenderPassFlags flags) override;
107 void apply(KisPainter *painter, const QRect &rect) override;
108
109 QRect needRect(const QRect &rect, KisLayer::PositionToFilthy pos) const override;
110 QRect changeRect(const QRect &rect, KisLayer::PositionToFilthy pos) const override;
111 QRect accessRect(const QRect &rect, KisLayer::PositionToFilthy pos) const override;
112 QRect needRectForOriginal(const QRect &rect) const override;
113 QRect tightUserVisibleBounds() const override;
114 QRect looseUserVisibleBounds() const override;
115
117};
118
119#endif /* __KIS_ABSTRACT_PROJECTION_PLANE_H */
virtual QRect tightUserVisibleBounds() const =0
virtual void apply(KisPainter *painter, const QRect &rect)=0
virtual QRect looseUserVisibleBounds() const =0
virtual QRect needRect(const QRect &rect, KisLayer::PositionToFilthy pos=KisLayer::N_FILTHY) const =0
virtual QRect needRectForOriginal(const QRect &rect) const =0
virtual QRect accessRect(const QRect &rect, KisLayer::PositionToFilthy pos=KisLayer::N_FILTHY) const =0
virtual KisPaintDeviceList getLodCapableDevices() const =0
virtual QRect recalculate(const QRect &rect, KisNodeSP filthyNode, KisRenderPassFlags flags)=0
virtual QRect changeRect(const QRect &rect, KisLayer::PositionToFilthy pos=KisLayer::N_FILTHY) const =0
void apply(KisPainter *painter, const QRect &rect) override
KisPaintDeviceList getLodCapableDevices() const override
QRect changeRect(const QRect &rect, KisLayer::PositionToFilthy pos) const override
QRect needRect(const QRect &rect, KisLayer::PositionToFilthy pos) const override
QRect recalculate(const QRect &rect, KisNodeSP filthyNode, KisRenderPassFlags flags) override
QRect looseUserVisibleBounds() const override
QRect tightUserVisibleBounds() const override
QRect accessRect(const QRect &rect, KisLayer::PositionToFilthy pos) const override
QRect needRectForOriginal(const QRect &rect) const override
PositionToFilthy
Definition kis_node.h:58
@ N_FILTHY
Definition kis_node.h:61