Krita Source Code Documentation
Loading...
Searching...
No Matches
KisImageBarrierLock.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_IMAGE_BARRIER_LOCK_H
8
#define __KIS_IMAGE_BARRIER_LOCK_H
9
10
#include <
kis_types.h
>
11
#include <
KisAdaptedLock.h
>
12
13
template
<
typename
ImagePo
int
er,
bool
readOnly>
14
class
KisImageBarrierLockAdapterImpl
{
15
public
:
16
inline
KisImageBarrierLockAdapterImpl
(ImagePointer image)
17
:
m_image
(image)
18
{
19
}
20
21
inline
void
lock
() {
22
m_image
->barrierLock(readOnly);
23
}
24
25
inline
bool
try_lock
() {
26
return
m_image
->tryBarrierLock(readOnly);
27
}
28
29
inline
void
unlock
() {
30
m_image
->unlock();
31
}
32
33
private
:
34
ImagePointer
m_image
;
35
};
36
37
38
using
KisImageBarrierLockAdapter
=
KisImageBarrierLockAdapterImpl<KisImageSP, false>
;
39
using
KisImageReadOnlyBarrierLockAdapter
=
KisImageBarrierLockAdapterImpl<KisImageSP, true>
;
40
41
using
KisImageBarrierLockAdapterRaw
=
KisImageBarrierLockAdapterImpl<KisImage*, false>
;
42
using
KisImageReadOnlyBarrierLockAdapterRaw
=
KisImageBarrierLockAdapterImpl<KisImage*, true>
;
43
44
KIS_DECLARE_ADAPTED_LOCK
(KisImageBarrierLock,
KisImageBarrierLockAdapter
)
45
KIS_DECLARE_ADAPTED_LOCK
(KisImageReadOnlyBarrierLock,
KisImageReadOnlyBarrierLockAdapter
)
46
47
KIS_DECLARE_ADAPTED_LOCK
(KisImageBarrierLockRaw,
KisImageBarrierLockAdapterRaw
)
48
KIS_DECLARE_ADAPTED_LOCK
(KisImageReadOnlyBarrierLockRaw,
KisImageReadOnlyBarrierLockAdapterRaw
)
49
50
#endif
/* __KIS_IMAGE_BARRIER_LOCK_H */
KisAdaptedLock.h
KIS_DECLARE_ADAPTED_LOCK
#define KIS_DECLARE_ADAPTED_LOCK(Name, Adapter)
Definition
KisAdaptedLock.h:85
KisImageBarrierLockAdapterImpl
Definition
KisImageBarrierLock.h:14
KisImageBarrierLockAdapterImpl::m_image
ImagePointer m_image
Definition
KisImageBarrierLock.h:34
KisImageBarrierLockAdapterImpl::try_lock
bool try_lock()
Definition
KisImageBarrierLock.h:25
KisImageBarrierLockAdapterImpl::unlock
void unlock()
Definition
KisImageBarrierLock.h:29
KisImageBarrierLockAdapterImpl::lock
void lock()
Definition
KisImageBarrierLock.h:21
KisImageBarrierLockAdapterImpl::KisImageBarrierLockAdapterImpl
KisImageBarrierLockAdapterImpl(ImagePointer image)
Definition
KisImageBarrierLock.h:16
kis_types.h
libs
image
KisImageBarrierLock.h
Generated at
2025-11-04 02:30:02+01:00
from
Krita
branch
master
, commit
c9dde2e79561a8aea4a7e8d9ac99c98a7bac9e52