glbinding
3.0.2.58901078581f
A C++ binding for the OpenGL API, generated using the gl.xml specification.
|
The Function represents an OpenGL API function with additional features, including: More...
#include <glbinding/include/glbinding/Function.h>
Public Types | |
using | Signature = ReturnType(WINAPI *)(Arguments...) |
The c pointer type for a function call. More... | |
using | BeforeCallback = typename CallbackType< void, Arguments... >::type |
The callback type for the before callback. More... | |
using | AfterCallback = typename CallbackType< ReturnType, Arguments... >::type |
The callback type for the after callback. More... | |
Public Member Functions | |
Function (const char *name) | |
Constructor. More... | |
ReturnType | operator() (Arguments &...arguments) const |
Executes a function call on the resolved function pointer and passes the arguments. More... | |
ReturnType | call (Arguments &...arguments) const |
Executes a function call on the resolved function pointer and passes the arguments. More... | |
ReturnType | directCall (Arguments...arguments) const |
Executes a function call on the resolved function pointer and passes the arguments. More... | |
void | setBeforeCallback (BeforeCallback callback) |
Register a callback that is triggered before a function call to the OpenGL driver. More... | |
void | clearBeforeCallback () |
Clears any previously registered before callback. More... | |
void | setAfterCallback (AfterCallback callback) |
Register a callback that is triggered after a function call to the OpenGL driver. More... | |
void | clearAfterCallback () |
Clears any previously registered after callback. More... | |
BeforeCallback | beforeCallback () const |
The accessor for the beforeCallback. More... | |
AfterCallback | afterCallback () const |
The accessor for the afterCallback. More... | |
virtual bool | hasState () const override |
Checks for existance of the current configured state. More... | |
virtual bool | hasState (int pos) const override |
Checks for existance of a state. More... | |
virtual AbstractState & | state () const override |
Get current state. More... | |
virtual AbstractState & | state (int pos) const override |
Get state. More... | |
virtual void | resizeStates (int count) override |
Public Member Functions inherited from glbinding::AbstractFunction | |
AbstractFunction (const char *name) | |
Constructor. More... | |
virtual | ~AbstractFunction () |
Destructor to guarantee correct memory deallocation of subclasses. More... | |
const char * | name () const |
Get function name. More... | |
void | resolveAddress () |
Lookup the function pointer and stores it in the current state. More... | |
bool | isResolved () const |
Check for a valid function pointer in the current state. More... | |
ProcAddress | address () const |
Get function pointer. More... | |
CallbackMask | callbackMask () const |
Get callback mask. More... | |
void | setCallbackMask (CallbackMask mask) |
Reconfigures the callback mask for the current state. More... | |
void | addCallbackMask (CallbackMask mask) |
Reconfigures the callback mask for the current state in means of a bit-wise 'or' operation with the current callback mask. More... | |
void | removeCallbackMask (CallbackMask mask) |
Reconfigures the callback mask for the current state in means of a bit-wise 'clear' operation of the current callback mask. More... | |
bool | isEnabled (CallbackMask mask) const |
Check if all bits of the parameter are set in the currently configured callback mask of the current state. More... | |
bool | isAnyEnabled (CallbackMask mask) const |
Check if any bit of the parameter is set in the currently configured callback mask of the current state. More... | |
Protected Attributes | |
std::vector< State > | m_states |
BeforeCallback | m_beforeCallback |
The currently registered before callback. More... | |
AfterCallback | m_afterCallback |
The currently registered after callback. More... | |
Protected Attributes inherited from glbinding::AbstractFunction | |
const char * | m_name |
The OpenGL API function name, including the 'gl' prefix. More... | |
Friends | |
struct | FunctionHelper< ReturnType, Arguments... > |
Additional Inherited Members | |
Static Public Member Functions inherited from glbinding::AbstractFunction | |
static void | unresolved (const AbstractFunction *function) |
static void | before (const FunctionCall &call) |
static void | after (const FunctionCall &call) |
static void | log (FunctionCall &&call) |
static int | currentPos () |
static int | maxPos () |
The Function represents an OpenGL API function with additional features, including:
ReturnType | The return type of the function |
Arguments | The types of the arguments |
using glbinding::Function< ReturnType, Arguments >::Signature = ReturnType(WINAPI *) (Arguments...) |
The c pointer type for a function call.
using glbinding::Function< ReturnType, Arguments >::BeforeCallback = typename CallbackType<void, Arguments...>::type |
The callback type for the before callback.
using glbinding::Function< ReturnType, Arguments >::AfterCallback = typename CallbackType<ReturnType, Arguments...>::type |
The callback type for the after callback.
glbinding::Function< ReturnType, Arguments >::Function | ( | const char * | name | ) |
Constructor.
[in] | name | The actual exported OpenGL API function name, including the 'gl' prefix |
References glbinding::Function< ReturnType, Arguments >::m_afterCallback, and glbinding::Function< ReturnType, Arguments >::m_beforeCallback.
|
inline |
Executes a function call on the resolved function pointer and passes the arguments.
[in] | arguments | The arguments for the function call |
References glbinding::Function< ReturnType, Arguments >::call().
|
inline |
Executes a function call on the resolved function pointer and passes the arguments.
[in] | arguments | The arguments for the function call |
References glbinding::AbstractFunction::address(), glbinding::After, glbinding::Before, glbinding::FunctionHelper< ReturnType, Arguments >::call(), glbinding::AbstractFunction::isAnyEnabled(), glbinding::AbstractFunction::isEnabled(), glbinding::Logging, glbinding::Unresolved, and glbinding::AbstractFunction::unresolved().
Referenced by glbinding::Function< ReturnType, Arguments >::operator()().
|
inline |
Executes a function call on the resolved function pointer and passes the arguments.
[in] | arguments | The arguments for the function call |
References glbinding::AbstractFunction::address().
|
inline |
Register a callback that is triggered before a function call to the OpenGL driver.
[in] | callback | The callback to register |
References glbinding::Function< ReturnType, Arguments >::m_beforeCallback.
|
inline |
Clears any previously registered before callback.
References glbinding::Function< ReturnType, Arguments >::m_beforeCallback.
|
inline |
Register a callback that is triggered after a function call to the OpenGL driver.
[in] | callback | The callback to register |
References glbinding::Function< ReturnType, Arguments >::m_afterCallback.
|
inline |
Clears any previously registered after callback.
References glbinding::Function< ReturnType, Arguments >::m_afterCallback.
|
inline |
The accessor for the beforeCallback.
References glbinding::Function< ReturnType, Arguments >::m_beforeCallback.
|
inline |
The accessor for the afterCallback.
References glbinding::Function< ReturnType, Arguments >::m_afterCallback.
|
overridevirtual |
Checks for existance of the current configured state.
Implements glbinding::AbstractFunction.
References glbinding::AbstractFunction::currentPos().
|
overridevirtual |
Checks for existance of a state.
[in] | pos | The index of the state to check |
Implements glbinding::AbstractFunction.
References glbinding::AbstractFunction::maxPos().
|
overridevirtual |
Get current state.
Implements glbinding::AbstractFunction.
References glbinding::AbstractFunction::currentPos().
|
overridevirtual |
Get state.
[in] | pos | The index of the state |
Implements glbinding::AbstractFunction.
References glbinding::Function< ReturnType, Arguments >::m_states, and glbinding::AbstractFunction::maxPos().
|
overridevirtual |
Implements glbinding::AbstractFunction.
References glbinding::Function< ReturnType, Arguments >::m_states.
|
friend |
|
mutableprotected |
|
protected |
The currently registered before callback.
Referenced by glbinding::Function< ReturnType, Arguments >::beforeCallback(), glbinding::Function< ReturnType, Arguments >::clearBeforeCallback(), glbinding::Function< ReturnType, Arguments >::Function(), and glbinding::Function< ReturnType, Arguments >::setBeforeCallback().
|
protected |
The currently registered after callback.
Referenced by glbinding::Function< ReturnType, Arguments >::afterCallback(), glbinding::Function< ReturnType, Arguments >::clearAfterCallback(), glbinding::Function< ReturnType, Arguments >::Function(), and glbinding::Function< ReturnType, Arguments >::setAfterCallback().