$#include "RenderPath.h" class RenderPath { // SharedPtr Clone(); tolua_outside RenderPath* RenderPathClone @ Clone(); bool Load(XMLFile* file); bool Append(XMLFile* file); void SetEnabled(const String tag, bool active); void ToggleEnabled(const String tag); void SetRenderTarget(unsigned index, const RenderTargetInfo& info); void AddRenderTarget(const RenderTargetInfo& info); void RemoveRenderTarget(const String name); void RemoveRenderTarget(unsigned index); void RemoveRenderTargets(const String tag); void SetCommand(unsigned index, const RenderPathCommand& command); void AddCommand(const RenderPathCommand& command); void InsertCommand(unsigned index, const RenderPathCommand& command); void RemoveCommand(unsigned index); void RemoveCommands(const String tag); void SetShaderParameter(const String name, const Variant& value); unsigned GetNumRenderTargets() const; unsigned GetNumCommands() const; const Variant& GetShaderParameter(const String name) const; }; ${ static RenderPath* RenderPathClone(RenderPath* renderPath) { if (!renderPath) return 0; SharedPtr clonedRenderPathPtr = renderPath->Clone(); RenderPath* clonedRenderPath = clonedRenderPathPtr.Get(); clonedRenderPathPtr.Detach(); return clonedRenderPath; } $}