スクリプトでShade3Dのウィンドウ配色を取得
ウィジットの実装で、HTMLのインターフェスの背景色や文字色、選択色を
Shade3Dのウィンドウの配色に合わせたい場合があります。
これはスクリプトでの情報取得と定型の計算が必要になります。
以下の要素をスクリプトから取得します。
- ウィンドウ背景色
- テキスト色
- 選択時のボタン色
- 枠の色
# ウィンドウ背景色.
backColor = [0.0, 0.0, 0.0]
v = (xshade.preference().base_brightness + 1.0) * 0.44
backColor[0] = v
backColor[1] = v
backColor[2] = v
# テキスト色.
textColor = [0.0, 0.0, 0.0]
if xshade.preference().base_brightness <= 0.2:
textColor = [1.0, 1.0, 1.0]
# 選択時のボタン色.
buttonBackColor = xshade.preference().selected_control_color
# 枠の色.
boxColor = [0.0, 0.0, 0.0]
v = (0.44 * (xshade.preference().base_brightness + 1.0)) / 0.7
boxColor[0] = v
boxColor[1] = v
boxColor[2] = v
# 色情報を16進数の文字列に.
def convColorToString (val):
iVal = int(val[0] * 255.0)
strR = '%02x' % iVal
iVal = int(val[1] * 255.0)
strG = '%02x' % iVal
iVal = int(val[2] * 255.0)
strB = '%02x' % iVal
return '#' + strR + strG + strB
backColorStr = convColorToString(backColor) # ウィンドウ背景色
textColorStr = convColorToString(textColor) # ウィンドウテキスト色
buttonBackColorStr = convColorToString(buttonBackColor) # 選択時のボタンの色
boxColorStr = convColorToString(boxColor) # 枠の色
初期状態では、それぞれ以下の値が入ります。
backColorStr = #707070
textColorStr = #ffffff
buttonBackColorStr = #e9f700
boxColorStr = #a0a0a0