View Single Post
daperl's Avatar
Posts: 2,427 | Thanked: 2,986 times | Joined on Dec 2007
#2
Maybe start with a variation of something like this:

Code:
   ...

    def __init__(s, aScrolledWindow, ...):
        ...
        s.sw = aScrolledWindow
        s.oldx = -1
        s.oldy = -1
        ...
        s.connect('button-press-event', s.on_button_press)
        s.connect('motion-notify-event', s.on_motion)
        ...

    def on_button_press(s, view, event):
        ...
        s.oldx = event.x
        s.oldy = event.y
        ...

    def on_motion(s, view, event):
        ...
        sw = s.sw
        if event.x != s.oldx:
            aux = sw.props.hadjustment.value + s.oldx - event.x
            if sw.props.hadjustment.lower <= aux and \
            aux <= sw.props.hadjustment.upper - sw.props.hadjustment.page_size:
                sw.props.hadjustment.value = aux
        if event.y != s.oldy:
            aux = sw.props.vadjustment.value + s.oldy - event.y
            if sw.props.vadjustment.lower <= aux and \
            aux <= sw.props.vadjustment.upper - sw.props.vadjustment.page_size:
                sw.props.vadjustment.value = aux
        s.oldx = event.x
        s.oldy = event.y
        ...

     ...
I originally ported/stole this from Bundyo's Tear.
__________________
N9: Go white or go home
 

The Following 3 Users Say Thank You to daperl For This Useful Post: