]> matita.cs.unibo.it Git - helm.git/blob - helm/DEVEL/lablgtk/lablgtk_20001129-0.1.0/glGtk.mli
Initial revision
[helm.git] / helm / DEVEL / lablgtk / lablgtk_20001129-0.1.0 / glGtk.mli
1 (* $Id$ *)
2
3 open Gtk
4 open GObj
5
6 type visual_options = [
7     `USE_GL
8   | `BUFFER_SIZE of int
9   | `LEVEL of int
10   | `RGBA
11   | `DOUBLEBUFFER
12   | `STEREO
13   | `AUX_BUFFERS of int
14   | `RED_SIZE of int
15   | `GREEN_SIZE of int
16   | `BLUE_SIZE of int
17   | `ALPHA_SIZE of int
18   | `DEPTH_SIZE of int
19   | `STENCIL_SIZE of int
20   | `ACCUM_GREEN_SIZE of int
21   | `ACCUM_ALPHA_SIZE of int
22 ]
23 type gl_area = [`widget|`drawing|`glarea]
24
25 module Raw :
26   sig
27     external create :
28       visual_options list -> share:[>`glarea] optobj -> gl_area obj
29       = "ml_gtk_gl_area_new"
30     external swap_buffers : [>`glarea] obj -> unit
31       = "ml_gtk_gl_area_swapbuffers"
32     external make_current : [>`glarea] obj -> bool
33       = "ml_gtk_gl_area_make_current"
34   end
35
36 class area_signals : 'a obj ->
37   object
38     inherit widget_signals
39     constraint 'a = [>`glarea|`widget]
40     val obj : 'a obj
41     method display : callback:(unit -> unit) -> GtkSignal.id
42     method realize : callback:(unit -> unit) -> GtkSignal.id
43     method reshape :
44       callback:(width:int -> height:int -> unit) -> GtkSignal.id
45   end
46
47 class area : gl_area obj ->
48   object
49     inherit widget
50     val obj : gl_area obj
51     method event : event_ops
52     method as_area : gl_area obj
53     method connect : area_signals
54     method make_current : unit -> unit
55     method set_size : width:int -> height:int -> unit
56     method swap_buffers : unit -> unit
57   end
58
59 val area :
60   visual_options list ->
61   ?share:area ->
62   ?width:int ->
63   ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> area