glbinding
2.1.1.96dbfd46d679
A C++ binding for the OpenGL API, generated using the gl.xml specification.
|
Contains all the classes of glbinding. More...
Namespaces | |
logging | |
Classes | |
class | AbstractFunction |
The AbstractFunction represents an OpenGL API function. More... | |
class | AbstractValue |
The AbstractValue class represents the superclass of a printable wrapper around an OpenGL data type. More... | |
class | Binding |
The main interface to handle additional features to OpenGL functions besides regular function calls. More... | |
struct | CallbackType |
A callback signature with return type and multiple arguments. More... | |
struct | CallbackType< void, Arguments... > |
A callback signature with multiple arguments but no return type. More... | |
class | ContextInfo |
The ContextInfo class allows for access to metainformation about a context. The information is only valid for the currently active context. More... | |
class | Function |
The Function represents an OpenGL API function with additional features, including: More... | |
struct | FunctionCall |
A FunctionCall represents a function call of an OpenGL API function, including the parameter and return values. More... | |
struct | intersect_SharedBitfield |
Break condition for the SharedBitfield intersection. More... | |
struct | intersect_SharedBitfield< SharedBitfield< T, Types... >, SharedBitfield< OtherTypes... > > |
The SharedBitfield type list intersection. More... | |
struct | is_member_of_SharedBitfield |
Break condition for the is_member_of_SharedBitfield metaprogramming. More... | |
struct | is_member_of_SharedBitfield< T, U, Types... > |
Test condition and recursion for the is_member_of_SharedBitfield metaprogramming. More... | |
class | Meta |
Provisioning of meta information about OpenGL extensions, functions and conversion of strings and symbols of the OpenGL API. More... | |
struct | prepend_to_SharedBitfield |
Break condition for the SharedBitfield type concatenation. More... | |
struct | prepend_to_SharedBitfield< T, SharedBitfield< Types... > > |
The SharedBitfield type concatenation. More... | |
class | SharedBitfield |
A representation of a bitfield value that could be member of multiple bitfield types as allowed in OpenGL. More... | |
class | SharedBitfield< Type > |
A representation of a bitfield value that could be member of multiple bitfield types as allowed in OpenGL. This template is the break condition of a former SharedBitfield that got reduced to just one valid bitfield type through operations. More... | |
class | SharedBitfield< Type, Types... > |
A representation of a bitfield value that could be member of multiple bitfield types as allowed in OpenGL. More... | |
class | SharedBitfield<> |
Invalid SharedBitfield class as it contains no valid bitfield types. More... | |
class | SharedBitfieldBase |
The base class of a SharedBitfield, containing the actual (and convertible) bitfield value. More... | |
class | Value |
The Value class represents a printable wrapper around an OpenGL data type. More... | |
class | Version |
The Version class represents an OpenGL feature, consisting of majow version and minor version, excluding the profile information. More... | |
Typedefs | |
using | SimpleFunctionCallback = std::function< void(const AbstractFunction &)> |
The callback type of a simple function callback without parameters and return value. More... | |
using | FunctionCallback = std::function< void(const FunctionCall &)> |
The callback type of a function callback with parameters and return value. More... | |
using | ContextHandle = long long |
The data type of a context handle. More... | |
using | ProcAddress) = void(*)( |
The generic pointer to an OpenGL function. More... | |
Enumerations | |
enum | CallbackMask : unsigned char { CallbackMask::None = 0, CallbackMask::Unresolved = 1 << 0, CallbackMask::Before = 1 << 1, CallbackMask::After = 1 << 2, CallbackMask::Parameters = 1 << 3, CallbackMask::ReturnValue = 1 << 4, CallbackMask::Logging = 1 << 5, CallbackMask::ParametersAndReturnValue = Parameters | ReturnValue, CallbackMask::BeforeAndAfter = Before | After } |
The CallbackMask is a bitfield to encode the states of callbacks and logging for the OpenGL API function calls. More... | |
Functions | |
GLBINDING_API CallbackMask | operator~ (CallbackMask a) |
External operator for bit-wise CallbackMask inverting. More... | |
GLBINDING_API CallbackMask | operator| (CallbackMask a, CallbackMask b) |
External operator for bit-wise 'or' of CallbackMasks. More... | |
GLBINDING_API CallbackMask | operator& (CallbackMask a, CallbackMask b) |
External operator for bit-wise 'and' of CallbackMasks. More... | |
GLBINDING_API CallbackMask | operator^ (CallbackMask a, CallbackMask b) |
External operator for bit-wise 'xor' of CallbackMasks. More... | |
GLBINDING_API CallbackMask & | operator|= (CallbackMask &a, CallbackMask b) |
External operator for bit-wise 'or' assignment of CallbackMasks. More... | |
GLBINDING_API CallbackMask & | operator&= (CallbackMask &a, CallbackMask b) |
External operator for bit-wise 'and' assignment of CallbackMasks. More... | |
GLBINDING_API CallbackMask & | operator^= (CallbackMask &a, CallbackMask b) |
External operator for bit-wise 'xor' assignment of CallbackMasks. More... | |
GLBINDING_API void | setCallbackMask (CallbackMask mask) |
Updates the callback mask of all registered OpenGL functions in the current state. More... | |
GLBINDING_API void | setCallbackMaskExcept (CallbackMask mask, const std::set< std::string > &blackList) |
Updates the callback mask of all registered OpenGL functions in the current state, excluding the blacklisted functions. More... | |
GLBINDING_API void | addCallbackMask (CallbackMask mask) |
Updates the callback mask of all registered OpenGL functions in the current state to include the passed CallbackMask. More... | |
GLBINDING_API void | addCallbackMaskExcept (CallbackMask mask, const std::set< std::string > &blackList) |
Updates the callback mask of all registered OpenGL functions in the current state to include the passed CallbackMask, excluding the blacklisted functions. More... | |
GLBINDING_API void | removeCallbackMask (CallbackMask mask) |
Updates the callback mask of all registered OpenGL functions in the current state to exclude the passed CallbackMask. More... | |
GLBINDING_API void | removeCallbackMaskExcept (CallbackMask mask, const std::set< std::string > &blackList) |
Updates the callback mask of all registered OpenGL functions in the current state to exclude the passed CallbackMask, excluding the blacklisted functions. More... | |
GLBINDING_API SimpleFunctionCallback | unresolvedCallback () |
Unresolved callback accessor. More... | |
GLBINDING_API void | setUnresolvedCallback (SimpleFunctionCallback callback) |
Updates the unresolved callback that is called upon invocation of an OpenGL function which have no counterpart in the OpenGL driver. More... | |
GLBINDING_API FunctionCallback | beforeCallback () |
Before callback accessor. More... | |
GLBINDING_API void | setBeforeCallback (FunctionCallback callback) |
Updates the before callback that is called before the actual OpenGL function invocation. More... | |
GLBINDING_API FunctionCallback | afterCallback () |
After callback accessor. More... | |
GLBINDING_API void | setAfterCallback (FunctionCallback callback) |
GLBINDING_API ContextHandle | getCurrentContext () |
Queries the currently active context and returns a handle to it. More... | |
GLBINDING_API ProcAddress | getProcAddress (const char *name) |
Loads the function pointer of an OpenGL function and returns it. More... | |
template<typename Enum , typename ConvertibleEnum > | |
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type | operator| (Enum a, ConvertibleEnum b) |
External bit-wise 'or' operator for bitfield types on the left hand side. More... | |
template<typename ConvertibleEnum , typename Enum > | |
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type | operator| (ConvertibleEnum a, Enum b) |
External bit-wise 'or' operator for bitfield types on the right hand side. More... | |
template<typename Enum , typename ConvertibleEnum > | |
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type | operator|= (Enum &a, ConvertibleEnum b) |
External bit-wise 'or' assignment operator for bitfield types on the left hand side. More... | |
template<typename Enum , typename ConvertibleEnum > | |
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type | operator& (Enum a, ConvertibleEnum b) |
External bit-wise 'and' operator for bitfield types on the left hand side. More... | |
template<typename ConvertibleEnum , typename Enum > | |
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type | operator& (ConvertibleEnum a, Enum b) |
External bit-wise 'and' operator for bitfield types on the right hand side. More... | |
template<typename Enum , typename ConvertibleEnum > | |
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type | operator&= (Enum &a, ConvertibleEnum b) |
External bit-wise 'and' assignment operator for bitfield types on the left hand side. More... | |
template<typename Enum , typename ConvertibleEnum > | |
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type | operator^ (Enum a, ConvertibleEnum b) |
External bit-wise 'xor' operator for bitfield types on the left hand side. More... | |
template<typename ConvertibleEnum , typename Enum > | |
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type | operator^ (ConvertibleEnum a, Enum b) |
External bit-wise 'xor' operator for bitfield types on the right hand side. More... | |
template<typename Enum , typename ConvertibleEnum > | |
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type | operator^= (Enum &a, ConvertibleEnum b) |
External bit-wise 'xpyor' assignment operator for bitfield types on the left hand side. More... | |
template<typename Argument > | |
AbstractValue * | createValue (const Argument &argument) |
A wrapper around the type deduction and memory allocation of a specific argument. More... | |
template<typename... Arguments> | |
std::vector< AbstractValue * > | createValues (Arguments &&...arguments) |
A wrapper around the creation of a vector of arguments. More... | |
Contains all the classes of glbinding.
TODO: Detailed documentation for glbinding here.
using glbinding::SimpleFunctionCallback = typedef std::function<void(const AbstractFunction &)> |
The callback type of a simple function callback without parameters and return value.
using glbinding::FunctionCallback = typedef std::function<void(const FunctionCall &)> |
The callback type of a function callback with parameters and return value.
using glbinding::ContextHandle = typedef long long |
The data type of a context handle.
using glbinding::ProcAddress = typedef void(*)( |
The generic pointer to an OpenGL function.
|
strong |
The CallbackMask is a bitfield to encode the states of callbacks and logging for the OpenGL API function calls.
GLBINDING_API CallbackMask glbinding::operator~ | ( | CallbackMask | a | ) |
External operator for bit-wise CallbackMask inverting.
[in] | a | The CallbackMask to invert. |
GLBINDING_API CallbackMask glbinding::operator| | ( | CallbackMask | a, |
CallbackMask | b | ||
) |
External operator for bit-wise 'or' of CallbackMasks.
[in] | a | The first CallbackMask. |
[in] | b | The second CallbackMask. |
GLBINDING_API CallbackMask glbinding::operator& | ( | CallbackMask | a, |
CallbackMask | b | ||
) |
External operator for bit-wise 'and' of CallbackMasks.
[in] | a | The first CallbackMask. |
[in] | b | The second CallbackMask. |
GLBINDING_API CallbackMask glbinding::operator^ | ( | CallbackMask | a, |
CallbackMask | b | ||
) |
External operator for bit-wise 'xor' of CallbackMasks.
[in] | a | The first CallbackMask. |
[in] | b | The second CallbackMask. |
GLBINDING_API CallbackMask& glbinding::operator|= | ( | CallbackMask & | a, |
CallbackMask | b | ||
) |
External operator for bit-wise 'or' assignment of CallbackMasks.
[in] | a | The first CallbackMask. |
[in] | b | The second CallbackMask. |
GLBINDING_API CallbackMask& glbinding::operator&= | ( | CallbackMask & | a, |
CallbackMask | b | ||
) |
External operator for bit-wise 'and' assignment of CallbackMasks.
[in] | a | The first CallbackMask. |
[in] | b | The second CallbackMask. |
GLBINDING_API CallbackMask& glbinding::operator^= | ( | CallbackMask & | a, |
CallbackMask | b | ||
) |
External operator for bit-wise 'xor' assignment of CallbackMasks.
[in] | a | The first CallbackMask. |
[in] | b | The second CallbackMask. |
GLBINDING_API void glbinding::setCallbackMask | ( | CallbackMask | mask | ) |
Updates the callback mask of all registered OpenGL functions in the current state.
[in] | mask | The new CallbackMask. |
GLBINDING_API void glbinding::setCallbackMaskExcept | ( | CallbackMask | mask, |
const std::set< std::string > & | blackList | ||
) |
Updates the callback mask of all registered OpenGL functions in the current state, excluding the blacklisted functions.
[in] | mask | The new CallbackMask. |
[in] | blackList | The blacklist of functions to exclude in this update. |
GLBINDING_API void glbinding::addCallbackMask | ( | CallbackMask | mask | ) |
Updates the callback mask of all registered OpenGL functions in the current state to include the passed CallbackMask.
[in] | mask | The CallbackMask to include. |
GLBINDING_API void glbinding::addCallbackMaskExcept | ( | CallbackMask | mask, |
const std::set< std::string > & | blackList | ||
) |
Updates the callback mask of all registered OpenGL functions in the current state to include the passed CallbackMask, excluding the blacklisted functions.
[in] | mask | The CallbackMask to include. |
[in] | blackList | The blacklist of functions to exclude in this update. |
GLBINDING_API void glbinding::removeCallbackMask | ( | CallbackMask | mask | ) |
Updates the callback mask of all registered OpenGL functions in the current state to exclude the passed CallbackMask.
[in] | mask | The CallbackMask to exclude. |
GLBINDING_API void glbinding::removeCallbackMaskExcept | ( | CallbackMask | mask, |
const std::set< std::string > & | blackList | ||
) |
Updates the callback mask of all registered OpenGL functions in the current state to exclude the passed CallbackMask, excluding the blacklisted functions.
[in] | mask | The CallbackMask to exclude. |
[in] | blackList | The blacklist of functions to exclude in this update. |
GLBINDING_API SimpleFunctionCallback glbinding::unresolvedCallback | ( | ) |
Unresolved callback accessor.
Keep in mind that in addition to a registered callback, the callback mask of the current Function has to include the After flag to enable the callback.
GLBINDING_API void glbinding::setUnresolvedCallback | ( | SimpleFunctionCallback | callback | ) |
Updates the unresolved callback that is called upon invocation of an OpenGL function which have no counterpart in the OpenGL driver.
[in] | callback | The callback to use instead of unresolved function calls. |
This callback is registered globally across all states. Keep in mind that in addition to a registered callback, the callback mask of the current Function has to include the Unresolved flag to enable the callback.
GLBINDING_API FunctionCallback glbinding::beforeCallback | ( | ) |
Before callback accessor.
Keep in mind that in addition to a registered callback, the callback mask of the current Function has to include the After flag to enable the callback.
GLBINDING_API void glbinding::setBeforeCallback | ( | FunctionCallback | callback | ) |
Updates the before callback that is called before the actual OpenGL function invocation.
[in] | callback | The callback to use before an OpenGL function call. |
This callback is registered globally across all states. Keep in mind that in addition to a registered callback, the callback mask of the current Function has to include the Before flag to enable the callback.
GLBINDING_API FunctionCallback glbinding::afterCallback | ( | ) |
After callback accessor.
Keep in mind that in addition to a registered callback, the callback mask of the current Function has to include the After flag to enable the callback.
GLBINDING_API void glbinding::setAfterCallback | ( | FunctionCallback | callback | ) |
[in] | callback | The callback to use after an OpenGL function call. |
This callback is registered globally across all states. Keep in mind that in addition to a registered callback, the callback mask of the current Function has to include the After flag to enable the callback.
GLBINDING_API ContextHandle glbinding::getCurrentContext | ( | ) |
Queries the currently active context and returns a handle to it.
GLBINDING_API ProcAddress glbinding::getProcAddress | ( | const char * | name | ) |
Loads the function pointer of an OpenGL function and returns it.
[in] | name | The name of the OpenGL function, including the 'gl' prefix. |
This function doesn't cache previously loaded function pointers.
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type glbinding::operator| | ( | Enum | a, |
ConvertibleEnum | b | ||
) |
External bit-wise 'or' operator for bitfield types on the left hand side.
Enum | The type of the bitfield |
ConvertibleEnum | The SharedBitfield instance |
[in] | a | The value of the bitfield |
[in] | b | The value of the SharedBitfield |
This method is not visible to the compiler if the bitfield type is not in the list of types of the SharedBitfield and thus results in a compiler error.
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type glbinding::operator| | ( | ConvertibleEnum | a, |
Enum | b | ||
) |
External bit-wise 'or' operator for bitfield types on the right hand side.
ConvertibleEnum | The SharedBitfield instance |
Enum | The type of the bitfield |
[in] | a | The value of the SharedBitfield |
[in] | b | The value of the bitfield |
This method is not visible to the compiler if the bitfield type is not in the list of types of the SharedBitfield and thus results in a compiler error.
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type glbinding::operator|= | ( | Enum & | a, |
ConvertibleEnum | b | ||
) |
External bit-wise 'or' assignment operator for bitfield types on the left hand side.
Enum | The type of the bitfield |
ConvertibleEnum | The SharedBitfield instance |
[in] | a | The value of the bitfield |
[in] | b | The value of the SharedBitfield |
This method is not visible to the compiler if the bitfield type is not in the list of types of the SharedBitfield and thus results in a compiler error.
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type glbinding::operator& | ( | Enum | a, |
ConvertibleEnum | b | ||
) |
External bit-wise 'and' operator for bitfield types on the left hand side.
Enum | The type of the bitfield |
ConvertibleEnum | The SharedBitfield instance |
[in] | a | The value of the bitfield |
[in] | b | The value of the SharedBitfield |
This method is not visible to the compiler if the bitfield type is not in the list of types of the SharedBitfield and thus results in a compiler error.
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type glbinding::operator& | ( | ConvertibleEnum | a, |
Enum | b | ||
) |
External bit-wise 'and' operator for bitfield types on the right hand side.
ConvertibleEnum | The SharedBitfield instance |
Enum | The type of the bitfield |
[in] | a | The value of the SharedBitfield |
[in] | b | The value of the bitfield |
This method is not visible to the compiler if the bitfield type is not in the list of types of the SharedBitfield and thus results in a compiler error.
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type glbinding::operator&= | ( | Enum & | a, |
ConvertibleEnum | b | ||
) |
External bit-wise 'and' assignment operator for bitfield types on the left hand side.
Enum | The type of the bitfield |
ConvertibleEnum | The SharedBitfield instance |
[in] | a | The value of the bitfield |
[in] | b | The value of the SharedBitfield |
This method is not visible to the compiler if the bitfield type is not in the list of types of the SharedBitfield and thus results in a compiler error.
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type glbinding::operator^ | ( | Enum | a, |
ConvertibleEnum | b | ||
) |
External bit-wise 'xor' operator for bitfield types on the left hand side.
Enum | The type of the bitfield |
ConvertibleEnum | The SharedBitfield instance |
[in] | a | The value of the bitfield |
[in] | b | The value of the SharedBitfield |
This method is not visible to the compiler if the bitfield type is not in the list of types of the SharedBitfield and thus results in a compiler error.
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type glbinding::operator^ | ( | ConvertibleEnum | a, |
Enum | b | ||
) |
External bit-wise 'xor' operator for bitfield types on the right hand side.
ConvertibleEnum | The SharedBitfield instance |
Enum | The type of the bitfield |
[in] | a | The value of the SharedBitfield |
[in] | b | The value of the bitfield |
This method is not visible to the compiler if the bitfield type is not in the list of types of the SharedBitfield and thus results in a compiler error.
std::enable_if< std::is_base_of< SharedBitfieldBase< typename std::underlying_type< typename std::enable_if< std::is_enum< Enum >::value, Enum >::type >::type >, ConvertibleEnum >::value, Enum >::type glbinding::operator^= | ( | Enum & | a, |
ConvertibleEnum | b | ||
) |
External bit-wise 'xpyor' assignment operator for bitfield types on the left hand side.
Enum | The type of the bitfield |
ConvertibleEnum | The SharedBitfield instance |
[in] | a | The value of the bitfield |
[in] | b | The value of the SharedBitfield |
This method is not visible to the compiler if the bitfield type is not in the list of types of the SharedBitfield and thus results in a compiler error.
AbstractValue * glbinding::createValue | ( | const Argument & | argument | ) |
A wrapper around the type deduction and memory allocation of a specific argument.
Argument | The type of the argument, usually an OpenGL data type. |
[in] | argument | The argument to wrap into a Value of type Argument. |
std::vector< AbstractValue * > glbinding::createValues | ( | Arguments &&... | arguments | ) |
A wrapper around the creation of a vector of arguments.
Arguments | The types of the arguments, usually OpenGL data types. |
[in] | arguments | The variadic parameter list of all arguments to convert. |
Internally uses the createValue function.