Spec-Zone.ru › Elisp

Получение событий полосы прокрутки

Эти функции полезны для декодирования событий полосы прокрутки.

Функция: scroll-bar-event-ratio событие

Эта функция возвращает дробную вертикальную позицию события полосы прокрутки внутри полосы прокрутки. Значение представляет собой ячейку списка (portion . whole) содержащую два целых числа, отношение которых соответствует дробной позиции.

Функция: scroll-bar-scale отношение общее значение

Эта функция умножает (в действительности) отношение на общее значение, округляя результат до целого числа. Аргумент отношение — не число, а пара (num . denom)—обычно значение, возвращаемое scroll-bar-event-ratio.

Эта функция удобна для масштабирования позиции на полосе прокрутки в позицию буфера. Вот как это сделать:

(+ (point-min)
   (scroll-bar-scale
      (posn-x-y (event-start event))
      (- (point-max) (point-min))))

Напомним, что события полосы прокрутки содержат два целых числа, образующих отношение, вместо пары координат x и y.

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/Accessing-Scroll.html

Spec-Zone.ru

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