2
# -*- coding: utf-8 -*-
5
# a redefinition of senses
7
__authors__ = ["Jan Jokela <janjokela@gmail.com>"]
8
__licenses__ = ["LICENSE.LGPL"]
9
__description__ = "Slider filled area texture"
14
from cluttercairo import CairoTexture
16
class Texture(CairoTexture):
17
""" A CairoTexture for the filled area of a slider """
19
def __init__(self, width, height):
21
if width is 0 or height is 0:
25
CairoTexture.__init__(self, width, height)
30
self.context = self.cairo_create()
32
#self.context.set_line_width(self.height * 0.01)
33
#self.context.set_source_rgba(1.0, 1.0, 1.0, 1.0)
34
#self.context.rectangle(0.0, 0.0, self.width, self.height)
36
linpat = cairo.LinearGradient(self.width / 2.0, 0.0, self.width / 2.0, self.height);
38
linpat.add_color_stop_rgba (0.0, 0.7, 0.7, 1.0, 1.0);
39
linpat.add_color_stop_rgba (0.45, 0.5, 0.5, 0.8, 1.0);
40
linpat.add_color_stop_rgba (0.45, 0.5, 0.5, 0.8, 1.0);
41
linpat.add_color_stop_rgba (0.55, 0.1, 0.1, 0.5, 1.0);
42
linpat.add_color_stop_rgba (0.55, 0.1, 0.1, 0.5, 1.0);
43
linpat.add_color_stop_rgba (1.0, 0.3, 0.3, 0.7, 1.0);
45
self.context.arc(self.height * 0.5, self.height * 0.5,
46
self.height * 0.5, math.pi, 3.0 * math.pi / 2.0)
47
self.context.line_to(self.width, 0.0)
48
self.context.line_to(self.width, self.height)
49
self.context.line_to(self.height * 0.5, self.height)
50
self.context.arc(self.height * 0.5,
51
self.height - (self.height * 0.5),
56
self.context.close_path()
57
#self.context.set_source_rgba(0.0, 1.0, 0.0, 1.0)
58
self.context.set_source(linpat)