CrystalSpace

Public API Reference

iShaderVariableContext Struct Reference

This is a baseclass for all interfaces which provides shadervariables both dynamically and static. More...

#include <ivideo/shader/shader.h>

Inheritance diagram for iShaderVariableContext:

Inheritance graph
[legend]
List of all members.

Public Member Functions

virtual void AddVariable (csShaderVariable *variable)=0
 Add a variable to this context.
virtual void Clear ()=0
 Remove all variables from this context.
virtual const csRefArray<
csShaderVariable > & 
GetShaderVariables () const =0
 Get Array of all ShaderVariables.
virtual csShaderVariableGetVariable (csStringID name) const =0
 Get a named variable from this context.
csShaderVariableGetVariableAdd (csStringID name)
 Like GetVariable(), but it also adds it if doesn't exist already.
virtual bool IsEmpty () const =0
 Determine whether this SV context contains any variables at all.
virtual void PushVariables (iShaderVarStack *stacks) const =0
 Push the variables of this context onto the variable stacks supplied in the "stacks" argument.
virtual bool RemoveVariable (csShaderVariable *variable)=0
 Remove the given variable from this context.
virtual void ReplaceVariable (csShaderVariable *variable)=0
 Replace the current variable object of the same name as variable with the latter, add variable otherwise.

Detailed Description

This is a baseclass for all interfaces which provides shadervariables both dynamically and static.

Definition at line 93 of file shader.h.


Member Function Documentation

virtual void iShaderVariableContext::AddVariable ( csShaderVariable variable  )  [pure virtual]

Add a variable to this context.

Remarks:
If a variable of the same name exists in the current context, its contents are replaced with those of variable.

Implemented in CS::ShaderVariableContextImpl.

Referenced by GetVariableAdd().

virtual void iShaderVariableContext::Clear (  )  [pure virtual]

Remove all variables from this context.

Implemented in CS::ShaderVariableContextImpl.

virtual const csRefArray<csShaderVariable>& iShaderVariableContext::GetShaderVariables (  )  const [pure virtual]

Get Array of all ShaderVariables.

Implemented in CS::ShaderVariableContextImpl.

virtual csShaderVariable* iShaderVariableContext::GetVariable ( csStringID  name  )  const [pure virtual]

Get a named variable from this context.

Implemented in CS::ShaderVariableContextImpl.

Referenced by GetVariableAdd().

csShaderVariable* iShaderVariableContext::GetVariableAdd ( csStringID  name  )  [inline]

Like GetVariable(), but it also adds it if doesn't exist already.

Definition at line 108 of file shader.h.

References AddVariable(), and GetVariable().

virtual bool iShaderVariableContext::IsEmpty (  )  const [pure virtual]

Determine whether this SV context contains any variables at all.

Implemented in CS::ShaderVariableContextImpl.

virtual void iShaderVariableContext::PushVariables ( iShaderVarStack stacks  )  const [pure virtual]

Push the variables of this context onto the variable stacks supplied in the "stacks" argument.

Implemented in CS::ShaderVariableContextImpl.

virtual bool iShaderVariableContext::RemoveVariable ( csShaderVariable variable  )  [pure virtual]

Remove the given variable from this context.

Implemented in CS::ShaderVariableContextImpl.

virtual void iShaderVariableContext::ReplaceVariable ( csShaderVariable variable  )  [pure virtual]

Replace the current variable object of the same name as variable with the latter, add variable otherwise.

Remarks:
This differs from AddVariable() as this method replaces the variable *object*, not just the contents.

Implemented in CS::ShaderVariableContextImpl.


The documentation for this struct was generated from the following file:
Generated for Crystal Space 1.0.2 by doxygen 1.4.7