summaryrefslogtreecommitdiff
path: root/otherlibs/labltk/frx/frx_fit.ml
diff options
context:
space:
mode:
Diffstat (limited to 'otherlibs/labltk/frx/frx_fit.ml')
-rw-r--r--otherlibs/labltk/frx/frx_fit.ml83
1 files changed, 0 insertions, 83 deletions
diff --git a/otherlibs/labltk/frx/frx_fit.ml b/otherlibs/labltk/frx/frx_fit.ml
deleted file mode 100644
index 2011699ab7..0000000000
--- a/otherlibs/labltk/frx/frx_fit.ml
+++ /dev/null
@@ -1,83 +0,0 @@
-(***********************************************************************)
-(* *)
-(* MLTk, Tcl/Tk interface of Objective Caml *)
-(* *)
-(* Francois Rouaix, Francois Pessaux, Jun Furuse and Pierre Weis *)
-(* projet Cristal, INRIA Rocquencourt *)
-(* Jacques Garrigue, Kyoto University RIMS *)
-(* *)
-(* Copyright 2002 Institut National de Recherche en Informatique et *)
-(* en Automatique and Kyoto University. All rights reserved. *)
-(* This file is distributed under the terms of the GNU Library *)
-(* General Public License, with the special exception on linking *)
-(* described in file LICENSE found in the Objective Caml source tree. *)
-(* *)
-(***********************************************************************)
-open Camltk
-
-let debug = ref false
-
-let vert wid =
- let newsize = ref 0
- and pending_resize = ref false
- and last_last = ref 0.0 in
- let rec resize () =
- pending_resize := false;
- if !debug then
- (Printf.eprintf "%s Resize %d\n"
- (Widget.name wid) !newsize; flush stderr);
- Text.configure wid [TextHeight !newsize];
- ()
- and check () =
- let first, last = Text.yview_get wid in
- check1 first last
-
- and check1 first last =
- let curheight = int_of_string (cget wid CHeight) in
- if !debug then begin
- Printf.eprintf "%s C %d %f %f\n"
- (Widget.name wid) curheight first last;
- flush stderr
- end;
- if first = 0.0 && last = 1.0 then ()
- (* Don't attempt anything if widget is not visible *)
- else if not (Winfo.viewable wid) then begin
- if !debug then
- (Printf.eprintf "%s C notviewable\n" (Widget.name wid);
- flush stderr);
- (* Try again later *)
- bind wid [[], Expose] (BindSet ([], fun _ ->
- bind wid [[], Expose] BindRemove;
- check()))
- end
- else begin
- let delta =
- if last = 0.0 then 1
- else if last = !last_last then
- (* it didn't change since our last resize ! *)
- 1
- else begin
- last_last := last;
- (* never to more than double *)
- let visible = max 0.5 (last -. first) in
- max 1 (truncate (float curheight *. (1. -. visible)))
- end in
- newsize := max (curheight + delta) !newsize;
- if !debug then
- (Printf.eprintf "%s newsize: %d\n" (Widget.name wid) !newsize;
- flush stderr);
- if !pending_resize then ()
- else begin
- pending_resize := true;
- Timer.set 300 (fun () -> Frx_after.idle resize)
- end
- end
-
- and scroll first last =
- if !debug then
- (Printf.eprintf "%s V %f %f\n" (Widget.name wid) first last;
- flush stderr);
- if first = 0.0 && last = 1.0 then ()
- else check1 first last
- in
- scroll, check