================================================================================
 スキンの作り方
================================================================================

- ファイル構成
================================================================================
- Skinsフォルダ (PriScVista.exeと同じ場所のフォルダ)
  - フォルダ (フォルダ名=スキン名)
    - skin.txt                     ... スキンの設定を書いたテキスト
    - Background.png               ... 背景画像
    - ButtonArea.png               ... 役割ごとのボタン範囲を色分けした画像
    - NormalButton.png             ... 通常時のボタン
    - FocusedButton.png            ... カーソルが乗ったときのボタン
    - PushedButton.png             ... ボタンを押したときのボタン
    - DisabledButton.png           ... 使用不可時のボタン
    (以下は必要に応じて)
    - Background_DrawArea.png      ... 画像に追加でテキストを描画する範囲を色分けした画像
    - NormalButton_DrawArea.png    ... (以下、同上)
    - FocusedButton_DrawArea.png   ...
    - PushedButton_DrawArea.png    ...
    - DisabledButton_DrawArea.png  ...



- skin.txt 内容
================================================================================
以下のコマンドでスキンメニューの設定をします。
コマンドは #, @ が行頭から始まっている場合に有効です。それ以外はコメント扱いとなります。

-- #FFFFFF : ボタンID( : ツールチップ説明テキスト)
--------------------------------------------------------------------------------
スキンメニューウィンドウのどのエリアがどのボタンの役割を果たすかを指定する。

- #FFFFFF  : ButtonArea.pngでボタン範囲を示しているカラーコードを指定 (#FFFFFF,#000000 は指定不可)
- ボタンID  : そのボタン範囲がどのボタンの役割かを示すID
- ツールチップ説明テキスト  : ボタンの上にカーソルを置いたときに表示するツールチップテキスト[省略可]

<ボタンID>
Capture_ActiveWindow             ... アクティブウィンドウをキャプチャ
Capture_ActiveWindowContents     ... アクティブウィンドウの中身をキャプチャ
Capture_Region                   ... 指定領域をキャプチャ
Capture_RegionRect               ... 矩形領域のみをキャプチャ
Capture_FullScreen               ... ディスプレイ全体をキャプチャ
Capture_LastRegion               ... 前回と同じ領域をキャプチャ
Capture_Chrome                   ... Webページ全体をキャプチャ（Chrome自動操作）
Tool_OpenFile                    ... 最後に保存したファイルを開く
Tool_EditFile                    ... 最後に保存したファイルを編集
Tool_OpenFolder                  ... 保存フォルダを開く
Tool_ReduceColor                 ... 減色して軽量化 / フルカラーに戻す
Option_GetBackgroundColor        ... 背景色選択ウィンドウを表示
Option_SetBackgroundTransparent  ... 背景を透過にする(αPNG) / 背景色を敷く(他フォーマット)
Option_CaptureWithShadow         ... 影付きでキャプチャする
Option_CaptureWithCursor         ... マウスカーソルもキャプチャする
Option_CursorSettingsButton      ... カーソルサイズ設定を開く
System_Settings                  ... 設定
System_Readme                    ... 使い方（ReadMe.txt）
System_Info                      ... バージョン情報
System_Close                     ... PriScVistaを終了
System_Pin                       ... メニューの位置を記憶
System_RestartAdmin              ... 管理者として再起動


-- #FFFFFF : DrawText(,p1, p2, p3, p4) : テキスト
--------------------------------------------------------------------------------
***_DrawArea.png で画像に追加するテキストを指定する。

- #FFFFFF  : ***_DrawArea.pngでテキスト範囲を示しているカラーコードを指定 (#FFFFFF,#000000 は指定不可)
- p1  : テキスト描画位置を2桁の数値で指定 (省略時=縦横中央, 1桁目=横位置, 2桁目縦位置)
- p2  : フォントサイズ (省略時=テキスト範囲の高さいっぱいの大きさ。もしくは@FontSizeで指定した大きさ。)
- p3  : フォントの縦横比の実数[例えば0.8など] (省略時=1.0。もしくは@FontSizeで指定した比率。)
- p4  : フォントスタイル (省略時=装飾なし。もしくは@Fontで指定したスタイル。)
- テキスト  : 描画するテキスト (表示ごとに変わる特殊テキスト[%Word%]を混ぜることができます。)

<p1>
テキスト描画位置を表す数値
- 1桁目 : 0=中央寄せ, 1=左寄せ, 2=右寄せ
- 2桁目 : 0=中央寄せ, 1=上寄せ, 2=下寄せ (省略可)

<p4>
フォントスタイル
0=装飾なし, 1=太文字, 2=イタリック体, 4=下線, 8=打ち消し線
数値を合計することで複数のスタイルを同時に指定することも可能。

<テキスト>
表示ごとに変わる特殊テキスト[%Word%]を混ぜて記述できます。
%ActiveApp%      ... アクティブウィンドウのアプリ名
%BGColor%        ... 背景色のカラーコードテキスト
%Reduction%      ... 減色軽量化で削減した％を表示 (xx%減)
%ReductionNum%   ... 減色軽量化で削減した％数値を表示 (xx)
%SizeNow%        ... 画像保存したときの現在のファイルサイズ (xx.xKB[B,MB])
%SizeNowNum%     ... 画像保存したときの現在のファイルサイズ数値 (xx.x)
%SizeNowUnit%    ... 画像保存したときの現在のファイルサイズ単位 (KB[B,MB])
%SizeAfter%      ... 「減色軽量化ボタン」を押した場合に変化予定のファイルサイズ (xx.xKB[B,MB]。軽量化実行前「???KB[B,MB]」)
%SizeAfterNum%   ... 「減色軽量化ボタン」を押した場合に変化予定のファイルサイズ数値 (xx.x)
%SizeAfterUnit%  ... 「減色軽量化ボタン」を押した場合に変化予定のファイルサイズ単位 (KB[B,MB])
%UndrawFocus%    ... カーソルがボタンの上に乗った状態のときテキスト全文が描画されなくなる
%UndrawPush%     ... ボタンが押された状態のときテキスト全文が描画されなくなる
%UndrawDisable%  ... ボタンが使用不可のときテキスト全文が描画されなくなる


-- #FFFFFF : FillRect : カラーコードテキスト
--------------------------------------------------------------------------------
ほぼ、PriScVistaの設定「背景色」をボタン上に描画するため用のコマンド

- #FFFFFF  : ***_DrawArea.pngで塗り潰し範囲を示しているカラーコードを指定 (#FFFFFF,#000000 は指定不可)
- カラーコードテキスト  : 塗り潰し描画する色 (または%Word%指定)

<%Word%>
%BGColor%  ... 背景色で塗り潰しされる
%UndrawFocus%    ... カーソルがボタンの上に乗った状態のとき描画されなくなる
%UndrawPush%     ... ボタンが押された状態のとき描画されなくなる
%UndrawDisable%  ... ボタンが使用不可のとき描画されなくなる


-- @MenuSize : x, y
--------------------------------------------------------------------------------
スキンメニューのデフォルトウィンドウサイズを指定(影込み)

- x  : ウィンドウの幅
- y  : ウィンドウの高さ

<x,y>
数値はディスプレイの「拡大/縮小」値が100%のときの見た目となる数値。
例えばディスプレイが200%で表示している場合、x=150なら使用中のディスプレイで300ピクセル幅のウィンドウが表示される。


-- @Font : フォント名(, p1)
--------------------------------------------------------------------------------
以降のDrawTextコマンドに反映されるフォント設定

- フォント名  : 「ＭＳ Ｐゴシック」などのフォント名
- p1  : フォントスタイル (省略時=装飾なし)

<p1>
フォントスタイル
0=装飾なし, 1=太文字, 2=イタリック体, 4=下線, 8=打ち消し線, 16=アンチエイリアス
数値を合計することで複数のスタイルを同時に指定することも可能。

** DrawTextコマンドでパラメータを指定している場合はDrawTextコマンド側が優先されます。


-- @FontSize : (p1, p2)
--------------------------------------------------------------------------------
以降のDrawTextコマンドに反映されるフォントサイズ設定

- p1  : フォントサイズ (省略時=標準設定に戻る)
- p2  : フォントの縦横比の実数[例えば0.8など] (省略時=1.0)

<p1>
省略(または0を指定)した場合、元の「***_DrawArea.pngで指定されたテキスト範囲の高さいっぱいの大きさ」指定に戻ります。

** DrawTextコマンドでパラメータを指定している場合はDrawTextコマンド側が優先されます。


-- @Color : #FFFFFF(FF)/R, G, B (, A)
--------------------------------------------------------------------------------
以降のDrawTextコマンド(またはFillRectコマンドのテキスト省略時)に反映されるカラー設定。
(カラーコード指定、0～255指定 のどちらかを記述)

- #FFFFFF(FF)  : カラーコードで指定。(7,8桁目=アルファ値[省略可]。色の透明度を指定。)
+ R, G, B(, A)  : 0～255の数値で指定。(A=アルファ値[省略可]。色の透明度を指定。)


-- 注意事項
----------------------------------------
* ファイルの文字コードはShift-JIS。
  UTF-8でも作成できますが、読み込み時にShift-JISに変換されるのでShift-JISで扱えない文字は文字化けします。
* 英語環境で使っている場合はskin_en.txtを読み込みます。



- 各pngファイルについて
================================================================================
各ボタンの状態によってそれぞれの画像を表示することでスキンメニューの画面を構成しています。
ButtonArea.png で役割ごとのボタン範囲を色分けし、skin.txt でその色分けがどのボタンの役割かを指定します。

-- Background.png
--------------------------------------------------------------------------------
ベースとなる背景画像。影込みで描画してください。


-- ButtonArea.png
--------------------------------------------------------------------------------
役割ごとのボタン範囲を色分け。
- 役割ごとの色は何色でも構いません。skin.txt の「#FFFFFF : ボタンID」コマンドのカラーコードと対応させてください。
- 色分け範囲は必ず四角形として認識されます。(画像中で角を丸くしてもその角を含めた四角形がボタン扱いとなります。)
- Background.png の影となる部分はRGB(0,0,0)で塗り潰してください。その範囲は影だと認識し、メニューウィンドウ範囲外として扱います。
  (↑ 正しくは、透明部分またはRGB(255,255,255)部分の四角形をメニューウィンドウ内だと認識しています。)


-- NormalButton, FocusedButton, PushedButton, DisabledButton .png
--------------------------------------------------------------------------------
ボタンの 通常状態、フォーカス状態、押下状態、使用不可状態 で表示する画像が変わります。
画像は以下の順で重ねて表示されます。
  Pushed (左クリック押し込み)
   ↑
  Focused (カーソルを乗せた)
   ↑
  Normal (通常)
透明度を持った画像を使用すれば、例えばフォーカスはボタンの周りだけを強調表示すれば良いとき等で利用できます。
ただし、減色軽量化ボタンは ON,OFF のような操作が加わりますので最初のOFF時は上記の重なり順、ON時は下記の重なり順となります。
  Normal (左クリック押し込み)
   ↑
  Focused (カーソルを乗せた)
   ↑
  Pushed (通常)

クイックオプションである以下3つのコマンドのチェック状態は PushedButton.png に描いてください。
- Option_SetBackgroundTransparent  ... 背景を透過にする(αPNG) / 背景色を敷く(他フォーマット)
- Option_CaptureWithShadow         ... 影付きでキャプチャする
- Option_CaptureWithCursor         ... マウスカーソルもキャプチャする

DisabledButton.png のボタンは以下の6つだけ用意すれば問題ありません。
- Capture_LastRegion               ... 前回と同じ領域をキャプチャ
- Capture_Chrome                   ... Webページ全体をキャプチャ（Chrome自動操作）
- Tool_OpenFile                    ... 最後に保存したファイルを開く
- Tool_EditFile                    ... 最後に保存したファイルを編集
- Tool_OpenFolder                  ... 保存フォルダを開く
- Tool_ReduceColor                 ... 減色して軽量化 / フルカラーに戻す


-- ***_DrawArea.png
--------------------------------------------------------------------------------
Background, NormalButton, FocusedButton, PushedButton, DisabledButton .png にテキストを追加したいときに用意してください。
skin.txt で DrawText, FillRect コマンドを指定してそれぞれの色分けした範囲にテキスト(または色塗り潰し)を追加します。


