summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Worth <cworth@cworth.org>2004-04-16 08:33:20 +0000
committerCarl Worth <cworth@cworth.org>2004-04-16 08:33:20 +0000
commit3a29d7a5310b0e4bc76eb7a852a41d9b4634de31 (patch)
tree4df9cbe4262c9a75dea88a8ac511f7def13f5481
parent821a9f2f6c663429abbacce89383af6171f65225 (diff)
downloadcairo-3a29d7a5310b0e4bc76eb7a852a41d9b4634de31.tar.gz
Track pixman fixes to PIXMAN_FORMAT_NAME_*.
Explicitly add cases for all enum values to eliminate compiler warnings. Remove proposal for surface_clip interface as cairo_clip should be able to cover this case now. Added bug concerning negative ref_counts.
-rw-r--r--BUGS6
-rw-r--r--ChangeLog13
-rw-r--r--src/cairo-image-surface.c4
-rw-r--r--src/cairo.h13
-rw-r--r--src/cairo_image_surface.c4
-rw-r--r--src/cairo_png_surface.c8
6 files changed, 31 insertions, 17 deletions
diff --git a/BUGS b/BUGS
index 07e0ad8d1..cbeacccd9 100644
--- a/BUGS
+++ b/BUGS
@@ -53,3 +53,9 @@ cairo_show_text is not updating the current point by the string's advance values
--
Caps are added only to the last subpath in a complex path.
+
+--
+
+ref_counts will go negative if destroy is called with ref_count ==
+0. We noticed this is cairo_surface.c but it likely happens in several
+places.
diff --git a/ChangeLog b/ChangeLog
index 7aa3d6aca..ca40fbe0e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2004-04-16 Carl Worth <cworth@isi.edu>
+
+ * src/cairo_image_surface.c (_create_pixman_format): Track pixman
+ fixes to PIXMAN_FORMAT_NAME_*.
+
+ * src/cairo_png_surface.c (cairo_png_surface_create): Explicitly
+ add cases for all enum values to eliminate compiler warnings.
+
+ * src/cairo.h: Remove proposal for surface_clip interface as
+ cairo_clip should be able to cover this case now.
+
+ * BUGS: Added bug concerning negative ref_counts.
+
2004-04-09 David Reveman <c99drn@cs.umu.se>
* NEWS: Added notes for snapshot 0.1.21.
diff --git a/src/cairo-image-surface.c b/src/cairo-image-surface.c
index a11a07eed..2b52e5b21 100644
--- a/src/cairo-image-surface.c
+++ b/src/cairo-image-surface.c
@@ -112,11 +112,11 @@ _create_pixman_format (cairo_format_t format)
return pixman_format_create (PIXMAN_FORMAT_NAME_A8);
break;
case CAIRO_FORMAT_RGB24:
- return pixman_format_create (PIXMAN_FORMAT_NAME_RG_B24);
+ return pixman_format_create (PIXMAN_FORMAT_NAME_RGB24);
break;
case CAIRO_FORMAT_ARGB32:
default:
- return pixman_format_create (PIXMAN_FORMAT_NAME_AR_GB32);
+ return pixman_format_create (PIXMAN_FORMAT_NAME_ARGB32);
break;
}
}
diff --git a/src/cairo.h b/src/cairo.h
index 33ce402ee..a5cb20cd2 100644
--- a/src/cairo.h
+++ b/src/cairo.h
@@ -636,19 +636,6 @@ cairo_surface_reference (cairo_surface_t *surface);
void
cairo_surface_destroy (cairo_surface_t *surface);
-/* XXX: NYI
-cairo_status_t
-cairo_surface_clip_restore (cairo_surface_t *surface);
-
-cairo_status_t
-cairo_surface_clip_begin (cairo_surface_t *surface);
-
-cairo_status_t
-cairo_surface_clip_rectangle (cairo_surface_t *surface,
- int x, int y,
- int width, int height);
-*/
-
/* XXX: Note: The current Render/Ic implementations don't do the right
thing with repeat when the surface has a non-identity matrix. */
/* XXX: Rework this as a cairo function with an enum: cairo_set_pattern_extend */
diff --git a/src/cairo_image_surface.c b/src/cairo_image_surface.c
index a11a07eed..2b52e5b21 100644
--- a/src/cairo_image_surface.c
+++ b/src/cairo_image_surface.c
@@ -112,11 +112,11 @@ _create_pixman_format (cairo_format_t format)
return pixman_format_create (PIXMAN_FORMAT_NAME_A8);
break;
case CAIRO_FORMAT_RGB24:
- return pixman_format_create (PIXMAN_FORMAT_NAME_RG_B24);
+ return pixman_format_create (PIXMAN_FORMAT_NAME_RGB24);
break;
case CAIRO_FORMAT_ARGB32:
default:
- return pixman_format_create (PIXMAN_FORMAT_NAME_AR_GB32);
+ return pixman_format_create (PIXMAN_FORMAT_NAME_ARGB32);
break;
}
}
diff --git a/src/cairo_png_surface.c b/src/cairo_png_surface.c
index ed7bb039e..851df98da 100644
--- a/src/cairo_png_surface.c
+++ b/src/cairo_png_surface.c
@@ -103,6 +103,10 @@ cairo_png_surface_create (FILE *file,
PNG_COMPRESSION_TYPE_DEFAULT,
PNG_FILTER_TYPE_DEFAULT);
break;
+ case CAIRO_FORMAT_A8:
+ case CAIRO_FORMAT_A1:
+ /* These are not currently supported. */
+ break;
}
png_convert_from_time_t (&png_time, now);
@@ -118,6 +122,10 @@ cairo_png_surface_create (FILE *file,
png_set_filler (surface->png_w, 0, PNG_FILLER_AFTER);
png_set_bgr (surface->png_w);
break;
+ case CAIRO_FORMAT_A8:
+ case CAIRO_FORMAT_A1:
+ /* These are not currently supported. */
+ break;
}
return &surface->base;