| 
| 
  | VertexBuffer (Context *context, bool forceHeadless=false) | 
|   | Construct. Optionally force headless (no GPU-side buffer) operation. 
  | 
|   | 
| 
  | ~VertexBuffer () override | 
|   | Destruct. 
  | 
|   | 
| void  | OnDeviceLost () override | 
|   | Mark the buffer destroyed on graphics context destruction. May be a no-op depending on the API.  More...
  | 
|   | 
| void  | OnDeviceReset () override | 
|   | Recreate the buffer and restore data if applicable. May be a no-op depending on the API.  More...
  | 
|   | 
| void  | Release () override | 
|   | Release buffer.  More...
  | 
|   | 
| void  | SetShadowed (bool enable) | 
|   | 
| 
bool  | SetSize (unsigned vertexCount, const PODVector< VertexElement > &elements, bool dynamic=false) | 
|   | Set size, vertex elements and dynamic mode. Previous data will be lost. 
  | 
|   | 
| 
bool  | SetSize (unsigned vertexCount, unsigned elementMask, bool dynamic=false) | 
|   | Set size and vertex elements and dynamic mode using legacy element bitmask. Previous data will be lost. 
  | 
|   | 
| 
bool  | SetData (const void *data) | 
|   | Set all data in the buffer. 
  | 
|   | 
| 
bool  | SetDataRange (const void *data, unsigned start, unsigned count, bool discard=false) | 
|   | Set a data range in the buffer. Optionally discard data outside the range. 
  | 
|   | 
| 
void *  | Lock (unsigned start, unsigned count, bool discard=false) | 
|   | Lock the buffer for write-only editing. Return data pointer if successful. Optionally discard data outside the range. 
  | 
|   | 
| 
void  | Unlock () | 
|   | Unlock the buffer and apply changes to the GPU buffer. 
  | 
|   | 
| bool  | IsShadowed () const | 
|   | 
| bool  | IsDynamic () const | 
|   | 
| 
bool  | IsLocked () const | 
|   | Return whether is currently locked. 
  | 
|   | 
| unsigned  | GetVertexCount () const | 
|   | 
| unsigned  | GetVertexSize () const | 
|   | 
| const PODVector< VertexElement > &  | GetElements () const | 
|   | 
| 
const VertexElement *  | GetElement (VertexElementSemantic semantic, unsigned char index=0) const | 
|   | Return vertex element, or null if does not exist. 
  | 
|   | 
| 
const VertexElement *  | GetElement (VertexElementType type, VertexElementSemantic semantic, unsigned char index=0) const | 
|   | Return vertex element with specific type, or null if does not exist. 
  | 
|   | 
| 
bool  | HasElement (VertexElementSemantic semantic, unsigned char index=0) const | 
|   | Return whether has a specified element semantic. 
  | 
|   | 
| 
bool  | HasElement (VertexElementType type, VertexElementSemantic semantic, unsigned char index=0) const | 
|   | Return whether has an element semantic with specific type. 
  | 
|   | 
| 
unsigned  | GetElementOffset (VertexElementSemantic semantic, unsigned char index=0) const | 
|   | Return offset of a element within vertex, or M_MAX_UNSIGNED if does not exist. 
  | 
|   | 
| 
unsigned  | GetElementOffset (VertexElementType type, VertexElementSemantic semantic, unsigned char index=0) const | 
|   | Return offset of a element with specific type within vertex, or M_MAX_UNSIGNED if element does not exist. 
  | 
|   | 
| VertexMaskFlags  | GetElementMask () const | 
|   | 
| 
unsigned char *  | GetShadowData () const | 
|   | Return CPU memory shadow data. 
  | 
|   | 
| 
SharedArrayPtr< unsigned char >  | GetShadowDataShared () const | 
|   | Return shared array pointer to the CPU memory shadow data. 
  | 
|   | 
| 
unsigned long long  | GetBufferHash (unsigned streamIndex) | 
|   | Return buffer hash for building vertex declarations. Used internally. 
  | 
|   | 
| 
  | Object (Context *context) | 
|   | Construct. 
  | 
|   | 
| 
  | ~Object () override | 
|   | Destruct. Clean up self from event sender & receiver structures. 
  | 
|   | 
| virtual StringHash  | GetType () const =0 | 
|   | 
| virtual const String &  | GetTypeName () const =0 | 
|   | 
| 
virtual const TypeInfo *  | GetTypeInfo () const =0 | 
|   | Return type info. 
  | 
|   | 
| 
virtual void  | OnEvent (Object *sender, StringHash eventType, VariantMap &eventData) | 
|   | Handle event. 
  | 
|   | 
| 
bool  | IsInstanceOf (StringHash type) const | 
|   | Check current instance is type of specified type. 
  | 
|   | 
| 
bool  | IsInstanceOf (const TypeInfo *typeInfo) const | 
|   | Check current instance is type of specified type. 
  | 
|   | 
| 
template<typename T >  | 
| bool  | IsInstanceOf () const | 
|   | Check current instance is type of specified class. 
  | 
|   | 
| 
template<typename T >  | 
| T *  | Cast () | 
|   | Cast the object to specified most derived class. 
  | 
|   | 
| 
template<typename T >  | 
| const T *  | Cast () const | 
|   | Cast the object to specified most derived class. 
  | 
|   | 
| 
void  | SubscribeToEvent (StringHash eventType, EventHandler *handler) | 
|   | Subscribe to an event that can be sent by any sender. 
  | 
|   | 
| 
void  | SubscribeToEvent (Object *sender, StringHash eventType, EventHandler *handler) | 
|   | Subscribe to a specific sender's event. 
  | 
|   | 
| 
void  | SubscribeToEvent (StringHash eventType, const std::function< void(StringHash, VariantMap &)> &function, void *userData=nullptr) | 
|   | Subscribe to an event that can be sent by any sender. 
  | 
|   | 
| 
void  | SubscribeToEvent (Object *sender, StringHash eventType, const std::function< void(StringHash, VariantMap &)> &function, void *userData=nullptr) | 
|   | Subscribe to a specific sender's event. 
  | 
|   | 
| 
void  | UnsubscribeFromEvent (StringHash eventType) | 
|   | Unsubscribe from an event. 
  | 
|   | 
| 
void  | UnsubscribeFromEvent (Object *sender, StringHash eventType) | 
|   | Unsubscribe from a specific sender's event. 
  | 
|   | 
| 
void  | UnsubscribeFromEvents (Object *sender) | 
|   | Unsubscribe from a specific sender's events. 
  | 
|   | 
| 
void  | UnsubscribeFromAllEvents () | 
|   | Unsubscribe from all events. 
  | 
|   | 
| 
void  | UnsubscribeFromAllEventsExcept (const PODVector< StringHash > &exceptions, bool onlyUserData) | 
|   | Unsubscribe from all events except those listed, and optionally only those with userdata (script registered events). 
  | 
|   | 
| 
void  | SendEvent (StringHash eventType) | 
|   | Send event to all subscribers. 
  | 
|   | 
| 
void  | SendEvent (StringHash eventType, VariantMap &eventData) | 
|   | Send event with parameters to all subscribers. 
  | 
|   | 
| 
VariantMap &  | GetEventDataMap () const | 
|   | Return a preallocated map for event data. Used for optimization to avoid constant re-allocation of event data maps. 
  | 
|   | 
| 
template<typename... Args>  | 
| void  | SendEvent (StringHash eventType, Args... args) | 
|   | Send event with variadic parameter pairs to all subscribers. The parameter pairs is a list of paramID and paramValue separated by comma, one pair after another. 
  | 
|   | 
| 
Context *  | GetContext () const | 
|   | Return execution context. 
  | 
|   | 
| const Variant &  | GetGlobalVar (StringHash key) const | 
|   | 
| const VariantMap &  | GetGlobalVars () const | 
|   | 
| void  | SetGlobalVar (StringHash key, const Variant &value) | 
|   | 
| 
Object *  | GetSubsystem (StringHash type) const | 
|   | Return subsystem by type. 
  | 
|   | 
| 
Object *  | GetEventSender () const | 
|   | Return active event sender. Null outside event handling. 
  | 
|   | 
| 
EventHandler *  | GetEventHandler () const | 
|   | Return active event handler. Null outside event handling. 
  | 
|   | 
| 
bool  | HasSubscribedToEvent (StringHash eventType) const | 
|   | Return whether has subscribed to an event without specific sender. 
  | 
|   | 
| 
bool  | HasSubscribedToEvent (Object *sender, StringHash eventType) const | 
|   | Return whether has subscribed to a specific sender's event. 
  | 
|   | 
| 
bool  | HasEventHandlers () const | 
|   | Return whether has subscribed to any event. 
  | 
|   | 
| 
template<class T >  | 
| T *  | GetSubsystem () const | 
|   | Template version of returning a subsystem. 
  | 
|   | 
| const String &  | GetCategory () const | 
|   | 
| 
void  | SetBlockEvents (bool block) | 
|   | Block object from sending and receiving events. 
  | 
|   | 
| 
bool  | GetBlockEvents () const | 
|   | Return sending and receiving events blocking status. 
  | 
|   | 
| 
  | RefCounted () | 
|   | Construct. Allocate the reference count structure and set an initial self weak reference. 
  | 
|   | 
| 
virtual  | ~RefCounted () | 
|   | Destruct. Mark as expired and also delete the reference count structure if no outside weak references exist. 
  | 
|   | 
| 
  | RefCounted (const RefCounted &rhs)=delete | 
|   | Prevent copy construction. 
  | 
|   | 
| 
RefCounted &  | operator= (const RefCounted &rhs)=delete | 
|   | Prevent assignment. 
  | 
|   | 
| void  | AddRef () | 
|   | 
| void  | ReleaseRef () | 
|   | 
| int  | Refs () const | 
|   | 
| int  | WeakRefs () const | 
|   | 
| 
RefCount *  | RefCountPtr () | 
|   | Return pointer to the reference count structure. 
  | 
|   | 
| 
  | GPUObject (Graphics *graphics) | 
|   | Construct with graphics subsystem pointer. 
  | 
|   | 
| 
virtual  | ~GPUObject () | 
|   | Destruct. Remove from the Graphics. 
  | 
|   | 
| virtual void  | OnDeviceLost () | 
|   | Mark the GPU resource destroyed on graphics context destruction.  More...
  | 
|   | 
| virtual void  | OnDeviceReset () | 
|   | Recreate the GPU resource and restore data if applicable.  More...
  | 
|   | 
| virtual void  | Release () | 
|   | Unconditionally release the GPU resource.  More...
  | 
|   | 
| 
void  | ClearDataLost () | 
|   | Clear the data lost flag. 
  | 
|   | 
| 
Graphics *  | GetGraphics () const | 
|   | Return the graphics subsystem associated with this GPU object. 
  | 
|   | 
| 
void *  | GetGPUObject () const | 
|   | Return the object pointer. Applicable only on Direct3D. 
  | 
|   | 
| 
unsigned  | GetGPUObjectName () const | 
|   | Return the object name. Applicable only on OpenGL. 
  | 
|   | 
| bool  | IsDataLost () const | 
|   | 
| 
bool  | HasPendingData () const | 
|   | Return whether has pending data assigned while graphics context was lost. 
  | 
|   |