Changeset 896

Show
Ignore:
Timestamp:
05/24/06 01:47:56 (3 years ago)
Author:
arjanmol
Message:

--

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/gaphas/painter.py

    r884 r896  
    2323 
    2424    def paint(self, context): 
     25        """Do the paint action (called from the View). 
     26        """ 
    2527        pass 
    2628 
     
    3537 
    3638    def append(self, painter): 
     39        """Add a painter to the list of painters. 
     40        """ 
    3741        self._painters.append(painter) 
    3842 
    3943    def prepend(self, painter): 
     44        """Add a painter to the beginning of the list of painters. 
     45        """ 
    4046        self._painters.insert(0, painter) 
    4147 
    4248    def paint(self, context): 
     49        """See Painter.paint(). 
     50        """ 
    4351        for painter in self._painters: 
    4452            painter.paint(context) 
     
    6977 
    7078    def _draw_item(self, item, view, cairo): 
    71             cairo.save() 
    72             try: 
    73                 cairo.set_matrix(view.matrix) 
    74                 cairo.transform(view.canvas.get_matrix_i2w(item)) 
    75  
    76                 item.draw(DrawContext(painter=self, 
    77                                       view=view, 
    78                                       cairo=cairo, 
    79                                       parent=view.canvas.get_parent(item), 
    80                                       children=view.canvas.get_children(item), 
    81                                       selected=(item in view.selected_items), 
    82                                       focused=(item is view.focused_item), 
    83                                       hovered=(item is view.hovered_item))) 
    84  
    85                 if DEBUG_DRAW_BOUNDING_BOX: 
    86                     b = view.get_item_bounding_box(item) 
    87                     cairo.save() 
    88                     cairo.identity_matrix() 
    89                     cairo.set_source_rgb(.8, 0, 0) 
    90                     cairo.set_line_width(1.0) 
    91                     cairo.rectangle(b[0], b[1], b[2] - b[0], b[3] - b[1]) 
    92                     cairo.stroke() 
    93                     cairo.restore() 
    94             finally: 
     79        cairo.save() 
     80        try: 
     81            cairo.set_matrix(view.matrix) 
     82            cairo.transform(view.canvas.get_matrix_i2w(item)) 
     83 
     84            item.draw(DrawContext(painter=self, 
     85                                  view=view, 
     86                                  cairo=cairo, 
     87                                  parent=view.canvas.get_parent(item), 
     88                                  children=view.canvas.get_children(item), 
     89                                  selected=(item in view.selected_items), 
     90                                  focused=(item is view.focused_item), 
     91                                  hovered=(item is view.hovered_item))) 
     92 
     93            if DEBUG_DRAW_BOUNDING_BOX: 
     94                b = view.get_item_bounding_box(item) 
     95                cairo.save() 
     96                cairo.identity_matrix() 
     97                cairo.set_source_rgb(.8, 0, 0) 
     98                cairo.set_line_width(1.0) 
     99                cairo.rectangle(b[0], b[1], b[2] - b[0], b[3] - b[1]) 
     100                cairo.stroke() 
    95101                cairo.restore() 
     102        finally: 
     103            cairo.restore() 
    96104 
    97105    def _draw_items(self, items, view, cairo):