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
13template <typename ImagePointer, bool readOnly>
15public:
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
33private:
34 ImagePointer m_image;
35};
36
37
40
43
46
49
50#endif /* __KIS_IMAGE_BARRIER_LOCK_H */
#define KIS_DECLARE_ADAPTED_LOCK(Name, Adapter)
KisImageBarrierLockAdapterImpl(ImagePointer image)