[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

resizing scrolling windows

Michel Victor writes on Wed May 19 15:11:24 1993:
> There is a function in scrolling-windows.lisp that
> changes the on-screen area of the window, but there is nothing that
> changes the scrollable area inside the window.

The scrollable area inside the window is the field-size associated
with the scroller contained in the window (ccl::my-scroller window).
Assuming you execute the sample code at the end of scrolling-window.lisp,
you create a variable ccl::foo associated with the window. To change
the field-size execute the following
   (setf (slot-value (ccl::my-scroller ccl::foo) 'ccl::field-size)
        (make-point 400 400))
Which changes the field size from 220 x 220 to 400 x 400. You will
also need to update the scroll-bars and reset the position of the
thumb controllers:
  (ccl::set-view-scroll-position (ccl::my-scroller ccl::foo)
				 (view-position (ccl::my-scroller ccl::foo)))
You can also change the scrolling position by
    (ccl::set-view-scroll-position (ccl::my-scroller ccl::foo)
				   new-h new-v)
The underlying code is in scrollers.lisp in the Library folder.