(* $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