diff --git a/AUTHORS b/AUTHORS index a43a08ab5..38a04e472 100644 --- a/AUTHORS +++ b/AUTHORS @@ -10,7 +10,7 @@ Jordi Mas Bug fix for cairo_show_text Keith Packard Original concept, polygon tessellation, dashing Christof Petig Build fixes related to freetype Jamey Sharp Surface/font backend virtualization, XCB backend -Sasha V. Build fix to compile without xlib backend +Sasha Vasko Build fix to compile without xlib backend Carl Worth Original library, support for paths, images Richard D. Worth Build fixes for cygwin diff --git a/BUGS b/BUGS index 4902eaeb0..ead687c4a 100644 --- a/BUGS +++ b/BUGS @@ -1,5 +1,7 @@ Splines are not dashed. +-- + The polygon tessellation routine has problems. It appears that the following paper has the right answers: @@ -9,10 +11,14 @@ following paper has the right answers: Finite Precision Output, Computation Geometry Theory and Applications, 13(4), 1999. +-- + Stroking a self-intersecting path generates the wrong answer, (in mostly subtle ways). The fix is to tessellate a giant polygon for the entire stroke outline rather than incrementally generating trapezoids. +-- + Cairo is crashing Xnest with the following message: X Error of failed request: BadMatch (invalid parameter attributes) @@ -22,3 +28,24 @@ X Error of failed request: BadMatch (invalid parameter attributes) confirmed on a quite default install of debian unstable. +-- + +cairo_scale_font modifies objects that the user expects to not change. For example: + + cairo_font_t *font; + + cairo_select_font (cr, "fixed", 0, 0); + font = cairo_current_font (cr); + cairo_scale_font (cr, 10); + cairo_show_text (cr, "all is good"); + cairo_set_font (cr, font); + cairo_scale_font (cr, 10); + cairo_show_text (cr, "WAY TOO BIG!!); + +We could fix this by not storing the scale in the font object. Or +maybe we could just force the size to its default after set_font. Need +to think about this in more detail. + +-- + +Caps are added only to the last subpath in a complex path. diff --git a/ChangeLog b/ChangeLog index aac1f9b15..2100e333e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2004-03-30 Carl Worth + + * src/cairo.h: Add proposal for cairo_xlib_surface_set_size. + + * BUGS: Added note about problem with cairo_scale_font. + 2004-03-23 Olivier Andrieu * src/cairo_ps_surface.c (_cairo_ps_surface_set_clip_region) diff --git a/TODO b/TODO index 6be575593..2215df68d 100644 --- a/TODO +++ b/TODO @@ -19,11 +19,14 @@ mentioned in cairo_traps.c). * Implement support for programmatic patterns, (ie. figure out how to do gradients the Right Way). -* Implement cairo_stroke_path and cairo_arc_to. +* Implement cairo_arc_to. -* Investigate what needs to be done so that old X servers aren't -swamped with image transport. This may involve adding one or more of -the following functions: +* Fix support for old X servers so that it is not swamped with image +transport. The key idea is to assume that nothing external to cairo +will be drawing to the same drawable after it is handed to +cairo. Beyond that, we might actually provide support for cooperating +with external entities by adding one or more of the following +functions: cairo_flush cairo_erase diff --git a/src/cairo.h b/src/cairo.h index 0fb3b5cee..d9d84ed13 100644 --- a/src/cairo.h +++ b/src/cairo.h @@ -709,6 +709,11 @@ cairo_xlib_surface_create (Display *dpy, cairo_format_t format, Colormap colormap); +/* XXX: This has been proposed +cairo_status_t +cairo_xlib_surface_set_size (cairo_surface_t *surface, int width, int height); +*/ + #endif /* CAIRO_HAS_XLIB_SURFACE */ /* Matrix functions */