Rendering Callbacks.
This class is used to register callbacks to gain access to Maya's Hardware Rendering device status. You can be notified of device creation, lost reset and deletion.
To register callbacks, inherit from this class and override deviceNew, deviceLost, deviceReset, deviceDeleted. Any number of these methods can be overridden by the callback. Then register the callbacks by calling the addCallback() method.
If multiple callbacks need to be registered, the order of invocation can be set by adding each callback with a priority number, 0 being the highest priority.
hlslShader.cpp, and hlslShader.h.
#include <MHwrCallback.h>
Public Member Functions |
|
MHwrCallback () | |
Default Constructor. |
|
virtual | ~MHwrCallback () |
Default Destructor. |
|
virtual void | deviceNew () |
Method to override for being notified of new
device creation. |
|
virtual void | deviceLost () |
Method to override for being notified of
device Lost. |
|
virtual void | deviceReset () |
Method to override for being notified of
device Reset. |
|
virtual void | deviceDeleted () |
Method to override for being notified of
device Deletion. |
|
Static Public Member Functions |
|
static void | addCallback (MHwrCallback *, int priority=0) |
Static procedure to add a rendering
callback. |
|
static void | removeCallback (MHwrCallback *) |
Static procedure to remove a rendering
callback. |
void addCallback | ( | MHwrCallback * | callback, |
int | priority = 0 |
||
) | [static] |
Static procedure to add a rendering callback.
The callbacks are stored internally in a sorted list and are invoked following the appropriate device state change depending on which methods are overridden. Adding the same callback more than once will have no effect.
[in] | callback | object to add to the list of callbacks to invoke |
[in] | priority | priority for this callback, lower priorities are invoked first |
void removeCallback | ( | MHwrCallback * | callback | ) | [static] |
Static procedure to remove a rendering callback.
The callback will be removed from the list of callbacks, but its up to the client to actually delete the object. Unstability may result if a callback is deleted and not removed from the callback list.Removing an un-installed callback will have no effect.
[in] | callback | object to remove from the list of callbacks |