Beispiel #1
0
Datei: caw.py Projekt: Roger/caw
    def _update_background(self, *_):
        #print "updating background"
        conn = self.connection
        rp = self._root_pixmap()
        if rp is not None:
            conn.core.CopyArea(rp,
                self.back_pixmap,
                self._gc,
                self.x, self.y,
                0,0,
                self.width, self.height)

        self.set_source(self._back_cairo_c, self.bg, self.shading, self.height)
        cawc.cairo_set_line_width(self._back_cairo_c, 4)
        cawc.cairo_rectangle(self._back_cairo_c, 0, 0, self.width, self.height);
        cawc.cairo_fill(self._back_cairo_c)

        i = 0
        r,g,b = self.rgb(self.border)
        cawc.cairo_set_line_width(self._back_cairo_c, 1.0)
        cawc.cairo_set_source_rgba(self._back_cairo_c, r, g, b, 1.0)
        while i < self.border_width:
            cawc.cairo_rectangle(self._back_cairo_c, i, i, self.width-2*i-1, self.height-2*i-1);
            cawc.cairo_stroke(self._back_cairo_c)
            i+=1
Beispiel #2
0
Datei: caw.py Projekt: Roger/caw
 def set_source(self, cairo, color, shading, height):
     a = shading / 255.
     if isinstance(color, tuple) or isinstance(color, list):
         pattern = cawc.cairo_pattern_create_linear(0,0,0,height)
         step = float(height) / (len(color) - 1)
         cur = 0
         for color in self.bg:
             r,g,b = self.rgb(color)
             cawc.cairo_pattern_add_color_stop_rgba(pattern, cur, r, g, b, a)
             cur += step
         cawc.cairo_set_source(cairo, pattern)
         cawc.cairo_pattern_destroy(pattern)
     else:
         r,g,b = self.rgb(color)
         cawc.cairo_set_source_rgba(cairo, r, g, b, a)