mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-01-07 11:56:51 +00:00
e1a193f8d7
This switches from using CombineGeometry() to accumulate clip paths to using a stack of Layers each with a geometric mask. This avoids any imprecision that occurs when using CombineGeometry(). There maybe some performance regressions but we need the correctness and may be able to get some of the performance back. |
||
---|---|---|
.. | ||
cairo | ||
glitz/src | ||
libpixman | ||
add-a-stash-of-cairo_t-s.patch | ||
bgr.patch | ||
buggy-repeat.patch | ||
cache-size.patch | ||
cairo-qt-compile.patch | ||
cairo-version-fixes.patch | ||
clip-invariant.patch | ||
d2d.patch | ||
disable-printing.patch | ||
disable-server-gradients.patch | ||
dwrite-glyph-extents.patch | ||
ensure-text-flushed.patch | ||
fix-clip-copy.patch | ||
fix-clip-region-simplification.patch | ||
fix-ps-output.patch | ||
fix-unnecessary-fallback.patch | ||
fix-win32-show-glyphs-clipping.patch | ||
fix-xcopyarea-with-clips.patch | ||
fix-zero-length-gradient.patch | ||
handle-a1.patch | ||
ignore-rank0.patch | ||
Makefile.in | ||
max-font-size.patch | ||
native-clipping.patch | ||
nonfatal-assertions.patch | ||
on-edge.patch | ||
pixman-android-cpu-detect.patch | ||
pixman-component-alpha.patch | ||
pixman-rename-and-endian.patch | ||
premultiply-alpha-solid-gradients.patch | ||
quartz-cache-CGImageRef.patch | ||
quartz-cg-layers-fix-fallback.patch | ||
quartz-cglayers.patch | ||
quartz-const-globals.patch | ||
quartz-fallback.patch | ||
quartz-first-stop.patch | ||
quartz-glyph-extents.patch | ||
quartz-is-clear.patch | ||
quartz-minimize-gradient-repeat.patch | ||
quartz-remove-snapshot.patch | ||
quartz-repeating-radial-gradients.patch | ||
quartz-state.patch | ||
README | ||
surface-clipper.patch | ||
text-path-filling-threshold.patch | ||
win32-canvas-glyph-position.patch | ||
win32-cleartype-clipping.patch | ||
win32-composite-src-mod.patch | ||
win32-ddb-dib.patch | ||
win32-logical-font-scale.patch | ||
win32-raster.patch | ||
win32-vertically-offset-glyph.patch | ||
wince-fixes.patch | ||
wrap-source_image.patch | ||
xlib-initialize-members.patch | ||
zero-sized.patch | ||
zombie-face.patch |
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 (2f4f2fb4859931bf6dc5632d8c919e7296736427) ***** 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 quartz-state.patch: bug 522859; refactor cairo-quartz-surface so that state local to a drawing operation is stored in a cairo_quartz_drawing_state_t instead of the surface quartz-cache-CGImageRef.patch: cache CGImageRef for a CGBitmapContext; when we reuse it, Quartz will cache stuff, improving performance quartz-remove-snapshot.patch: remove broken implementation of backend snapshot quartz-cglayers.patch: add support for cairo surfaces backed by CGLayers quartz-cglayers-fix-fallback.patch: Bug 572912; fix bug in fallback code in previous patch 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 dwrite-glyph-extents.patch: Add padding to extents of antialiased glyphs, to avoid unwanted clipping. (bug 568191) fix-ps-output.patch: PS: Add missing 'q' when resetting clip path (42b5cac7668625c9761113ff72b47af5cfd10377) ensure-text-flushed.patch: PDF-operators: ensure text operations flushed before emitting clip (42b5cac7668625c9761113ff72b47af5cfd10377) fix-xcopyarea-with-clips.patch: 5d07307b691afccccbb15f773d5231669ba44f5a ==== pixman patches ==== pixman-android-cpu-detect.patch: Add CPU detection support for Android, where we can't reliably access /proc/self/auxv. pixman-rename-and-endian.patch: include cairo-platform.h for renaming of external symbols and endian macros NOTE: we previously supported ARM assembler on MSVC, this has been removed because of the maintenance burden ==== disable printing patch ==== disable-printing.patch: allows us to use NS_PRINTING to disable printing.