GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/elisp/Accessing-Scroll.html ・ emacs-doc.conao3.com

22.7.16 スクロールバーイベントへのアクセス

これらの関数は、スクロールバーイベントのデコードに役立ちます。

関数: scroll-bar-event-ratio event

この関数は、スクロールバー内におけるスクロールバーイベントの垂直方向の小数位置を返します。値は、比率が小数位置となる2つの整数を含むコンスセル (portion . whole) です。

関数: 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座標のペアの代わりに、比率をなす2つの整数が用いられることを思い出してください。