Krita Source Code Documentation
Loading...
Searching...
No Matches
KisGLImageF16.cpp
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2019 Dmitry Kazakov <dimula73@gmail.com>
3
*
4
* SPDX-License-Identifier: GPL-2.0-or-later
5
*/
6
7
#include "
KisGLImageF16.h
"
8
9
#include <QByteArray>
10
#include <QSize>
11
12
struct
KisGLImageF16::Private
:
public
QSharedData
13
{
14
QSize
size
;
15
QByteArray
data
;
16
};
17
18
19
20
KisGLImageF16::KisGLImageF16
()
21
: m_d(new
Private
)
22
{
23
}
24
25
KisGLImageF16::KisGLImageF16
(
const
QSize &size,
bool
clearPixels)
26
: m_d(new
Private
)
27
{
28
resize
(
size
,
clearPixels
);
29
}
30
31
KisGLImageF16::KisGLImageF16
(
int
width,
int
height,
bool
clearPixels)
32
:
KisGLImageF16
(QSize(width, height), clearPixels)
33
{
34
}
35
36
KisGLImageF16::KisGLImageF16
(
const
KisGLImageF16
&rhs)
37
: m_d(rhs.m_d)
38
{
39
}
40
41
KisGLImageF16
&
KisGLImageF16::operator=
(
const
KisGLImageF16
&rhs)
42
{
43
m_d
= rhs.
m_d
;
44
return
*
this
;
45
}
46
47
bool
operator==
(
const
KisGLImageF16
&lhs,
const
KisGLImageF16
&rhs)
48
{
49
return
lhs.
m_d
== rhs.
m_d
;
50
}
51
52
KisGLImageF16::~KisGLImageF16
()
53
{
54
}
55
56
void
KisGLImageF16::clearPixels
()
57
{
58
if
(!
m_d
->data.isEmpty()) {
59
m_d
->data.fill(0);
60
}
61
}
62
63
void
KisGLImageF16::resize
(
const
QSize &size,
bool
clearPixels)
64
{
65
const
int
pixelSize = 2 * 4;
66
67
m_d
->size =
size
;
68
m_d
->data.resize(
size
.width() *
size
.height() * pixelSize);
69
70
if
(
clearPixels
) {
71
m_d
->data.fill(0);
72
}
73
}
74
75
const
half *
KisGLImageF16::constData
()
const
76
{
77
Q_ASSERT(!
m_d
->data.isNull());
78
return
reinterpret_cast<
const
half*
>
(
m_d
->data.data());
79
}
80
81
half *
KisGLImageF16::data
()
82
{
83
m_d
->data.detach();
84
Q_ASSERT(!
m_d
->data.isNull());
85
86
return
reinterpret_cast<
half*
>
(
m_d
->data.data());
87
}
88
89
QSize
KisGLImageF16::size
()
const
90
{
91
return
m_d
->size;
92
}
93
94
int
KisGLImageF16::width
()
const
95
{
96
return
m_d
->size.width();
97
}
98
99
int
KisGLImageF16::height
()
const
100
{
101
return
m_d
->size.height();
102
}
103
104
bool
KisGLImageF16::isNull
()
const
105
{
106
return
m_d
->data.isNull();
107
}
operator==
bool operator==(const KisGLImageF16 &lhs, const KisGLImageF16 &rhs)
Definition
KisGLImageF16.cpp:47
KisGLImageF16.h
KisGLImageF16
Definition
KisGLImageF16.h:17
KisGLImageF16::~KisGLImageF16
~KisGLImageF16()
Definition
KisGLImageF16.cpp:52
KisGLImageF16::clearPixels
void clearPixels()
Definition
KisGLImageF16.cpp:56
KisGLImageF16::height
int height() const
Definition
KisGLImageF16.cpp:99
KisGLImageF16::resize
void resize(const QSize &size, bool clearPixels=false)
Definition
KisGLImageF16.cpp:63
KisGLImageF16::size
QSize size() const
Definition
KisGLImageF16.cpp:89
KisGLImageF16::data
half * data()
Definition
KisGLImageF16.cpp:81
KisGLImageF16::KisGLImageF16
KisGLImageF16()
Definition
KisGLImageF16.cpp:20
KisGLImageF16::isNull
bool isNull() const
Definition
KisGLImageF16.cpp:104
KisGLImageF16::m_d
QSharedDataPointer< Private > m_d
Definition
KisGLImageF16.h:43
KisGLImageF16::operator=
KisGLImageF16 & operator=(const KisGLImageF16 &rhs)
Definition
KisGLImageF16.cpp:41
KisGLImageF16::constData
const half * constData() const
Definition
KisGLImageF16.cpp:75
KisGLImageF16::width
int width() const
Definition
KisGLImageF16.cpp:94
Private
Definition
SvgTransformParser.cpp:20
KisGLImageF16::Private
Definition
KisGLImageF16.cpp:13
KisGLImageF16::Private::size
QSize size
Definition
KisGLImageF16.cpp:14
KisGLImageF16::Private::data
QByteArray data
Definition
KisGLImageF16.cpp:15
plugins
dockers
smallcolorselector
KisGLImageF16.cpp
Generated at
2025-11-04 02:30:02+01:00
from
Krita
branch
master
, commit
c9dde2e79561a8aea4a7e8d9ac99c98a7bac9e52