mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
347084e968
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. |
||
---|---|---|
.. | ||
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 | ||
fix-clip-copy.patch | ||
fix-clip-region-simplification.patch | ||
fix-unnecessary-fallback.patch | ||
fix-win32-show-glyphs-clipping.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-component-alpha.patch | ||
pixman-rename-and-endian.patch | ||
premultiply-alpha-solid-gradients.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-repeating-radial-gradients.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 (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.