[cairo-commit] cairo ROADMAP, 1.4, 1.5 TODO, 1.48, 1.49 ChangeLog,
1.534, 1.535
Owen Taylor
commit at pdx.freedesktop.org
Thu Apr 28 13:41:02 PDT 2005
Committed by: otaylor
Update of /cvs/cairo/cairo
In directory gabe:/tmp/cvs-serv3286
Modified Files:
ROADMAP TODO ChangeLog
Log Message:
2005-04-28 Owen Taylor <otaylor at redhat.com>
* TODO, ROADMAP: Add a item about reworking cairo_format_t.
Index: ROADMAP
===================================================================
RCS file: /cvs/cairo/cairo/ROADMAP,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- ROADMAP 26 Apr 2005 20:05:51 -0000 1.4
+++ ROADMAP 28 Apr 2005 20:41:00 -0000 1.5
@@ -64,6 +64,12 @@
based on it
Status: cworth has sent API proposal to list
+ A8. cairo_format_t:
+ Difficulty: moderate. It's just going through and examining
+ each use of cairo_format_t, but there are a lot
+ of them.
+ Status: not started, there is a rough plan in TODO
+
Performance work
----------------
âP1. Make pixel-aligned rectangle compositing fast
Index: TODO
===================================================================
RCS file: /cvs/cairo/cairo/TODO,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -d -r1.48 -r1.49
--- TODO 26 Apr 2005 20:05:51 -0000 1.48
+++ TODO 28 Apr 2005 20:41:00 -0000 1.49
@@ -47,6 +47,38 @@
((src Op dest) In clip) Add (dest Out clip)
+* Split cairo_format_t into two things:
+
+ - An enumeration that determines the "capabilities" of a surface -
+ A vs. ARGB. vs. RGB
+ - An enumeration that determines a specific in-memory representation
+ of data. (A1/A8/ARGB32/etc.. Could be extensible to things like
+ RGBA32_BYTES_NONPREMULTIPLIED. Some consistent naming convention would
+ be be good.)
+
+ One issue here is that some interfaces, like cairo_surface_create_similar()
+ might be useful with either one. We might want to create an A1 surface
+ compatible with the backend (are there examples other than A1? Should
+ bilevel just be another "capability"?), or we might want to just create
+ an alpha surface without caring about the depth.
+
+ If we want to support this, we could do something like:
+
+ typedef enum cairo_pixel_format_t {
+ CAIRO_PIXEL_FORMAT_A8 = CAIRO_FORMAT_ALPHA,
+ CAIRO_PIXEL_FORMAT_RGB24 = CAIRO_FORMAT_RGB,
+ CAIRO_PIXEL_FORMAT_A1,
+ };
+
+ To allow passing either in.
+
+ (I don't particularly like this idea for create_similar() because then you
+ aren't really saying ALPHA-dont-care, you are saying ALPHA-8. I think it
+ would be better to have a separate path for create_similar_with_pixel_format()
+ if we need that. But it might be useful for cairo_image_surface_create() ...
+ people are going to screw up and pass CAIRO_FORMAT_RGB into that, and if it
+ "just worked" that would save people trouble....)
+
* Clean up the API in preparation for freezing and release.
* Make a more interesting PS backend, (other than the current
Index: ChangeLog
===================================================================
RCS file: /cvs/cairo/cairo/ChangeLog,v
retrieving revision 1.534
retrieving revision 1.535
diff -u -d -r1.534 -r1.535
--- ChangeLog 28 Apr 2005 18:15:47 -0000 1.534
+++ ChangeLog 28 Apr 2005 20:41:00 -0000 1.535
@@ -1,3 +1,7 @@
+2005-04-28 Owen Taylor <otaylor at redhat.com>
+
+ * TODO, ROADMAP: Add a item about reworking cairo_format_t.
+
2005-04-28 Carl Worth <cworth at cworth.org>
* test/.cvsignore:
More information about the cairo-commit
mailing list