Commit graph

34 commits

Author SHA1 Message Date
Chris Wilson
52fa8760ae Add OpenVG backend.
Based on the work by Øyvind Kolås and Pierre Tardy -- many thanks to
Pierre for pushing this backend for inclusion as well as testing and
reviewing my initial patch. And many more thanks to pippin for writing the
backend in the first place!

Hacked and chopped by myself into a suitable basis for a backend. Quite a
few issues remain open, but would seem to be ready for testing on suitable
hardware.
2009-07-17 11:50:02 +01:00
Chris Wilson
851c883962 [test] Add group-clip
Larry Ewing found an ancient and nasty bug whereby a path was not
corrected whilst pushing and popping groups.
2009-06-19 19:08:29 +01:00
Nis Martensen
bc87074185 [path] Fix missing implicit move-to
When cairo_curve_to happens to start a new subpath (e.g., after a call
to cairo_new_sub_path()), it also needs to update the last_move_point.
Otherwise the new current point after a close_path() will be at an
unexpected position.

Therefore, call _cairo_path_fixed_move_to() explicitly.
2009-06-17 16:39:56 +01:00
Thomas Jaeger
a1d0a06b62 xlib, xcb: Hand off EXTEND_PAD/EXTEND_REFLECT to Render
Most drivers and the X server used to have incorrect RepeatPad/RepeatReflect
implementations, forcing cairo to fall back to client-side software rendering,
which is painfully slow due to pixmaps being transfered over the wire.  These
issues are mostly fixed in the drivers (with the exception of radeonhd, whose
developers didn't respond) and the RepeatPad software fallback is implemented
correctly as of pixman-0.15.0, so this patch will hand off composite operations
with EXTEND_PAD/EXTEND_REFLECT source patterns to XRender.

There is no way to detect whether the X server or the drivers use a
broken Render implementation, we make a guess based on the server
version:  It's probably safe to assume that 1.7 X servers will use
fixed drivers and a recent enough version of pixman.
2009-06-05 17:26:09 +01:00
Karl Tomlinson
0238fe2caf [ft] Resolve mutual referencing problems with zombie faces
Bug 21706 -- zombie ft_font_face / ft_unscaled_font mutual
             referencing problems
[http://bugs.freedesktop.org/show_bug.cgi?id=21706]

There can be more than one zombie font_face belonging to an unscaled_font,
but only the first is destroyed.  This leaks the client's FT_Face
(and associated font data) as release of the FT_Face depends on release
of the font_face.

(The reason why Firefox ends up with two different font_faces for one
unscaled_font is that load_flags for faces with artificial oblique have
FT_LOAD_NO_BITMAP set.
https://bugzilla.mozilla.org/show_bug.cgi?id=486974)

Also it's possible for _cairo_ft_font_face_create to pull out a zombie
font_face from the unscaled_font, which would crash
_cairo_ft_font_face_scaled_font_create, as that expects non-null
font_face->unscaled (if !font-face->pattern).
2009-05-15 21:31:02 +01:00
Julien Danjou
834f1d7b70 [xcb] check for render extension presence
Otherwise this may leads to an invalid memory access to r.

Fixes: Bug 18588 - XCB backend fails with missing render.
https://bugs.freedesktop.org/show_bug.cgi?id=18588

Signed-off-by: Julien Danjou <julien@danjou.info>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2008-12-12 10:20:47 +00:00
Carlos Garcia Campos
3e6afb353d [test/any2ppm] Enable PS conversion using libspectre.
Complete the vector trilogy using libspectre to provide a similar
interface (to poppler and librsvg) around GhostScript.
2008-10-09 12:25:08 +01:00
Björn Lindqvist
f644d78dc1 [perf] Add composite performance test.
Add a new test case to Cairo for checking the performance of Cairo's
equivalent to GDK's gdk_pixbuf_composite_color() operation. That is an
operation that happens to be extremely useful when viewing or editing
transparent images so I think it is important that it is as fast as
possible.
2008-10-08 20:10:27 +01:00
Karl Tomlinson
d52b55cb1b [xlib] _surfaces_compatible() can return true for different picture formats
_surfaces_compatible in cairo-xlib-surface returns true for surfaces with
different xrender_format when each has the same depth and no (NULL)
visual.

Common picture formats will not have the same depth, but
it is possible to create a surface with a non-standard xrender_format
having the same depth as another xrender_format with
cairo_xlib_surface_create_with_xrender_format.

Both cairo_xlib_surface_create_with_xrender_format and
_cairo_xlib_surface_create_similar_with_format create surfaces with no
visual.

The same issue exists in the xcb backend.

Fixes bug https://bugs.freedesktop.org/show_bug.cgi?id=16564.
2008-09-28 17:51:23 +01:00
Behdad Esfahbod
ab682a6ff2 Add README.win32, courtesy of Damian Frank 2008-09-24 17:23:28 -04:00
Kai-Uwe Behrmann
20be3182ef [svg] Counteract application of object matrix to mask.
The expected behaviour for masking in Cairo is to set the mask according
to the current active matrix and apply unchanged to the masked surface.

In SVG, the mask element is bound to the masked object and thus the local
matrix from that image object applies to the nested mask as well.

Attached is a small patch for substracting the matrix of a image
surface from the matrix of the mask to comply to Cairo's behaviour.
I did not test for other stuff like vectors or text and would expect this
part is incomplete.
2008-09-22 12:01:11 +01:00
Chris Wilson
ca9df759b4 Change of email address.
Update to my new email address and drop my old work one.
2007-04-14 15:28:29 +01:00
Carl Worth
e1a1f6ff25 AUTHORS: Update descriptions for Mathias Hasselmann and Chris Wilson
Both have contributed a tremendous amount of effort to cairo 1.4.4.
Well done!
2007-04-13 16:37:52 -07:00
Carl Worth
66d1dc8b9c Update AUTHORS with 47 (!) new authors since 1.0 2007-03-05 23:55:05 -08:00
Carl Worth
3329abba39 Add Daniel Amelang and Joonas Pihlaja to the AUTHORS file 2006-11-22 19:11:51 -08:00
Carl Worth
a8e5a77ad4 Add attribution for Bdale Garbee to the AUTHORS file. 2006-04-04 15:04:18 -07:00
Carl Worth
0b9c0efc3a Put win32 mutex locking on the 1.2.0 roadmap.
Portability improvements for win32 thanks to Hans Breuer <hans@breuer.org>:
Defined sized-integer types when under the influence of _MSC_VER and without stdint.h.
Use #error which is more portable than #warning, (and more indicative of where we want to be before the next release).
2005-09-07 16:57:59 +00:00
Carl Worth
464c6dffcf Add Radek Doulík.
Add test exposing a BadValue (0-size pixmap) bug in cairo-xlib-surface when everything is clipped away (thanks to Radek Doulík <rodo@novell.com>).
2005-08-31 09:00:01 +00:00
Carl Worth
d86f5af717 Add Amaury Jacquot. 2005-08-24 08:12:22 +00:00
Carl Worth
f4188a4680 Fix typos. 2005-08-24 07:58:07 +00:00
Kristian Høgsberg
1e054fa396 More minor edits. 2005-08-23 20:08:21 +00:00
Carl Worth
83aae92063 Added several names to the AUTHORS file (since 2005-01-24):
Josh Aas <joshmoz@gmail.com> Billy Biggs <vektor@dumbterm.net> Damien Carbery <damien.carbery@sun.com> Steve Chaplin <stevech1097@yahoo.com.au> Tomasz Cholewo <cholewo@ieee-cis.org> John Ehresman <jpe@wingide.com> Behdad Esfahbod <behdad@behdad.org> Bertram Felgenhauer <int-e@gmx.de> J. Ali Harlow <ali@avrc.city.ac.uk> Adrian Johnson <ajohnson@redneon.com> Michael Johnson <ahze@ahze.net> Øyvind Kolås <pippin@freedesktop.org> Martin Kretzschmar <martink@gnome.org> Tor Lillqvist <tml@novell.com> Luke-Jr <luke-jr@utopios.org> Jeff Muizelaar <jeff@infidigm.net> Peter Nilsson <c99pnn@cs.umu.se> Geoff Norton <gnorton@customerdna.com> Robert O'Callahan <rocallahan@novell.com> Mike Owens <etc@filespanker.com> Stuart Parmenter <pavlov@pavlov.net> Tim Rowley <tim.rowley@gmail.com> Jason Dorje Short <jdorje@users.sf.net> Travis Spencer <tspencer@cs.pdx.edu> Malcolm Tredinnick <malcolm@commsecure.com.au>
2005-08-23 17:36:20 +00:00
Carl Worth
063ba1f51d Add bug for cairo_show_surface under non-default CTM. 2005-02-10 07:46:46 +00:00
David Reveman
e5e0880d67 Update mail address 2005-01-25 12:25:29 +00:00
Carl Worth
fe0c66a821 Add Shawn T. Amundson, Calum Robinson, and Owen Taylor. 2005-01-24 09:17:10 +00:00
Kristian Høgsberg
b1ec8ae13e New PDF backend.
Add PDF surface constructors.
New file - generic array implementation.
Add cairo_array prototypes.
Add cairo_array.c and cairo_pdf_surface.c.
2005-01-05 14:29:31 +00:00
Carl Worth
8fe87a32a8 Add Alexander Larsson to AUTHORS list. 2004-12-20 08:58:38 +00:00
Carl Worth
31d0ddbf2a Make a copy of the region since pixman is currently taking ownership of it (ugh). Thanks to Vladimir Vukicevic <vladimir@pobox.com> and Peter Dennis Bartok <peter@novonyx.com>. 2004-08-14 07:21:52 +00:00
David Reveman
73df0e81cb Added OpenGL surface backend 2004-04-09 14:19:47 +00:00
Carl Worth
9459871bbf Add checks for Xrender.h in xrender.pc is not found. Remove AC_HELP_STRING to be compatible with older versions of autoconf (thanks to Bill Spitzak <spitzak@d2.com>). 2004-03-30 18:45:00 +00:00
Carl Worth
c7d2b0e053 Add proposal for cairo_xlib_surface_set_size.
Added note about problem with cairo_scale_font.
2004-03-30 17:24:29 +00:00
Carl Worth
529b16f119 Add Jordi and Olvier to the AUTHORS file.
Fix broken return value for nchars (thanks to Jordi Mas <jordi@ximian.com>).
2004-02-26 08:54:42 +00:00
Carl Worth
0e02e71cf5 Add attribution for many people who have made generous contributions to cairo. This list was generated by sifting through the ChangeLog. Please let me know if I have missed anyone.
Add some historical notes on cairo development, prior to when we began to maintain this NEWS file.
Add pointer to cairographics.org. Fix to use cairo rather than Cairo when not at the beginning of a sentence.
Remove cairo_current_path, cairo_current_path_flat, cairo_text_extents, cairo_glyph_extents, cairo_text_path, and cairo_glyph_path from the TODO list as they have all been implemented now.
2004-02-24 10:45:26 +00:00
Carl Worth
ee738deaf6 Switched to autotools. Dropped XrPush/PopGroup. Supports non-X Xc rendering. 2003-04-17 13:24:29 +00:00