Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_fixed_paint_device.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2009 Boudewijn Rempt <boud@valdyas.org>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6#ifndef KIS_FIXED_PAINT_DEVICE_H
7#define KIS_FIXED_PAINT_DEVICE_H
8
9#include <kritaimage_export.h>
10#include <KoColorSpace.h>
11#include "kis_shared.h"
12#include <kis_shared_ptr.h>
13
14#include <QRect>
15#include <QImage>
17
18class KoColor;
19
20
27class KRITAIMAGE_EXPORT KisFixedPaintDevice : public KisShared
28{
29
30public:
31
32 KisFixedPaintDevice(const KoColorSpace* colorSpace,
34 virtual ~KisFixedPaintDevice();
35
40
45
53 void setRect(const QRect& rc);
54
60 void setColorSpace(const KoColorSpace *cs);
61
65 QRect bounds() const;
66
71 int allocatedPixels() const;
72
73
77 quint32 pixelSize() const;
78
79 const KoColorSpace* colorSpace() const {
80 return m_colorSpace;
81 }
82
89 bool initialize(quint8 defaultValue = 0);
90
95 void reallocateBufferWithoutInitialization();
96
102 void lazyGrowBufferWithoutInitialization();
103
107 quint8* data();
108
109 const quint8* constData() const;
110
111 quint8* data() const;
112
123 void readBytes(quint8 * dstData, qint32 x, qint32 y, qint32 w, qint32 h) const;
124
128 void convertTo(const KoColorSpace * dstColorSpace = 0,
130 KoColorConversionTransformation::ConversionFlags conversionFlags = KoColorConversionTransformation::internalConversionFlags());
131
135 void setProfile(const KoColorProfile *profile);
136
143 virtual void convertFromQImage(const QImage& image, const QString &srcProfileName);
144
158 virtual QImage convertToQImage(const KoColorProfile *dstProfile, qint32 x, qint32 y, qint32 w, qint32 h,
160 KoColorConversionTransformation::ConversionFlags conversionFlags = KoColorConversionTransformation::internalConversionFlags()) const;
161
172 virtual QImage convertToQImage(const KoColorProfile *dstProfile,
174 KoColorConversionTransformation::ConversionFlags conversionFlags = KoColorConversionTransformation::internalConversionFlags()) const;
175
182 void clear(const QRect & rc);
183
191 void fill(qint32 x, qint32 y, qint32 w, qint32 h, const quint8 *fillPixel);
192
193 void fill(const QRect &rc, const KoColor &color);
194
195
199 void mirror(bool horizontal, bool vertical);
200
201private:
202
204 QRect m_bounds;
206};
207
208#endif
const KoColorSpace * m_colorSpace
KisOptimizedByteArray m_data
const KoColorSpace * colorSpace() const
KisShared & operator=(const KisShared &)
static QImage convertToQImage(char *buffer, qint32 width, qint32 height)
save the QImages as png files to directory image_tests
#define bounds(x, a, b)