これらの関数は、スクロールバーイベントのデコードに役立ちます。
この関数は、スクロールバー内におけるスクロールバーイベントの垂直方向の小数位置を返します。値は、比率が小数位置となる2つの整数を含むコンスセル
(portion . whole) です。
この関数は(実質的に)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つの整数が用いられることを思い出してください。