Krita Source Code Documentation
Loading...
Searching...
No Matches
KisRegion.h
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2020 Dmitry Kazakov <dimula73@gmail.com>
3
*
4
* SPDX-License-Identifier: GPL-2.0-or-later
5
*/
6
#ifndef KISREGION_H
7
#define KISREGION_H
8
9
#include "kritaglobal_export.h"
10
#include <QVector>
11
#include <QRect>
12
#include <boost/operators.hpp>
13
14
class
QRegion;
15
25
class
KRITAGLOBAL_EXPORT
KisRegion
:
26
public
boost::equality_comparable<KisRegion>,
27
public
boost::andable<KisRegion, QRect>
28
{
29
public
:
44
static
QVector<QRect>::iterator
mergeSparseRects(
QVector<QRect>::iterator
beginIt,
QVector<QRect>::iterator
endIt);
45
46
52
static
void
approximateOverlappingRects(
QVector<QRect>
&rects,
int
gridSize);
53
54
static
void
makeGridLikeRectsUnique(
QVector<QRect>
&rects);
55
56
public
:
57
KisRegion
() =
default
;
58
KisRegion
(
const
KisRegion
&rhs) =
default
;
59
KisRegion
(
const
QRect &
rect
);
60
KisRegion
(std::initializer_list<QRect> rects);
61
66
KisRegion
(
const
QVector<QRect>
&rects);
67
KisRegion
(
QVector<QRect>
&&rects);
68
69
KisRegion
& operator=(
const
KisRegion
&rhs);
70
friend
KRITAGLOBAL_EXPORT
bool
operator==
(
const
KisRegion
&lhs,
const
KisRegion
&rhs);
71
72
KisRegion
& operator&=(
const
QRect &
rect
);
73
74
QRect boundingRect()
const
;
75
QVector<QRect>
rects()
const
;
76
int
rectCount()
const
;
77
bool
isEmpty()
const
;
78
79
QRegion toQRegion()
const
;
80
81
void
translate(
int
dx,
int
dy);
82
KisRegion
translated(
int
x,
int
y)
const
;
83
84
static
KisRegion
fromQRegion(
const
QRegion ®ion);
85
91
static
KisRegion
fromOverlappingRects(
const
QVector<QRect>
&rects,
int
gridSize);
92
93
private
:
94
void
mergeAllRects();
95
96
private
:
97
QVector<QRect>
m_rects
;
98
};
99
100
KRITAGLOBAL_EXPORT
bool
operator==
(
const
KisRegion
&lhs,
const
KisRegion
&rhs);
101
102
103
#endif
// KISREGION_H
operator==
bool operator==(const KisRegion &lhs, const KisRegion &rhs)
Definition
KisRegion.cpp:398
operator==
KRITAGLOBAL_EXPORT bool operator==(const KisRegion &lhs, const KisRegion &rhs)
Definition
KisRegion.cpp:398
KisRegion
Definition
KisRegion.h:28
KisRegion::m_rects
QVector< QRect > m_rects
Definition
KisRegion.h:97
KisRegion::KisRegion
KisRegion()=default
KisRegion::KisRegion
KisRegion(const KisRegion &rhs)=default
QList
Definition
KisQStringListFwd.h:16
rect
Definition
xcftools.h:129
libs
global
KisRegion.h
Generated at
2025-11-04 02:30:02+01:00
from
Krita
branch
master
, commit
c9dde2e79561a8aea4a7e8d9ac99c98a7bac9e52