Add proposal for cairo_xlib_surface_set_size.

Added note about problem with cairo_scale_font.
This commit is contained in:
Carl Worth 2004-03-30 17:24:29 +00:00
parent 3cd2547493
commit c7d2b0e053
5 changed files with 46 additions and 5 deletions

View file

@ -10,7 +10,7 @@ Jordi Mas <jordi@ximian.com> Bug fix for cairo_show_text
Keith Packard <keithp@keithp.com> Original concept, polygon tessellation, dashing
Christof Petig <christof@petig-baender.de> Build fixes related to freetype
Jamey Sharp <jamey@minilop.net> Surface/font backend virtualization, XCB backend
Sasha V. <sasha@aftercode.net> Build fix to compile without xlib backend
Sasha Vasko <sasha@aftercode.net> Build fix to compile without xlib backend
Carl Worth <cworth@isi.edu> Original library, support for paths, images
Richard D. Worth <richard@theworths.org> Build fixes for cygwin

27
BUGS
View file

@ -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.

View file

@ -1,3 +1,9 @@
2004-03-30 Carl Worth <cworth@isi.edu>
* 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 <oliv__a@users.sourceforge.net>
* src/cairo_ps_surface.c (_cairo_ps_surface_set_clip_region)

11
TODO
View file

@ -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

View file

@ -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 */