Spec-Zone.ru › Elisp

Вертикальное дробное прокручивание

Вертикальное дробное прокручивание означает сдвиг текста в окне вверх или вниз на указанное кратное или дробное значение строки. Emacs использует его, например, для изображений и строк экрана, которые выше окна. Каждое окно имеет вертикальную позицию прокрутки, которая представляет собой число, никогда не меньшее нуля. Она определяет, насколько нужно поднять содержимое окна при его отображении. Поднятие содержимого окна обычно приводит к тому, что вся или часть некоторых строк исчезают сверху, а вся или часть других строк появляются внизу. Обычно значение равно нулю.

Вертикальная позиция прокрутки измеряется в единицах стандартной высоты строки, которая соответствует высоте шрифта по умолчанию. Таким образом, если значение равно 0,5, это означает, что содержимое окна будет прокручено вверх на половину стандартной высоты строки. Если оно равно 3,3, это означает, что содержимое окна будет прокручено вверх на чуть более чем в три раза превышающей стандартную высоту строки.

Какую часть строки охватывает вертикальная прокрутка или сколько строк, зависит от того, что содержат строки. Значение 0,5 может прокрутить строку очень малой высоты за пределы экрана, в то время как значение 3,3 может прокрутить только часть длинной строки или изображения.

Функция: window-vscroll &optional window pixels-p

Эта функция возвращает текущую вертикальную позицию прокрутки окна window. Значение по умолчанию для window — выбранное окно. Если pixels-p отлична от nil, возвращаемое значение измеряется в пикселях, а не в единицах стандартной высоты строки.

(window-vscroll)
     ⇒ 0
Функция: set-window-vscroll window lines &optional pixels-p

Эта функция устанавливает вертикальную позицию прокрутки окна window на значение lines. Если window — nil, используется выбранное окно. Аргумент lines должен быть равен нулю или положительным; в противном случае он принимается равным нулю.

Фактическая вертикальная позиция прокрутки должна всегда соответствовать целому числу пикселей, поэтому указанное вами значение округляется соответствующим образом.

Возвращаемое значение — результат этого округления.

(set-window-vscroll (selected-window) 1.2)
     ⇒ 1.13

Если pixels-p отлична от nil, lines задаёт количество пикселей. В этом случае возвращаемое значение равно lines.

Переменная: auto-window-vscroll

Если эта переменная отлична от nil, функции line-move, scroll-up, и scroll-down автоматически изменят вертикальную позицию прокрутки, чтобы прокручивать строки отображения, которые выше окна, например, при наличии больших изображений.

Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Vertical-Scrolling.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API