Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_update_info.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2010 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef KIS_UPDATE_INFO_H_
8#define KIS_UPDATE_INFO_H_
9
10#include <QPainter>
11
12#include "kis_image_patch.h"
13#include "kis_shared.h"
14#include "kritaui_export.h"
16
17#include "kis_ui_types.h"
18
19class KRITAUI_EXPORT KisUpdateInfo : public KisShared
20{
21public:
23 virtual ~KisUpdateInfo();
24
25 virtual QRect dirtyViewportRect();
26 virtual QRect dirtyImageRect() const = 0;
27 virtual int levelOfDetail() const = 0;
28 virtual bool canBeCompressed() const;
29};
30
32
33
35 ConversionOptions() : m_needsConversion(false) {}
36 ConversionOptions(const KoColorSpace *destinationColorSpace,
38 KoColorConversionTransformation::ConversionFlags conversionFlags)
39 : m_needsConversion(true),
40 m_destinationColorSpace(destinationColorSpace),
41 m_renderingIntent(renderingIntent),
42 m_conversionFlags(conversionFlags)
43 {
44 }
45
46
47 bool m_needsConversion {false};
48 const KoColorSpace *m_destinationColorSpace {0};
50 KoColorConversionTransformation::ConversionFlags m_conversionFlags {KoColorConversionTransformation::Empty};
51};
52
55
56class KRITAUI_EXPORT KisOpenGLUpdateInfo : public KisUpdateInfo
57{
58public:
60
62
63 QRect dirtyViewportRect() override;
64 QRect dirtyImageRect() const override;
65
66 void assignDirtyImageRect(const QRect &rect);
67 void assignLevelOfDetail(int lod);
68
69 int levelOfDetail() const override;
70
71 bool tryMergeWith(const KisOpenGLUpdateInfo& rhs);
72
73private:
76};
77
78
80{
81public:
86
87 QRect dirtyViewportRect() override;
88 QRect dirtyImageRect() const override;
89 int levelOfDetail() const override;
90
95
101
106
107 qreal scaleX;
108 qreal scaleY;
109
115
119 QPainter::RenderHints renderHints;
120
126
132};
133
135{
136public:
143
144public:
146
147 Type type() const;
148
149 QRect dirtyImageRect() const override;
150 int levelOfDetail() const override;
151 bool canBeCompressed() const override;
152
153private:
156};
157
158#endif /* KIS_UPDATE_INFO_H_ */
int levelOfDetail() const override
KisMarkerUpdateInfo(Type type, const QRect &dirtyImageRect)
QRect dirtyImageRect() const override
bool canBeCompressed() const override
KisTextureTileUpdateInfoSPList tileList
TransferType transfer
KisImagePatch patch
QPainter::RenderHints renderHints
QRect dirtyImageRect() const override
QRect dirtyViewportRect() override
int levelOfDetail() const override
virtual int levelOfDetail() const =0
virtual QRect dirtyImageRect() const =0
Q_DECLARE_METATYPE(KisPaintopLodLimitations)
KisSharedPtr< KisOpenGLUpdateInfo > KisOpenGLUpdateInfoSP
ConversionOptions(const KoColorSpace *destinationColorSpace, KoColorConversionTransformation::Intent renderingIntent, KoColorConversionTransformation::ConversionFlags conversionFlags)