トップ 新規 編集 差分 一覧 ソース 検索 ヘルプ RSS ログイン

スキン仕様

このページはこちらを元にしています。

スキン仕様編集

スキンデータ記述言語概要編集

スキンデータ記述言語は、XMLをベースとした、Heimdallrのスキンデータを記述するための言語(そのまんま)です。
早い話がスキンを作成するための言語です。
内容は以下で詳しく記述しますが、それほど複雑なものでもないので例を見るだけでも
ある程度理解できると思います。

例としては、
Heimdallrインストールフォルダ/skin以下にある、拡張子がxmlのファイルを見て下さい。
これらの例はエンコーディング方式としてUTF-8を用いていますので、
UTF-8を解釈できるテキストエディタを使って中身を確認して下さい。
Windows2000以降であればメモ帳で中身を確認できるはずです。

以下、スキンデータ記述言語により記述されたデータを、単にスキンデータと呼びます。

スキンファイル形式編集

スキンファイル形式とは、スキンデータをファイルとして保存するための形式です。

スキンファイル形式には二種類あります。RAW形式とARCHIVE形式です。
Heimdallrインストールフォルダ\skin以下にある、拡張子がxmlのファイルがRAW形式であり、
拡張子がskinのファイルがARCHIVE形式です。

RAW形式編集

RAW形式とは、スキンデータをそのままファイルとして保存した形式です。
ファイルの拡張子はxmlです。

RAW形式のスキンデータ中で画像ファイルなどの外部ファイルを指定した場合、
その外部ファイルはスキンデータファイルが保存されているフォルダから読み込まれます。

ARCHIVE形式編集

ARCHIVE形式とは、スキンデータを、画像データなどと一緒にLHA形式でアーカイブ化して保存した形式です。
ファイルの拡張子はsknです。
アーカイブの中のスキンデータのファイル名はskin.xmlです。

ARCHIVE形式のスキンデータ中で画像ファイルなどの外部ファイルを指定した場合、
その外部ファイルは、スキンデータが格納されているアーカイブから読み込まれます。

RAW形式とARCHIVE形式の使い分け編集

RAW形式は、シンプルスキンや透明スキンなど、スキンデータだけで構成されるスキンに向いた形式です。
ARCHIVE形式は、ペイントスキンのように、複数のデータから構成されるスキンに向いています。

また、スキンのパラメータを調節するのはRAW形式の方が楽なので、
ペイントスキンを作成する際、最初はRAW形式で作り、完成したところでARCHIVE形式にするというのも有効でしょう。

なお、シンプルスキンのようにスキンデータだけで構成されるスキンをARCHIVE形式にしても問題ありません。
そこらへんはお好みで・・・。

スキンデータ記述言語詳細編集

以下は、XMLについて多少の知識がある方向けの記述です。

構造概説編集

XMLのバージョンは1.0、エンコーディング方式は、UTF-8又はUTF-16を推奨します。
(実はShift_JISやEUC-JPでも問題無く読み込めたりしますが、推奨しません)

ルート要素名はSkinsです。
XML名前空間名は

http://www.sutosoft.com/applictions/heimdallr/skin/1

です。

以下に、スキンデータ記述言語を用いて記述されたスキンデータの例を示します。

<?xml version="1.0" encoding="utf-8" ?> 
<Skins xmlns="http://www.sutosoft.com/applictions/heimdallr/skin/1">
<Skin class="http://www.sutosoft.com/applications/heimdallr/skin/classes/simpleskin"
 id="http://www.sutosoft.com/applications/heimdallr/skin/id/default">
  <Name>シンプル(デフォルト)</Name>
  <Copyright>(C) SutoSoft</Copyright>
  <Version>0.01</Version>
  <Producer>http://www.sutosoft.com/room/</Producer>
  <Description>デフォルトのスキンです。</Description>
  <Width type="variable">
    <Default>320</Default>
  </Width>
  <ItemCount type="variable">
    <Default>16</Default>
  </ItemCount>
  <BackgroundColor type="variable">
    <Default>FFFFFF</Default>
  </BackgroundColor>
  <TextColor type="variable">
    <Default>000000</Default>
  </TextColor>
  <ItemColor type="variable">
    <Default>FFFFFF</Default>
  </ItemColor>
  <KeywordTextColor type="variable">
    <Default>FF0000</Default>
  </KeywordTextColor>
  <KeywordItemColor type="variable">
    <Default>FFFFC8</Default>
  </KeywordItemColor>
  <HotTextColor type="variable">
    <Default>000000</Default>
  </HotTextColor>
  <HotItemColor type="variable">
    <Default>C8C8FF</Default>
  </HotItemColor>
  <HotKeywordTextColor type="variable">
    <Default>FF0000</Default>
  </HotKeywordTextColor>
  <HotKeywordItemColor type="variable">
    <Default>9696FF</Default>
  </HotKeywordItemColor>
  <DeleteTextColor type="variable">
    <Default>FFFFFF</Default>
  </DeleteTextColor>
  <DeleteItemColor type="variable">
    <Default>FF0000</Default>
  </DeleteItemColor>
  <FrameColor type="variable">
    <Default>D4D0C8</Default>
  </FrameColor>
  <DeleteButton type="variable">
    <Default>1</Default>
  </DeleteButton>
  <DeleteButtonWidth type="variable">
    <Default>30</Default>
  </DeleteButtonWidth>
  <ViewFont type="variable"></ViewFont>
  <DescriptionFont type="variable"></DescriptionFont>
</Skin>
</Skins>

スキンクラス編集

Skin要素のclass属性によりスキンクラスが指定できます。
スキンクラスは、スキンの種類のことであり、スキンの特徴を示すもっとも重要な属性です。
スキンクラスが異なると、まったく異なったスキンになります。

現時点で以下の3種類のスキンクラスが存在します。

シンプルスキン
一番シンプルで一番軽いスキンです。デフォルトのスキンもシンプルスキンの一種です。シンプルスキン製作者ができるのは、背景色や文字の色などのビューの色情報を設定することです。
透明スキン
Win2000以降でしか使えないスキンです。背景色が透明になり、ビューの裏側にある他のウィンドウや壁紙が見えるようになります。結構重たいので注意しましょう。透明スキンの設定できる項目はシンプルスキンと同じです。
ペイントスキン
画像を表示することができるスキンです。このスキンは、スキン製作者がスキンに表示する画像を設定することができます。今のところ作って一番楽しいスキンはこのペイントスキンだと思います。

共通要素解説編集

以下に、各スキンクラス共通のXML要素の解説を記述します。

要素名 Skins
説明 スキンデータ記述言語のルート要素です。
出現回数 1回
属性 無し
子要素 Skin
要素名 Skin
説明 一つのスキンについての情報を記述することができます。親要素がSkinsなのでSkin要素は複数出現しても良いような感じがしますが、現状は1回だけに限られています。
出現回数 1回
属性 class id
子要素 Name Copyright Version Producer Description 左記以外はスキンクラス依存
属性名 class
説明 スキンの種類を示します。
データ型 文字列
制限されるデータ値 以下参照
省略 不可
スキンの種類 class属性の値
シンプルスキン http://www.sutosoft.com/applications/heimdallr/skin/classes/simpleskin
透明スキン http://www.sutosoft.com/applications/heimdallr/skin/classes/transparentskin
ペイントスキン http://www.sutosoft.com/applications/heimdallr/skin/classes/paintskin
属性名 id
説明 スキンを特定するためのIDです。他のスキンと重ならない値にする必要があります。また、一度決めたら二度と変えないほうが無難です。
データ型 文字列
制限されるデータ値 無し
省略 不可
要素名 Name
説明 スキンの名前です。スキン設定時に表示されます。
出現回数 1回
属性 無し
子要素 無し
要素名 Copyright
説明 スキンの作者。2004 (C) 作者名 All rights reserved. なんてすると良いでしょう。
出現回数 1回
属性 無し
子要素 無し
要素名 Version
説明 スキンのバージョン。スキン設定時に表示されます。
出現回数 1回
属性 無し
子要素 無し
要素名 Producer
説明 スキンの作者のURLあるいはメールアドレス。URLの場合はhttp:から始め、メールアドレスの場合はmailto:から始めましょう。
出現回数 1回
属性 無し
子要素 無し
要素名 Description
説明 スキンのコメント。スキン設定時に表示されます。
出現回数 1回
属性 無し
子要素 無し

以下のDefault要素とtype属性は共通要素の子要素/属性ではありませんが、
各スキンクラスで同じような使われ方をします。

要素名 Default
説明 親要素により示される項目の、デフォルト値を示します。例えば、親項目がBackgroundColorならば、Default要素にFFFF00という値を持たせると、背景色のデフォルト値はFFFF00であることを示すことになります。
出現回数 1回
データ型 文字列
属性 id
子要素 無し
属性名 type
説明 項目をHeimdallrのスキン設定ダイアログから変更できるかどうかを示します。variableの場合は変更できます。fixedの場合は変更できません。type属性に関する実装はまだできていないところが多く、fixedを指定しても項目によっては変更できてしまうこともありますので注意して下さい。
データ型 文字列
制限されるデータ値 variable fixed
省略 不可

シンプルスキン要素解説編集

以下に、シンプルスキンに登場するXML要素の解説を記述します。

シンプルスキンでは、Skin要素の子要素として以下の要素が使えます。

Width ItemCount BackgroundColor ItemColor
KeywordTextColor KeywordItemColor HotTextColor
HotItemColor HotKeywordTextColor HotKeywordItemColor
DeleteTextColor DeleteItemColor FrameColor
DeleteButton DeleteButtonWidth ViewFont
DescriptionFont
要素名 Width
説明 ビューの幅を示します。
出現回数 1回
属性 type(variableのみ指定可能です。fixedは未実装。)
子要素 Default(320を指定しておくのが無難です。)
要素名 ItemCount
説明 記事の行数を示します。記事の行数×フォントの高さがビューの高さになります。
出現回数 1回
属性 type(variableのみ指定可能です。fixedは未実装。)
子要素 Default(16を指定しておくのが無難です。)

まだまだ続きます。

コメント欄編集

お名前: コメント:
お名前: コメント:

この文章へのトラックバックはTrackback(0) です。




最終更新時間:2005年01月11日 05時36分45秒

bfl@w.sakage.ccには絶対にメールを送信しないでください。