Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_layer_style_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_LAYER_STYLE_PROJECTION_PLANE_H
8#define __KIS_LAYER_STYLE_PROJECTION_PLANE_H
9
11
12#include <QScopedPointer>
13
14#include "kis_types.h"
15
16#include <kritaimage_export.h>
17
18
19class KRITAIMAGE_EXPORT KisLayerStyleProjectionPlane : public KisAbstractProjectionPlane
20{
21public:
24
26
27 QRect recalculate(const QRect& rect, KisNodeSP filthyNode, KisRenderPassFlags flags) override;
28 void apply(KisPainter *painter, const QRect &rect) override;
29
30 QRect needRect(const QRect &rect, KisLayer::PositionToFilthy pos) const override;
31 QRect changeRect(const QRect &rect, KisLayer::PositionToFilthy pos) const override;
32 QRect accessRect(const QRect &rect, KisLayer::PositionToFilthy pos) const override;
33 QRect needRectForOriginal(const QRect &rect) const override;
34 QRect tightUserVisibleBounds() const override;
35 QRect looseUserVisibleBounds() const override;
36
38
39
40 // a method for registering on KisLayerStyleProjectionPlaneFactory
41 static KisAbstractProjectionPlaneSP factoryObject(KisLayer *sourceLayer);
42
43private:
44 friend class KisLayerStyleProjectionPlaneTest;
46
47 void init(KisLayer *sourceLayer, KisPSDLayerStyleSP layerStyle);
48
49 QRect stylesNeedRect(const QRect &rect) const;
50
51private:
52 struct Private;
53 const QScopedPointer<Private> m_d;
54};
55
58
59#endif /* __KIS_LAYER_STYLE_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
QWeakPointer< KisLayerStyleProjectionPlane > KisLayerStyleProjectionPlaneWSP
QSharedPointer< KisLayerStyleProjectionPlane > KisLayerStyleProjectionPlaneSP
PositionToFilthy
Definition kis_node.h:58