BREW Cartoon アプリ 〜 BREW C++ / GUI プログラミング 〜
ビットマップ画像の描画
リソースファイル
画像のリソースファイルを作成します。
画像の読み込み
画像を読み込んで、ポインタを返す関数です。
// 画像番号に対応するビットマップをリソースからロードして返す。 // index は画像の番号(1〜4) SFBBitmapSmp Cartoon::LoadBitmap(SIntN index) { if (1 <= index && index <= 4) { SFBShellSmp shell = SFBShell::GetInstance(); // 画像を読み込み、ポインタを返す。 return shell->LoadResBitmap(CARTOON_RES_FILE, IDR_PICT1 + index - 1); } else { return SFBBitmapSmp(NULL); } }
この関数の使い方は以下の通りです。
// メンバ変数の宣言 class Cartoon : public SFRApplication { // 表示するビットマップを保持 SFBBitmapSmp m_bitmap; ... } // キーハンドラ HANDLER_IMPLEMENT_BOOLEVENT(Cartoon, OnKey, event) { ... m_bitmap = LoadBitmap(m_pict_index); // ビットマップをロード ... }
ビットマップ画像の表示
読み込んだビットマップは SFXGraphics::DrawBitmap 関数で表示します。
// 描画ハンドラ HANDLER_IMPLEMENT_VOIDRENDER(Cartoon, OnRenderContent, graphics) { ... // SFXGrid は座標を表すシェイプクラス graphics->DrawBitmap(m_bitmap, SFXGrid(10, 10)); ... }
補足:リソースファイル
リソースファイルとは、プログラム内で使用する画像や文字列(リソース)を納めたファイルです。
リソースエディタの使い方
リソースを扱うには BREW SDK に付属している「BREW リソースエディタ」を使用します。
// cartoon.brh #ifndef CARTOON_BRH #define CARTOON_BRH // WARNING: DO NOT MODIFY THIS FILE // AUTO-GENERATED BY BREW Resource Editor #define CARTOON_RES_FILE "cartoon.bar" #define IDI_PICT1 5001 #define IDI_PICT2 5002 #define IDI_PICT3 5003 #define IDI_PICT4 5004 #endif // CARTOON_BRH