Updates the internal scroll parameters.
capi
update-internal-scroll-parameters pane scroll-dimension scroll-operation scroll-value
| pane⇩ | 
A pane that supports scrolling. | 
| scroll-dimension⇩ | :horizontal,:verticalor:pan. | 
| scroll-operation⇩ | :drag,:move,:stepor:page. | 
| scroll-value⇩ | 
An integer, or a list of two integers, or a keyword, or a list of two keywords. | 
The function update-internal-scroll-parameters updates the internal scroll parameters of pane (the ones you read by with-geometry, or get-horizontal-scroll-parameters and get-vertical-scroll-parameters), according to its arguments. The arguments pane, scroll-dimension, scroll-operation and scroll-value are interpreted the same way as the arguments to scroll. update-internal-scroll-parameters does not affect the display and does not perform any drawing.
update-internal-scroll-parameters is needed only when pane is an output-pane created with initargs :coordinate-origin :fixed or :coordinate-origin :fixed-graphics (see 12.4 output-pane scrolling). It normally should not be used when :coordinate-origin is not supplied or :coordinate-origin :scrolled is supplied (the default).
The other way of setting the scroll parameters is using set-horizontal-scroll-parameters and set-vertical-scroll-parameters.
update-internal-scroll-parameters is intended to be used in your scroll-callback (see simple-pane and 12.4 output-pane scrolling). It changes the internal parameters in the same way that ordinary scrolling would change them for the same arguments, so it gives a consistent behavior with the rest of the application. You will still need to draw the appropriate things in the display-callback.
For example, scrolling needs to update the display based on the values of the scroll parameters before and after the scrolling happened, you can define a scroll-callback like this:
(defun my-scroll-callback (self scroll-dimension
                                scroll-operation 
                                scroll-value)
  (with-geometry self
    (let ((prev-scroll-x %scroll-x%)
          (prev-scroll-y %scroll-y%))
 
      (update-internal-scroll-parameters 
       self scroll-dimension 
       scroll-operation scroll-value)
 
      (let ((new-scroll-x %scroll-x%)
            (new-scroll-y %scroll-y%))
 
        (update-display self
                        prev-scroll-x prev-scroll-y 
                        new-scroll-x new-scroll-y)))))
set-horizontal-scroll-parameters
set-vertical-scroll-parameters
simple-pane
output-pane
12.4 output-pane scrolling
CAPI User Guide and Reference Manual (Unix version) - 01 Dec 2021 19:32:42