pjs/gfx/cairo
mats.palmgren%bredband.net b253b9cd9d Free resources more sensibly when _cairo_scaled_font_init() fails. Use true NOOP mutex macros to avoid similar deadlocks in the future. b=378716 r+sr=vladimir a=vladimir 2007-08-31 07:53:53 +00:00
..
cairo Free resources more sensibly when _cairo_scaled_font_init() fails. Use true NOOP mutex macros to avoid similar deadlocks in the future. b=378716 r+sr=vladimir a=vladimir 2007-08-31 07:53:53 +00:00
glitz Bug 387399 Asian fonts are not rendered in web page on BIG ENDIAN machine 2007-07-11 06:40:39 +00:00
libpixman Backing out last change since it caused crashes on Windows (bug 392214). b=390898 2007-08-14 19:03:57 +00:00
.cvsignore
Makefile.in cairo landing: update to cairo 0.9.1+ 2005-08-20 05:34:03 +00:00
README Free resources more sensibly when _cairo_scaled_font_init() fails. Use true NOOP mutex macros to avoid similar deadlocks in the future. b=378716 r+sr=vladimir a=vladimir 2007-08-31 07:53:53 +00:00
clone-similar-fallback.patch b=390668, crash in gfxASurface::GetType (_moz_cairo_scaled_font_status and others), often using drawWindow 2007-08-09 18:54:19 +00:00
max-font-size.patch Bug 322345. Cap maximum ft2 font size at 1000 pixels to avoid killing freetype2 and/or the X server. r=vlad 2006-11-29 20:19:35 +00:00
nonfatal-assertions.patch b=383960, moz cairo: nonfatal-assertions.patch 2007-08-02 07:01:36 +00:00
scaled-font-create-deadlock.patch Free resources more sensibly when _cairo_scaled_font_init() fails. Use true NOOP mutex macros to avoid similar deadlocks in the future. b=378716 r+sr=vladimir a=vladimir 2007-08-31 07:53:53 +00:00
win32-logical-font-scale.patch b=383960, moz cairo: win32-logical-font-scale.patch 2007-07-24 17:38:30 +00:00
win32-no-printer-bitblt.patch b=383960, moz cairo: win32-no-printer-bitblt.patch 2007-07-24 17:38:48 +00:00
win32-scaled-font-size.patch b=383960, moz cairo: win32-scaled-font-size.patch 2007-08-02 07:00:33 +00:00

README

Snapshots of cairo and glitz for mozilla usage.

We only include the relevant parts of each release (generally, src/*.[ch]),
as we have Makefile.in's that integrate into the Mozilla build system.  For
documentation and similar, please see the official tarballs at
http://www.cairographics.org/.

VERSIONS:

  cairo (1.5.x - c0a7d33ac6c81dd74ee2a9daaa3749a346ef4897)
  pixman (0.9.3 - 0c80a0cd84f30616563cef5910df9deb4f8ed687)
  glitz 0.5.2 (cvs - 2006-01-10)

***** NOTE FOR VISUAL C++ 6.0 *****

VC6 is not supported.  Please upgrade to VC8.

==== Patches ====

All patches in the cairo tree are surrounded by "MOZILLA_CAIRO_NOT_DEFINED"
(which should obviously not be defined).

Some specific things:

max-font-size.patch: Clamp freetype font size to 1000 to avoid overflow issues

win32-scaled-font-size.patch: Add cairo_win32_font_face_create_for_logfontw_hfont,
allow win32 scaled_fonts to rescale themselves properly to the required CTM
and only use the font_face's hfont if we're sure it's appropriate

win32-logical-font-scale.patch: set CAIRO_WIN32_LOGICAL_FONT_SCALE to 1

win32-no-printer-bitblt.patch: If we need to BitBlt from a DC (to do
fallback), only bother trying if the IS_DISPLAY flag is set -- many
printers lie about their support for BitBlt, and we end up getting
black instead of what we want.

nonfatal-assertions.patch: Make assertions non-fatal

clone-similar-fallback.patch: Implement fallback for clone_similar.

scaled-font-create-deadlock.patch: the "poor man's mutex" that is provided
for CAIRO_NO_MUTEX will deadlock if a recursive mutex lock occurs.
It's also just a bunch of useless assignments for applications that makes
all cairo calls from a single thread.  An example of where a deadlock occurs
is the cairo_scaled_font_destroy() call from win32_scaled_font_create(),
which is a bug, but it illustrates the dangers of that "poor man's mutex".
The patch makes all mutex operations do nothing under CAIRO_NO_MUTEX and
it fixes the bug in win32_scaled_font_create().
See  https://bugzilla.mozilla.org/show_bug.cgi?id=378716