summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Andrieu <oandrieu@gmail.com>2004-06-18 13:50:29 +0000
committerHezekiah M. Carty <hcarty@atmos.umd.edu>2009-06-18 13:54:43 -0400
commit57463cd0945d6944e0b4c16192d47ea28bf89431 (patch)
tree486a38251e3a476a07db11e2770f951aef6c6337
parentec0de240e727bfebe02c3f87f9115fa4c03d5e4d (diff)
Docmentation and compiler warning fixes
* src/cairo.mli: doc formatting * src/ml_cairo.c, src/ml_cairo_wrappers.h: silence compiler warnings
-rw-r--r--ChangeLog7
-rw-r--r--src/cairo.mli1
-rw-r--r--src/ml_cairo.c2
-rw-r--r--src/ml_cairo_wrappers.h1
-rw-r--r--test/cube.ml17
5 files changed, 20 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index d2e41ce..70de951 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2004-06-18 Olivier Andrieu <oliv__a@users.sourceforge.net>
+
+ * src/cairo.mli: doc formatting
+
+ * src/ml_cairo.c, src/ml_cairo_wrappers.h: silence compiler
+ warnings
+
2004-04-16 Olivier Andrieu <oliv__a@users.sourceforge.net>
* src/cairo.ml, src/cairo.mli: support patterns
diff --git a/src/cairo.mli b/src/cairo.mli
index affcef0..ed57956 100644
--- a/src/cairo.mli
+++ b/src/cairo.mli
@@ -267,6 +267,7 @@ external surface_set_filter : surface:surface -> filter:filter -> unit
external surface_finalise : surface -> unit = "ml_cairo_surface_finalise"
(** {4 Pattern functions} *)
+
external pattern_create_for_surface : surface -> pattern = "ml_cairo_pattern_create_for_surface"
external pattern_create_linear : x0:float -> y0:float -> x1:float -> y1:float -> pattern
diff --git a/src/ml_cairo.c b/src/ml_cairo.c
index a96b73e..995de60 100644
--- a/src/ml_cairo.c
+++ b/src/ml_cairo.c
@@ -1108,7 +1108,7 @@ ml_cairo_surface_finalise(value s)
{
cairo_surface_t *surf = cairo_surface_t_val(s);
cairo_surface_destroy(surf);
- cairo_surface_t_val(s) = NULL;
+ Store_pointer(s, NULL);
return Val_unit;
}
diff --git a/src/ml_cairo_wrappers.h b/src/ml_cairo_wrappers.h
index 036c72d..06d458d 100644
--- a/src/ml_cairo_wrappers.h
+++ b/src/ml_cairo_wrappers.h
@@ -1,4 +1,5 @@
#define Pointer_val(val) ((void*)Field(val,1))
+#define Store_pointer(val, p) (Field(val, 1)=Val_bp(p))
#define Make_Val_final_pointer(type, init, final, adv) \
static void ml_final_##type (value val) \
diff --git a/test/cube.ml b/test/cube.ml
index 7be3ed5..d43a984 100644
--- a/test/cube.ml
+++ b/test/cube.ml
@@ -7,13 +7,16 @@ let redraw w range cr =
let { Gtk.width = width ; Gtk.height = height } =
w#misc#allocation in
let box_size = float (width + height) /. 6. in
- Cairo.default_matrix cr ;
- let off = float width /. 2. in
- Cairo.translate cr off off ;
- Cairo.rotate cr range#adjustment#value ;
- Cairo.rectangle cr (~-. box_size) (~-. box_size) box_size box_size ;
- Cairo.set_rgb_color cr 1. 1. 1. ;
- Cairo.fill cr
+
+ Cairo.save cr ; begin
+ Cairo.default_matrix cr ;
+ let off = float width /. 2. in
+ Cairo.translate cr off off ;
+ Cairo.rotate cr range#adjustment#value ;
+ Cairo.rectangle cr (~-. box_size) (~-. box_size) box_size box_size ;
+ Cairo.set_rgb_color cr 1. 0. 0. ;
+ Cairo.fill cr end ;
+ Cairo.restore cr
let slider_changed cr () =
cr#queue_draw