ビットマップ描画コンテナクラス
[詳解]
#include <TnbBitmapContainer.h>
|
enum | EDirection {
DOWN
, RIGHT
, RETURN
, VRETURN
,
STAY
} |
| 方向値 [詳解]
|
|
enum | ELocation {
RIGHTTOP
, RIGHTCENTER
, RIGHTBOTTOM
, DOWNLEFT
,
DOWNCENTER
, DOWNRIGHT
, CENTER
} |
| 位置指定値 [詳解]
|
|
typedef CPointerHandleT< IDrawable > | Ptr |
| ポインタハンドル型宣言 [詳解]
|
|
|
INDEX | Add (const IDrawable &draw, EDirection dire=DOWN) |
| [追加] 描画情報追加. [詳解]
|
|
INDEX | Add (INDEX index, ELocation locate, const IDrawable &draw, EDirection dire=DOWN) |
| [追加] 描画情報追加. [詳解]
|
|
INDEX | AddBitmap (CBitmapHandle bmp, EDirection dire=DOWN) |
| [追加] ビットマップ描画情報追加. [詳解]
|
|
INDEX | AddBitmap (INDEX index, ELocation locate, CBitmapHandle bmp, EDirection dire=DOWN) |
| [追加] ビットマップ描画情報追加. [詳解]
|
|
INDEX | AddNewPointer (IDrawable *pDraw, EDirection dire=DOWN) |
| [追加] 描画情報追加. [詳解]
|
|
INDEX | AddNewPointer (INDEX index, ELocation locate, IDrawable *pDraw, EDirection dire=DOWN) |
| [追加] 描画情報追加. [詳解]
|
|
int | AppendBitmaps (LPCTSTR lpszPath, INDEX maxIndex, EDirection dire=DOWN) |
| [追加] 一括ビットマップファイル読込み. [詳解]
|
|
const IDrawable * | At (INDEX index) const |
| [参照] 指定INDEXの参照. [詳解]
|
|
| CBitmapContainer (void) |
| コンストラクタ [詳解]
|
|
virtual IDrawable * | Clone (void) const |
| [作成] クローン作成. [詳解]
|
|
CBitmapHandle | CreateBitmap (COLORREF color=CLR_INVALID) const |
| [作成] ビットマップ作成. [詳解]
|
|
void | DefaultSize (void) |
| [設定] サイズリセット. [詳解]
|
|
virtual void | Draw (HDC dc, int x=0, int y=0) const |
| [描画] 描画. [詳解]
|
|
void | DrawAt (INDEX index, HDC dc, int x=0, int y=0) const |
| [描画] 描画. [詳解]
|
|
virtual void | DrawEx (HDC dc, int x, int y, LPARAM lParam) const |
| [描画] 描画. [詳解]
|
|
bool | GetAllRect (RECT &_rect) const |
| [取得] 矩形範囲取得. [詳解]
|
|
HRGN | GetAllRgn (void) const |
| [取得] 領域範囲取得. [詳解]
|
|
const POINT & | GetAppendPosition (void) const |
| [取得] 追加相対座標取得. [詳解]
|
|
bool | GetAtRect (INDEX index, RECT &_rect) const |
| [取得] ビットマップ取得. [詳解]
|
|
size_t | GetCount (void) const |
| [取得] 格納数取得. [詳解]
|
|
virtual bool | GetSize (SIZE &_size) const |
| [取得] サイズ取得. [詳解]
|
|
bool | MoveAppendPosition (INDEX index, EDirection dire=DOWN, int x=0, int y=0) |
| [移動] 追加相対座標設定. [詳解]
|
|
void | OffsetAppendPosition (int x, int y) |
| [操作] 追加相対座標移動. [詳解]
|
|
void | RemoveAll (void) |
| [削除] すべて削除. [詳解]
|
|
bool | RemoveAt (INDEX index) |
| [削除] 指定INDEXの削除. [詳解]
|
|
virtual bool | Resize (const SIZE &size) |
| [設定] サイズ設定. [詳解]
|
|
void | SetAppendPosition (int x, int y) |
| [操作] 追加相対座標設定. [詳解]
|
|
ビットマップ描画コンテナクラス
{@link IDrawable 描画情報}(含むビットマップ)と座標を対に複数保持するクラスです。
- 参照
- CDrawingContainer
- 日付
- 07/11/01 新規作成
-
07/11/17 CDrawContainer と一本化。本クラスは廃止予定。
TnbBitmapContainer.h の 31 行目に定義があります。
◆ Ptr
◆ EDirection
◆ ELocation
位置指定値
列挙値 |
---|
RIGHTTOP | 上あわせで、右に追加。
|
RIGHTCENTER | 中央あわせで、右に追加。
|
RIGHTBOTTOM | 下あわせで、右に追加。
|
DOWNLEFT | 左あわせで、下に追加。
|
DOWNCENTER | 中央あわせで、下に追加。
|
DOWNRIGHT | 右あわせで、下に追加。
|
CENTER | 中央に追加。
|
TnbDrawingContainer.h の 457 行目に定義があります。
◆ CBitmapContainer()
◆ Add() [1/2]
[追加] 描画情報追加.
追加相対座標に指定の描画情報を関連づけて記憶します。
- 覚え書き
- 追加した順にインデックス 0, 1, 2, ・・・ と割り振られます。
- 引数
-
draw | 描画情報. 本オブジェクトにはクローンが記憶されるので、 draw は破棄してもかまいません。 |
dire | 移動方向. |
- 戻り値
-
INVALID_INDEX | 失敗。 |
INVALID_INDEX以外 | 成功。値は、追加したインデックスです。 |
TnbDrawingContainer.h の 527 行目に定義があります。
◆ Add() [2/2]
[追加] 描画情報追加.
指定の座標に指定の描画情報を関連づけて記憶します。
- 覚え書き
- 指定インデックスに登録されている描画情報と相対座標から、 指定の位置に画像情報を追加します。
-
追加した順にインデックス 0, 1, 2, ・・・ と割り振られます。
- 引数
-
index | インデックス. |
locate | 位置 |
draw | 描画情報. 本オブジェクトにはクローンが記憶されるので、 draw は破棄してもかまいません。 |
dire | 移動方向. |
- 戻り値
-
INVALID_INDEX | 失敗。 |
INVALID_INDEX以外 | 成功。値は、追加したインデックスです。 |
TnbDrawingContainer.h の 545 行目に定義があります。
◆ AddBitmap() [1/2]
[追加] ビットマップ描画情報追加.
追加相対座標に指定の描画情報を関連づけて記憶します。
- 覚え書き
- 追加した順にインデックス 0, 1, 2, ・・・ と割り振られます。
- 引数
-
- 戻り値
-
INVALID_INDEX | 失敗。 |
INVALID_INDEX以外 | 成功。値は、追加したインデックスです。 |
TnbDrawingContainer.h の 559 行目に定義があります。
◆ AddBitmap() [2/2]
[追加] ビットマップ描画情報追加.
指定座標に指定の描画情報を関連づけて記憶します。
- 覚え書き
- 追加した順にインデックス 0, 1, 2, ・・・ と割り振られます。
-
指定インデックスに登録されている描画情報と相対座標から、 指定の位置に画像情報を追加します。
- 引数
-
index | インデックス. |
locate | 位置 |
bmp | ビットマップ。 |
dire | 移動方向. |
- 戻り値
-
INVALID_INDEX | 失敗。 |
INVALID_INDEX以外 | 成功。値は、追加したインデックスです。 |
TnbDrawingContainer.h の 577 行目に定義があります。
◆ AddNewPointer() [1/2]
[追加] 描画情報追加.
追加相対座標に指定の描画情報を関連づけて記憶します。
- 覚え書き
- 追加した順にインデックス 0, 1, 2, ・・・ と割り振られます。
- 引数
-
pDraw | 描画情報. 必ず、 new で作成したインスタンスを渡してください。 破棄は本オブジェクトが行います(本メソッドが失敗した時は即破棄します)。 |
dire | 移動方向. |
- 戻り値
-
INVALID_INDEX | 失敗。 |
INVALID_INDEX以外 | 成功。値は、追加したインデックスです。 |
TnbDrawingContainer.h の 480 行目に定義があります。
◆ AddNewPointer() [2/2]
[追加] 描画情報追加.
指定の座標に指定の描画情報を関連づけて記憶します。
- 覚え書き
- 指定インデックスに登録されている描画情報と相対座標から、 指定の位置に画像情報を追加します。
-
追加した順にインデックス 0, 1, 2, ・・・ と割り振られます。
- 引数
-
index | インデックス. |
locate | 位置 |
pDraw | 描画情報. 必ず、 new で作成したインスタンスを渡してください。 破棄は本オブジェクトが行います(本メソッドが失敗した時は即破棄します)。 |
dire | 移動方向. |
- 戻り値
-
INVALID_INDEX | 失敗。 |
INVALID_INDEX以外 | 成功。値は、追加したインデックスです。 |
TnbDrawingContainer.h の 512 行目に定義があります。
◆ AppendBitmaps()
int AppendBitmaps |
( |
LPCTSTR |
lpszPath, |
|
|
INDEX |
maxIndex, |
|
|
EDirection |
dire = DOWN |
|
) |
| |
|
inherited |
[追加] 一括ビットマップファイル読込み.
指定ファイル名に関するビットマップファイルを読み込みます。
- 覚え書き
- 最初に RemoveAll() が実行されます。
- 使用例
- Back001a.bmp , Back002.bmp , Back004.bmp , Back006_DC.bmp , Back010.bmp のファイルがある場合、 以下のコードを実行すると、 INDEX 1 に Back001a.bmp 、INDEX 2 に Back002.bmp 、 INDEX 4 に Back004.bmp 、INDEX 6 に Back006_DC.bmp 、INDEX 10 に Back010.bmp が割り当てられます。 これらのビットマップハンドルは、 GetAtBitmap() で容易に取り出すことが出来ます。また、 DrawAt() で容易にデバイスコンテキストに描画も出来ます。
CBitmapContainer m_bmpc; // コンテナ作成
m_bmpc.AppendBitmaps("c:\\BMP\\Back%03d*.bmp", 10, bc.DOWN);
|
※上記例で Back001a.bmp , Back001b.bmp がある場合、どちらが読み込まれるかは不定になります (先に検索で見つかったほうが使用されます)。
- 引数
-
lpszPath | パス名。ファイル名の数字になるところに、 %d を埋めておきます。 |
maxIndex | インデックスの最大値。 5 であれば、 0〜5 の6個検索します。 |
dire | 移動方向. |
- 戻り値
-
マイナス | エラー。 |
0 | 一つもなかった |
1以上 | 読み込んだ数。INDEXの最大値は GetCount() で確認してください。 |
TnbDrawingContainer.h の 608 行目に定義があります。
◆ At()
◆ Clone()
◆ CreateBitmap()
[作成] ビットマップ作成.
本オブジェクトで管理している描画情報から、ビットマップを作成し返します。
- 引数
-
color | 背景色を指定します。省略すると不定(塗りつぶししない) になります。 全エリア描画する描画情報の場合、背景色を指定する必要はありません。 |
- 戻り値
- ビットマップ。一つも情報がない場合、 NULL ビットマップが返ります。
TnbDrawingContainer.h の 181 行目に定義があります。
◆ DefaultSize()
void DefaultSize |
( |
void |
| ) |
|
|
inherited |
◆ Draw()
virtual void Draw |
( |
HDC |
dc, |
|
|
int |
x = 0 , |
|
|
int |
y = 0 |
|
) |
| const |
|
virtualinherited |
◆ DrawAt()
void DrawAt |
( |
INDEX |
index, |
|
|
HDC |
dc, |
|
|
int |
x = 0 , |
|
|
int |
y = 0 |
|
) |
| const |
|
inherited |
[描画] 描画.
指定INDEXに登録されている描画情報を指定のデバイスコンテキストの指定の座標に描画します。
- 引数
-
[in] | index | インデックス。 |
| dc | デバイスコンテキスト |
| x | X座標 |
| y | Y座標 |
TnbDrawingContainer.h の 374 行目に定義があります。
◆ DrawEx()
virtual void DrawEx |
( |
HDC |
dc, |
|
|
int |
x, |
|
|
int |
y, |
|
|
LPARAM |
lParam |
|
) |
| const |
|
virtualinherited |
◆ GetAllRect()
bool GetAllRect |
( |
RECT & |
_rect | ) |
const |
|
inherited |
◆ GetAllRgn()
HRGN GetAllRgn |
( |
void |
| ) |
const |
|
inherited |
◆ GetAppendPosition()
const POINT & GetAppendPosition |
( |
void |
| ) |
const |
|
inherited |
◆ GetAtRect()
bool GetAtRect |
( |
INDEX |
index, |
|
|
RECT & |
_rect |
|
) |
| const |
|
inherited |
[取得] ビットマップ取得.
指定INDEXに登録されている描画情報のビットマップを取得することが出来ます。
- 覚え書き
- ビットマップハンドルは、一時的なものの可能性もあります。
- 引数
-
- 戻り値
- ビットマップ。もっていない場合やインデックスが異常の場合、 NULL ビットマップが返ります。 [取得] 矩形範囲取得. 指定INDEXに登録されている描画情報の範囲がわかります。
- 引数
-
[in] | index | インデックス。 |
[out] | _rect | 矩形範囲。 |
- 戻り値
-
true | 成功。 |
false | 失敗。インデックス指定が異常。 |
TnbDrawingContainer.h の 306 行目に定義があります。
◆ GetCount()
size_t GetCount |
( |
void |
| ) |
const |
|
inherited |
◆ GetSize()
virtual bool GetSize |
( |
SIZE & |
_size | ) |
const |
|
virtualinherited |
[取得] サイズ取得.
本オブジェクトの描画する領域の外接する四角のサイズを得ることが出来ます。
- 覚え書き
- 一番左上に描画する描画情報がなくても、左上から右下のサイズになります。
- 引数
-
- 戻り値
-
true | サイズ取得成功。 |
false | データがない。 |
IDrawableを実装しています。
TnbDrawingContainer.h の 113 行目に定義があります。
◆ MoveAppendPosition()
bool MoveAppendPosition |
( |
INDEX |
index, |
|
|
EDirection |
dire = DOWN , |
|
|
int |
x = 0 , |
|
|
int |
y = 0 |
|
) |
| |
|
inherited |
[移動] 追加相対座標設定.
次に追加する描画情報の相対座標を設定することが可能です。
- 覚え書き
- 指定インデックスに登録されている描画情報と相対座標から、 指定の方向に移動した座標に、OFFSETを加えた座標を追加相対座標にします。
- 引数
-
index | インデックス. |
dire | 移動方向. |
x | X方向のOFFSET値。 |
y | Y方向のOFFSET値。 |
- 戻り値
-
TnbDrawingContainer.h の 439 行目に定義があります。
◆ OffsetAppendPosition()
void OffsetAppendPosition |
( |
int |
x, |
|
|
int |
y |
|
) |
| |
|
inherited |
◆ RemoveAll()
◆ RemoveAt()
bool RemoveAt |
( |
INDEX |
index | ) |
|
|
inherited |
◆ Resize()
virtual bool Resize |
( |
const SIZE & |
size | ) |
|
|
virtualinherited |
[設定] サイズ設定.
本オブジェクトの描画する領域の外接する四角のサイズを設定することが出来ます。
- 覚え書き
- 管理している描画情報のいずれかがサイズ設定に対応していなくても、 本クラスの本メソッドは成功します。サイズ設定できるもののみ、指定サイズ内に入るようにします。
- 引数
-
- 戻り値
-
true | サイズ変更成功。 |
false | 失敗。(本クラスでは失敗はありません) |
IDrawableを実装しています。
TnbDrawingContainer.h の 134 行目に定義があります。
◆ SetAppendPosition()
void SetAppendPosition |
( |
int |
x, |
|
|
int |
y |
|
) |
| |
|
inherited |