(2001/04/22掲載、2001/04/23追記、2001/04/27書きなおし、2001/04/28訂正)
シャープからZaurus Wallpaper Maker デモ版というソフトが発表されたのは、あちこちのザウルス系サイトを覗いた人には記憶に新しい話だと思います。個人的な興味からこのソフトで作成した壁紙ファイルを覗いてみました。以下の内容は私個人が解析を行なった結果であり、内容の正確さに関しては保証できません。
私が解析した範囲では、壁紙ファイル(拡張子:WPP)は以下のような構造になっています。
offset | size | 内容 |
+0000h | 16バイト | 固定データ(詳細不明) |
+0010h | 4バイト | データサイズ(リトルエンディアン) |
+0014h | 2バイト | 画像横サイズ(リトルエンディアン) |
+0016h | 2バイト | 画像縦サイズ(リトルエンディアン) |
+0018h | 不定 | 画像データ(PixMap形式) |
上記表中の「データサイズ」は「画像横サイズ格納領域(2バイト)」+「画像縦サイズ格納領域(2バイト)」+「画像データサイズ」の合計となります。例えば、MI-EX1/TR1用の壁紙は616*312ピクセルなので、PixMap形式の画像データサイズは616*312*2=384384バイト、それに縦横のサイズを格納するための領域が2+2=4バイトで合計384384+4=384388(=05dd84h)となります。さらに、実際のファイルサイズは384388バイト+「データサイズ格納領域(4バイト)」+「ヘッダ(16バイト)」で384408バイトとなります。PixMap形式の詳細に関してはSZABの説明を参照してください。
ザウルス内で現在の壁紙ファイル名を保持しているのはF0:SYSCONF.PRFのようです。このファイル中のCWPPという項目に「パソコンデータ」で指定した壁紙ファイル名が記録されます。MOREソフトから壁紙の設定を行なう場合は、以下のようなコードでOKのようです(壁紙の解除は空文字列を指定すればOK)。
SetPrefValue("SYSCONF", "CWPP", "F0:HOGEHOGE.WPP", 15);
SetPrefValue関数の詳細についてはやはりSZABのマニュアルを参照してください。
2001/05/02追記:現在までの調査では、MI-EX1/TR1,MI-E1での表示可能な壁紙サイズは以下のようになっています。
機種 | 壁紙小(302*224) | 壁紙大(616*312) | その他のサイズ |
MI-EX1/TR1 | タイリング(敷き詰め)で表示 | 全体を表示 | 表示不可 |
MI-E1 | 左上238*224を表示 | 左上238*224を表示 | 表示不可 |