スクリプトで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
Translate »