|There's more than one way to do things|
getting visible area of Tk::Scrolled?by halley (Prior)
|on Sep 16, 2011 at 18:39 UTC||Need Help??|
halley has asked for the
wisdom of the Perl Monks concerning the following question:
I am playing around some more with Tk::Canvas, and in particular, the scrolled variety. The scrollbar mechanisms seem really primitive.
I've constructed a Scrolled Canvas, which apparently returns a ref of type Tk::Frame. That must have the children, including a Canvas and a couple of Scrollbars.
I also found the Tk::Autoscroll class, which didn't come with my build of Perl/Tk, but was easy enough to add.
When dragging around an item in a large scrolled canvas, I want to auto-scroll to keep the dragged item in view. This doesn't seem so hard, except knowing where the scroller is viewing at the current time.
I can't figure out the way to go from a blessed Canvas ref (given in the drag events), to calculate or query the area of the scrollregion that is currently visible.
Before I go digging farther, I bet someone already has some code that calculates the visible area.