MeVisLab Toolbox Reference
mlGLContext.h
Go to the documentation of this file.
1/*************************************************************************************
2**
3** Copyright 2007, MeVis Medical Solutions AG
4**
5** The user may use this file in accordance with the license agreement provided with
6** the Software or, alternatively, in accordance with the terms contained in a
7** written agreement between the user and MeVis Medical Solutions AG.
8**
9** For further information use the contact form at https://www.mevislab.de/contact
10**
11**************************************************************************************/
12
13#ifndef ML_GLCONTEXT_H
14#define ML_GLCONTEXT_H
15
17
18#include "mlOpenGLSystem.h"
19#include "mlOpenGL.h"
20
22
24
78
80
82#define CREATE_AND_ACTIVATE_GLCONTEXT \
83 ML_OPENGL_NAMESPACE::GLContextStack::createTemporaryContextAndActivate();
84
86#define DESTROY_GLCONTEXT_AND_ACTIVATE_PREVIOUS \
87 ML_OPENGL_NAMESPACE::GLContextStack::destroyTemporaryContextAndActivatePreviousContext();
88
89#endif // __mlGLContext_H
Stores the current GL context and re-activates it when the scope object is deleted.
Definition mlGLContext.h:46
Creates a temporary OpenGL context and destroys it when the object goes out of scope.
Definition mlGLContext.h:34
Manages a stack of GL contexts and their correct activation.
Definition mlGLContext.h:28
static void pushCurrentContext()
Pushes the current OpenGL context (detected via a platform-specific state) to the stack.
static void popCurrentContext()
Pops the previously pushed context and activates it.
static void createTemporaryContextAndActivate()
Pushes the current context and creates and activates a new temporary OpenGL context,...
static void destroyTemporaryContextAndActivatePreviousContext()
Destroys the temporary context created via createTemporaryContextAndActivate() and pops/activates the...
#define ML_OPENGL_END_NAMESPACE
Closes the namespace for all ML code after the usage of ML_UTILS_START_NAMESPACE.
#define ML_OPENGL_START_NAMESPACE
Macro to put all following code into the namespace ML_NAMESPACE to avoid collisions with symbols of o...
#define MLOPENGL_EXPORT
Target mlrange_cast(Source arg)
Generic version of checked ML casts.