1# Copyright (c) 2012, GPy authors (see AUTHORS.txt).
2# Licensed under the BSD 3-clause license (see LICENSE.txt)
3
4colorsHex = {\
5"Aluminium6":"#2e3436",\
6"Aluminium5":"#555753",\
7"Aluminium4":"#888a85",\
8"Aluminium3":"#babdb6",\
9"Aluminium2":"#d3d7cf",\
10"Aluminium1":"#eeeeec",\
11"lightPurple":"#ad7fa8",\
12"mediumPurple":"#75507b",\
13"darkPurple":"#5c3566",\
14"lightBlue":"#729fcf",\
15"mediumBlue":"#3465a4",\
16"darkBlue": "#204a87",\
17"lightGreen":"#8ae234",\
18"mediumGreen":"#73d216",\
19"darkGreen":"#4e9a06",\
20"lightChocolate":"#e9b96e",\
21"mediumChocolate":"#c17d11",\
22"darkChocolate":"#8f5902",\
23"lightRed":"#ef2929",\
24"mediumRed":"#cc0000",\
25"darkRed":"#a40000",\
26"lightOrange":"#fcaf3e",\
27"mediumOrange":"#f57900",\
28"darkOrange":"#ce5c00",\
29"lightButter":"#fce94f",\
30"mediumButter":"#edd400",\
31"darkButter":"#c4a000"}
32
33darkList = [colorsHex['darkBlue'],colorsHex['darkRed'],colorsHex['darkGreen'], colorsHex['darkOrange'], colorsHex['darkButter'], colorsHex['darkPurple'], colorsHex['darkChocolate'], colorsHex['Aluminium6']]
34mediumList = [colorsHex['mediumBlue'], colorsHex['mediumRed'],colorsHex['mediumGreen'], colorsHex['mediumOrange'], colorsHex['mediumButter'], colorsHex['mediumPurple'], colorsHex['mediumChocolate'], colorsHex['Aluminium5']]
35lightList = [colorsHex['lightBlue'], colorsHex['lightRed'],colorsHex['lightGreen'], colorsHex['lightOrange'], colorsHex['lightButter'], colorsHex['lightPurple'], colorsHex['lightChocolate'], colorsHex['Aluminium4']]
36
37def currentDark():
38    return darkList[-1]
39def currentMedium():
40    return mediumList[-1]
41def currentLight():
42    return lightList[-1]
43
44def nextDark():
45    darkList.append(darkList.pop(0))
46    return darkList[-1]
47def nextMedium():
48    mediumList.append(mediumList.pop(0))
49    return mediumList[-1]
50def nextLight():
51    lightList.append(lightList.pop(0))
52    return lightList[-1]
53
54def reset():
55    while not darkList[0]==colorsHex['darkBlue']:
56        darkList.append(darkList.pop(0))
57    while not mediumList[0]==colorsHex['mediumBlue']:
58        mediumList.append(mediumList.pop(0))
59    while not lightList[0]==colorsHex['lightBlue']:
60        lightList.append(lightList.pop(0))
61
62def hex2rgb(hexcolor):
63    hexcolor = [hexcolor[1+2*i:1+2*(i+1)] for i in range(3)]
64    r,g,b = [int(n,16) for n in hexcolor]
65    return (r,g,b)
66
67colorsRGB = dict([(k,hex2rgb(i)) for k,i in colorsHex.items()])
68
69cdict_RB = {'red' :((0.,colorsRGB['mediumRed'][0]/256.,colorsRGB['mediumRed'][0]/256.),
70                     (.5,colorsRGB['mediumPurple'][0]/256.,colorsRGB['mediumPurple'][0]/256.),
71                     (1.,colorsRGB['mediumBlue'][0]/256.,colorsRGB['mediumBlue'][0]/256.)),
72            'green':((0.,colorsRGB['mediumRed'][1]/256.,colorsRGB['mediumRed'][1]/256.),
73                     (.5,colorsRGB['mediumPurple'][1]/256.,colorsRGB['mediumPurple'][1]/256.),
74                     (1.,colorsRGB['mediumBlue'][1]/256.,colorsRGB['mediumBlue'][1]/256.)),
75            'blue':((0.,colorsRGB['mediumRed'][2]/256.,colorsRGB['mediumRed'][2]/256.),
76                      (.5,colorsRGB['mediumPurple'][2]/256.,colorsRGB['mediumPurple'][2]/256.),
77                      (1.,colorsRGB['mediumBlue'][2]/256.,colorsRGB['mediumBlue'][2]/256.))}
78
79cdict_BGR = {'red' :((0.,colorsRGB['mediumBlue'][0]/256.,colorsRGB['mediumBlue'][0]/256.),
80                     (.5,colorsRGB['mediumGreen'][0]/256.,colorsRGB['mediumGreen'][0]/256.),
81                     (1.,colorsRGB['mediumRed'][0]/256.,colorsRGB['mediumRed'][0]/256.)),
82            'green':((0.,colorsRGB['mediumBlue'][1]/256.,colorsRGB['mediumBlue'][1]/256.),
83                     (.5,colorsRGB['mediumGreen'][1]/256.,colorsRGB['mediumGreen'][1]/256.),
84                     (1.,colorsRGB['mediumRed'][1]/256.,colorsRGB['mediumRed'][1]/256.)),
85            'blue':((0.,colorsRGB['mediumBlue'][2]/256.,colorsRGB['mediumBlue'][2]/256.),
86                      (.5,colorsRGB['mediumGreen'][2]/256.,colorsRGB['mediumGreen'][2]/256.),
87                      (1.,colorsRGB['mediumRed'][2]/256.,colorsRGB['mediumRed'][2]/256.))}
88
89
90cdict_Alu = {'red' :((0./5,colorsRGB['Aluminium1'][0]/256.,colorsRGB['Aluminium1'][0]/256.),
91                     (1./5,colorsRGB['Aluminium2'][0]/256.,colorsRGB['Aluminium2'][0]/256.),
92                     (2./5,colorsRGB['Aluminium3'][0]/256.,colorsRGB['Aluminium3'][0]/256.),
93                     (3./5,colorsRGB['Aluminium4'][0]/256.,colorsRGB['Aluminium4'][0]/256.),
94                     (4./5,colorsRGB['Aluminium5'][0]/256.,colorsRGB['Aluminium5'][0]/256.),
95                     (5./5,colorsRGB['Aluminium6'][0]/256.,colorsRGB['Aluminium6'][0]/256.)),
96           'green' :((0./5,colorsRGB['Aluminium1'][1]/256.,colorsRGB['Aluminium1'][1]/256.),
97                     (1./5,colorsRGB['Aluminium2'][1]/256.,colorsRGB['Aluminium2'][1]/256.),
98                     (2./5,colorsRGB['Aluminium3'][1]/256.,colorsRGB['Aluminium3'][1]/256.),
99                     (3./5,colorsRGB['Aluminium4'][1]/256.,colorsRGB['Aluminium4'][1]/256.),
100                     (4./5,colorsRGB['Aluminium5'][1]/256.,colorsRGB['Aluminium5'][1]/256.),
101                     (5./5,colorsRGB['Aluminium6'][1]/256.,colorsRGB['Aluminium6'][1]/256.)),
102            'blue' :((0./5,colorsRGB['Aluminium1'][2]/256.,colorsRGB['Aluminium1'][2]/256.),
103                     (1./5,colorsRGB['Aluminium2'][2]/256.,colorsRGB['Aluminium2'][2]/256.),
104                     (2./5,colorsRGB['Aluminium3'][2]/256.,colorsRGB['Aluminium3'][2]/256.),
105                     (3./5,colorsRGB['Aluminium4'][2]/256.,colorsRGB['Aluminium4'][2]/256.),
106                     (4./5,colorsRGB['Aluminium5'][2]/256.,colorsRGB['Aluminium5'][2]/256.),
107                     (5./5,colorsRGB['Aluminium6'][2]/256.,colorsRGB['Aluminium6'][2]/256.))}
108