#include <string.h>
+#include <assert.h>
#include <gtk/gtk.h>
#include <caml/mlvalues.h>
#include <caml/alloc.h>
ML_2 (gtk_math_view_load, GtkMathView_val, String_val, Val_bool)
ML_1 (gtk_math_view_unload, GtkMathView_val, Unit)
/*ML_1 (gtk_math_view_dump, GtkMathView_val, Unit)*/
-ML_1 (gtk_math_view_get_selection, GtkMathView_val, Val_ptr)
-ML_2 (gtk_math_view_set_selection, GtkMathView_val, mDOMNode_val, Unit)
+ML_1 (gtk_math_view_get_selection, GtkMathView_val, Val_mDOMNodeRef)
+ML_2 (gtk_math_view_set_selection, GtkMathView_val, mDOMNodeRef_val, Unit)
ML_1 (gtk_math_view_get_width, GtkMathView_val, Val_int)
ML_1 (gtk_math_view_get_height, GtkMathView_val, Val_int)
ML_3 (gtk_math_view_set_top, GtkMathView_val, Int_val, Int_val, Unit)
CAMLparam1(arg1);
mDOMNodeRef nr;
+ CAMLlocal1 (tmp);
+ CAMLlocal1 (optval);
+ CAMLlocal1 (res);
if (arg1==Val_int(0)) {
- nr = NULL;
+ assert(0);
} else {
- nr = (mDOMNodeRef) Field(arg1, 0);
+ tmp = Field(arg1, 0);
+ nr = (mDOMNodeRef) Field(tmp, 1);
+ }
+ optval = Val_mDOMNodeRef(nr);
+ if (optval==Val_int(0)) {
+ assert(0);
+ } else {
+ res = Field(optval, 0);
+ }
+
+ CAMLreturn(res);
+}
+
+value ml_gtk_math_view_mDOMNode_option_of_bodex_option (value arg1)
+{
+ CAMLparam1(arg1);
+
+ mDOMNodeRef nr;
+ CAMLlocal1 (tmp);
+
+ if (arg1==Val_int(0)) {
+ nr=NULL;
+ } else {
+ tmp = Field(arg1, 0);
+ nr = (mDOMNodeRef) Field(tmp, 1);
}
- CAMLreturn((value) nr);
+ CAMLreturn(Val_mDOMNodeRef(nr));
}