]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/DEVEL/lablgtk/lablgtk_20001129-0.1.0/glGtk.mli
lablgtk_20001129* created
[helm.git] / helm / DEVEL / lablgtk / lablgtk_20001129-0.1.0 / glGtk.mli
diff --git a/helm/DEVEL/lablgtk/lablgtk_20001129-0.1.0/glGtk.mli b/helm/DEVEL/lablgtk/lablgtk_20001129-0.1.0/glGtk.mli
new file mode 100644 (file)
index 0000000..599f24a
--- /dev/null
@@ -0,0 +1,63 @@
+(* $Id$ *)
+
+open Gtk
+open GObj
+
+type visual_options = [
+    `USE_GL
+  | `BUFFER_SIZE of int
+  | `LEVEL of int
+  | `RGBA
+  | `DOUBLEBUFFER
+  | `STEREO
+  | `AUX_BUFFERS of int
+  | `RED_SIZE of int
+  | `GREEN_SIZE of int
+  | `BLUE_SIZE of int
+  | `ALPHA_SIZE of int
+  | `DEPTH_SIZE of int
+  | `STENCIL_SIZE of int
+  | `ACCUM_GREEN_SIZE of int
+  | `ACCUM_ALPHA_SIZE of int
+]
+type gl_area = [`widget|`drawing|`glarea]
+
+module Raw :
+  sig
+    external create :
+      visual_options list -> share:[>`glarea] optobj -> gl_area obj
+      = "ml_gtk_gl_area_new"
+    external swap_buffers : [>`glarea] obj -> unit
+      = "ml_gtk_gl_area_swapbuffers"
+    external make_current : [>`glarea] obj -> bool
+      = "ml_gtk_gl_area_make_current"
+  end
+
+class area_signals : 'a obj ->
+  object
+    inherit widget_signals
+    constraint 'a = [>`glarea|`widget]
+    val obj : 'a obj
+    method display : callback:(unit -> unit) -> GtkSignal.id
+    method realize : callback:(unit -> unit) -> GtkSignal.id
+    method reshape :
+      callback:(width:int -> height:int -> unit) -> GtkSignal.id
+  end
+
+class area : gl_area obj ->
+  object
+    inherit widget
+    val obj : gl_area obj
+    method event : event_ops
+    method as_area : gl_area obj
+    method connect : area_signals
+    method make_current : unit -> unit
+    method set_size : width:int -> height:int -> unit
+    method swap_buffers : unit -> unit
+  end
+
+val area :
+  visual_options list ->
+  ?share:area ->
+  ?width:int ->
+  ?height:int -> ?packing:(widget -> unit) -> ?show:bool -> unit -> area