[cairo] Recommendations for 1.4.0

Behdad Esfahbod behdad at behdad.org
Sat Mar 3 13:13:20 PST 2007


Hi,

While updating docs for the 1.3.16 release yesterday I gathered the
following that I suggest we fix before 1.4.0:

  - cairo_text_path() currently does not set the current point.  It will
be implicitly set to the last point that an outline drew.  I recommend
making it set the current point explicitly like cairo_show_text() does.
That gives users the same convenience that cairo_show_text() does, that
is, that you can chain multiple calls to it and get text progress
naturally.  And document this.

  - Since _reference() and _destroy() functions just return on NULL,
make _get_reference_count() return 0 on NULL.

  - Cosmetic: Rename cairo-font.c to cairo-font-face.c.

  - Personal: In _cairo_path_append_to_context(), replace "!=" checks
with "<".  That is, to allow more cairo_path_data_t elements in the path
than needed.  I have requested this before:

http://lists.freedesktop.org/archives/cairo/2005-August/004673.html

I actually needed this in my cairotwisted pangocairo example:

http://svn.gnome.org/viewcvs/pango/trunk/examples/cairotwisted.c?view=markup

  - Make some of the test images smaller.  The 1.3.16 tarball is bigger
than 4MB, while 1.2.0 was just 2.6MB and 1.0 only 1.4MB.  The main
culprits seem to be extend-reflect and random-intersections reference
images.  Maybe even replace romedalen.png with something smaller.

  - Fix mutex initialization in win32, os2, and beos backends.  They are
out of synch with the actually mutexes declared, and that causes link
errors if not using pthread on win32.  I'm wondering if we should go for
the backup plan:

http://lists.freedesktop.org/archives/cairo/2007-February/009679.html


That's about it.

-- 
behdad
http://behdad.org/

"Those who would give up Essential Liberty to purchase a little
 Temporary Safety, deserve neither Liberty nor Safety."
        -- Benjamin Franklin, 1759





More information about the cairo mailing list