gecko/gfx/cairo
Jeff Muizelaar 347084e968 Bug 562334. cairo: Fix cairo_quartz_get_cg_context_with_clip. r=vlad
A problem happens when clip->all_clipped is set and we go to get a clipped
context. Normally backends don't see operations with clip->all_clipped and so
_cairo_surface_clipper_set_clip is designed with the assumption that
clip->all_clipped is never true. I added a work-around by manually setting the
CGContextClip with an empty rectangle, however this caused cairo to be confused
about what the actual clip was.

This patch fixes the problem by adding a new function
cairo_quartz_finish_cg_context_with_clip that is called after we're done with
the native context. It moves the CGContextSave/RestoreGState calls out of
gfxNativeDrawing into cairo and uses them to ensure that the clip remains
consistent with cairo's model of them.
2010-04-29 23:19:08 -04:00
..
cairo Bug 562334. cairo: Fix cairo_quartz_get_cg_context_with_clip. r=vlad 2010-04-29 23:19:08 -04:00
glitz/src bug 445321 - remove --enable-glitz and related defines. r=vlad,ted 2008-09-30 13:53:38 -04:00
libpixman Bug 558907 - VC10: pixman.h defines intN_t even though stdint.h is available. r=jrmuizel 2010-04-13 14:19:46 +05:30
add-a-stash-of-cairo_t-s.patch Bug 542605. Update cairo to 12d521df8acc483b2daa844d4f05dc2fe2765ba6. r=vlad,jwatt,bas 2010-04-05 22:28:54 -04:00
bgr.patch Bug 542605. Update cairo to 12d521df8acc483b2daa844d4f05dc2fe2765ba6. r=vlad,jwatt,bas 2010-04-05 22:28:54 -04:00
buggy-repeat.patch b=456467; revisit cairo xlib buggy repeat handling; r=roc 2008-09-25 13:07:11 -07:00
cache-size.patch Bug 484076 - Shrink the glyph cache to fix tp_Rss regression. r=me 2009-03-23 21:53:40 -04:00
cairo-qt-compile.patch Bug 561891 - QPainter is is busted after last cairo merge. r=jmuizelaar. 2010-04-29 06:25:02 -04:00
cairo-version-fixes.patch 18829 6014c4fca4a1 2008-09-04 21:44 -0700 vladimir 2008-09-06 14:29:16 -07:00
clip-invariant.patch Bug 542605. Update cairo to 12d521df8acc483b2daa844d4f05dc2fe2765ba6. r=vlad,jwatt,bas 2010-04-05 22:28:54 -04:00
d2d.patch Bug 542605. Update cairo to 12d521df8acc483b2daa844d4f05dc2fe2765ba6. r=vlad,jwatt,bas 2010-04-05 22:28:54 -04:00
disable-printing.patch Bug 462911 - support NS_PRINTING in gfx / cairo. r=vlad 2008-11-04 07:43:45 -08:00
disable-server-gradients.patch Bug 542605. Update cairo to 12d521df8acc483b2daa844d4f05dc2fe2765ba6. r=vlad,jwatt,bas 2010-04-05 22:28:54 -04:00
fix-clip-copy.patch Bug 542605. Update cairo to 12d521df8acc483b2daa844d4f05dc2fe2765ba6. r=vlad,jwatt,bas 2010-04-05 22:28:54 -04:00
fix-clip-region-simplification.patch Bug 542605. Update cairo to 12d521df8acc483b2daa844d4f05dc2fe2765ba6. r=vlad,jwatt,bas 2010-04-05 22:28:54 -04:00
fix-unnecessary-fallback.patch Bug 542605. Update cairo to 12d521df8acc483b2daa844d4f05dc2fe2765ba6. r=vlad,jwatt,bas 2010-04-05 22:28:54 -04:00
fix-win32-show-glyphs-clipping.patch Bug 542605. Update cairo to 12d521df8acc483b2daa844d4f05dc2fe2765ba6. r=vlad,jwatt,bas 2010-04-05 22:28:54 -04:00
fix-zero-length-gradient.patch Bug 542605. Update cairo to 12d521df8acc483b2daa844d4f05dc2fe2765ba6. r=vlad,jwatt,bas 2010-04-05 22:28:54 -04:00
handle-a1.patch Bug 542605. Update cairo to 12d521df8acc483b2daa844d4f05dc2fe2765ba6. r=vlad,jwatt,bas 2010-04-05 22:28:54 -04:00
ignore-rank0.patch Add bug 474886 to cairo README 2009-02-06 17:33:13 -05:00
Makefile.in Bug 474825 - honor mozilla.widget.disable-native-theme preference on windows. r/sr=stuart 2009-01-28 15:39:13 -08:00
max-font-size.patch
native-clipping.patch Bug 562334. cairo: Fix cairo_quartz_get_cg_context_with_clip. r=vlad 2010-04-29 23:19:08 -04:00
nonfatal-assertions.patch b=462938, Upgrade cairo to 1.8.2 and pixman to 0.12.0 [cairo piece] 2008-11-05 23:48:23 -08:00
on-edge.patch Bug 498428. Reverting f2ef72fbe01c because of tSVG regression 2009-06-18 16:44:02 -04:00
pixman-component-alpha.patch Bug 484954 - Propogate the component alpha flag when wrapping image surfaces to fix RGBA text on win32. r=vlad 2009-05-07 15:15:34 -04:00
pixman-rename-and-endian.patch b=518506 make public pixman symbols available in --disable-libxul and --enable-system-cairo builds r=bsmedberg 2009-12-14 10:00:31 +13:00
premultiply-alpha-solid-gradients.patch Bug 539165. Fix single and multi-stop solid gradients by multiplying by the alpha component. r=roc 2010-01-18 10:36:43 -05:00
quartz-const-globals.patch Add cairo patches for Quartz gradient fixes 2009-08-26 10:05:44 -07:00
quartz-fallback.patch Add cairo patches for Quartz gradient fixes 2009-08-26 10:05:44 -07:00
quartz-first-stop.patch Bug 513395: Make sure the Cairo/Quartz backend returns the first stop for negative positions on the gradient line of a nonrepeating linear gradient. r=jrmuizel 2009-11-02 09:20:40 -08:00
quartz-glyph-extents.patch Add patch file to Cairo directory for bug 534260. (NPOTB) 2009-12-24 07:23:28 +00:00
quartz-is-clear.patch Bug 542605. Update cairo to 12d521df8acc483b2daa844d4f05dc2fe2765ba6. r=vlad,jwatt,bas 2010-04-05 22:28:54 -04:00
quartz-minimize-gradient-repeat.patch Add cairo patches for Quartz gradient fixes 2009-08-26 10:05:44 -07:00
quartz-repeating-radial-gradients.patch Add cairo patches for Quartz gradient fixes 2009-08-26 10:05:44 -07:00
README Bug 561891 - QPainter is is busted after last cairo merge. r=jmuizelaar. 2010-04-29 06:25:02 -04:00
surface-clipper.patch Bug 542605. Update cairo to 12d521df8acc483b2daa844d4f05dc2fe2765ba6. r=vlad,jwatt,bas 2010-04-05 22:28:54 -04:00
text-path-filling-threshold.patch Followup to bustage fix for bug 491595 2009-05-14 11:19:51 +12:00
win32-canvas-glyph-position.patch Bug 475092. Fix horizontal offsets for vertically-offset glyphs on Windows. r=vlad,r+sr=roc 2009-02-10 21:34:51 +13:00
win32-cleartype-clipping.patch Bug 445087; add extra pixel on each side of the glyph's black box returned by GetGlyphOutlineW, to avoid clipping ClearType pixels; r=(roc + vladimir) sr=roc 2009-02-24 17:53:31 +01:00
win32-composite-src-mod.patch Bug 498428. Reverting f2ef72fbe01c because of tSVG regression 2009-06-18 16:44:02 -04:00
win32-ddb-dib.patch Bug 504920. Use cairo_set_can_convert_to_dib(TRUE) when creating optimized DDB image surfaces. r=vlad 2009-08-12 10:44:53 -04:00
win32-logical-font-scale.patch
win32-raster.patch Bug 498689. Use scanline rasterizer on win32. r=joedrew, r=zweinberg 2009-06-22 15:01:50 -04:00
win32-vertically-offset-glyph.patch Bug 454098. Fix signs for baseline offsets for glyphs on Windows. r+sr=roc 2009-01-28 22:39:35 +13:00
wince-fixes.patch Bug 461860 - windows mobile fixes in gfx r+sr=vlad 2008-12-03 08:42:03 -05:00
wrap-source_image.patch Bug 526976: SIGFPE [@ _moz_cairo_format_stride_for_width] on BGR frame buffer r=jrmuizel 2010-03-08 17:37:58 +08:00
xlib-initialize-members.patch Bug 548793. Initialize XRender version fields if XRender isn't available. r=jrmuizel 2010-03-05 13:10:42 +13:00
zero-sized.patch Bug 484076 - Update pixman and cairo. This upgrades Cairo to git revision c932a809d6484503d7ee267d934bbc87c8d44092. r=vlad 2009-03-20 16:02:45 -04:00
zombie-face.patch Bug 498428. Reverting f2ef72fbe01c because of tSVG regression 2009-06-18 16:44:02 -04:00

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 (12d521df8acc483b2daa844d4f05dc2fe2765ba6)
  pixman (7862f9b96e8e8456cc60852790c7f244a5e3425e)

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

VC6 is not supported.  Please upgrade to VC8.

==== Patches ====

Some specific things:

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

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

nonfatal-assertions.patch: Make assertions non-fatal

buggy-repeat.patch: Unconditionally turn on buggy-repeat handling to bandaid bug 413583.

cairo-version-fixes.patch: fix up cairo-version.c/cairo-version.h for in-place builds

win32-ddb-dib.patch: fix for bug 455513; not upstream yet pending feebdack

wince-fixes.patch: stubs out win32 functions we use but are not supported on win32.  Also implements ExtSelectClipRgn in terms of other functions available on wince.

win32-vertically-offset-glyph.patch: bug 454098; vertical positioning errors when drawing glyph runs including delta-y offsets on screen via GDI

ignore-rank0.patch: bug 474886; Not redrawing the background when changing page on flickr

win32-canvas-glyph-position.patch: bug 475092; horizontal positioning errors when drawing glyph runs with delta-y offsets to canvas through win32-font

win32-cleartype-clipping.patch: bug 445087; some glyphs are clipped, mainly on right-hand edge, when ClearType is enabled and drawing to RGBA canvas

on-edge.patch: reverts the in-fill semantic change.

wrap-source_image.patch: make sure we don't free the source image until we're done with it.

zero-sized.patch: deal with zero sized surface in ways less likely to crash.

text-path-filling-threshold.patch: use path filling instead of platform glyph rasterization at a smaller size threshold of 256 device pixels, if the backend supports native filling (which we assume will be fast).

zombie-face.patch: bug 486974; leak and possible crash with @font-face{src:url()}.  Upstream commit: 0238fe2cafea2e1ed19bb222117bd73ee6898d4d

win32-raster.patch: bug 498689; use scanline rasterizer on win32

quartz-falback.patch: try to fix Quartz fallback-to-pixman path; possiby incorrect and obsoleted by Andrea Canciani patch

quartz-repeating-radial-gradients.patch: use Quartz to render repeating radial gradients instead of falling back

quartz-const-globals.patch: make some Quartz color function data const globals instead of local variables

quartz-minimze-gradient-repeat.patch: reduce the number of gradient stop repetitions we use, to improve quality of Quartz's gradient rendering

quartz-first-stop.patch: return the first stop for negative positions on the gradient line of a nonrepeating linear gradient

quartz-glyph-extents.patch: bug 534260; work around incorrect glyph extents returned by quartz for anomalous empty glyphs

premultiply-alpha-solid-gradients.patch: bug 539165; multiply the solid color by the alpha component before using it for a solid surface

xlib-initialize-members.path: bug 548793; initialize XRender version if the server doesn't have the extension

remove-comma: remove a comma from enum

d2d.patch: add d2d support

fix-zero-len-graident.patch: fix zero length gradients

fix-clip-copy.patch: fix clip copying

fix-clip-region-simplification.patch: fixes a bug in clip region simplifications

expand-in-stroke-limits.patch: expand the in-stroke limits to avoid a bug

d2d-dwrite.patch: update the d2d/dwrite stuff

add-a-stash-of-cairo_t-s.patch: use the stash to avoid malloc/freeing cairo_t's

bgr.patch: fix image wrapping

disable-server-graidents.patch: disable server-side gradients

clip-invariant.patch: make rasterization closer to being clip invariant

fix-unnecessary-fallback.patch: avoid unnecessary fallback

handle-a1-upload.patch: handle a1 image uploads through converter

surface-clipper.patch: remove an incorrect optimization

fix-win32-show-glyphs-clipping.patch: fix a clipping bug

native-clipping.patch: Add support for a native clipping api

quartz-is-clear.patch: Propagate the quartz is_clear flag.

cairo-qt-compile.patch: Fix compile error, return not reached, and clone_similar interface

==== pixman patches ====

pixman-rename-and-endian.patch: include cairo-platform.h for renaming of external symbols and endian macros

==== disable printing patch ====

disable-printing.patch:  allows us to use NS_PRINTING to disable printing.