From 476f10237e432321d7f456b4df9fd206b78d8827 Mon Sep 17 00:00:00 2001 From: =?utf8?q?S=C3=B8ren=20Sandmann?= Date: Fri, 29 Feb 2008 18:32:44 -0500 Subject: [PATCH] Update TODO --- TODO | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/TODO b/TODO index 2c3c150..184f823 100644 --- a/TODO +++ b/TODO @@ -1,3 +1,26 @@ + - Things to keep in mind if breaking ABI: + + - There should be a guard #ifndef I_AM_EITHER_CAIRO_OR_THE_X_SERVER + + - X server will require 16.16 essentially forever. Can we get + the required precision by simply adding offset_x/y to the + relevant rendering API? + + - pixman_image_set_indexed() should copy its argument, and X + should be ported over to use a pixman_image as the + representation of a Picture, rather than creating one on each + operation. + + - We should get rid of pixman_set_static_pointers() + + - We should get rid of the various trapezoid helper functions(). + (They only exist because they are theoretically available to + drivers). + + - Regions should become 32 bit + + - There should only be one trap rasterization API. + - Make pixman_region_point_in() survive a NULL box, then fix up pixman-compose.c @@ -33,7 +56,7 @@ IC_SHIFT to 5 for all machines. - Consider whether calling regions region16 is really such a great - idea Vlad wants 32 bit regions for Cairo. This will break X server + idea. Vlad wants 32 bit regions for Cairo. This will break X server ABI, but should otherwise be mostly harmless, though a pixman_region_get_boxes16() may be useful. @@ -43,6 +66,13 @@ - Add an image cache to prevent excessive malloc/free. Note that pixman needs to be thread safe when used from cairo. + - Moving to 24.8 coordinates. This is tricky because X is still + defined as 16.16 and will be basically forever. It's possible we + could do this by adding extra offset_x/y parameters to the + trapezoid calls. The X server could then just call the API with + (0, 0). Cairo would have to make sure that the delta *within* a + batch of trapezoids does not exceed 16 bit. + - Review the pixman_format_code_t enum to make sure it will support future formats. Some formats we will probably need: -- 2.7.4