Changeset 2076

Show
Ignore:
Timestamp:
09/03/07 06:36:52 (11 months ago)
Author:
arj..@yirdis.nl
Message:

fixed flickering behaviour of scrollbars. As a bonus the canvas can scale in all directions.

Files:

Legend:

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

    r1865 r2076  
    467467 
    468468 
    469     def _update_adjustment(self, adjustment, value, canvas_size, viewport_size): 
     469    def _update_adjustment(self, adjustment, value, canvas_size, canvas_offset, viewport_size): 
    470470        """ 
    471471        >>> v = GtkView() 
     
    476476        (20.0, 20.0, 10.0) 
    477477        """ 
    478         canvas_size += viewport_size 
     478        #canvas_size += viewport_size 
     479        #canvas_offset -= viewport_size 
    479480        if viewport_size != adjustment.page_size or canvas_size != adjustment.upper: 
     481            print 'adjustment:', canvas_size, canvas_offset, adjustment.value, canvas_offset + adjustment.value, viewport_size 
    480482            adjustment.page_size = viewport_size 
    481483            adjustment.page_increment = viewport_size 
    482484            adjustment.step_increment = viewport_size/10 
    483             adjustment.upper = canvas_size 
    484             adjustment.lower = 0 
     485            adjustment.upper = adjustment.value + canvas_offset + canvas_size + viewport_size 
     486            adjustment.lower = adjustment.value + canvas_offset - viewport_size 
    485487         
    486         value = max(0, min(value, canvas_size - viewport_size)) 
    487         if value != adjustment.value: 
    488             adjustment.value = value 
     488#        value = max(0, min(value, canvas_size)) 
     489#        if value != adjustment.value: 
     490#            adjustment.value = value 
    489491 
    490492 
     
    500502                                value = self._hadjustment.value, 
    501503                                canvas_size=w, 
     504                                canvas_offset=x, 
    502505                                viewport_size=allocation.width) 
    503506        self._update_adjustment(self._vadjustment, 
    504507                                value = self._vadjustment.value, 
    505508                                canvas_size=h, 
     509                                canvas_offset=y, 
    506510                                viewport_size=allocation.height) 
    507511