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 quartz-get-image.patch: Bug 575521; add a way to get the image surface associated with a surface 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 cairo-x-visual.patch: make valid visua for cairo_xlib_surface_create_with_xrender_format (55037bfb2454a671332d961e061c712ab5471580) win32-transparent-surface.patch: add API so we can create a win32 surface for an HDC and indicate the surface has an alpha channel cairo_qt_glyphs.patch: Drop X surface from Qt surface, add support for new qt glyphs api empty-clip-rectangles.patch: f2fa15680ec3ac95cb68d4957557f06561a7dc55 empty-clip-extents.patch: b79ea8a6cab8bd28aebecf6e1e8229d5ac017264 clip-rects-surface-extents.patch: 108b1c7825116ed3f93aa57384bbd3290cdc9181 disable-previous-scaled-font-cache.patch: Disable the previous-scaled-font-cache until we figure out our ctm handling (#583035) copyarea-with-alpha.patch: support simple overlapping self copies in (some) color_alpha xlib surfaces. https://bugs.freedesktop.org/show_bug.cgi?id=29250 fix-clip-test.patch: Use y 498c10032ea3f8631a928cd7df96766f2c8ddca4 ==== 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.