Krita Source Code Documentation
Loading...
Searching...
No Matches
KisOpenGLContextSwitchLock.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2025 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef KISOPENGLCONTEXTSWITCHLOCK_H
8#define KISOPENGLCONTEXTSWITCHLOCK_H
9
10#include <kritaui_export.h>
11#include <KisAdaptedLock.h>
12
13class QOpenGLWidget;
14class QOpenGLContext;
15class QSurface;
16
18{
19public:
20 KisOpenGLContextSwitchLockAdapter(QOpenGLWidget *targetWidget);
21
22 void lock();
23 void unlock();
24
25private:
26 QOpenGLWidget *m_targetWidget {nullptr};
27 QOpenGLContext *m_oldContext {nullptr};
28 QSurface *m_oldSurface {nullptr};
29};
30
32{
33public:
35
36 void lock();
37 void unlock();
38};
39
42
43#endif // KISOPENGLCONTEXTSWITCHLOCK_H
#define KIS_DECLARE_ADAPTED_LOCK(Name, Adapter)
KisOpenGLContextSwitchLockAdapter(QOpenGLWidget *targetWidget)