Krita Source Code Documentation
Loading...
Searching...
No Matches
KisOpenGLContextSwitchLockAdapter Class Reference

#include <KisOpenGLContextSwitchLock.h>

+ Inheritance diagram for KisOpenGLContextSwitchLockAdapter:

Public Member Functions

 KisOpenGLContextSwitchLockAdapter (QOpenGLWidget *targetWidget)
 
void lock ()
 
void unlock ()
 

Private Attributes

QOpenGLContext * m_oldContext {nullptr}
 
QSurface * m_oldSurface {nullptr}
 
QOpenGLWidget * m_targetWidget {nullptr}
 

Detailed Description

Definition at line 17 of file KisOpenGLContextSwitchLock.h.

Constructor & Destructor Documentation

◆ KisOpenGLContextSwitchLockAdapter()

KisOpenGLContextSwitchLockAdapter::KisOpenGLContextSwitchLockAdapter ( QOpenGLWidget * targetWidget)

Definition at line 34 of file KisOpenGLContextSwitchLock.cpp.

35 : m_targetWidget(targetWidget)
36{
37}

Member Function Documentation

◆ lock()

void KisOpenGLContextSwitchLockAdapter::lock ( )

Definition at line 39 of file KisOpenGLContextSwitchLock.cpp.

39 {
40 m_oldContext = QOpenGLContext::currentContext();
41 m_oldSurface = m_oldContext ? m_oldContext->surface() : nullptr;
42 m_targetWidget->makeCurrent();
43}

References m_oldContext, m_oldSurface, and m_targetWidget.

◆ unlock()

void KisOpenGLContextSwitchLockAdapter::unlock ( )

Definition at line 45 of file KisOpenGLContextSwitchLock.cpp.

45 {
46 if (m_oldContext) {
47 m_oldContext->makeCurrent(m_oldSurface);
48 } else {
49 m_targetWidget->doneCurrent();
50 }
51}

References m_oldContext, m_oldSurface, and m_targetWidget.

Member Data Documentation

◆ m_oldContext

QOpenGLContext* KisOpenGLContextSwitchLockAdapter::m_oldContext {nullptr}
private

Definition at line 27 of file KisOpenGLContextSwitchLock.h.

27{nullptr};

◆ m_oldSurface

QSurface* KisOpenGLContextSwitchLockAdapter::m_oldSurface {nullptr}
private

Definition at line 28 of file KisOpenGLContextSwitchLock.h.

28{nullptr};

◆ m_targetWidget

QOpenGLWidget* KisOpenGLContextSwitchLockAdapter::m_targetWidget {nullptr}
private

Definition at line 26 of file KisOpenGLContextSwitchLock.h.

26{nullptr};

The documentation for this class was generated from the following files: