FineKernelToolKit  3.1.0
SpriteModel_CLI.h
[詳解]
1 // SpriteModel_CLI.h
2 
3 #pragma once
4 
5 #include <FK/SpriteModel.h>
6 #include "Model_CLI.h"
7 #include "Texture_CLI.h"
8 #include "TextImage_CLI.h"
9 #include "Scene_CLI.h"
10 
11 namespace FK_CLI
12 {
14 
35  public ref class fk_SpriteModel : fk_Model {
36  internal:
37  ::fk_SpriteModel * GetP(void);
38 
39  public:
40 #ifndef FK_DOXYGEN_USER_PROCESS
41  fk_SpriteModel(bool argNewFlg);
42 #endif
43 
46 
49 
51  !fk_SpriteModel();
52 
54 
64  property fk_TextImage^ Text {
65  fk_TextImage^ get();
66  }
67 
69 
76  property fk_Image^ Image {
77  fk_Image^ get();
78  void set(fk_Image^);
79  }
80 
82 
92  property fk_TexCoord^ Size {
93  fk_TexCoord^ get();
94  void set(fk_TexCoord^);
95  }
96 
98 
103  property bool SmoothMode {
104  bool get();
105  void set(bool);
106  }
107 
109 
117  bool ReadBMP(String^ filename);
118 
120 
128  bool ReadPNG(String^ filename);
129 
131 
139  bool ReadJPG(String^ filename);
140 
142 
167  void SetPositionLT(double x, double y);
168 
170 
182  void SetSpriteArea(double x, double y, double w, double h);
183 
185 
202  bool InitFont(String^ fontFileName);
203 
205 
219  void DrawText(String^ str);
220 
222 
241  void DrawText(String^ str, bool mode);
242 
244 
249  void ClearText(void);
250 
251 #ifndef FK_DOXYGEN_USER_PROCESS
252  void MakePixelBase(fk_Dimension^ argWinSize, fk_Scene^ argScn);
253 #endif
254  };
255 }
256 
257 /****************************************************************************
258  *
259  * Copyright (c) 1999-2016, Fine Kernel Project, All rights reserved.
260  *
261  * Redistribution and use in source and binary forms,
262  * with or without modification, are permitted provided that the
263  * following conditions are met:
264  *
265  * - Redistributions of source code must retain the above
266  * copyright notice, this list of conditions and the
267  * following disclaimer.
268  *
269  * - Redistributions in binary form must reproduce the above
270  * copyright notice, this list of conditions and the
271  * following disclaimer in the documentation and/or
272  * other materials provided with the distribution.
273  *
274  * - Neither the name of the copyright holders nor the names
275  * of its contributors may be used to endorse or promote
276  * products derived from this software without specific
277  * prior written permission.
278  *
279  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
280  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
281  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
282  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
283  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
284  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
285  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
286  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
287  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
288  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
289  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
290  * POSSIBILITY OF SUCH DAMAGE.
291  *
292  ****************************************************************************/
293 /****************************************************************************
294  *
295  * Copyright (c) 1999-2016, Fine Kernel Project, All rights reserved.
296  *
297  * 本ソフトウェアおよびソースコードのライセンスは、基本的に
298  * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
299  *
300  * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
301  * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
302  *
303  * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
304  * および下記免責条項を含めること。
305  *
306  * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
307  * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
308  * 含めること。
309  *
310  * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
311  * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
312  * コントリビューターの名前を使用してはならない。
313  *
314  * 本ソフトウェアは、著作権者およびコントリビューターによって「現
315  * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
316  * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
317  * に限定されない、いかなる保証もないものとします。著作権者もコン
318  * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
319  * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
320  * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
321  * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
322  * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
323  * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
324  * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
325  * ついて、一切責任を負わないものとします。
326  *
327  ****************************************************************************/
画像サイズを表すクラス
Definition: Image_CLI.h:24
fk_SpriteModel()
コンストラクタ
fk_TextImage^ Text
文字列描画オブジェクトプロパティ
Definition: SpriteModel_CLI.h:64
bool ReadJPG(String^ filename)
JPEG(JPG)画像読み込みメソッド
bool SmoothMode
画像表示モードプロパティ
Definition: SpriteModel_CLI.h:103
文字列板を管理するクラス
Definition: TextImage_CLI.h:60
void SetPositionLT(double x, double y)
画像位置指定メソッド
bool ReadPNG(String^ filename)
PNG画像読み込みメソッド
void ClearText(void)
文字列消去メソッド
bool ReadBMP(String^ filename)
Windows Bitmap (BMP)画像読み込みメソッド
シーンを制御するクラス
Definition: Scene_CLI.h:40
fk_Image^ Image
画像データプロパティ
Definition: SpriteModel_CLI.h:76
モデルを生成、管理するクラス
Definition: Model_CLI.h:125
2D スプライトモデルクラス
Definition: SpriteModel_CLI.h:35
~fk_SpriteModel()
デストラクタ
bool InitFont(String^ fontFileName)
文字列描画用フォント設定メソッド
void DrawText(String^ str)
文字列表示メソッド
画像を生成、管理するクラス
Definition: Image_CLI.h:210
void SetSpriteArea(double x, double y, double w, double h)
画像表示領域指定メソッド
fk_TexCoord^ Size
表示サイズプロパティ
Definition: SpriteModel_CLI.h:92
テクスチャ座標を管理するクラス
Definition: Texture_CLI.h:42
Definition: AppWindow_CLI.h:11