[PD-dev] much better scrolling algorithm (pd-extended 0.42.5)

Ivica Ico Bukvic ico at vt.edu
Wed Nov 18 16:39:23 CET 2009


> > - when you select all and mouse drag components out of the current
> > view, Pd-extended updates scrollbars immediately, Pd and Pd-devel
> > update the scrollbars once you release the mouse, and Ico's gave me
> > an
> > error saying "Error: can't read "::scroll(.x6d5610)"
> >
> > - when you resize the window, Pd-devel updates the scrollbars live, Pd-
> > extended updates live with glitches, Pd updates on release, Ico's gave
> > me an error saying "Error: can't read "::scroll(.x6d5610)"
> >
> > .hc

I think I now remember why this is--my pdtk has a feature where you can
toggle scrollbars, menu, ontop, and background color, per window in a way
that retains their properties even if they are temporarily closed (e.g. an
embedded patcher). Hence, every window at creation generates global
variables that retain that window's properties so if it is a patcher when it
is restored, it reflects whatever changes have been made to it. I use
abstractions with sys_gui extern to alter these properties (I believe I sent
all this out in an email as well).

Hence, if you don't wish to use my entire pdtk file, the
pdtk_canvas-getscroll I copied in my previous email needs to be filtered to
be used, since I have a check in there to skip the whole process if the
scrollbars have been disabled. Simply look for lines with ::scroll($name)
inside that function and circumvent them.

Another thing to test with these pdtks is checking how the detection of
borders/enabling of scrollbars is handled with larger fonts and you'll find
out that without the fix attached in my pdtk you will get scrollbars when
you shouldn't particularly the y one when using large font iemlib number
boxes (I think I sent this out in my previous email as well).

I'll try to send you an updated version of that method when I get to office.

Ico





More information about the Pd-dev mailing list