リソース ファイルとは?
リソース ファイルとは、BREW アプリで使用する文字列や画像、ダイアログ、サウンドなどの データを 1 つのファイルにまとめたものです。
リソース ファイルは リソース エディタ を使用して作成します。
リソース ファイルを作成する方法については、 BREW SDK に付属の『BREW リソース エディタ ガイド』をご覧ください。
リソース ファイルとは、BREW アプリで使用する文字列や画像、ダイアログ、サウンドなどの データを 1 つのファイルにまとめたものです。
リソース ファイルは リソース エディタ を使用して作成します。
リソース ファイルを作成する方法については、 BREW SDK に付属の『BREW リソース エディタ ガイド』をご覧ください。
BREW リソース エディタとは、BREW アプリケーションで使用するリソース ファイル (.bar ファイル) の作成や編集をするためのエディタです。
このエディタを使用して、文字列や画像などのデータを含むリソース ファイルを作成します。
詳細は、『BREW リソース エディタ ガイド』を参照してください。
リソース ヘッダーファイル( _res.h ファイル もしくは BRH ファイル)とは、リソース ID を含むコンパイル用ヘッダーファイルです。
リソース ヘッダーファイルは、 リソース エディタ のメニューで、[作成]→[リソーススクリプトのコンパイル]を選択して実行することで自動生成されます。このとき、BREW アプレット リソースファイル( BAR ファイル )も一緒に自動生成されます。
リソース ヘッダーファイルの名前は、BREW 3.0 以前では アプリ名に " _res.h " を付けたものになり、BREW 3.0 以降は、拡張子が ".brh" になります。
例えば、HelloWorld アプリ なら、BREW 3.0 以前では " HelloWorld_res.h "、BREW 3.0 以降は "HelloWorld.brh" です。
BAR とは、BREW Application Resource の略で、BREW アプリで使用する文字列、オブジェクト、ダイアログ、そして、サウンドや画像等のバイナリデータが格納されています。
BAR ファイルは、 BREW SDK Tools に同梱されている BREW リソースエディタ を用いて作成します。
その際、BREW 3.0 以前は h 形式、3.0 以降は BRH 形式の C 言語 ヘッダーファイル が自動的に生成されます。
BRI とは BREW Resource Intermediate の略で、BREW リソースエディタ によって作成される リソース ファイル の コンパイル前の形式です。
BRI ファイルは、BREW 3.0 以前で使用されています。
BREW 3.0 以降では、BRX ファイルを使用します。
リソースファイルには、文字列、バイナリ、画像、ダイアログ等が入ります。
これらのデータは、ソースに直接書き込んでも良いのですが、変更する際や、解像度の違う端末用にアプリを作成する場合に不便ですので、リソースファイルを使用する事をおすすめします。
まず、[スタート] から、[BREW SDK Tools 1.0.x1 日本語版] → [BREW リソース エディタ] を選択します。
新しいリソースは、上のメニューバーから [リソース] → [新規文字列] 等で、作成します。入力が終了したら 右下の隅にある [適用] ボタンでリソースを作成します。
リソースを入力し終わったら、上のメニューバーから [作成] → [リソーススクリプトのコンパイル] で、コンパイルを行います。
この際、まず BRX ファイルが中間ファイルとして作成され、その後、BRXファイルと同じフォルダ内に BAR ファイル、BRH ファイルが作成されます。
簡単に説明すると、BRX はリソースの編集用ファイル、BAR ファイルがコンパイルされたリソースファイルで、BRH ファイルは BAR ファイルの為の C 言語 ヘッダーファイルです。
BREW のリソースファイルから文字列を読み込むには ISHELL_LoadResString() 関数を使用します。
また、文字列読み込みに必要なヒープのサイズは ISHELL_GetResSize() 関数で取得します。
uint32 size; AECHAR* buffer; ISHELL_GetResSize(shell, "myres.bar", 128, RESTYPE_STRING, &size); if ((buffer = MALLOC(size)) != NULL) { ISHELL_LoadResString(shell, "myres.bar", 128, buffer, size); .. 文字列を利用 FREE(buffer); } ※エラー処理は省略
なお、リソースファイルを作成するには、BREW リソースエディタで文字列リソースを作成し、文字エンコーディングを SJIS に設定します。
リソース ファイルからデータを取得するには、IShell インターフェイスの関数を使用します。
たとえば、ビットマップの取得には ISHELL_LoadResBitmap 関数を使用します。
ISHELL_LoadResBitmap は、以下のように定義されています。
ISHELL_LoadResBitmap( shell, // IShell インターフェイスを指すポインタ filename, // リソース ファイル名 id // リソース ID );
この関数を使用する場合は、リソース ファイル名とリソース ID を指定する必要があります。
リソース ID とは、リソース ファイルからデータを読み込むときに使用する値で、 リソース エディタを使用して開発者が任意に設定できます。
リソース エディタを使用して設定したリソース ID は、 リソース ヘッダーファイルに定義されますので、 ユーザはリソース ヘッダーファイルをインクルードする必要があります。
リソース ファイルからデータを取得するための関数は、次のとおりです。
リソースエディタ を使用して、 任意のバイナリ データを画像ファイルとしてリソース ファイルに保存できます。
リソース ファイルからバイナリ データを取り出すには、 ISHELL_LoadResData 関数や ISHELL_LoadResDataEx 関数を使用します。
リソース ファイルから、任意のバイナリ データを取り出す手順を記載します。
※ 第 3 バイト目から始まる文字列は、MIME タイプを示しています。
SophiaFramework では、 SFBShell::LoadResData 関数や SFBShell::LoadResDataEx 関数を使用します。