4 #include <caml/mlvalues.h>
5 #include <caml/alloc.h>
6 #include <caml/memory.h>
7 #include <caml/callback.h>
10 #include <gtkmathview/gtkmathview.h>
20 #include "minidom/ml_minidom.h"
22 /* <CSC/>: Next row should be put in a .h of lablgtk. */
23 #define GtkAdjustment_val(val) check_cast(GTK_ADJUSTMENT,val)
25 #define GtkMathView_val(val) check_cast(GTK_MATH_VIEW,val)
27 #define FontManagerId_val(val) Int_val(val)
28 #define Val_FontManagerId(val) Val_int(val)
30 ML_2 (gtk_math_view_new,GtkAdjustment_val, GtkAdjustment_val, Val_GtkWidget_sink)
31 ML_2 (gtk_math_view_load, GtkMathView_val, String_val, Val_bool)
32 ML_1 (gtk_math_view_unload, GtkMathView_val, Unit)
33 /*ML_1 (gtk_math_view_dump, GtkMathView_val, Unit)*/
34 ML_1 (gtk_math_view_get_selection, GtkMathView_val, Val_mDOMNodeRef)
35 ML_2 (gtk_math_view_set_selection, GtkMathView_val, mDOMNodeRef_val, Unit)
36 ML_1 (gtk_math_view_get_width, GtkMathView_val, Val_int)
37 ML_1 (gtk_math_view_get_height, GtkMathView_val, Val_int)
38 ML_3 (gtk_math_view_set_top, GtkMathView_val, Int_val, Int_val, Unit)
39 ML_3 (gtk_math_view_set_adjustments, GtkMathView_val, GtkAdjustment_val, GtkAdjustment_val, Unit)
40 ML_1 (gtk_math_view_get_hadjustment, GtkMathView_val, Val_GtkWidget)
41 ML_1 (gtk_math_view_get_vadjustment, GtkMathView_val, Val_GtkWidget)
42 ML_1 (gtk_math_view_get_buffer, GtkMathView_val, Val_GdkPixmap)
43 ML_1 (gtk_math_view_get_frame, GtkMathView_val, Val_GtkWidget)
44 ML_2 (gtk_math_view_set_font_size, GtkMathView_val, Int_val, Unit)
45 ML_1 (gtk_math_view_get_font_size, GtkMathView_val, Val_int)
46 ML_2 (gtk_math_view_set_anti_aliasing, GtkMathView_val, Bool_val, Unit)
47 ML_1 (gtk_math_view_get_anti_aliasing, GtkMathView_val, Val_bool)
48 ML_2 (gtk_math_view_set_kerning, GtkMathView_val, Bool_val, Unit)
49 ML_1 (gtk_math_view_get_kerning, GtkMathView_val, Val_bool)
50 ML_2 (gtk_math_view_set_log_verbosity, GtkMathView_val, Int_val, Unit)
51 ML_1 (gtk_math_view_get_log_verbosity, GtkMathView_val, Val_int)
52 ML_2 (gtk_math_view_set_font_manager_type, GtkMathView_val, FontManagerId_val, Unit)
53 ML_1 (gtk_math_view_get_font_manager_type, GtkMathView_val, Val_FontManagerId)
56 ml_gtk_math_view_export_to_postscript_native(value arg1,
57 value w, value h, value x0, value y0, value disable_colors, value arg2)
59 CAMLparam5(arg1,w,h,x0,y0);
60 CAMLxparam2(disable_colors, arg2);
65 filename = String_val (arg2);
66 if ((fd = fopen(filename, "w"))) {
67 gtk_math_view_export_to_postscript(GtkMathView_val (arg1),
68 Int_val(w), Int_val(h), Int_val(x0), Int_val(y0), Bool_val(disable_colors), fd);
72 fprintf(stderr, "Error opening file %s for writing\n", filename);
75 CAMLreturn (Val_bool(res));
78 value ml_gtk_math_view_export_to_postscript_bytecode (value* arg, int argn)
80 return ml_gtk_math_view_export_to_postscript_native(arg[0], arg[1], arg[2], arg[3], arg[4], arg[5], arg[6]);
83 value ml_gtk_math_view_get_top (value arg1)
88 gtk_math_view_get_top(GtkMathView_val (arg1), &x, &y);
90 Store_field(result, 0, Val_int(x));
91 Store_field(result, 0, Val_int(y));
96 value ml_gtk_math_view_mDOMNode_of_bodex_option (value arg1)
105 if (arg1==Val_int(0)) {
108 tmp = Field(arg1, 0);
109 nr = (mDOMNodeRef) Field(tmp, 1);
111 optval = Val_mDOMNodeRef(nr);
112 if (optval==Val_int(0)) {
115 res = Field(optval, 0);
121 value ml_gtk_math_view_mDOMNode_option_of_bodex_option (value arg1)
128 if (arg1==Val_int(0)) {
131 tmp = Field(arg1, 0);
132 nr = (mDOMNodeRef) Field(tmp, 1);
135 CAMLreturn(Val_mDOMNodeRef(nr));