OpenGL.contextdata
Storage of per-context values of various types
Because OpenGL needs persistent references to the
objects we're constructing to shadow Python objects,
we have to store references to the objects somewhere
For any given Python GUI library, we can use a weakref
to the library's representation of the GL context to
call the cleanup function. That means some per-GUI
library code in OpenGL (or the library), but it gives
us very natural operations within OpenGL.
Note: you can entirely disable use of this module by
setting:
OpenGL.ERROR_ON_COPY = True
OpenGL.STORE_POINTERS = False
before importing OpenGL functionality.
Functions
delValue(
constant
,
context
= None
)
Delete the specified value for the given context
- constant
- Normally a GL constant value, but can be any hashable value
- context
- the context identifier for which we're storing the value
getContext(
context
= None
)
Get the context (if passed, just return)
- context
- the context ID, if None, the current context
getValue(
constant
,
context
= None
)
Get a stored value for the given constant
- constant
- unique ID for the type of data being retrieved
- context
- the context ID, if None, the current context
setValue(
constant
,
value
,
context
= None
,
weak
= False
)
Set a stored value for the given context
- constant
- Normally a GL constant value, but can be any hashable value
- value
- the value to be stored. If weak is true must be weak-reference-able. If None, then the value will be deleted from the storage
- context
- the context identifier for which we're storing the value
- weak
- if true, value will be stored with a weakref Note: you should always pass the same value for "weak" for a given constant, otherwise you will create two storages for the constant.