[cairo-commit] src/cairo-ps-surface.c src/cairo-types-private.h

Vladimir Vukicevic vladimir at kemper.freedesktop.org
Wed Feb 27 09:36:52 PST 2008


 src/cairo-ps-surface.c    |    2 -
 src/cairo-types-private.h |   47 ++++++++++++++++++++--------------------------
 2 files changed, 22 insertions(+), 27 deletions(-)

New commits:
commit 1889427e78f2501df78a42c5e75c696745b517a7
Author: Vladimir Vukicevic <vladimir at pobox.com>
Date:   Wed Feb 27 12:35:56 2008 -0500

    Fix usage of rectangle_int16_t in ps surface, and rename types
    
    The rectangle_int16_t usage was causing failures on 24.8 (due to a wrong
    pointer used to get_extents); I removed all the specific int16/int32 typedefs
    to avoid this situation in the future.

diff --git a/src/cairo-ps-surface.c b/src/cairo-ps-surface.c
index 86d632c..03fa4f7 100644
--- a/src/cairo-ps-surface.c
+++ b/src/cairo-ps-surface.c
@@ -2261,7 +2261,7 @@ _cairo_ps_surface_emit_surface_pattern (cairo_ps_surface_t      *surface,
     int pattern_height = 0; /* squelch bogus compiler warning */
     double xstep, ystep;
     cairo_matrix_t cairo_p2d, ps_p2d;
-    cairo_rectangle_int16_t surface_extents;
+    cairo_rectangle_int_t surface_extents;
     cairo_bool_t old_use_string_datasource;
 
     cairo_p2d = pattern->base.matrix;
diff --git a/src/cairo-types-private.h b/src/cairo-types-private.h
index 9cb9882..2c98f0e 100644
--- a/src/cairo-types-private.h
+++ b/src/cairo-types-private.h
@@ -1,3 +1,4 @@
+/* -*- Mode: c; tab-width: 8; c-basic-offset: 4; indent-tabs-mode: t; -*- */
 /* cairo - a vector graphics library with display and print output
  *
  * Copyright © 2002 University of Southern California
@@ -183,51 +184,45 @@ typedef struct _cairo_trapezoid {
     cairo_line_t left, right;
 } cairo_trapezoid_t;
 
-typedef struct _cairo_rectangle_int16 {
+struct _cairo_rectangle_int16 {
     int16_t x, y;
     uint16_t width, height;
-} cairo_rectangle_int16_t, cairo_glyph_size_t;
+};
 
-typedef struct _cairo_rectangle_int32 {
+struct _cairo_rectangle_int32 {
     int32_t x, y;
     uint32_t width, height;
-} cairo_rectangle_int32_t;
+};
+
+typedef struct _cairo_rectangle_int16 cairo_glyph_size_t;
 
-typedef struct _cairo_point_int16 {
+struct _cairo_point_int16 {
     int16_t x, y;
-} cairo_point_int16_t;
+};
 
-typedef struct _cairo_point_int32 {
+struct _cairo_point_int32 {
     int32_t x, y;
-} cairo_point_int32_t;
-
-typedef struct _cairo_box_int16 {
-    cairo_point_int16_t p1;
-    cairo_point_int16_t p2;
-} cairo_box_int16_t;
-
-typedef struct _cairo_box_int32 {
-    cairo_point_int32_t p1;
-    cairo_point_int32_t p2;
-} cairo_box_int32_t;
-
+};
 
 #if CAIRO_FIXED_BITS == 32 && CAIRO_FIXED_FRAC_BITS >= 16
-typedef cairo_rectangle_int16_t cairo_rectangle_int_t;
-typedef cairo_point_int16_t cairo_point_int_t;
-typedef cairo_box_int16_t cairo_box_int_t;
+typedef struct _cairo_rectangle_int16 cairo_rectangle_int_t;
+typedef struct _cairo_point_int16 cairo_point_int_t;
 #define CAIRO_RECT_INT_MIN INT16_MIN
 #define CAIRO_RECT_INT_MAX INT16_MAX
 #elif CAIRO_FIXED_BITS == 32
-typedef cairo_rectangle_int32_t cairo_rectangle_int_t;
-typedef cairo_point_int32_t cairo_point_int_t;
-typedef cairo_box_int32_t cairo_box_int_t;
+typedef struct _cairo_rectangle_int32 cairo_rectangle_int_t;
+typedef struct _cairo_point_int32 cairo_point_int_t;
 #define CAIRO_RECT_INT_MIN INT32_MIN
 #define CAIRO_RECT_INT_MAX INT32_MAX
 #else
-#error Not sure how to pick a cairo_rectangle_int_t for your CAIRO_FIXED_BITS!
+#error Not sure how to pick a cairo_rectangle_int_t and cairo_point_int_t for your CAIRO_FIXED_BITS!
 #endif
 
+typedef struct _cairo_box_int {
+    cairo_point_int_t p1;
+    cairo_point_int_t p2;
+} cairo_box_int_t;
+
 typedef enum _cairo_direction {
     CAIRO_DIRECTION_FORWARD,
     CAIRO_DIRECTION_REVERSE


More information about the cairo-commit mailing list