22.7.16 访问滚动条事件

这些函数可用于解析滚动条事件。

Function: scroll-bar-event-ratio event

该函数返回滚动条事件在滚动条内的垂直位置占比(以分数形式表示)。返回值为一个 cons 单元 (portion . whole),其中包含两个整数,二者的比值即为该分数形式的位置。

Function: scroll-bar-scale ratio total

该函数实际上是将 ratio 乘以 total,并将结果四舍五入为整数。参数 ratio 并非 数值类型,而是一个序对 (num . denom)—通常是 scroll-bar-event-ratio 函数返回的值。

此函数便于将滚动条上的位置换算为缓冲区位置,具体用法如下:

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

需注意,滚动条事件使用两个构成比值的整数,而非一对 x、y 坐标。

emacs

Emacs

org-mode

Orgmode

Donations

打赏

Copyright

© Jasper Hsu

Creative Commons

Creative Commons

Attribute

Attribute

Noncommercial

Noncommercial

Share Alike

Share Alike