1 /*---------------------------------------------------------------------------*
2   Project:  NintendoWare
3   File:     lyt_Bounding.h
4 
5   Copyright (C)2009-2010 Nintendo Co., Ltd./HAL Laboratory, Inc.  All rights reserved.
6 
7   These coded instructions, statements, and computer programs contain
8   proprietary information of Nintendo of America Inc. and/or Nintendo
9   Company Ltd., and are protected by Federal copyright law.  They may
10   not be disclosed to third parties or copied or duplicated in any form,
11   in whole or in part, without the prior written consent of Nintendo.
12 
13   $Revision: 25594 $
14  *---------------------------------------------------------------------------*/
15 
16 #ifndef NW_LYT_BOUNDING_H_
17 #define NW_LYT_BOUNDING_H_
18 
19 #include <nw/ut/ut_RuntimeTypeInfo.h>
20 
21 #include <nw/lyt/lyt_Config.h>
22 #include <nw/lyt/lyt_Pane.h>
23 
24 namespace nw
25 {
26 namespace lyt
27 {
28 
29 struct ResBlockSet;
30 class DrawInfo;
31 
32 //---------------------------------------------------------------------------
33 //! :category 描画
34 //!
35 //! @brief アニメーションの基底クラスです。
36 //!
37 //! @since 2009/09/18 初版。
38 //---------------------------------------------------------------------------
39 class Bounding : public Pane
40 {
41     typedef Pane Base;
42 
43 public:
44     //! 実行時型情報です。
45     NW_UT_RUNTIME_TYPEINFO;
46 
47     //----------------------------------------
48     //! @name コンストラクタ/デストラクタ
49     //@{
50 
51     //! @brief コンストラクタです。
52     //!
53     //! @since 2009/09/18 初版。
54     //!
Bounding()55     Bounding()
56     {}
57 
58     //! @brief コンストラクタです。
59     //!
60     //! @details
61     //! size で指定したサイズのペインを生成します。
62     //!
63     //! @param size ペインのサイズです。
64     //!
65     //! @since 2009/09/18 初版。
66     //!
Bounding(const Size & size)67     Bounding(const Size& size)
68     {
69         SetSize(size);
70     }
71 
72     //! @brief コンストラクタです。
73     //!
74     //! @details
75     //! pBlock で指定したリソースからペインを生成します。
76     //!
77     //! @param pBlock 境界ペインデータブロックへのポインタです。
78     //! @param resBlockSet ResBlockSet 構造体への参照です。
79     //!
80     //! @since 2009/09/18 初版。
81     //!
82     Bounding(
83         const res::Bounding* pBlock,
84         const ResBlockSet& resBlockSet);
85 
86     //! @brief デストラクタです。
87     //!
88     //! @since 2009/09/18 初版。
89     //!
90     virtual ~Bounding();
91 
92     //@}
93 
94 protected:
95 
96 #ifdef NW_LYT_DMPGL_ENABLED
97     //! @brief 自身の描画処理を行います。
98     //!
99     //! @details
100     //! 本関数は NW_LYT_DMPGL_ENABLED マクロを定義してライブラリを
101     //! ビルドした場合にのみ利用可能です。
102     //!
103     //! @param drawInfo 描画情報です。
104     //!
105     //! @since 2009/09/18 初版。
106     //! @date 2010/10/20 NW_LYT_DMPGL_ENABLED マクロを定義してライブラリをビルドした場合にのみ利用できるようにしました。
107     //!
108     virtual void DrawSelf(const DrawInfo& drawInfo);
109 #endif
110 };
111 
112 } // namespace nw::lyt
113 } // namespace nw
114 
115 #endif // NW_LYT_BOUNDING_H_
116 
117