Coin: SoContextHandler Class Reference

| Coin3D is Free Software, published under the BSD 3-clause license. | https://coin3d.github.io https://www.kongsberg.com/en/kogt/

SoContextHandler Class Reference
Miscellaneous Classes

The SoContextHandler class is for now to be treated as an internal class. More...

`#include <Inventor/misc/SoContextHandler.h>`

## Public Types
typedef void | ContextDestructionCB(uint32_t contextid, void *userdata)

## Static Public Member Functions
static void | destructingContext (uint32_t contextid)
static void | addContextDestructionCallback (ContextDestructionCB *func, void *closure)
static void | removeContextDestructionCallback (ContextDestructionCB *func, void *closure)

## Detailed Description

The SoContextHandler class is for now to be treated as an internal class.

Since
  Coin 2.0

## Member Function Documentation

## ◆ destructingContext()

void SoContextHandler::destructingContext | ( | uint32_t | contextid | ) |
| static

This method must be called by client code which destructs a context, to guarantee that there are no memory leaks upon context destruction.

This will take care of correctly freeing context-bound resources, like OpenGL texture objects and display lists.

Before calling this function, the context must be made current.

Note that if you are using one of the standard GUI-binding libraries from Kongsberg Oil & Gas Technologies, this is taken care of automatically for contexts for canvases set up by SoQt, SoWin, etc.

## ◆ addContextDestructionCallback()

void SoContextHandler::addContextDestructionCallback | ( | ContextDestructionCB * | func,
|  | void * | closure )
| static

Add a callback which will be called every time a GL context is destructed. The callback should delete all GL resources tied to that context.

All nodes/classes that allocate GL resources should set up a callback like this. Add the callback in the constructor of the node/class, and remove it in the destructor.

See also
  removeContextDestructionCallback()

## ◆ removeContextDestructionCallback()

void SoContextHandler::removeContextDestructionCallback | ( | ContextDestructionCB * | func,
|  | void * | closure )
| static

Remove a context destruction callback.

See also
  addContextDestructionCallback()

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

- SoContextHandler.h
- SoContextHandler.cpp