79 lines
2.7 KiB
Python
79 lines
2.7 KiB
Python
from .ColorSpace import *
|
|
|
|
class SCColorScheme:
|
|
|
|
def __init__(self, arrowColor = (0.5, 0.5, 1), rolloverColor = (0.53, 0.9, 0.53), frameColor = None, pressedColor = None, menuHolderActiveColor = None, emoteIconColor = None, textColor = (0, 0, 0), emoteIconDisabledColor = (0.5, 0.5, 0.5), textDisabledColor = (0.4, 0.4, 0.4), alpha = 0.95):
|
|
|
|
def scaleColor(color, s):
|
|
y, u, v = rgb2yuv(*color)
|
|
return yuv2rgb(y * s, u, v)
|
|
|
|
def scaleIfNone(color, srcColor, s):
|
|
if color is not None:
|
|
return color
|
|
else:
|
|
return scaleColor(srcColor, s)
|
|
return
|
|
|
|
self.__arrowColor = arrowColor
|
|
self.__rolloverColor = rolloverColor
|
|
self.__frameColor = frameColor
|
|
if self.__frameColor is None:
|
|
h, s, v = rgb2hsv(*arrowColor)
|
|
self.__frameColor = hsv2rgb(h, 0.2 * s, v)
|
|
h, s, v = rgb2hsv(*self.__frameColor)
|
|
self.__frameColor = hsv2rgb(h, 0.5 * s, v)
|
|
self.__pressedColor = scaleIfNone(pressedColor, self.__rolloverColor, 0.92)
|
|
self.__menuHolderActiveColor = scaleIfNone(menuHolderActiveColor, self.__rolloverColor, 0.84)
|
|
self.__emoteIconColor = emoteIconColor
|
|
if self.__emoteIconColor is None:
|
|
h, s, v = rgb2hsv(*self.__rolloverColor)
|
|
self.__emoteIconColor = hsv2rgb(h, 1.0, 0.8 * v)
|
|
self.__emoteIconDisabledColor = emoteIconDisabledColor
|
|
self.__textColor = textColor
|
|
self.__textDisabledColor = textDisabledColor
|
|
self.__alpha = alpha
|
|
return
|
|
|
|
def getArrowColor(self):
|
|
return self.__arrowColor
|
|
|
|
def getRolloverColor(self):
|
|
return self.__rolloverColor
|
|
|
|
def getFrameColor(self):
|
|
return self.__frameColor
|
|
|
|
def getPressedColor(self):
|
|
return self.__pressedColor
|
|
|
|
def getMenuHolderActiveColor(self):
|
|
return self.__menuHolderActiveColor
|
|
|
|
def getEmoteIconColor(self):
|
|
return self.__emoteIconColor
|
|
|
|
def getTextColor(self):
|
|
return self.__textColor
|
|
|
|
def getEmoteIconDisabledColor(self):
|
|
return self.__emoteIconDisabledColor
|
|
|
|
def getTextDisabledColor(self):
|
|
return self.__textDisabledColor
|
|
|
|
def getAlpha(self):
|
|
return self.__alpha
|
|
|
|
def __str__(self):
|
|
members = ('arrowColor', 'rolloverColor', 'frameColor', 'pressedColor', 'menuHolderActiveColor', 'emoteIconColor', 'textColor', 'emoteIconDisabledColor', 'textDisabledColor', 'alpha')
|
|
result = ''
|
|
for member in members:
|
|
result += '%s = %s' % (member, self.__dict__['_%s__%s' % (self.__class__.__name__, member)])
|
|
if member is not members[-1]:
|
|
result += '\n'
|
|
|
|
return result
|
|
|
|
def __repr__(self):
|
|
return str(self)
|