/*---------------------------------------------------------------------------* Project: NintendoWare File: gfx_UserRenderCommand.h Copyright (C)2009-2011 Nintendo/HAL Laboratory, Inc. All rights reserved. These coded instructions, statements, and computer programs contain proprietary information of Nintendo and/or its licensed developers and are protected by national and international copyright laws. They may not be disclosed to third parties or copied or duplicated in any form, in whole or in part, without the prior written consent of Nintendo. The content herein is highly confidential and should be handled accordingly. $Revision: $ *---------------------------------------------------------------------------*/ #ifndef NW_GFX_USERRENDERCOMMAND_H_ #define NW_GFX_USERRENDERCOMMAND_H_ #include #include namespace nw { namespace gfx { class UserRenderNode; //--------------------------------------------------------------------------- //! @brief レンダーキューの途中に独自の描画処理を割り込ませるためのクラスです。 //--------------------------------------------------------------------------- class UserRenderCommand : public RenderCommand { private: NW_DISALLOW_COPY_AND_ASSIGN(UserRenderCommand); public: //! @brief コマンドを呼び出します。 virtual void Invoke(RenderContext* renderContext) = 0; //! @brief ユーザ定義の描画ノードを設定します。 // //! @param[in] userRenderNode ユーザ定義の描画ノードです。NULL を設定することで解除します。 void SetUserRenderNode(UserRenderNode* userRenderNode) { m_Parent = userRenderNode; } //! @brief ユーザ定義の描画ノードのポインタを取得します。 // //! @return ユーザ定義の描画ノードのポインタを返します。 UserRenderNode* GetUserRenderNode() const { return m_Parent; } protected: //! コンストラクタです。 UserRenderCommand() {} //! デストラクタです。 virtual ~UserRenderCommand() {} UserRenderNode* m_Parent; }; //@} } // namespace gfx } // namespace nw #endif // NW_GFX_USERRENDERCOMMAND_H_