Package conduit :: Package gtkui :: Module Util
[hide private]

Source Code for Module conduit.gtkui.Util

 1  import gtk.gdk 
 2   
 3  # 
 4  # Tango colors taken from  
 5  # http://tango.freedesktop.org/Tango_Icon_Theme_Guidelines 
 6  # 
 7  TANGO_COLOR_BUTTER_LIGHT = int("fce94fff",16) 
 8  TANGO_COLOR_BUTTER_MID = int("edd400ff",16) 
 9  TANGO_COLOR_BUTTER_DARK = int("c4a000ff",16) 
10  TANGO_COLOR_ORANGE_LIGHT = int("fcaf3eff",16) 
11  TANGO_COLOR_ORANGE_MID = int("f57900",16) 
12  TANGO_COLOR_ORANGE_DARK = int("ce5c00ff",16) 
13  TANGO_COLOR_CHOCOLATE_LIGHT = int("e9b96eff",16) 
14  TANGO_COLOR_CHOCOLATE_MID = int("c17d11ff",16) 
15  TANGO_COLOR_CHOCOLATE_DARK = int("8f5902ff",16) 
16  TANGO_COLOR_CHAMELEON_LIGHT = int("8ae234ff",16) 
17  TANGO_COLOR_CHAMELEON_MID = int("73d216ff",16) 
18  TANGO_COLOR_CHAMELEON_DARK = int("4e9a06ff",16) 
19  TANGO_COLOR_SKYBLUE_LIGHT = int("729fcfff",16) 
20  TANGO_COLOR_SKYBLUE_MID = int("3465a4ff",16) 
21  TANGO_COLOR_SKYBLUE_DARK = int("204a87ff",16) 
22  TANGO_COLOR_PLUM_LIGHT = int("ad7fa8ff",16) 
23  TANGO_COLOR_PLUM_MID = int("75507bff",16) 
24  TANGO_COLOR_PLUM_DARK = int("5c3566ff",16) 
25  TANGO_COLOR_SCARLETRED_LIGHT = int("ef2929ff",16) 
26  TANGO_COLOR_SCARLETRED_MID = int("cc0000ff",16) 
27  TANGO_COLOR_SCARLETRED_DARK = int("a40000ff",16) 
28  TANGO_COLOR_ALUMINIUM1_LIGHT = int("eeeeecff",16) 
29  TANGO_COLOR_ALUMINIUM1_MID = int("d3d7cfff",16) 
30  TANGO_COLOR_ALUMINIUM1_DARK = int("babdb6ff",16) 
31  TANGO_COLOR_ALUMINIUM2_LIGHT = int("888a85ff",16) 
32  TANGO_COLOR_ALUMINIUM2_MID = int("555753ff",16) 
33  TANGO_COLOR_ALUMINIUM2_DARK = int("2e3436ff",16) 
34  TRANSPARENT_COLOR = int("00000000",16) 
35   
36  # 
37  # Color conversion utility functions 
38  # 
39 -def str2gdk(name):
40 return gtk.gdk.color_parse(name)
41
42 -def int2gdk(i):
43 red = (i >> 24) & 0xff 44 green = (i >> 16) & 0xff 45 blue = (i >> 8) & 0xff 46 return gtk.gdk.Color(red * 256, green * 256, blue * 256)
47
48 -def gdk2intrgba(color, a=0xff):
49 return (color.red / 256 << 24) \ 50 | (color.green / 256 << 16) \ 51 | (color.blue / 256 << 8) \ 52 | 0xff
53
54 -def gdk2intrgb(color):
55 return (color.red / 256 << 16) \ 56 | (color.green / 256 << 8) \ 57 | (color.blue / 256 )
58
59 -def gdk2rgb(color):
60 return (color.red / 65535.0, color.green / 65535.0, color.blue / 65535.0)
61
62 -def gdk2rgba(color, a=1):
63 return (color.red / 65535.0, color.green / 65535.0, color.blue / 65535.0, a)
64
65 -def convert(color, converter):
66 if isinstance(color, gtk.gdk.Color): 67 pass 68 elif type(color) == type(0) or type(color) == type(0l): 69 color = int2gdk(color) 70 elif type(color) == type(''): 71 color = str2gdk(color) 72 else: 73 raise TypeError('%s is not a known color type' % type(color)) 74 return converter(color)
75
76 -def to_int(color):
77 return convert(color, gdk2int)
78
79 -def to_rgb(color):
80 return convert(color, gdk2rgb)
81
82 -def to_rgba(color):
83 return convert(color, gdk2rgba)
84