--- /dev/null
+open Gtk
+open Gtk_mathview
+open Tags
+open GtkBase
+open Gpointer
+
+external mDOMNode_of_boxed_option :
+ Gpointer.boxed option -> Minidom.mDOMNode =
+ "ml_gtk_math_view_mDOMNode_of_bodex_option"
+
+external mDOMNode_option_of_boxed_option :
+ Gpointer.boxed option -> Minidom.mDOMNode option =
+ "ml_gtk_math_view_mDOMNode_option_of_bodex_option"
+
+let o_mDOMNode_of_mDOMNode node = new Ominidom.o_mDOMNode node
+
+let o_mDOMNode_option_of_mDOMNode_option =
+ function
+ | Some x -> Some (o_mDOMNode_of_mDOMNode x)
+ | None -> None
+
+let mDOMNode_option_of_o_mDOMNode_option =
+ function
+ | Some x -> Some (x#get_dom_node)
+ | None -> None
+
+module MathView = struct
+ exception NoSelection
+
+ let cast w : math_view obj = Object.try_cast w "GtkMathView"
+ external create : Gtk.adjustment optobj -> Gtk.adjustment optobj ->
+ math_view obj = "ml_gtk_math_view_new"
+ let create ~adjustmenth ~adjustmentv () =
+ create (optboxed adjustmenth) (optboxed adjustmentv)
+ external load : [>`math_view] obj -> filename:string -> bool =
+ "ml_gtk_math_view_load"
+ external unload : [>`math_view] obj -> unit =
+ "ml_gtk_math_view_unload"
+ external raw_get_selection : [>`math_view] obj -> Minidom.mDOMNode option =
+ "ml_gtk_math_view_get_selection"
+ let get_selection obj =
+ o_mDOMNode_option_of_mDOMNode_option (raw_get_selection obj)
+ external raw_set_selection : [>`math_view] obj -> Minidom.mDOMNode option -> unit=
+ "ml_gtk_math_view_set_selection"
+ let set_selection obj node =
+ raw_set_selection obj (mDOMNode_option_of_o_mDOMNode_option node)
+ external get_width : [>`math_view] obj -> int =
+ "ml_gtk_math_view_get_width"
+ external get_height : [>`math_view] obj -> int =
+ "ml_gtk_math_view_get_height"
+ external get_top : [>`math_view] obj -> (int * int) =
+ "ml_gtk_math_view_get_top"
+ external set_top : [>`math_view] obj -> int -> int -> unit =
+ "ml_gtk_math_view_set_top"
+ external set_adjustments : [>`math_view] obj -> Gtk.adjustment obj -> Gtk.adjustment obj -> unit =
+ "ml_gtk_math_view_set_adjustments"
+ external get_hadjustment : [>`math_view] obj -> Gtk.adjustment obj =
+ "ml_gtk_math_view_get_hadjustment"
+ external get_vadjustment : [>`math_view] obj -> Gtk.adjustment obj =
+ "ml_gtk_math_view_get_vadjustment"
+ external get_buffer : [>`math_view] obj -> Gdk.pixmap =
+ "ml_gtk_math_view_get_buffer"
+ external get_frame : [>`math_view] obj -> [`frame] obj =
+ "ml_gtk_math_view_get_frame"
+ external set_font_size : [>`math_view] obj -> int -> unit =
+ "ml_gtk_math_view_set_font_size"
+ external get_font_size : [>`math_view] obj -> int =
+ "ml_gtk_math_view_get_font_size"
+ external set_anti_aliasing : [>`math_view] obj -> bool -> unit =
+ "ml_gtk_math_view_set_anti_aliasing"
+ external get_anti_aliasing : [>`math_view] obj -> bool =
+ "ml_gtk_math_view_get_anti_aliasing"
+ external set_kerning : [>`math_view] obj -> bool -> unit =
+ "ml_gtk_math_view_set_kerning"
+ external get_kerning : [>`math_view] obj -> bool =
+ "ml_gtk_math_view_get_kerning"
+ external set_log_verbosity : [>`math_view] obj -> int -> unit =
+ "ml_gtk_math_view_set_log_verbosity"
+ external get_log_verbosity : [>`math_view] obj -> int =
+ "ml_gtk_math_view_get_log_verbosity"
+ external export_to_postscript :
+ [>`math_view] obj -> width:int -> height:int -> x_margin:int -> y_margin:int -> disable_colors:bool -> filename:string -> bool =
+ "ml_gtk_math_view_export_to_postscript_bytecode" "ml_gtk_math_view_export_to_postscript_native"
+ external get_font_manager_type : [>`math_view] obj ->
+ [`font_manager_gtk | `font_manager_t1] =
+ "ml_gtk_math_view_get_font_manager_type"
+ external set_font_manager_type : [>`math_view] obj ->
+ fm_type:[`font_manager_gtk | `font_manager_t1] -> unit =
+ "ml_gtk_math_view_set_font_manager_type"
+
+ module Signals = struct
+ open GtkSignal
+
+ let clicked : ([>`math_view],_) t =
+ let marshal_clicked f _ =
+ function
+ [GtkArgv.POINTER node] -> f (o_mDOMNode_of_mDOMNode (mDOMNode_of_boxed_option node))
+ | _ -> invalid_arg "GtkMathView.MathView.Signals.marshal_clicked"
+ in
+ { name = "clicked"; marshaller = marshal_clicked }
+
+ let jump : ([>`math_view],_) t =
+ let marshal_jump f _ =
+ function
+ [GtkArgv.POINTER node] -> f (o_mDOMNode_of_mDOMNode (mDOMNode_of_boxed_option node))
+ | _ -> invalid_arg "GtkMathView.MathView.Signals.marshal_jump"
+ in
+ { name = "jump"; marshaller = marshal_jump }
+
+ let selection_changed : ([>`math_view],_) t =
+ let marshal_selection_changed f _ =
+ function
+ [GtkArgv.POINTER node] -> f (o_mDOMNode_option_of_mDOMNode_option (mDOMNode_option_of_boxed_option node))
+ | _ -> invalid_arg "GtkMathView.MathView.Signals.marshal_selection_changed"
+ in
+ { name = "selection_changed"; marshaller = marshal_selection_changed }
+ end
+end