<pre><span id="VALbuffer"><span class="keyword">val</span> buffer</span> : <code class="type"><a href="Draw.Cursor.html#TYPEt">Cursor.t</a> -> <a href="Buf.html#TYPEt">Buf.t</a> -> int -> int</code></pre>
<pre><span id="VALstatus"><span class="keyword">val</span> status</span> : <code class="type"><a href="Draw.Cursor.html#TYPEt">Cursor.t</a> -> string -> unit</code></pre>
<pre><span id="VALtags"><span class="keyword">val</span> tags</span> : <code class="type"><a href="Draw.Cursor.html#TYPEt">Cursor.t</a> -> 'a -> unit</code></pre>
-<pre><span id="VALscroll"><span class="keyword">val</span> scroll</span> : <code class="type"><a href="Draw.Cursor.html#TYPEt">Cursor.t</a> -> float -> unit</code></pre>
+<pre><span id="VALscroll"><span class="keyword">val</span> scroll</span> : <code class="type"><a href="Draw.Cursor.html#TYPEt">Cursor.t</a> -> float * float -> unit</code></pre>
<pre><span id="VALedit"><span class="keyword">val</span> edit</span> : <code class="type"><a href="Draw.Cursor.html#TYPEt">Cursor.t</a> -> <a href="Buf.html#TYPEt">Buf.t</a> -> int -> int</code></pre></body></html>
\ No newline at end of file
string "Quit Save Undo Redo Cut Copy Paste | Find " csr;
hrule csr.width csr
-let scroll csr pct =
- let thumbsz = int_of_float ((float_of_int csr.height) *. pct) in
+let scroll csr params =
+ let start, pct = params and height = float_of_int (csr.height - csr.y) in
+ let thumbsz = (height *. pct) and thumboff = (height *. start) in
+ let mcsr = Cursor.clone csr in
rule_bkg 14 csr.height csr;
- dark_bkg 14 (max thumbsz 5) csr;
+ mcsr.y <- mcsr.y + (int_of_float thumboff);
+ dark_bkg 14 (int_of_float (max thumbsz 5.0)) mcsr;
csr.x <- csr.x + 14;
vrule csr.height csr
val status : Cursor.t -> string -> unit
val tags : Cursor.t -> Buf.t -> unit
-val scroll : Cursor.t -> float -> unit
+val scroll : Cursor.t -> (float * float) -> unit
val edit : Cursor.t -> Buf.t -> int -> int