# Theme Editor

テーマはTera Termの背景、文字の色、または、両方を一括して扱う仕組み。
Theme Editorはテーマの編集を行う。
各タブで設定を行う。
[OK] で動作中のTera Termに反映され、[Cancel] で反映されずに破棄される。

preview/file tab
  テーマの一時的な設定(preview),テーマファイルの読み込みと書き出し
Backgroud tab
  BG(背景画像)に関する設定を行う
color tab
  文字の色に関する設定を行う

テーマファイルについて

## TODO

- BGSPIPath(画像を読み込むのに用いる、Susie Plugin が格納されているフォルダを指定します。)の 設定GUIを作る

## preview/file tab

preview
テーマの一時的な設定(preview)、やり直し(undo)を行う

[preview]
  設定したテーマを一時的に設定(preview)する
[undo]
  変更したテーマをダイアログを開く前の状態に戻す

file
テーマファイルからテーマを読み込み、テーマを保存する

[load]
  テーマファイルを読み込む
[save]
  設定中のテーマをファイルに書き出す
  BGテーマ、Colorテーマを書き出すかを選択できる

## Backgroud tab(背景テーマ)

*注意* 背景画像を表示するため、文字の背景は無効化される。

上から順に背景画像が合成されていく。

Base Color
  背景画像を使用しない場合はこの色で塗りつぶされる。背景画像が描画されない部分がある場合もこの色で塗りつぶされる。
Backgroud Image
  背景画像を指定する。
  描画方法は次の中から選択する
  stretch
  tile
  center
  fit_width
  fit_height
  autofit
  autofill
    TODO 詳細を調べて書く
desktop wallpaper image
  Windowsの壁紙画像をアルファブレンドする。
simple color plane
  単色をアルファブレンドする。
  例:背景画像,壁紙をブレンドした状態で少し暗くする場合は、000000を128の割合でアルファブレンドする。
文字反転時の文字BG部分と背景画像のアルファブレンド
  文字反転時の文字BG部分と背景画像のアルファブレンド値を指定する

## color tab(カラーテーマ)

*注意* 背景画像を表示しているとき、文字の背景は無効化される。

カラーテーマはデフォルト色に上書きして色が設定される。
デフォルト色はTERATERM.INI で設定される。
iniファイル内で設定しない色はデフォルト色となる。

このタブでは次のことができる

- 色の設定
- デフォルトの色に戻す

色の設定はリストで色を選んで右クリック(orダブルクリック)

今のところ commctrlのカラーピッカーを使用。
Tera Term内のカラーピッカーに切り替えるか?

設定した色を表示する例

    wget https://osdn.net/projects/ttssh2/scm/svn/blobs/head/trunk/tests/256colors2.pl?export=raw -O - | perl
    wget https://osdn.net/projects/ttssh2/scm/svn/blobs/head/trunk/tests/colortable16.sh?export=raw -O - | sh
    wget https://osdn.net/projects/ttssh2/scm/svn/blobs/head/trunk/tests/color-sgr-decscnm.pl?export=raw -O - | perl

[default]
  デフォルト色を設定

## 背景テーマのOverview

Tera Term の背景画像は次のように合成される。

## 色設定のOverview

Tera Term 5 alpha 時点の仕様

    +------------+          +-----------------------------------+         +---------+        +----------+
    |TERATERM.INI| read     |Tera Term                          |         |Theme    |        |Theme File|
    |            | (Startup)| +---------+          +----------+ |(launch) |Editor   |  Save  | INI      |
    | Default    +------------>         | Startup  |          +----------->         +------->+          |
    |  Colors    |          | | Default +----------> Draw     | |         |         |        | Colors   |
    |            <------------+  Colors | Load     |  Colors  <-----------+         +<-------+          |
    |            |  Write   | |         | Default  |          | |   OK    |         |  Load  |          |
    |            |          | +---------+          +----------+ |         |         |        |          |
    +------------+          +-----------------------------------+         +---------+        +----------+

- Tera Termのデフォルト色はTERATERM.INIから読み込む
  描画色はデフォルト色となる
  起動時に読み込むthemefileを指定していて、カラーテーマが含まれていると、テーマの色となる
- Theme Editorで色をロード,編集してokを押すとTera Termの描画用の色となる
- TERATERM.INIに保存するとデフォルト色が保存される
- 描画色をデフォルト色に持っていくことはできない

## デフォルト色について

デフォルト色とフォントは TERATERM.INI の次のキーワードで設定できる

    | Attr \ ini    | font on/off       | color on/off           | color(R,G,B,R,G,B) |
    |---------------|-------------------|------------------------|--------------------|
    | Normal        | -                 | -                      | VTColor            |
    | Bold          | EnableBold        | EnableBoldAttrColor    | VTBoldColor        |
    | Blink         | -                 | EnableBlinkAttrColor   | VTBlinkColor       |
    | Reverse       | -                 | EnableReverseAttrColor | VTReverseColor     |
    | URL Underline | URLUnderline      | EnableURLColor         | URLColor           |
    | Underline     | UnderlineAttrFont | UnderlineAttrColor     | VTUnderlineColor   |