本ドキュメントでは、他のアプリケーションからWonderSilkのシルクを切り替える方法を簡単に説明します。 Palm向けアプリケーション製作者(プログラマー)向けの情報です。Palmwearを作成できるスキルを持った方、さらに、ソニー提供の各SDKを自力で扱える方が対象です(つまり、ここに書いた情報だけで充分だと思える方という事です)。必要と思われる情報は網羅したつもりですので、リバースエンジニアリング(単純な解析も含む)は行わないで下さい(情報が足りない場合は作者に問い合わせて下さい)。 <プログラム情報> WonderSilkでは、カレントのシルクPRCファイルを、ファイル名でプリファレンスに格納しています。 WonderSilkを起動すると、このプリファレンスを読み込んで、実際にそのシルクPRCファイルが存在すれば、読み込んで使用します。WonderSilkがすでに稼働中の場合は、仮想シルクマネージャーのAPIのVskDoCommandを利用して、プリファレンスの内容を強制的に再読み込みさせる(プリファレンスに記録されているシルクPRCファイルへの切り替えも行われる)事ができます。 プリファレンスの構造体は以下の通りです。 typedef struct WonderSilkPreferenceType { RGBColorType graffitiLocusRGB; Char nowSilkFile[dmDBNameLength]; UInt8 kanaPanelMode; char res____0[31]; } WonderSilkPreferenceType; 初めにプリファレンスを読み込んでから、nowSilkFileフィールドにスキンPRCファイルのdb名を書き込んで保存して下さい。(WonderSilkか絹丸を一度でも起動すれば作成されます。) nowSilkFile以外のフィールドは変更しないで下さい。 プリファレンスへのアクセスパラメーターの定義は以下の通りです(どの定義がどのパラメーターに対応するかは名称で判断できると思います)。 なお、プリファレンスはSavedPreferncesに保存しています。 #define silkwareFileCreator 'WSlk' #define silkwarePrefID 0x00 #define silkwareVersionNum 0x01 WonderSilkが稼働中の場合にシルクを切り替える(プリファレンスを再読み込みさせる)には、以下の様にします。 VskDoCommand(slikRefNum,silkwareFileCreator,kCmdAdjustSkin,0,0); kCmdAdjustSkinの定義は以下の通りです。 enum { kCmdAdjustSkin = 0, }; なお、スキンPRCファイルのタイプ定義は以下の通りです(クリエイターはsilkwareFileCreatorです)。ファイル列挙したい場合に使って下さい。 #define wSilkType 'wSlK' また、シルク名はDmGet1Resource(ainRsc,ainID);でC言語文字列(0終端)として取得可能です。 <WonderSilkに対応したソフトを配布するにあたって>(03.02.13新規追加) WonderSilkのスキンを切り替える機能を有したアプリケーションを配布する場合は、以下の事をお願いいたします。 下記のいずれの場合も、WonderSilk最新版へのアクセスが可能なように、http://www.maicca.com/に最新情報がある旨の記載をお願いします。 WonderMakerを配布するのは(一部、全部にかかわらず)ご遠慮下さい(応相談)。 WonderSilkを配布パッケージに含める場合は、ドキュメント(readme.txt)、および絹丸も一緒に含めてください。また、なるべく最新版を収録してください。 WonderSilk付属のサンプルの収録については、作者作成のものに関しては自由です(私が作成したもの以外は、各作成者にご確認下さい)。 (以下の分類では、開発元や販売元が企業の場合は、シェアウエアと銘打っていても市販ソフトの扱いとなります。なお、送金代行業者に関しては「販売元」とはみなしません。つまり、そのソフトのサポートを行う責任がどこにあるか、という考え方です。) ・市販ソフトの場合(ダウンロード販売の場合も含む) 正規品パッケージを1つご提供願います。 ・シェアウエアの場合 その配布パッケージにWonderSilkを含める場合は、機能制限等が(あれば)解除ができるようにキーワードやキーファイルなどを私宛に送付してください。 含めない場合は、キーワードやキーファイルなどの送付は強制いたしませんが、できればお願いいたします(対応状況確認と不具合があった場合の調整のため)。 ・いわゆるフリーソフトウエアの場合 本項先頭部の、共通のお願い以外に特にありません。 以上です。(最終変更日:03.02.13)