summaryrefslogtreecommitdiff
path: root/Build/source/libs/cairo
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/cairo')
-rw-r--r--Build/source/libs/cairo/ChangeLog5
-rw-r--r--Build/source/libs/cairo/cairo-1.12.14/TODO11
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16-PATCHES/ChangeLog (renamed from Build/source/libs/cairo/cairo-1.12.14-PATCHES/ChangeLog)4
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16-PATCHES/TL-Changes (renamed from Build/source/libs/cairo/cairo-1.12.14-PATCHES/TL-Changes)4
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/AUTHORS (renamed from Build/source/libs/cairo/cairo-1.12.14/AUTHORS)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/BIBLIOGRAPHY (renamed from Build/source/libs/cairo/cairo-1.12.14/BIBLIOGRAPHY)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/BUGS (renamed from Build/source/libs/cairo/cairo-1.12.14/BUGS)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/CODING_STYLE (renamed from Build/source/libs/cairo/cairo-1.12.14/CODING_STYLE)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/COPYING (renamed from Build/source/libs/cairo/cairo-1.12.14/COPYING)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/COPYING-LGPL-2.1 (renamed from Build/source/libs/cairo/cairo-1.12.14/COPYING-LGPL-2.1)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/COPYING-MPL-1.1 (renamed from Build/source/libs/cairo/cairo-1.12.14/COPYING-MPL-1.1)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/HACKING (renamed from Build/source/libs/cairo/cairo-1.12.14/HACKING)9
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/INSTALL (renamed from Build/source/libs/cairo/cairo-1.12.14/INSTALL)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/KNOWN_ISSUES (renamed from Build/source/libs/cairo/cairo-1.12.14/KNOWN_ISSUES)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/Makefile.am (renamed from Build/source/libs/cairo/cairo-1.12.14/Makefile.am)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/Makefile.win32 (renamed from Build/source/libs/cairo/cairo-1.12.14/Makefile.win32)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/NEWS (renamed from Build/source/libs/cairo/cairo-1.12.14/NEWS)55
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/PORTING_GUIDE (renamed from Build/source/libs/cairo/cairo-1.12.14/PORTING_GUIDE)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/README (renamed from Build/source/libs/cairo/cairo-1.12.14/README)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/README.win32 (renamed from Build/source/libs/cairo/cairo-1.12.14/README.win32)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/RELEASING (renamed from Build/source/libs/cairo/cairo-1.12.14/RELEASING)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/acinclude.m4 (renamed from Build/source/libs/cairo/cairo-1.12.14/acinclude.m4)0
-rwxr-xr-xBuild/source/libs/cairo/cairo-1.12.16/autogen.sh (renamed from Build/source/libs/cairo/cairo-1.12.14/autogen.sh)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/build/Makefile.am.analysis (renamed from Build/source/libs/cairo/cairo-1.12.14/build/Makefile.am.analysis)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/build/Makefile.am.changelog (renamed from Build/source/libs/cairo/cairo-1.12.14/build/Makefile.am.changelog)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/build/Makefile.am.common (renamed from Build/source/libs/cairo/cairo-1.12.14/build/Makefile.am.common)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/build/Makefile.am.gtk-doc (renamed from Build/source/libs/cairo/cairo-1.12.14/build/Makefile.am.gtk-doc)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/build/Makefile.am.releasing (renamed from Build/source/libs/cairo/cairo-1.12.14/build/Makefile.am.releasing)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/build/Makefile.win32.common (renamed from Build/source/libs/cairo/cairo-1.12.14/build/Makefile.win32.common)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/build/Makefile.win32.features (renamed from Build/source/libs/cairo/cairo-1.12.14/build/Makefile.win32.features)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/build/Makefile.win32.features-h (renamed from Build/source/libs/cairo/cairo-1.12.14/build/Makefile.win32.features-h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/build/Makefile.win32.inform (renamed from Build/source/libs/cairo/cairo-1.12.14/build/Makefile.win32.inform)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/build/aclocal.cairo.m4 (renamed from Build/source/libs/cairo/cairo-1.12.14/build/aclocal.cairo.m4)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/build/aclocal.compare.m4 (renamed from Build/source/libs/cairo/cairo-1.12.14/build/aclocal.compare.m4)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/build/aclocal.enable.m4 (renamed from Build/source/libs/cairo/cairo-1.12.14/build/aclocal.enable.m4)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/build/aclocal.float.m4 (renamed from Build/source/libs/cairo/cairo-1.12.14/build/aclocal.float.m4)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/build/aclocal.makefile.m4 (renamed from Build/source/libs/cairo/cairo-1.12.14/build/aclocal.makefile.m4)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/build/aclocal.pkg.m4 (renamed from Build/source/libs/cairo/cairo-1.12.14/build/aclocal.pkg.m4)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/build/configure.ac.analysis (renamed from Build/source/libs/cairo/cairo-1.12.14/build/configure.ac.analysis)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/build/configure.ac.features (renamed from Build/source/libs/cairo/cairo-1.12.14/build/configure.ac.features)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/build/configure.ac.noversion (renamed from Build/source/libs/cairo/cairo-1.12.14/build/configure.ac.noversion)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/build/configure.ac.pthread (renamed from Build/source/libs/cairo/cairo-1.12.14/build/configure.ac.pthread)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/build/configure.ac.system (renamed from Build/source/libs/cairo/cairo-1.12.14/build/configure.ac.system)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/build/configure.ac.tools (renamed from Build/source/libs/cairo/cairo-1.12.14/build/configure.ac.tools)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/build/configure.ac.version (renamed from Build/source/libs/cairo/cairo-1.12.14/build/configure.ac.version)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/build/configure.ac.warnings (renamed from Build/source/libs/cairo/cairo-1.12.14/build/configure.ac.warnings)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/build/gtk-doc.m4 (renamed from Build/source/libs/cairo/cairo-1.12.14/build/gtk-doc.m4)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/cairo-version.h (renamed from Build/source/libs/cairo/cairo-1.12.14/cairo-version.h)2
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/config.h.in (renamed from Build/source/libs/cairo/cairo-1.12.14/config.h.in)3
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/configure.ac (renamed from Build/source/libs/cairo/cairo-1.12.14/configure.ac)4
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/Makefile.am (renamed from Build/source/libs/cairo/cairo-1.12.14/src/Makefile.am)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/Makefile.am.analysis (renamed from Build/source/libs/cairo/cairo-1.12.14/src/Makefile.am.analysis)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/Makefile.am.features (renamed from Build/source/libs/cairo/cairo-1.12.14/src/Makefile.am.features)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/Makefile.sources (renamed from Build/source/libs/cairo/cairo-1.12.14/src/Makefile.sources)1
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/Makefile.win32 (renamed from Build/source/libs/cairo/cairo-1.12.14/src/Makefile.win32)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/Makefile.win32.features (renamed from Build/source/libs/cairo/cairo-1.12.14/src/Makefile.win32.features)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/README (renamed from Build/source/libs/cairo/cairo-1.12.14/src/README)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-analysis-surface-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-analysis-surface-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-analysis-surface.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-analysis-surface.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-arc-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-arc-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-arc.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-arc.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-array-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-array-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-array.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-array.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-atomic-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-atomic-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-atomic.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-atomic.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-backend-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-backend-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-base64-stream.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-base64-stream.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-base85-stream.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-base85-stream.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-bentley-ottmann-rectangular.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-bentley-ottmann-rectangular.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-bentley-ottmann-rectilinear.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-bentley-ottmann-rectilinear.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-bentley-ottmann.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-bentley-ottmann.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-beos-surface.cpp (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-beos-surface.cpp)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-beos.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-beos.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-botor-scan-converter.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-botor-scan-converter.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-box-inline.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-box-inline.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-boxes-intersect.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-boxes-intersect.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-boxes-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-boxes-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-boxes.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-boxes.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-cache-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-cache-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-cache.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-cache.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-cff-subset.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-cff-subset.c)4
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-clip-boxes.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-clip-boxes.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-clip-inline.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-clip-inline.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-clip-polygon.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-clip-polygon.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-clip-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-clip-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-clip-region.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-clip-region.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-clip-surface.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-clip-surface.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-clip-tor-scan-converter.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-clip-tor-scan-converter.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-clip.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-clip.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-cogl-context-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-cogl-context-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-cogl-context.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-cogl-context.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-cogl-gradient-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-cogl-gradient-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-cogl-gradient.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-cogl-gradient.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-cogl-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-cogl-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-cogl-surface.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-cogl-surface.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-cogl-utils-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-cogl-utils-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-cogl-utils.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-cogl-utils.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-cogl.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-cogl.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-color.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-color.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-combsort-inline.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-combsort-inline.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-compiler-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-compiler-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-composite-rectangles-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-composite-rectangles-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-composite-rectangles.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-composite-rectangles.c)7
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-compositor-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-compositor-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-compositor.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-compositor.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-contour-inline.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-contour-inline.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-contour-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-contour-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-contour.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-contour.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-damage-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-damage-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-damage.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-damage.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-debug.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-debug.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-default-context-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-default-context-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-default-context.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-default-context.c)5
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-deflate-stream.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-deflate-stream.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-deprecated.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-deprecated.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-device-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-device-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-device.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-device.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-directfb-surface.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-directfb-surface.c)4
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-directfb.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-directfb.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-drm.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-drm.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-egl-context.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-egl-context.c)33
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-error-inline.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-error-inline.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-error-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-error-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-error.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-error.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-fallback-compositor.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-fallback-compositor.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-features-uninstalled.pc.in (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-features-uninstalled.pc.in)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-features.pc.in (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-features.pc.in)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-fixed-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-fixed-private.h)35
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-fixed-type-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-fixed-type-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-fixed.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-fixed.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-font-face-twin-data.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-font-face-twin-data.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-font-face-twin.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-font-face-twin.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-font-face.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-font-face.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-font-options.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-font-options.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-fontconfig-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-fontconfig-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-freed-pool-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-freed-pool-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-freed-pool.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-freed-pool.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-freelist-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-freelist-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-freelist-type-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-freelist-type-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-freelist.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-freelist.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-ft-font.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-ft-font.c)128
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-ft-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-ft-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-ft.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-ft.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-composite.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-composite.c)51
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-device.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-device.c)133
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-dispatch-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-dispatch-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-dispatch.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-dispatch.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-ext-def-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-ext-def-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-glyphs.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-glyphs.c)3
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-gradient-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-gradient-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-gradient.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-gradient.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-info.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-info.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-msaa-compositor.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-msaa-compositor.c)6
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-operand.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-operand.c)69
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-private.h)31
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-shaders.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-shaders.c)69
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-source.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-source.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-spans-compositor.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-spans-compositor.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-surface.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-surface.c)73
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-traps-compositor.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-traps-compositor.c)2
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl.h)6
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-glx-context.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-glx-context.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-gstate-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-gstate-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-gstate.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-gstate.c)24
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-hash-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-hash-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-hash.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-hash.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-hull.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-hull.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-image-compositor.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-image-compositor.c)55
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-image-info-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-image-info-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-image-info.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-image-info.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-image-source.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-image-source.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-image-surface-inline.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-image-surface-inline.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-image-surface-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-image-surface-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-image-surface.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-image-surface.c)10
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-list-inline.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-list-inline.h)8
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-list-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-list-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-lzw.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-lzw.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-malloc-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-malloc-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-mask-compositor.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-mask-compositor.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-matrix.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-matrix.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-mempool-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-mempool-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-mempool.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-mempool.c)3
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-mesh-pattern-rasterizer.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-mesh-pattern-rasterizer.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-misc.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-misc.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-mono-scan-converter.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-mono-scan-converter.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-mutex-impl-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-mutex-impl-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-mutex-list-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-mutex-list-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-mutex-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-mutex-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-mutex-type-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-mutex-type-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-mutex.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-mutex.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-no-compositor.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-no-compositor.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-observer.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-observer.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-os2-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-os2-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-os2-surface.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-os2-surface.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-os2.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-os2.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-output-stream-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-output-stream-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-output-stream.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-output-stream.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-paginated-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-paginated-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-paginated-surface-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-paginated-surface-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-paginated-surface.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-paginated-surface.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-bounds.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-bounds.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-fill.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-fill.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-fixed-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-fixed-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-fixed.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-fixed.c)50
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-in-fill.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-in-fill.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-stroke-boxes.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-stroke-boxes.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-stroke-polygon.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-stroke-polygon.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-stroke-traps.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-stroke-traps.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-stroke-tristrip.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-stroke-tristrip.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-stroke.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-stroke.c)126
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-path.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-path.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-pattern-inline.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-pattern-inline.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-pattern-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-pattern-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-pattern.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-pattern.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-pdf-operators-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-pdf-operators-private.h)7
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-pdf-operators.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-pdf-operators.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-pdf-shading-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-pdf-shading-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-pdf-shading.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-pdf-shading.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-pdf-surface-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-pdf-surface-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-pdf-surface.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-pdf-surface.c)272
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-pdf.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-pdf.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-pen.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-pen.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-pixman-private.h51
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-png.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-png.c)14
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-polygon-intersect.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-polygon-intersect.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-polygon-reduce.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-polygon-reduce.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-polygon.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-polygon.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-ps-surface-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-ps-surface-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-ps-surface.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-ps-surface.c)2
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-ps.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-ps.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-qt-surface.cpp (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-qt-surface.cpp)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-qt.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-qt.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-quartz-font.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-quartz-font.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-quartz-image-surface.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-quartz-image-surface.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-quartz-image.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-quartz-image.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-quartz-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-quartz-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-quartz-surface.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-quartz-surface.c)1
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-quartz.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-quartz.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-raster-source-pattern.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-raster-source-pattern.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-recording-surface-inline.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-recording-surface-inline.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-recording-surface-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-recording-surface-private.h)4
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-recording-surface.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-recording-surface.c)23
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-rectangle.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-rectangle.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-rectangular-scan-converter.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-rectangular-scan-converter.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-reference-count-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-reference-count-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-region-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-region-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-region.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-region.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-rtree-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-rtree-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-rtree.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-rtree.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-scaled-font-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-scaled-font-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-scaled-font-subsets-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-scaled-font-subsets-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-scaled-font-subsets.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-scaled-font-subsets.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-scaled-font.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-scaled-font.c)4
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-script-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-script-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-script-surface.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-script-surface.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-script.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-script.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-shape-mask-compositor.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-shape-mask-compositor.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-skia.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-skia.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-slope-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-slope-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-slope.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-slope.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-spans-compositor-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-spans-compositor-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-spans-compositor.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-spans-compositor.c)7
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-spans-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-spans-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-spans.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-spans.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-spline.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-spline.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-stroke-dash-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-stroke-dash-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-stroke-dash.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-stroke-dash.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-stroke-style.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-stroke-style.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-backend-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-backend-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-clipper-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-clipper-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-clipper.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-clipper.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-fallback-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-fallback-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-fallback.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-fallback.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-inline.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-inline.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-observer-inline.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-observer-inline.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-observer-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-observer-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-observer.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-observer.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-offset-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-offset-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-offset.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-offset.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-snapshot-inline.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-snapshot-inline.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-snapshot-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-snapshot-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-snapshot.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-snapshot.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-subsurface-inline.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-subsurface-inline.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-subsurface-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-subsurface-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-subsurface.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-subsurface.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-wrapper-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-wrapper-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-wrapper.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-wrapper.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface.c)31
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-svg-surface-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-svg-surface-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-svg-surface.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-svg-surface.c)16
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-svg.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-svg.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-tee-surface-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-tee-surface-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-tee-surface.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-tee-surface.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-tee.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-tee.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-time-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-time-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-time.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-time.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-tor-scan-converter.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-tor-scan-converter.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-tor22-scan-converter.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-tor22-scan-converter.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-toy-font-face.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-toy-font-face.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-traps-compositor.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-traps-compositor.c)32
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-traps-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-traps-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-traps.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-traps.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-tristrip-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-tristrip-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-tristrip.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-tristrip.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-truetype-subset-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-truetype-subset-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-truetype-subset.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-truetype-subset.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-type1-fallback.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-type1-fallback.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-type1-glyph-names.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-type1-glyph-names.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-type1-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-type1-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-type1-subset.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-type1-subset.c)27
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-type3-glyph-surface-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-type3-glyph-surface-private.h)5
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-type3-glyph-surface.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-type3-glyph-surface.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-types-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-types-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-unicode.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-unicode.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-uninstalled.pc.in (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-uninstalled.pc.in)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-user-font-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-user-font-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-user-font.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-user-font.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-version.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-version.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-version.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-version.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-vg-surface.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-vg-surface.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-vg.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-vg.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-wgl-context.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-wgl-context.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-wideint-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-wideint-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-wideint-type-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-wideint-type-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-wideint.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-wideint.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-win32.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-win32.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb-connection-core.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb-connection-core.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb-connection-render.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb-connection-render.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb-connection-shm.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb-connection-shm.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb-connection.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb-connection.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb-screen.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb-screen.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb-shm.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb-shm.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb-surface-core.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb-surface-core.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb-surface-render.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb-surface-render.c)15
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb-surface.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb-surface.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-core-compositor.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-core-compositor.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-display.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-display.c)2
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-fallback-compositor.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-fallback-compositor.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-render-compositor.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-render-compositor.c)1
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-screen.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-screen.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-source.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-source.c)7
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-surface-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-surface-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-surface-shm.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-surface-shm.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-surface.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-surface.c)5
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-visual.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-visual.c)3
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-xcb-surface.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-xcb-surface.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-xrender-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-xrender-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-xrender.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-xrender.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-xml-surface.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-xml-surface.c)77
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo-xml.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo-xml.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairo.pc.in (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairo.pc.in)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/cairoint.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/cairoint.h)0
-rwxr-xr-xBuild/source/libs/cairo/cairo-1.12.16/src/check-def.sh (renamed from Build/source/libs/cairo/cairo-1.12.14/src/check-def.sh)2
-rwxr-xr-xBuild/source/libs/cairo/cairo-1.12.16/src/check-doc-syntax.awk (renamed from Build/source/libs/cairo/cairo-1.12.14/src/check-doc-syntax.awk)0
-rwxr-xr-xBuild/source/libs/cairo/cairo-1.12.16/src/check-doc-syntax.sh (renamed from Build/source/libs/cairo/cairo-1.12.14/src/check-doc-syntax.sh)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/check-has-hidden-symbols.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/check-has-hidden-symbols.c)0
-rwxr-xr-xBuild/source/libs/cairo/cairo-1.12.16/src/check-headers.sh (renamed from Build/source/libs/cairo/cairo-1.12.14/src/check-headers.sh)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/check-link.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/check-link.c)0
-rwxr-xr-xBuild/source/libs/cairo/cairo-1.12.16/src/check-plt.sh (renamed from Build/source/libs/cairo/cairo-1.12.14/src/check-plt.sh)0
-rwxr-xr-xBuild/source/libs/cairo/cairo-1.12.16/src/check-preprocessor-syntax.sh (renamed from Build/source/libs/cairo/cairo-1.12.14/src/check-preprocessor-syntax.sh)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/test-base-compositor-surface.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/test-base-compositor-surface.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/test-compositor-surface-private.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/test-compositor-surface-private.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/test-compositor-surface.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/test-compositor-surface.c)4
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/test-compositor-surface.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/test-compositor-surface.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/test-null-compositor-surface.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/test-null-compositor-surface.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/test-null-compositor-surface.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/test-null-compositor-surface.h)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/test-paginated-surface.c (renamed from Build/source/libs/cairo/cairo-1.12.14/src/test-paginated-surface.c)0
-rw-r--r--Build/source/libs/cairo/cairo-1.12.16/src/test-paginated-surface.h (renamed from Build/source/libs/cairo/cairo-1.12.14/src/test-paginated-surface.h)0
-rwxr-xr-xBuild/source/libs/cairo/configure24
-rw-r--r--Build/source/libs/cairo/version.ac2
379 files changed, 1189 insertions, 482 deletions
diff --git a/Build/source/libs/cairo/ChangeLog b/Build/source/libs/cairo/ChangeLog
index 6f701180afb..bc2e3dd22b9 100644
--- a/Build/source/libs/cairo/ChangeLog
+++ b/Build/source/libs/cairo/ChangeLog
@@ -1,3 +1,8 @@
+2013-09-10 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Import cairo-1.12.16.
+ * Makefile.am, version.ac: Adapted.
+
2013-09-02 Peter Breitenlohner <peb@mppmu.mpg.de>
* Makefile.am: Drop ACLOCAL_AMFLAGS.
diff --git a/Build/source/libs/cairo/cairo-1.12.14/TODO b/Build/source/libs/cairo/cairo-1.12.14/TODO
deleted file mode 100644
index 83421732c4d..00000000000
--- a/Build/source/libs/cairo/cairo-1.12.14/TODO
+++ /dev/null
@@ -1,11 +0,0 @@
-17:07 < sanooj> ickle_: could you write up the docs for the device functions with particular care given to the interactions with other things?
-17:07 < ickle_> sanooj: can't you tell I'm still winging it ;-)
-17:07 * ickle_ hand waves... these are not the docs you are looking for.
-17:07 < sanooj> heh. all right
-17:08 < sanooj> but before 1.10 anyway!
-17:08 < ickle_> most of it will depend upon how it breaks when Company uses it in anger. :)
-17:09 < Company> well, the idea is to set up the GLX context the way i want it
-17:09 < Company> and only restore it to defaults in _flush()
-17:09 < sanooj> it should answer things like "when do I need to care about a device_t? when should I acquire it? what can I do while it's acquired? when is it implicitly acquired/released by cairo? what does flushing a device mean? who else is
- flushing the device? when do I need to flush it?" etc.
-17:10 * ickle_ takes notes.
diff --git a/Build/source/libs/cairo/cairo-1.12.14-PATCHES/ChangeLog b/Build/source/libs/cairo/cairo-1.12.16-PATCHES/ChangeLog
index 78eb756977c..94900a9d026 100644
--- a/Build/source/libs/cairo/cairo-1.12.14-PATCHES/ChangeLog
+++ b/Build/source/libs/cairo/cairo-1.12.16-PATCHES/ChangeLog
@@ -1,3 +1,7 @@
+2013-09-10 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Import cairo-1.12.16.
+
2013-05-25 Peter Breitenlohner <peb@mppmu.mpg.de>
Import cairo-1.12.14.
diff --git a/Build/source/libs/cairo/cairo-1.12.14-PATCHES/TL-Changes b/Build/source/libs/cairo/cairo-1.12.16-PATCHES/TL-Changes
index f9d6c9bc119..191bf9fc8f7 100644
--- a/Build/source/libs/cairo/cairo-1.12.14-PATCHES/TL-Changes
+++ b/Build/source/libs/cairo/cairo-1.12.16-PATCHES/TL-Changes
@@ -1,5 +1,5 @@
-Changes applied to the cairo-1.12.14/ tree as obtained from:
- http://cairographics.org/releases/cairo-1.12.14.tar.xz
+Changes applied to the cairo-1.12.16/ tree as obtained from:
+ http://cairographics.org/releases/cairo-1.12.16.tar.xz
Removed:
Makefile.in
diff --git a/Build/source/libs/cairo/cairo-1.12.14/AUTHORS b/Build/source/libs/cairo/cairo-1.12.16/AUTHORS
index a977e73c944..a977e73c944 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/AUTHORS
+++ b/Build/source/libs/cairo/cairo-1.12.16/AUTHORS
diff --git a/Build/source/libs/cairo/cairo-1.12.14/BIBLIOGRAPHY b/Build/source/libs/cairo/cairo-1.12.16/BIBLIOGRAPHY
index 90a6cef205b..90a6cef205b 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/BIBLIOGRAPHY
+++ b/Build/source/libs/cairo/cairo-1.12.16/BIBLIOGRAPHY
diff --git a/Build/source/libs/cairo/cairo-1.12.14/BUGS b/Build/source/libs/cairo/cairo-1.12.16/BUGS
index ef044046d3e..ef044046d3e 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/BUGS
+++ b/Build/source/libs/cairo/cairo-1.12.16/BUGS
diff --git a/Build/source/libs/cairo/cairo-1.12.14/CODING_STYLE b/Build/source/libs/cairo/cairo-1.12.16/CODING_STYLE
index 95ceac04d84..95ceac04d84 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/CODING_STYLE
+++ b/Build/source/libs/cairo/cairo-1.12.16/CODING_STYLE
diff --git a/Build/source/libs/cairo/cairo-1.12.14/COPYING b/Build/source/libs/cairo/cairo-1.12.16/COPYING
index f54969f1c94..f54969f1c94 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/COPYING
+++ b/Build/source/libs/cairo/cairo-1.12.16/COPYING
diff --git a/Build/source/libs/cairo/cairo-1.12.14/COPYING-LGPL-2.1 b/Build/source/libs/cairo/cairo-1.12.16/COPYING-LGPL-2.1
index f1ed6182c52..f1ed6182c52 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/COPYING-LGPL-2.1
+++ b/Build/source/libs/cairo/cairo-1.12.16/COPYING-LGPL-2.1
diff --git a/Build/source/libs/cairo/cairo-1.12.14/COPYING-MPL-1.1 b/Build/source/libs/cairo/cairo-1.12.16/COPYING-MPL-1.1
index 7714141d154..7714141d154 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/COPYING-MPL-1.1
+++ b/Build/source/libs/cairo/cairo-1.12.16/COPYING-MPL-1.1
diff --git a/Build/source/libs/cairo/cairo-1.12.14/HACKING b/Build/source/libs/cairo/cairo-1.12.16/HACKING
index 92aa6541d23..752efbab227 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/HACKING
+++ b/Build/source/libs/cairo/cairo-1.12.16/HACKING
@@ -136,10 +136,11 @@ See test/README for more information.
Performance Test Suite
----------------------
-There is a small performance-testing suite for cairo.
-
-The performance test suite is located under the perf/ directory.
-See perf/README for more information.
+There is a performance test suite located under the perf/ directory.
+A collection of traces of real-world behavior are also available in the
+cairo-traces repository, which can be used in isolation or hooked in
+with the main performance test suite. See perf/README for more
+information.
Boilerplate
diff --git a/Build/source/libs/cairo/cairo-1.12.14/INSTALL b/Build/source/libs/cairo/cairo-1.12.16/INSTALL
index 9db68dee2ba..9db68dee2ba 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/INSTALL
+++ b/Build/source/libs/cairo/cairo-1.12.16/INSTALL
diff --git a/Build/source/libs/cairo/cairo-1.12.14/KNOWN_ISSUES b/Build/source/libs/cairo/cairo-1.12.16/KNOWN_ISSUES
index 5fda6838929..5fda6838929 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/KNOWN_ISSUES
+++ b/Build/source/libs/cairo/cairo-1.12.16/KNOWN_ISSUES
diff --git a/Build/source/libs/cairo/cairo-1.12.14/Makefile.am b/Build/source/libs/cairo/cairo-1.12.16/Makefile.am
index 03fa3523649..03fa3523649 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/Makefile.am
+++ b/Build/source/libs/cairo/cairo-1.12.16/Makefile.am
diff --git a/Build/source/libs/cairo/cairo-1.12.14/Makefile.win32 b/Build/source/libs/cairo/cairo-1.12.16/Makefile.win32
index fbad7f3e4c9..fbad7f3e4c9 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/Makefile.win32
+++ b/Build/source/libs/cairo/cairo-1.12.16/Makefile.win32
diff --git a/Build/source/libs/cairo/cairo-1.12.14/NEWS b/Build/source/libs/cairo/cairo-1.12.16/NEWS
index 368d293c262..030eacc2758 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/NEWS
+++ b/Build/source/libs/cairo/cairo-1.12.16/NEWS
@@ -1,3 +1,58 @@
+Release 1.12.16 (2013-08-21 Chris Wilson <chris@chris-wilson.co.uk>)
+===================================================================
+Thanks to everybody who reported a bug and helped us develop a fix,
+we have amassed quite a few bug fixes. There are still more outstanding
+bugs that seek attention and a little bit of TLC, but this release has
+been delayed long enough...
+
+Bug fixes
+---------
+
+ Set the correct orientation for simple boxes with a negative scale
+ factor.
+
+ Fix the creation of the shading dictionary in PDF.
+
+ Fix a crash in PDF when incorporating an image with CAIRO_EXTEND_PAD.
+ https://bugs.freedesktop.org/show_bug.cgi?id=61451
+
+ Avoid upscaling bitmap fonts if possible.
+
+ Fix an assertion failure within the mempool allocator for shared memory.
+
+ Fix allocation size for CFF subsets.
+
+ Export cairo_matrix_t for GObject bindings.
+
+ Fix a double free in the Quartz backend.
+ https://bugs.freedesktop.org/show_bug.cgi?id=62885
+
+ Fix origin of GDI StretchBlits for the Windows backend
+ https://bugs.freedesktop.org/show_bug.cgi?id=61876
+
+ Fix error propagation for requests to create a similar surface with
+ negative size.
+ https://bugs.freedesktop.org/show_bug.cgi?id=63196
+
+ Fix complex clipping of trapezoids with regions
+ https://bugzilla.gnome.org/show_bug.cgi?id=697357
+
+ Stop leaking the image data when loading PNGs
+
+ Fix unbounded operations with a clip mask through the span compositor
+ https://bugs.freedesktop.org/show_bug.cgi?id=61592
+
+ Add missing checks before rendering to a finished surface - so we return
+ an error rather than hit an assert.
+ https://bugs.freedesktop.org/show_bug.cgi?id=68014
+
+ Prevent an assertion failure when creating similar GL surfaces larger
+ than supported by hardware.
+
+ Prevent a double free of a similar image under Windows.
+ https://bugs.freedesktop.org/show_bug.cgi?id=63787
+
+
Release 1.12.14 (2013-02-10 Chris Wilson <chris@chris-wilson.co.uk>)
===================================================================
In the last week we had a few more bugs reported and promptly resolved.
diff --git a/Build/source/libs/cairo/cairo-1.12.14/PORTING_GUIDE b/Build/source/libs/cairo/cairo-1.12.16/PORTING_GUIDE
index 7488173c46b..7488173c46b 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/PORTING_GUIDE
+++ b/Build/source/libs/cairo/cairo-1.12.16/PORTING_GUIDE
diff --git a/Build/source/libs/cairo/cairo-1.12.14/README b/Build/source/libs/cairo/cairo-1.12.16/README
index 67ce4f58d61..67ce4f58d61 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/README
+++ b/Build/source/libs/cairo/cairo-1.12.16/README
diff --git a/Build/source/libs/cairo/cairo-1.12.14/README.win32 b/Build/source/libs/cairo/cairo-1.12.16/README.win32
index ff962b72a68..ff962b72a68 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/README.win32
+++ b/Build/source/libs/cairo/cairo-1.12.16/README.win32
diff --git a/Build/source/libs/cairo/cairo-1.12.14/RELEASING b/Build/source/libs/cairo/cairo-1.12.16/RELEASING
index a1edceba9cd..a1edceba9cd 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/RELEASING
+++ b/Build/source/libs/cairo/cairo-1.12.16/RELEASING
diff --git a/Build/source/libs/cairo/cairo-1.12.14/acinclude.m4 b/Build/source/libs/cairo/cairo-1.12.16/acinclude.m4
index dcf54f9357d..dcf54f9357d 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/acinclude.m4
+++ b/Build/source/libs/cairo/cairo-1.12.16/acinclude.m4
diff --git a/Build/source/libs/cairo/cairo-1.12.14/autogen.sh b/Build/source/libs/cairo/cairo-1.12.16/autogen.sh
index 4d113f8be5f..4d113f8be5f 100755
--- a/Build/source/libs/cairo/cairo-1.12.14/autogen.sh
+++ b/Build/source/libs/cairo/cairo-1.12.16/autogen.sh
diff --git a/Build/source/libs/cairo/cairo-1.12.14/build/Makefile.am.analysis b/Build/source/libs/cairo/cairo-1.12.16/build/Makefile.am.analysis
index a44077ab453..a44077ab453 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/build/Makefile.am.analysis
+++ b/Build/source/libs/cairo/cairo-1.12.16/build/Makefile.am.analysis
diff --git a/Build/source/libs/cairo/cairo-1.12.14/build/Makefile.am.changelog b/Build/source/libs/cairo/cairo-1.12.16/build/Makefile.am.changelog
index 07e603695cf..07e603695cf 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/build/Makefile.am.changelog
+++ b/Build/source/libs/cairo/cairo-1.12.16/build/Makefile.am.changelog
diff --git a/Build/source/libs/cairo/cairo-1.12.14/build/Makefile.am.common b/Build/source/libs/cairo/cairo-1.12.16/build/Makefile.am.common
index b955af58fdf..b955af58fdf 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/build/Makefile.am.common
+++ b/Build/source/libs/cairo/cairo-1.12.16/build/Makefile.am.common
diff --git a/Build/source/libs/cairo/cairo-1.12.14/build/Makefile.am.gtk-doc b/Build/source/libs/cairo/cairo-1.12.16/build/Makefile.am.gtk-doc
index c3d642b097b..c3d642b097b 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/build/Makefile.am.gtk-doc
+++ b/Build/source/libs/cairo/cairo-1.12.16/build/Makefile.am.gtk-doc
diff --git a/Build/source/libs/cairo/cairo-1.12.14/build/Makefile.am.releasing b/Build/source/libs/cairo/cairo-1.12.16/build/Makefile.am.releasing
index b17faabce2f..b17faabce2f 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/build/Makefile.am.releasing
+++ b/Build/source/libs/cairo/cairo-1.12.16/build/Makefile.am.releasing
diff --git a/Build/source/libs/cairo/cairo-1.12.14/build/Makefile.win32.common b/Build/source/libs/cairo/cairo-1.12.16/build/Makefile.win32.common
index 01a38cd32ee..01a38cd32ee 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/build/Makefile.win32.common
+++ b/Build/source/libs/cairo/cairo-1.12.16/build/Makefile.win32.common
diff --git a/Build/source/libs/cairo/cairo-1.12.14/build/Makefile.win32.features b/Build/source/libs/cairo/cairo-1.12.16/build/Makefile.win32.features
index 8cb155dc084..8cb155dc084 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/build/Makefile.win32.features
+++ b/Build/source/libs/cairo/cairo-1.12.16/build/Makefile.win32.features
diff --git a/Build/source/libs/cairo/cairo-1.12.14/build/Makefile.win32.features-h b/Build/source/libs/cairo/cairo-1.12.16/build/Makefile.win32.features-h
index 13904cfa9f0..13904cfa9f0 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/build/Makefile.win32.features-h
+++ b/Build/source/libs/cairo/cairo-1.12.16/build/Makefile.win32.features-h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/build/Makefile.win32.inform b/Build/source/libs/cairo/cairo-1.12.16/build/Makefile.win32.inform
index ba11165050a..ba11165050a 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/build/Makefile.win32.inform
+++ b/Build/source/libs/cairo/cairo-1.12.16/build/Makefile.win32.inform
diff --git a/Build/source/libs/cairo/cairo-1.12.14/build/aclocal.cairo.m4 b/Build/source/libs/cairo/cairo-1.12.16/build/aclocal.cairo.m4
index 2f4873b043f..2f4873b043f 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/build/aclocal.cairo.m4
+++ b/Build/source/libs/cairo/cairo-1.12.16/build/aclocal.cairo.m4
diff --git a/Build/source/libs/cairo/cairo-1.12.14/build/aclocal.compare.m4 b/Build/source/libs/cairo/cairo-1.12.16/build/aclocal.compare.m4
index bd6c51b289d..bd6c51b289d 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/build/aclocal.compare.m4
+++ b/Build/source/libs/cairo/cairo-1.12.16/build/aclocal.compare.m4
diff --git a/Build/source/libs/cairo/cairo-1.12.14/build/aclocal.enable.m4 b/Build/source/libs/cairo/cairo-1.12.16/build/aclocal.enable.m4
index f3522b9832c..f3522b9832c 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/build/aclocal.enable.m4
+++ b/Build/source/libs/cairo/cairo-1.12.16/build/aclocal.enable.m4
diff --git a/Build/source/libs/cairo/cairo-1.12.14/build/aclocal.float.m4 b/Build/source/libs/cairo/cairo-1.12.16/build/aclocal.float.m4
index 18ec3161840..18ec3161840 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/build/aclocal.float.m4
+++ b/Build/source/libs/cairo/cairo-1.12.16/build/aclocal.float.m4
diff --git a/Build/source/libs/cairo/cairo-1.12.14/build/aclocal.makefile.m4 b/Build/source/libs/cairo/cairo-1.12.16/build/aclocal.makefile.m4
index 70777810d14..70777810d14 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/build/aclocal.makefile.m4
+++ b/Build/source/libs/cairo/cairo-1.12.16/build/aclocal.makefile.m4
diff --git a/Build/source/libs/cairo/cairo-1.12.14/build/aclocal.pkg.m4 b/Build/source/libs/cairo/cairo-1.12.16/build/aclocal.pkg.m4
index cf90a967880..cf90a967880 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/build/aclocal.pkg.m4
+++ b/Build/source/libs/cairo/cairo-1.12.16/build/aclocal.pkg.m4
diff --git a/Build/source/libs/cairo/cairo-1.12.14/build/configure.ac.analysis b/Build/source/libs/cairo/cairo-1.12.16/build/configure.ac.analysis
index 11c52e70d6e..11c52e70d6e 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/build/configure.ac.analysis
+++ b/Build/source/libs/cairo/cairo-1.12.16/build/configure.ac.analysis
diff --git a/Build/source/libs/cairo/cairo-1.12.14/build/configure.ac.features b/Build/source/libs/cairo/cairo-1.12.16/build/configure.ac.features
index e4a2aafcc82..e4a2aafcc82 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/build/configure.ac.features
+++ b/Build/source/libs/cairo/cairo-1.12.16/build/configure.ac.features
diff --git a/Build/source/libs/cairo/cairo-1.12.14/build/configure.ac.noversion b/Build/source/libs/cairo/cairo-1.12.16/build/configure.ac.noversion
index 18c4bd5f7ae..18c4bd5f7ae 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/build/configure.ac.noversion
+++ b/Build/source/libs/cairo/cairo-1.12.16/build/configure.ac.noversion
diff --git a/Build/source/libs/cairo/cairo-1.12.14/build/configure.ac.pthread b/Build/source/libs/cairo/cairo-1.12.16/build/configure.ac.pthread
index 29c930da932..29c930da932 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/build/configure.ac.pthread
+++ b/Build/source/libs/cairo/cairo-1.12.16/build/configure.ac.pthread
diff --git a/Build/source/libs/cairo/cairo-1.12.14/build/configure.ac.system b/Build/source/libs/cairo/cairo-1.12.16/build/configure.ac.system
index b9d71c8d783..b9d71c8d783 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/build/configure.ac.system
+++ b/Build/source/libs/cairo/cairo-1.12.16/build/configure.ac.system
diff --git a/Build/source/libs/cairo/cairo-1.12.14/build/configure.ac.tools b/Build/source/libs/cairo/cairo-1.12.16/build/configure.ac.tools
index a24dbcecb91..a24dbcecb91 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/build/configure.ac.tools
+++ b/Build/source/libs/cairo/cairo-1.12.16/build/configure.ac.tools
diff --git a/Build/source/libs/cairo/cairo-1.12.14/build/configure.ac.version b/Build/source/libs/cairo/cairo-1.12.16/build/configure.ac.version
index a91cee39eef..a91cee39eef 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/build/configure.ac.version
+++ b/Build/source/libs/cairo/cairo-1.12.16/build/configure.ac.version
diff --git a/Build/source/libs/cairo/cairo-1.12.14/build/configure.ac.warnings b/Build/source/libs/cairo/cairo-1.12.16/build/configure.ac.warnings
index f984eb29c0f..f984eb29c0f 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/build/configure.ac.warnings
+++ b/Build/source/libs/cairo/cairo-1.12.16/build/configure.ac.warnings
diff --git a/Build/source/libs/cairo/cairo-1.12.14/build/gtk-doc.m4 b/Build/source/libs/cairo/cairo-1.12.16/build/gtk-doc.m4
index 0ada151935f..0ada151935f 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/build/gtk-doc.m4
+++ b/Build/source/libs/cairo/cairo-1.12.16/build/gtk-doc.m4
diff --git a/Build/source/libs/cairo/cairo-1.12.14/cairo-version.h b/Build/source/libs/cairo/cairo-1.12.16/cairo-version.h
index 9cda3831d40..107df301c63 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/cairo-version.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/cairo-version.h
@@ -3,6 +3,6 @@
#define CAIRO_VERSION_MAJOR 1
#define CAIRO_VERSION_MINOR 12
-#define CAIRO_VERSION_MICRO 14
+#define CAIRO_VERSION_MICRO 16
#endif
diff --git a/Build/source/libs/cairo/cairo-1.12.14/config.h.in b/Build/source/libs/cairo/cairo-1.12.16/config.h.in
index 6b0e1e7ca09..e5160395414 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/config.h.in
+++ b/Build/source/libs/cairo/cairo-1.12.16/config.h.in
@@ -213,6 +213,9 @@
/* Define to 1 if you have the <sys/int_types.h> header file. */
#undef HAVE_SYS_INT_TYPES_H
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#undef HAVE_SYS_IOCTL_H
+
/* Define to 1 if you have the <sys/mman.h> header file. */
#undef HAVE_SYS_MMAN_H
diff --git a/Build/source/libs/cairo/cairo-1.12.14/configure.ac b/Build/source/libs/cairo/cairo-1.12.16/configure.ac
index 928a1694d40..fd54ad1e380 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/configure.ac
+++ b/Build/source/libs/cairo/cairo-1.12.16/configure.ac
@@ -11,6 +11,8 @@ AC_USE_SYSTEM_EXTENSIONS
AC_CONFIG_SRCDIR(src/cairo.h)
AC_CONFIG_HEADERS(config.h)
+AC_CHECK_HEADERS([unistd.h sys/ioctl.h])
+
AM_INIT_AUTOMAKE([1.11 foreign -Wall no-define no-dist-gzip dist-xz])
AM_SILENT_RULES([yes])
@@ -654,7 +656,7 @@ CAIRO_ENABLE(test_surfaces, test surfaces, no)
dnl ===========================================================================
CAIRO_ENABLE_SURFACE_BACKEND(image, image, always, [
- pixman_REQUIRES="pixman-1 >= 0.22.0"
+ pixman_REQUIRES="pixman-1 >= 0.16.0"
PKG_CHECK_MODULES(pixman, $pixman_REQUIRES, ,
[use_image="no (requires $pixman_REQUIRES http://cairographics.org/releases/)"])
image_REQUIRES=$pixman_REQUIRES
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/Makefile.am b/Build/source/libs/cairo/cairo-1.12.16/src/Makefile.am
index acf0a828100..acf0a828100 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/Makefile.am
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/Makefile.am
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/Makefile.am.analysis b/Build/source/libs/cairo/cairo-1.12.16/src/Makefile.am.analysis
index fab4cf7a514..fab4cf7a514 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/Makefile.am.analysis
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/Makefile.am.analysis
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/Makefile.am.features b/Build/source/libs/cairo/cairo-1.12.16/src/Makefile.am.features
index c58ac23da4e..c58ac23da4e 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/Makefile.am.features
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/Makefile.am.features
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/Makefile.sources b/Build/source/libs/cairo/cairo-1.12.16/src/Makefile.sources
index 4abf57dfb61..2e14fff8a45 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/Makefile.sources
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/Makefile.sources
@@ -99,6 +99,7 @@ cairo_private = \
cairo-path-private.h \
cairo-pattern-inline.h \
cairo-pattern-private.h \
+ cairo-pixman-private.h \
cairo-private.h \
cairo-recording-surface-inline.h \
cairo-recording-surface-private.h \
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/Makefile.win32 b/Build/source/libs/cairo/cairo-1.12.16/src/Makefile.win32
index 864791f377b..864791f377b 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/Makefile.win32
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/Makefile.win32
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/Makefile.win32.features b/Build/source/libs/cairo/cairo-1.12.16/src/Makefile.win32.features
index 2274f4ad6cf..2274f4ad6cf 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/Makefile.win32.features
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/Makefile.win32.features
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/README b/Build/source/libs/cairo/cairo-1.12.16/src/README
index 03e4455ea58..03e4455ea58 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/README
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/README
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-analysis-surface-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-analysis-surface-private.h
index 1e054c209ab..1e054c209ab 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-analysis-surface-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-analysis-surface-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-analysis-surface.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-analysis-surface.c
index 8516094c200..8516094c200 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-analysis-surface.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-analysis-surface.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-arc-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-arc-private.h
index a22c01ac90b..a22c01ac90b 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-arc-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-arc-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-arc.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-arc.c
index 5cbd11238ef..5cbd11238ef 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-arc.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-arc.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-array-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-array-private.h
index 35b29e5fc07..35b29e5fc07 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-array-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-array-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-array.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-array.c
index 4f3c082ff6b..4f3c082ff6b 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-array.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-array.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-atomic-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-atomic-private.h
index 327fed1d928..327fed1d928 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-atomic-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-atomic-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-atomic.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-atomic.c
index 909cfea4925..909cfea4925 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-atomic.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-atomic.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-backend-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-backend-private.h
index b05eca59ab3..b05eca59ab3 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-backend-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-backend-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-base64-stream.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-base64-stream.c
index 636431372b5..636431372b5 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-base64-stream.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-base64-stream.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-base85-stream.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-base85-stream.c
index f81affb49ea..f81affb49ea 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-base85-stream.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-base85-stream.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-bentley-ottmann-rectangular.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-bentley-ottmann-rectangular.c
index 5541bdc3a2d..5541bdc3a2d 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-bentley-ottmann-rectangular.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-bentley-ottmann-rectangular.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-bentley-ottmann-rectilinear.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-bentley-ottmann-rectilinear.c
index 7c0be69b712..7c0be69b712 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-bentley-ottmann-rectilinear.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-bentley-ottmann-rectilinear.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-bentley-ottmann.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-bentley-ottmann.c
index 0e1a3f570c2..0e1a3f570c2 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-bentley-ottmann.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-bentley-ottmann.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-beos-surface.cpp b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-beos-surface.cpp
index c97641685fc..c97641685fc 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-beos-surface.cpp
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-beos-surface.cpp
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-beos.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-beos.h
index fdb89a6c4dc..fdb89a6c4dc 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-beos.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-beos.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-botor-scan-converter.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-botor-scan-converter.c
index 515305bf24e..515305bf24e 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-botor-scan-converter.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-botor-scan-converter.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-box-inline.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-box-inline.h
index d6b994127e3..d6b994127e3 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-box-inline.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-box-inline.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-boxes-intersect.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-boxes-intersect.c
index 96ae66334e6..96ae66334e6 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-boxes-intersect.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-boxes-intersect.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-boxes-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-boxes-private.h
index d1f9dfcd1e5..d1f9dfcd1e5 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-boxes-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-boxes-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-boxes.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-boxes.c
index 63b68ddfb90..63b68ddfb90 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-boxes.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-boxes.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-cache-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-cache-private.h
index 76b556194d5..76b556194d5 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-cache-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-cache-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-cache.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-cache.c
index 5c4e4caa3d0..5c4e4caa3d0 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-cache.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-cache.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-cff-subset.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-cff-subset.c
index bd8d5b5f5ab..c420bd49c0e 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-cff-subset.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-cff-subset.c
@@ -1052,13 +1052,13 @@ cairo_cff_font_read_cid_fontdict (cairo_cff_font_t *font, unsigned char *ptr)
goto fail;
}
- font->fd_default_width = calloc (sizeof (int), font->num_fontdicts);
+ font->fd_default_width = calloc (font->num_fontdicts, sizeof (double));
if (unlikely (font->fd_default_width == NULL)) {
status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
goto fail;
}
- font->fd_nominal_width = calloc (sizeof (int), font->num_fontdicts);
+ font->fd_nominal_width = calloc (font->num_fontdicts, sizeof (double));
if (unlikely (font->fd_nominal_width == NULL)) {
status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
goto fail;
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-clip-boxes.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-clip-boxes.c
index bbb41978868..bbb41978868 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-clip-boxes.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-clip-boxes.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-clip-inline.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-clip-inline.h
index a9f23269223..a9f23269223 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-clip-inline.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-clip-inline.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-clip-polygon.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-clip-polygon.c
index f40faefba80..f40faefba80 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-clip-polygon.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-clip-polygon.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-clip-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-clip-private.h
index 5fc05a64e93..5fc05a64e93 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-clip-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-clip-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-clip-region.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-clip-region.c
index e3f4891e3f2..e3f4891e3f2 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-clip-region.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-clip-region.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-clip-surface.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-clip-surface.c
index fff9724033f..fff9724033f 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-clip-surface.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-clip-surface.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-clip-tor-scan-converter.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-clip-tor-scan-converter.c
index e32a5a9d9c7..e32a5a9d9c7 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-clip-tor-scan-converter.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-clip-tor-scan-converter.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-clip.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-clip.c
index 0df9b06bf60..0df9b06bf60 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-clip.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-clip.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-cogl-context-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-cogl-context-private.h
index 0a7185ef1f5..0a7185ef1f5 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-cogl-context-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-cogl-context-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-cogl-context.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-cogl-context.c
index 0116b0a5a93..0116b0a5a93 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-cogl-context.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-cogl-context.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-cogl-gradient-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-cogl-gradient-private.h
index fa684d2c6b0..fa684d2c6b0 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-cogl-gradient-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-cogl-gradient-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-cogl-gradient.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-cogl-gradient.c
index f8c80041629..f8c80041629 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-cogl-gradient.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-cogl-gradient.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-cogl-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-cogl-private.h
index 13fe5a8dc76..13fe5a8dc76 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-cogl-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-cogl-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-cogl-surface.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-cogl-surface.c
index 27c3676de38..27c3676de38 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-cogl-surface.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-cogl-surface.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-cogl-utils-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-cogl-utils-private.h
index ee77f3034c3..ee77f3034c3 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-cogl-utils-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-cogl-utils-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-cogl-utils.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-cogl-utils.c
index 4f02aaa52da..4f02aaa52da 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-cogl-utils.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-cogl-utils.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-cogl.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-cogl.h
index f270d74d307..f270d74d307 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-cogl.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-cogl.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-color.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-color.c
index 9c852559e28..9c852559e28 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-color.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-color.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-combsort-inline.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-combsort-inline.h
index d359faeb5b8..d359faeb5b8 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-combsort-inline.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-combsort-inline.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-compiler-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-compiler-private.h
index f3e971ebba1..f3e971ebba1 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-compiler-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-compiler-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-composite-rectangles-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-composite-rectangles-private.h
index fd7728995de..fd7728995de 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-composite-rectangles-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-composite-rectangles-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-composite-rectangles.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-composite-rectangles.c
index c26098af432..e6639d0c3f5 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-composite-rectangles.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-composite-rectangles.c
@@ -167,6 +167,13 @@ _cairo_composite_rectangles_intersect (cairo_composite_rectangles_t *extents,
_cairo_clip_get_extents (extents->clip)))
return CAIRO_INT_STATUS_NOTHING_TO_DO;
+ if (! _cairo_rectangle_intersect (&extents->bounded,
+ _cairo_clip_get_extents (extents->clip)) &&
+ extents->is_bounded & CAIRO_OPERATOR_BOUND_BY_MASK)
+ {
+ return CAIRO_INT_STATUS_NOTHING_TO_DO;
+ }
+
if (extents->source_pattern.base.type != CAIRO_PATTERN_TYPE_SOLID)
_cairo_pattern_sampled_area (&extents->source_pattern.base,
&extents->bounded,
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-compositor-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-compositor-private.h
index 019972333f3..019972333f3 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-compositor-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-compositor-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-compositor.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-compositor.c
index b31413b9964..b31413b9964 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-compositor.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-compositor.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-contour-inline.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-contour-inline.h
index 7972c1ac5e0..7972c1ac5e0 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-contour-inline.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-contour-inline.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-contour-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-contour-private.h
index 1dfc46f3acd..1dfc46f3acd 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-contour-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-contour-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-contour.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-contour.c
index d356f4f6544..d356f4f6544 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-contour.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-contour.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-damage-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-damage-private.h
index 97b177e86b4..97b177e86b4 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-damage-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-damage-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-damage.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-damage.c
index 63191fee95d..63191fee95d 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-damage.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-damage.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-debug.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-debug.c
index 33d46aa3f79..33d46aa3f79 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-debug.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-debug.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-default-context-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-default-context-private.h
index fd159b49670..fd159b49670 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-default-context-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-default-context-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-default-context.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-default-context.c
index fee08f08817..aec5b10c4c7 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-default-context.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-default-context.c
@@ -153,6 +153,11 @@ _cairo_default_context_push_group (void *abstract_cr, cairo_content_t content)
parent_surface = _cairo_gstate_get_target (cr->gstate);
+ if (unlikely (parent_surface->status))
+ return parent_surface->status;
+ if (unlikely (parent_surface->finished))
+ return _cairo_error (CAIRO_STATUS_SURFACE_FINISHED);
+
/* Get the extents that we'll use in creating our new group surface */
bounded = _cairo_surface_get_extents (parent_surface, &extents);
if (clip)
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-deflate-stream.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-deflate-stream.c
index ae23bda9472..ae23bda9472 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-deflate-stream.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-deflate-stream.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-deprecated.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-deprecated.h
index 7a56aadbfe1..7a56aadbfe1 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-deprecated.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-deprecated.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-device-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-device-private.h
index 6eb44f3b634..6eb44f3b634 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-device-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-device-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-device.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-device.c
index 098f8560189..098f8560189 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-device.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-device.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-directfb-surface.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-directfb-surface.c
index 16e367af899..5ac64ba98ee 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-directfb-surface.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-directfb-surface.c
@@ -197,7 +197,7 @@ _cairo_dfb_surface_map_to_image (void *abstract_surface,
_cairo_image_surface_init (&surface->image, image, surface->image.pixman_format);
}
- return _cairo_surface_map_to_image (&surface->image.base, extents);
+ return _cairo_image_surface_map_to_image (&surface->image.base, extents);
}
static cairo_int_status_t
@@ -205,7 +205,7 @@ _cairo_dfb_surface_unmap_image (void *abstract_surface,
cairo_image_surface_t *image)
{
cairo_dfb_surface_t *surface = abstract_surface;
- return _cairo_surface_unmap_image (&surface->image.base, image);
+ return _cairo_image_surface_unmap_image (&surface->image.base, image);
}
static cairo_status_t
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-directfb.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-directfb.h
index e3d818c6687..e3d818c6687 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-directfb.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-directfb.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-drm.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-drm.h
index 907610dcde8..907610dcde8 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-drm.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-drm.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-egl-context.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-egl-context.c
index ba8f60f123d..bb0772ab403 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-egl-context.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-egl-context.c
@@ -276,3 +276,36 @@ cairo_gl_surface_create_for_egl (cairo_device_t *device,
return &surface->base.base;
}
+
+static cairo_bool_t is_egl_device (cairo_device_t *device)
+{
+ return (device->backend != NULL &&
+ device->backend->type == CAIRO_DEVICE_TYPE_GL);
+}
+
+static cairo_egl_context_t *to_egl_context (cairo_device_t *device)
+{
+ return (cairo_egl_context_t *) device;
+}
+
+EGLDisplay
+cairo_egl_device_get_display (cairo_device_t *device)
+{
+ if (! is_egl_device (device)) {
+ _cairo_error_throw (CAIRO_STATUS_DEVICE_TYPE_MISMATCH);
+ return EGL_NO_DISPLAY;
+ }
+
+ return to_egl_context (device)->display;
+}
+
+cairo_public EGLContext
+cairo_egl_device_get_context (cairo_device_t *device)
+{
+ if (! is_egl_device (device)) {
+ _cairo_error_throw (CAIRO_STATUS_DEVICE_TYPE_MISMATCH);
+ return EGL_NO_CONTEXT;
+ }
+
+ return to_egl_context (device)->context;
+}
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-error-inline.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-error-inline.h
index 9126c5e61eb..9126c5e61eb 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-error-inline.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-error-inline.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-error-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-error-private.h
index ea9c2ea3119..ea9c2ea3119 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-error-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-error-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-error.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-error.c
index 1b9bd76be13..1b9bd76be13 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-error.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-error.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-fallback-compositor.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-fallback-compositor.c
index 3f6199fe2bb..3f6199fe2bb 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-fallback-compositor.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-fallback-compositor.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-features-uninstalled.pc.in b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-features-uninstalled.pc.in
index b9cd9d3ad2b..b9cd9d3ad2b 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-features-uninstalled.pc.in
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-features-uninstalled.pc.in
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-features.pc.in b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-features.pc.in
index 9a4b657c8da..9a4b657c8da 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-features.pc.in
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-features.pc.in
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-fixed-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-fixed-private.h
index b6cc6be7da2..e970c0ff9fa 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-fixed-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-fixed-private.h
@@ -40,6 +40,7 @@
#include "cairo-fixed-type-private.h"
#include "cairo-wideint-private.h"
+#include "cairoint.h"
/* Implementation */
@@ -352,6 +353,40 @@ _cairo_edge_compute_intersection_x_for_y (const cairo_point_t *p1,
return x;
}
+/* Intersect two segments based on the algorithm described at
+ * http://paulbourke.net/geometry/pointlineplane/. This implementation
+ * uses floating point math. */
+static inline cairo_bool_t
+_slow_segment_intersection (const cairo_point_t *seg1_p1,
+ const cairo_point_t *seg1_p2,
+ const cairo_point_t *seg2_p1,
+ const cairo_point_t *seg2_p2,
+ cairo_point_t *intersection)
+{
+ double denominator, u_a, u_b;
+ double seg1_dx, seg1_dy, seg2_dx, seg2_dy, seg_start_dx, seg_start_dy;
+
+ seg1_dx = _cairo_fixed_to_double (seg1_p2->x - seg1_p1->x);
+ seg1_dy = _cairo_fixed_to_double (seg1_p2->y - seg1_p1->y);
+ seg2_dx = _cairo_fixed_to_double (seg2_p2->x - seg2_p1->x);
+ seg2_dy = _cairo_fixed_to_double (seg2_p2->y - seg2_p1->y);
+ denominator = (seg2_dy * seg1_dx) - (seg2_dx * seg1_dy);
+ if (denominator == 0)
+ return FALSE;
+
+ seg_start_dx = _cairo_fixed_to_double (seg1_p1->x - seg2_p1->x);
+ seg_start_dy = _cairo_fixed_to_double (seg1_p1->y - seg2_p1->y);
+ u_a = ((seg2_dx * seg_start_dy) - (seg2_dy * seg_start_dx)) / denominator;
+ u_b = ((seg1_dx * seg_start_dy) - (seg1_dy * seg_start_dx)) / denominator;
+
+ if (u_a <= 0 || u_a >= 1 || u_b <= 0 || u_b >= 1)
+ return FALSE;
+
+ intersection->x = seg1_p1->x + _cairo_fixed_from_double ((u_a * seg1_dx));
+ intersection->y = seg1_p1->y + _cairo_fixed_from_double ((u_a * seg1_dy));
+ return TRUE;
+}
+
#else
# error Please define multiplication and other operands for your fixed-point type size
#endif
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-fixed-type-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-fixed-type-private.h
index 2bbd5f78621..2bbd5f78621 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-fixed-type-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-fixed-type-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-fixed.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-fixed.c
index 03e05592354..03e05592354 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-fixed.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-fixed.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-font-face-twin-data.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-font-face-twin-data.c
index ff09cb2be10..ff09cb2be10 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-font-face-twin-data.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-font-face-twin-data.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-font-face-twin.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-font-face-twin.c
index 2ad26302849..2ad26302849 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-font-face-twin.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-font-face-twin.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-font-face.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-font-face.c
index b93bd8caaba..b93bd8caaba 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-font-face.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-font-face.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-font-options.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-font-options.c
index ad28745e6b9..ad28745e6b9 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-font-options.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-font-options.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-fontconfig-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-fontconfig-private.h
index ea873abe7e4..ea873abe7e4 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-fontconfig-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-fontconfig-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-freed-pool-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-freed-pool-private.h
index 0ec6de3d1f1..0ec6de3d1f1 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-freed-pool-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-freed-pool-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-freed-pool.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-freed-pool.c
index cfdc8e96b05..cfdc8e96b05 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-freed-pool.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-freed-pool.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-freelist-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-freelist-private.h
index 8fe6516f385..8fe6516f385 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-freelist-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-freelist-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-freelist-type-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-freelist-type-private.h
index 4dd05646107..4dd05646107 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-freelist-type-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-freelist-type-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-freelist.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-freelist.c
index d596eab81dc..d596eab81dc 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-freelist.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-freelist.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-ft-font.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-ft-font.c
index 8ebadb438b7..9f4b5244d7d 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-ft-font.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-ft-font.c
@@ -45,6 +45,7 @@
#include "cairo-image-surface-private.h"
#include "cairo-ft-private.h"
#include "cairo-pattern-private.h"
+#include "cairo-pixman-private.h"
#include <float.h>
@@ -54,6 +55,7 @@
#include FT_FREETYPE_H
#include FT_OUTLINE_H
#include FT_IMAGE_H
+#include FT_BITMAP_H
#include FT_TRUETYPE_TABLES_H
#include FT_XFREE86_H
#if HAVE_FT_GLYPHSLOT_EMBOLDEN
@@ -739,6 +741,7 @@ _compute_transform (cairo_ft_font_transform_t *sf,
if (unscaled && (unscaled->face->face_flags & FT_FACE_FLAG_SCALABLE) == 0) {
double min_distance = DBL_MAX;
+ cairo_bool_t magnify = TRUE;
int i;
int best_i = 0;
double best_x_size = 0;
@@ -747,10 +750,18 @@ _compute_transform (cairo_ft_font_transform_t *sf,
for (i = 0; i < unscaled->face->num_fixed_sizes; i++) {
double x_size = unscaled->face->available_sizes[i].y_ppem / 64.;
double y_size = unscaled->face->available_sizes[i].y_ppem / 64.;
- double distance = fabs (y_size - y_scale);
+ double distance = y_size - y_scale;
- if (distance <= min_distance) {
- min_distance = distance;
+ /*
+ * distance is positive if current strike is larger than desired
+ * size, and negative if smaller.
+ *
+ * We like to prefer down-scaling to upscaling.
+ */
+
+ if ((magnify && distance >= 0) || fabs (distance) <= min_distance) {
+ magnify = distance < 0;
+ min_distance = fabs (distance);
best_i = i;
best_x_size = x_size;
best_y_size = y_size;
@@ -1111,14 +1122,17 @@ _fill_xrender_bitmap(FT_Bitmap *target,
*/
static cairo_status_t
_get_bitmap_surface (FT_Bitmap *bitmap,
+ FT_Library library,
cairo_bool_t own_buffer,
cairo_font_options_t *font_options,
cairo_image_surface_t **surface)
{
- int width, height, stride;
+ unsigned int width, height;
unsigned char *data;
int format = CAIRO_FORMAT_A8;
+ int stride;
cairo_image_surface_t *image;
+ cairo_bool_t component_alpha = FALSE;
width = bitmap->width;
height = bitmap->rows;
@@ -1149,9 +1163,7 @@ _get_bitmap_surface (FT_Bitmap *bitmap,
source = bitmap->buffer;
dest = data;
for (i = height; i; i--) {
- memcpy (dest, source, bitmap->pitch);
- memset (dest + bitmap->pitch, '\0', stride - bitmap->pitch);
-
+ memcpy (dest, source, stride);
source += bitmap->pitch;
dest += stride;
}
@@ -1175,8 +1187,18 @@ _get_bitmap_surface (FT_Bitmap *bitmap,
case FT_PIXEL_MODE_LCD:
case FT_PIXEL_MODE_LCD_V:
case FT_PIXEL_MODE_GRAY:
- if (font_options->antialias != CAIRO_ANTIALIAS_SUBPIXEL) {
+ if (font_options->antialias != CAIRO_ANTIALIAS_SUBPIXEL ||
+ bitmap->pixel_mode == FT_PIXEL_MODE_GRAY)
+ {
stride = bitmap->pitch;
+
+ /* We don't support stride not multiple of 4. */
+ if (stride & 3)
+ {
+ assert (!own_buffer);
+ goto convert;
+ }
+
if (own_buffer) {
data = bitmap->buffer;
} else {
@@ -1189,19 +1211,70 @@ _get_bitmap_surface (FT_Bitmap *bitmap,
format = CAIRO_FORMAT_A8;
} else {
- /* if we get there, the data from the source bitmap
- * really comes from _fill_xrender_bitmap, and is
- * made of 32-bit ARGB or ABGR values */
- assert (own_buffer != 0);
- assert (bitmap->pixel_mode != FT_PIXEL_MODE_GRAY);
-
data = bitmap->buffer;
stride = bitmap->pitch;
format = CAIRO_FORMAT_ARGB32;
+ component_alpha = TRUE;
+ }
+ break;
+#ifdef FT_LOAD_COLOR
+ case FT_PIXEL_MODE_BGRA:
+ stride = width * 4;
+ if (own_buffer) {
+ data = bitmap->buffer;
+ } else {
+ data = _cairo_malloc_ab (height, stride);
+ if (!data)
+ return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+
+ memcpy (data, bitmap->buffer, stride * height);
}
+ format = CAIRO_FORMAT_ARGB32;
break;
+#endif
case FT_PIXEL_MODE_GRAY2:
case FT_PIXEL_MODE_GRAY4:
+ convert:
+ if (!own_buffer && library)
+ {
+ /* This is pretty much the only case that we can get in here. */
+ /* Convert to 8bit grayscale. */
+
+ FT_Bitmap tmp;
+ FT_Int align;
+
+ format = CAIRO_FORMAT_A8;
+
+ align = cairo_format_stride_for_width (format, bitmap->width);
+
+ FT_Bitmap_New( &tmp );
+
+ if (FT_Bitmap_Convert( library, bitmap, &tmp, align ))
+ return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+
+ FT_Bitmap_Done( library, bitmap );
+ *bitmap = tmp;
+
+ stride = bitmap->pitch;
+ data = _cairo_malloc_ab (height, stride);
+ if (!data)
+ return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+
+ if (bitmap->num_grays != 256)
+ {
+ unsigned int x, y;
+ unsigned int mul = 255 / (bitmap->num_grays - 1);
+ FT_Byte *p = bitmap->buffer;
+ for (y = 0; y < height; y++) {
+ for (x = 0; x < width; x++)
+ p[x] *= mul;
+ p += bitmap->pitch;
+ }
+ }
+
+ memcpy (data, bitmap->buffer, stride * height);
+ break;
+ }
/* These could be triggered by very rare types of TrueType fonts */
default:
if (own_buffer)
@@ -1219,7 +1292,7 @@ _get_bitmap_surface (FT_Bitmap *bitmap,
return (*surface)->base.status;
}
- if (format == CAIRO_FORMAT_ARGB32)
+ if (component_alpha)
pixman_image_set_component_alpha (image->pixman_image, TRUE);
_cairo_image_surface_assume_ownership_of_data (image);
@@ -1395,7 +1468,7 @@ _render_glyph_outline (FT_Face face,
/* Note:
* _get_bitmap_surface will free bitmap.buffer if there is an error
*/
- status = _get_bitmap_surface (&bitmap, TRUE, font_options, surface);
+ status = _get_bitmap_surface (&bitmap, NULL, TRUE, font_options, surface);
if (unlikely (status))
return status;
@@ -1436,6 +1509,7 @@ _render_glyph_bitmap (FT_Face face,
return _cairo_error (CAIRO_STATUS_NO_MEMORY);
status = _get_bitmap_surface (&glyphslot->bitmap,
+ glyphslot->library,
FALSE, font_options,
surface);
if (unlikely (status))
@@ -1477,7 +1551,7 @@ _transform_glyph_bitmap (cairo_matrix_t * shape,
* the "shape" portion of the font transform
*/
original_to_transformed = *shape;
-
+
cairo_surface_get_device_offset (&(*surface)->base, &origin_x, &origin_y);
orig_width = (*surface)->width;
orig_height = (*surface)->height;
@@ -1527,7 +1601,11 @@ _transform_glyph_bitmap (cairo_matrix_t * shape,
if (unlikely (status))
return status;
- image = cairo_image_surface_create (CAIRO_FORMAT_A8, width, height);
+ if ((*surface)->format == CAIRO_FORMAT_ARGB32 &&
+ !pixman_image_get_component_alpha ((*surface)->pixman_image))
+ image = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, width, height);
+ else
+ image = cairo_image_surface_create (CAIRO_FORMAT_A8, width, height);
if (unlikely (image->status))
return image->status;
@@ -2156,6 +2234,20 @@ _cairo_ft_scaled_glyph_init (void *abstract_font,
vertical_layout = TRUE;
}
+#ifdef FT_LOAD_COLOR
+ /* Color-glyph support:
+ *
+ * This flags needs plumbing through fontconfig (does it?), and
+ * maybe we should cache color and grayscale bitmaps separately
+ * such that users of the font (ie. the surface) can choose which
+ * version to use based on target content type.
+ *
+ * Moreover, none of our backends and compositors currently support
+ * color glyphs. As such, this is currently disabled.
+ */
+ /* load_flags |= FT_LOAD_COLOR; */
+#endif
+
error = FT_Load_Glyph (face,
_cairo_scaled_glyph_index(scaled_glyph),
load_flags);
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-ft-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-ft-private.h
index 3921518664a..3921518664a 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-ft-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-ft-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-ft.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-ft.h
index 29c43c9655b..29c43c9655b 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-ft.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-ft.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-composite.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-composite.c
index c250e7204b9..30b7931304b 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-composite.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-composite.c
@@ -134,7 +134,7 @@ static void
_cairo_gl_composite_bind_to_shader (cairo_gl_context_t *ctx,
cairo_gl_composite_t *setup)
{
- _cairo_gl_shader_bind_matrix4f(ctx, "ModelViewProjectionMatrix",
+ _cairo_gl_shader_bind_matrix4f(ctx, ctx->current_shader->mvp_location,
ctx->modelviewprojection_matrix);
_cairo_gl_operand_bind_to_shader (ctx, &setup->src, CAIRO_GL_TEX_SOURCE);
_cairo_gl_operand_bind_to_shader (ctx, &setup->mask, CAIRO_GL_TEX_MASK);
@@ -209,15 +209,15 @@ static void
_cairo_gl_context_setup_operand (cairo_gl_context_t *ctx,
cairo_gl_tex_t tex_unit,
cairo_gl_operand_t *operand,
- unsigned int vertex_size,
- unsigned int vertex_offset)
+ unsigned int vertex_offset,
+ cairo_bool_t vertex_size_changed)
{
cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
cairo_bool_t needs_setup;
/* XXX: we need to do setup when switching from shaders
* to no shaders (or back) */
- needs_setup = ctx->vertex_size != vertex_size;
+ needs_setup = vertex_size_changed;
needs_setup |= _cairo_gl_operand_needs_setup (&ctx->operands[tex_unit],
operand,
vertex_offset);
@@ -252,7 +252,7 @@ _cairo_gl_context_setup_operand (cairo_gl_context_t *ctx,
if (! operand->texture.texgen) {
dispatch->VertexAttribPointer (CAIRO_GL_TEXCOORD0_ATTRIB_INDEX + tex_unit, 2,
- GL_FLOAT, GL_FALSE, vertex_size,
+ GL_FLOAT, GL_FALSE, ctx->vertex_size,
ctx->vb + vertex_offset);
dispatch->EnableVertexAttribArray (CAIRO_GL_TEXCOORD0_ATTRIB_INDEX + tex_unit);
}
@@ -268,7 +268,7 @@ _cairo_gl_context_setup_operand (cairo_gl_context_t *ctx,
if (! operand->gradient.texgen) {
dispatch->VertexAttribPointer (CAIRO_GL_TEXCOORD0_ATTRIB_INDEX + tex_unit, 2,
- GL_FLOAT, GL_FALSE, vertex_size,
+ GL_FLOAT, GL_FALSE, ctx->vertex_size,
ctx->vb + vertex_offset);
dispatch->EnableVertexAttribArray (CAIRO_GL_TEXCOORD0_ATTRIB_INDEX + tex_unit);
}
@@ -523,12 +523,15 @@ _scissor_to_box (cairo_gl_surface_t *surface,
_scissor_to_doubles (surface, x1, y1, x2, y2);
}
-static void
+static cairo_bool_t
_cairo_gl_composite_setup_vbo (cairo_gl_context_t *ctx,
unsigned int size_per_vertex)
{
- if (ctx->vertex_size != size_per_vertex)
- _cairo_gl_composite_flush (ctx);
+ cairo_bool_t vertex_size_changed = ctx->vertex_size != size_per_vertex;
+ if (vertex_size_changed) {
+ ctx->vertex_size = size_per_vertex;
+ _cairo_gl_composite_flush (ctx);
+ }
if (_cairo_gl_context_is_flushed (ctx)) {
ctx->dispatch.VertexAttribPointer (CAIRO_GL_VERTEX_ATTRIB_INDEX, 2,
@@ -536,7 +539,8 @@ _cairo_gl_composite_setup_vbo (cairo_gl_context_t *ctx,
ctx->vb);
ctx->dispatch.EnableVertexAttribArray (CAIRO_GL_VERTEX_ATTRIB_INDEX);
}
- ctx->vertex_size = size_per_vertex;
+
+ return vertex_size_changed;
}
static void
@@ -566,10 +570,14 @@ _cairo_gl_composite_setup_painted_clipping (cairo_gl_composite_t *setup,
goto disable_stencil_buffer_and_return;
}
+ /* We only want to clear the part of the stencil buffer
+ * that we are about to use. It also does not hurt to
+ * scissor around the painted clip. */
+ _cairo_gl_scissor_to_rectangle (dst, _cairo_clip_get_extents (clip));
+
/* The clip is not rectangular, so use the stencil buffer. */
glDepthMask (GL_TRUE);
glEnable (GL_STENCIL_TEST);
- glDisable (GL_SCISSOR_TEST);
/* Texture surfaces have private depth/stencil buffers, so we can
* rely on any previous clip being cached there. */
@@ -578,16 +586,15 @@ _cairo_gl_composite_setup_painted_clipping (cairo_gl_composite_t *setup,
if (_cairo_clip_equal (old_clip, setup->clip))
goto activate_stencil_buffer_and_return;
- /* Clear the stencil buffer, but only the areas that we are
- * going to be drawing to. */
- if (old_clip)
- _cairo_gl_scissor_to_rectangle (dst, _cairo_clip_get_extents (old_clip));
+ if (old_clip) {
+ _cairo_clip_destroy (setup->dst->clip_on_stencil_buffer);
+ }
+
setup->dst->clip_on_stencil_buffer = _cairo_clip_copy (setup->clip);
}
glClearStencil (0);
glClear (GL_STENCIL_BUFFER_BIT);
- glDisable (GL_SCISSOR_TEST);
glStencilOp (GL_REPLACE, GL_REPLACE, GL_REPLACE);
glStencilFunc (GL_EQUAL, 1, 0xffffffff);
@@ -669,6 +676,7 @@ _cairo_gl_set_operands_and_operator (cairo_gl_composite_t *setup,
cairo_status_t status;
cairo_gl_shader_t *shader;
cairo_bool_t component_alpha;
+ cairo_bool_t vertex_size_changed;
component_alpha =
setup->mask.type == CAIRO_GL_OPERAND_TEXTURE &&
@@ -711,10 +719,10 @@ _cairo_gl_set_operands_and_operator (cairo_gl_composite_t *setup,
if (setup->spans)
vertex_size += sizeof (GLfloat);
- _cairo_gl_composite_setup_vbo (ctx, vertex_size);
+ vertex_size_changed = _cairo_gl_composite_setup_vbo (ctx, vertex_size);
- _cairo_gl_context_setup_operand (ctx, CAIRO_GL_TEX_SOURCE, &setup->src, vertex_size, dst_size);
- _cairo_gl_context_setup_operand (ctx, CAIRO_GL_TEX_MASK, &setup->mask, vertex_size, dst_size + src_size);
+ _cairo_gl_context_setup_operand (ctx, CAIRO_GL_TEX_SOURCE, &setup->src, dst_size, vertex_size_changed);
+ _cairo_gl_context_setup_operand (ctx, CAIRO_GL_TEX_MASK, &setup->mask, dst_size + src_size, vertex_size_changed);
_cairo_gl_context_setup_spans (ctx, setup->spans, vertex_size,
dst_size + src_size + mask_size);
@@ -748,7 +756,10 @@ _cairo_gl_composite_begin (cairo_gl_composite_t *setup,
_cairo_gl_context_set_destination (ctx, setup->dst, setup->multisample);
glEnable (GL_BLEND);
- _cairo_gl_set_operands_and_operator (setup, ctx);
+
+ status = _cairo_gl_set_operands_and_operator (setup, ctx);
+ if (unlikely (status))
+ goto FAIL;
status = _cairo_gl_composite_setup_clipping (setup, ctx, ctx->vertex_size);
if (unlikely (status))
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-device.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-device.c
index 22297b33299..054f1452f15 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-device.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-device.c
@@ -615,16 +615,18 @@ _gl_identity_ortho (GLfloat *m,
#if CAIRO_HAS_GL_SURFACE
static void
-_cairo_gl_activate_surface_as_multisampling (cairo_gl_context_t *ctx,
- cairo_gl_surface_t *surface)
+bind_multisample_framebuffer (cairo_gl_context_t *ctx,
+ cairo_gl_surface_t *surface)
{
+ cairo_bool_t stencil_test_enabled;
+ cairo_bool_t scissor_test_enabled;
+
assert (surface->supports_msaa);
assert (ctx->gl_flavor == CAIRO_GL_FLAVOR_DESKTOP);
_cairo_gl_ensure_framebuffer (ctx, surface);
_cairo_gl_ensure_multisampling (ctx, surface);
-
if (surface->msaa_active) {
glEnable (GL_MULTISAMPLE);
ctx->dispatch.BindFramebuffer (GL_FRAMEBUFFER, surface->msaa_fb);
@@ -632,6 +634,12 @@ _cairo_gl_activate_surface_as_multisampling (cairo_gl_context_t *ctx,
}
_cairo_gl_composite_flush (ctx);
+
+ stencil_test_enabled = glIsEnabled (GL_STENCIL_TEST);
+ scissor_test_enabled = glIsEnabled (GL_SCISSOR_TEST);
+ glDisable (GL_STENCIL_TEST);
+ glDisable (GL_SCISSOR_TEST);
+
glEnable (GL_MULTISAMPLE);
/* The last time we drew to the surface, we were not using multisampling,
@@ -643,18 +651,25 @@ _cairo_gl_activate_surface_as_multisampling (cairo_gl_context_t *ctx,
0, 0, surface->width, surface->height,
GL_COLOR_BUFFER_BIT, GL_NEAREST);
ctx->dispatch.BindFramebuffer (GL_FRAMEBUFFER, surface->msaa_fb);
- surface->msaa_active = TRUE;
+
+ if (stencil_test_enabled)
+ glEnable (GL_STENCIL_TEST);
+ if (scissor_test_enabled)
+ glEnable (GL_SCISSOR_TEST);
}
#endif
-void
-_cairo_gl_activate_surface_as_nonmultisampling (cairo_gl_context_t *ctx,
- cairo_gl_surface_t *surface)
+#if CAIRO_HAS_GL_SURFACE
+static void
+bind_singlesample_framebuffer (cairo_gl_context_t *ctx,
+ cairo_gl_surface_t *surface)
{
+ cairo_bool_t stencil_test_enabled;
+ cairo_bool_t scissor_test_enabled;
+
assert (ctx->gl_flavor == CAIRO_GL_FLAVOR_DESKTOP);
_cairo_gl_ensure_framebuffer (ctx, surface);
-#if CAIRO_HAS_GL_SURFACE
if (! surface->msaa_active) {
glDisable (GL_MULTISAMPLE);
ctx->dispatch.BindFramebuffer (GL_FRAMEBUFFER, surface->fb);
@@ -662,6 +677,12 @@ _cairo_gl_activate_surface_as_nonmultisampling (cairo_gl_context_t *ctx,
}
_cairo_gl_composite_flush (ctx);
+
+ stencil_test_enabled = glIsEnabled (GL_STENCIL_TEST);
+ scissor_test_enabled = glIsEnabled (GL_SCISSOR_TEST);
+ glDisable (GL_STENCIL_TEST);
+ glDisable (GL_SCISSOR_TEST);
+
glDisable (GL_MULTISAMPLE);
/* The last time we drew to the surface, we were using multisampling,
@@ -673,8 +694,48 @@ _cairo_gl_activate_surface_as_nonmultisampling (cairo_gl_context_t *ctx,
0, 0, surface->width, surface->height,
GL_COLOR_BUFFER_BIT, GL_NEAREST);
ctx->dispatch.BindFramebuffer (GL_FRAMEBUFFER, surface->fb);
- surface->msaa_active = FALSE;
+
+ if (stencil_test_enabled)
+ glEnable (GL_STENCIL_TEST);
+ if (scissor_test_enabled)
+ glEnable (GL_SCISSOR_TEST);
+}
+#endif
+
+void
+_cairo_gl_context_bind_framebuffer (cairo_gl_context_t *ctx,
+ cairo_gl_surface_t *surface,
+ cairo_bool_t multisampling)
+{
+ if (_cairo_gl_surface_is_texture (surface)) {
+ /* OpenGL ES surfaces only have either a multisample framebuffer or a
+ * singlesample framebuffer, so we cannot switch back and forth. */
+ if (ctx->gl_flavor == CAIRO_GL_FLAVOR_ES) {
+ _cairo_gl_ensure_framebuffer (ctx, surface);
+ ctx->dispatch.BindFramebuffer (GL_FRAMEBUFFER, surface->fb);
+ return;
+ }
+
+#if CAIRO_HAS_GL_SURFACE
+ if (multisampling)
+ bind_multisample_framebuffer (ctx, surface);
+ else
+ bind_singlesample_framebuffer (ctx, surface);
+#endif
+ } else {
+ ctx->dispatch.BindFramebuffer (GL_FRAMEBUFFER, 0);
+
+#if CAIRO_HAS_GL_SURFACE
+ if (ctx->gl_flavor == CAIRO_GL_FLAVOR_DESKTOP) {
+ if (multisampling)
+ glEnable (GL_MULTISAMPLE);
+ else
+ glDisable (GL_MULTISAMPLE);
+ }
#endif
+ }
+
+ surface->msaa_active = multisampling;
}
void
@@ -682,49 +743,43 @@ _cairo_gl_context_set_destination (cairo_gl_context_t *ctx,
cairo_gl_surface_t *surface,
cairo_bool_t multisampling)
{
- /* OpenGL ES surfaces are always in MSAA mode once it's been turned on,
- * so we don't need to check whether we are switching modes for that
- * surface type. */
- if (ctx->current_target == surface && ! surface->needs_update &&
- (ctx->gl_flavor == CAIRO_GL_FLAVOR_ES ||
- surface->msaa_active == multisampling))
+ cairo_bool_t changing_surface, changing_sampling;
+
+ /* The decision whether or not to use multisampling happens when
+ * we create an OpenGL ES surface, so we can never switch modes. */
+ if (ctx->gl_flavor == CAIRO_GL_FLAVOR_ES)
+ multisampling = surface->msaa_active;
+
+ changing_surface = ctx->current_target != surface || surface->needs_update;
+ changing_sampling = surface->msaa_active != multisampling;
+ if (! changing_surface && ! changing_sampling)
return;
+ if (! changing_surface) {
+ _cairo_gl_composite_flush (ctx);
+ _cairo_gl_context_bind_framebuffer (ctx, surface, multisampling);
+ return;
+ }
+
_cairo_gl_composite_flush (ctx);
ctx->current_target = surface;
surface->needs_update = FALSE;
- if (_cairo_gl_surface_is_texture (surface)) {
- if (ctx->gl_flavor == CAIRO_GL_FLAVOR_ES) {
- _cairo_gl_ensure_framebuffer (ctx, surface);
- ctx->dispatch.BindFramebuffer (GL_FRAMEBUFFER, surface->fb);
-#if CAIRO_HAS_GL_SURFACE
- } else if (multisampling)
- _cairo_gl_activate_surface_as_multisampling (ctx, surface);
- else {
- _cairo_gl_activate_surface_as_nonmultisampling (ctx, surface);
-#endif
- }
- } else {
- ctx->make_current (ctx, surface);
-
-#if CAIRO_HAS_GL_SURFACE
- if (multisampling)
- glEnable(GL_MULTISAMPLE);
- else
- glDisable(GL_MULTISAMPLE);
-#endif
+ if (! _cairo_gl_surface_is_texture (surface)) {
+ ctx->make_current (ctx, surface);
+ }
- surface->msaa_active = multisampling;
- ctx->dispatch.BindFramebuffer (GL_FRAMEBUFFER, 0);
+ _cairo_gl_context_bind_framebuffer (ctx, surface, multisampling);
+ if (! _cairo_gl_surface_is_texture (surface)) {
#if CAIRO_HAS_GL_SURFACE
- glDrawBuffer (GL_BACK_LEFT);
- glReadBuffer (GL_BACK_LEFT);
+ glDrawBuffer (GL_BACK_LEFT);
+ glReadBuffer (GL_BACK_LEFT);
#endif
}
+ glDisable (GL_DITHER);
glViewport (0, 0, surface->width, surface->height);
if (_cairo_gl_surface_is_texture (surface))
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-dispatch-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-dispatch-private.h
index cabf76f0d6b..cabf76f0d6b 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-dispatch-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-dispatch-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-dispatch.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-dispatch.c
index 76c3115ba37..76c3115ba37 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-dispatch.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-dispatch.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-ext-def-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-ext-def-private.h
index a261947bef0..a261947bef0 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-ext-def-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-ext-def-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-glyphs.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-glyphs.c
index 34b5d72f396..8a1a548d939 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-glyphs.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-glyphs.c
@@ -231,7 +231,7 @@ render_glyphs (cairo_gl_surface_t *dst,
cairo_format_t last_format = CAIRO_FORMAT_INVALID;
cairo_gl_glyph_cache_t *cache = NULL;
cairo_gl_context_t *ctx;
- cairo_gl_emit_glyph_t emit;
+ cairo_gl_emit_glyph_t emit = NULL;
cairo_gl_composite_t setup;
cairo_int_status_t status;
int i = 0;
@@ -332,6 +332,7 @@ render_glyphs (cairo_gl_surface_t *dst,
y2 = y1 + scaled_glyph->surface->height;
glyph = _cairo_gl_glyph_cache_lock (cache, scaled_glyph);
+ assert (emit);
emit (ctx,
x1, y1, x2, y2,
glyph->p1.x, glyph->p1.y,
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-gradient-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-gradient-private.h
index 77f9bbdc5f5..77f9bbdc5f5 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-gradient-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-gradient-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-gradient.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-gradient.c
index ac3292101ec..ac3292101ec 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-gradient.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-gradient.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-info.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-info.c
index 12a618da0c9..12a618da0c9 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-info.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-info.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-msaa-compositor.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-msaa-compositor.c
index 28001fea333..83e8eb2d160 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-msaa-compositor.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-msaa-compositor.c
@@ -356,10 +356,12 @@ _cairo_gl_msaa_compositor_mask_source_operator (const cairo_compositor_t *compos
status = _draw_int_rect (ctx, &setup, &composite->bounded);
else
status = _draw_traps (ctx, &setup, &traps);
+ if (unlikely (status))
+ goto finish;
/* Now draw the second pass. */
- _cairo_gl_composite_set_operator (&setup, CAIRO_OPERATOR_ADD,
- FALSE /* assume_component_alpha */);
+ status = _cairo_gl_composite_set_operator (&setup, CAIRO_OPERATOR_ADD,
+ FALSE /* assume_component_alpha */);
if (unlikely (status))
goto finish;
status = _cairo_gl_composite_set_source (&setup,
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-operand.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-operand.c
index f99400cabf8..40157471747 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-operand.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-operand.c
@@ -69,39 +69,6 @@ _cairo_gl_create_gradient_texture (cairo_gl_surface_t *dst,
return _cairo_gl_context_release (ctx, status);
}
-static cairo_int_status_t
-_resolve_multisampling (cairo_gl_surface_t *surface)
-{
- cairo_gl_context_t *ctx;
- cairo_int_status_t status;
-
- if (! surface->msaa_active)
- return CAIRO_INT_STATUS_SUCCESS;
-
- if (surface->base.device == NULL)
- return CAIRO_INT_STATUS_SUCCESS;
-
- /* GLES surfaces do not need explicit resolution. */
- if (((cairo_gl_context_t *) surface->base.device)->gl_flavor == CAIRO_GL_FLAVOR_ES)
- return CAIRO_INT_STATUS_SUCCESS;
-
- if (! _cairo_gl_surface_is_texture (surface))
- return CAIRO_INT_STATUS_SUCCESS;
-
- status = _cairo_gl_context_acquire (surface->base.device, &ctx);
- if (unlikely (status))
- return status;
-
- ctx->current_target = surface;
-
-#if CAIRO_HAS_GL_SURFACE
- _cairo_gl_activate_surface_as_nonmultisampling (ctx, surface);
-#endif
-
- status = _cairo_gl_context_release (ctx, status);
- return status;
-}
-
static cairo_status_t
_cairo_gl_subsurface_clone_operand_init (cairo_gl_operand_t *operand,
const cairo_pattern_t *_src,
@@ -161,7 +128,7 @@ _cairo_gl_subsurface_clone_operand_init (cairo_gl_operand_t *operand,
_cairo_surface_subsurface_set_snapshot (&sub->base, &surface->base);
}
- status = _resolve_multisampling (surface);
+ status = _cairo_gl_surface_resolve_multisampling (surface);
if (unlikely (status))
return status;
@@ -223,7 +190,7 @@ _cairo_gl_subsurface_operand_init (cairo_gl_operand_t *operand,
if (! _cairo_gl_surface_is_texture (surface))
return CAIRO_INT_STATUS_UNSUPPORTED;
- status = _resolve_multisampling (surface);
+ status = _cairo_gl_surface_resolve_multisampling (surface);
if (unlikely (status))
return status;
@@ -281,7 +248,7 @@ _cairo_gl_surface_operand_init (cairo_gl_operand_t *operand,
if (surface->base.device && ! _cairo_gl_surface_is_texture (surface))
return CAIRO_INT_STATUS_UNSUPPORTED;
- status = _resolve_multisampling (surface);
+ status = _cairo_gl_surface_resolve_multisampling (surface);
if (unlikely (status))
return status;
@@ -646,14 +613,8 @@ _cairo_gl_operand_bind_to_shader (cairo_gl_context_t *ctx,
cairo_gl_operand_t *operand,
cairo_gl_tex_t tex_unit)
{
- char uniform_name[50];
- char *custom_part;
- static const char *names[] = { "source", "mask" };
const cairo_matrix_t *texgen = NULL;
- strcpy (uniform_name, names[tex_unit]);
- custom_part = uniform_name + strlen (names[tex_unit]);
-
switch (operand->type) {
default:
case CAIRO_GL_OPERAND_COUNT:
@@ -662,9 +623,8 @@ _cairo_gl_operand_bind_to_shader (cairo_gl_context_t *ctx,
return;
case CAIRO_GL_OPERAND_CONSTANT:
- strcpy (custom_part, "_constant");
_cairo_gl_shader_bind_vec4 (ctx,
- uniform_name,
+ ctx->current_shader->constant_location[tex_unit],
operand->constant.color[0],
operand->constant.color[1],
operand->constant.color[2],
@@ -673,21 +633,18 @@ _cairo_gl_operand_bind_to_shader (cairo_gl_context_t *ctx,
case CAIRO_GL_OPERAND_RADIAL_GRADIENT_NONE:
case CAIRO_GL_OPERAND_RADIAL_GRADIENT_EXT:
- strcpy (custom_part, "_a");
_cairo_gl_shader_bind_float (ctx,
- uniform_name,
+ ctx->current_shader->a_location[tex_unit],
operand->gradient.a);
/* fall through */
case CAIRO_GL_OPERAND_RADIAL_GRADIENT_A0:
- strcpy (custom_part, "_circle_d");
_cairo_gl_shader_bind_vec3 (ctx,
- uniform_name,
+ ctx->current_shader->circle_d_location[tex_unit],
operand->gradient.circle_d.center.x,
operand->gradient.circle_d.center.y,
operand->gradient.circle_d.radius);
- strcpy (custom_part, "_radius_0");
_cairo_gl_shader_bind_float (ctx,
- uniform_name,
+ ctx->current_shader->radius_0_location[tex_unit],
operand->gradient.radius_0);
/* fall through */
case CAIRO_GL_OPERAND_LINEAR_GRADIENT:
@@ -710,8 +667,9 @@ _cairo_gl_operand_bind_to_shader (cairo_gl_context_t *ctx,
width = operand->gradient.gradient->cache_entry.size,
height = 1;
}
- strcpy (custom_part, "_texdims");
- _cairo_gl_shader_bind_vec2 (ctx, uniform_name, width, height);
+ _cairo_gl_shader_bind_vec2 (ctx,
+ ctx->current_shader->texdims_location[tex_unit],
+ width, height);
}
break;
}
@@ -724,10 +682,9 @@ _cairo_gl_operand_bind_to_shader (cairo_gl_context_t *ctx,
texgen = &operand->gradient.m;
}
if (texgen) {
- char name[20];
-
- sprintf (name, "%s_texgen", names[tex_unit]);
- _cairo_gl_shader_bind_matrix(ctx, name, texgen);
+ _cairo_gl_shader_bind_matrix(ctx,
+ ctx->current_shader->texgen_location[tex_unit],
+ texgen);
}
}
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-private.h
index 5c9193dc9ff..8379abc9589 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-private.h
@@ -201,6 +201,13 @@ typedef enum cairo_gl_tex {
typedef struct cairo_gl_shader {
GLuint fragment_shader;
GLuint program;
+ GLint mvp_location;
+ GLint constant_location[2];
+ GLint a_location[2];
+ GLint circle_d_location[2];
+ GLint radius_0_location[2];
+ GLint texdims_location[2];
+ GLint texgen_location[2];
} cairo_gl_shader_t;
typedef enum cairo_gl_shader_in {
@@ -440,6 +447,9 @@ _cairo_gl_surface_draw_image (cairo_gl_surface_t *dst,
int dst_x, int dst_y,
cairo_bool_t force_flush);
+cairo_private cairo_int_status_t
+_cairo_gl_surface_resolve_multisampling (cairo_gl_surface_t *surface);
+
static cairo_always_inline cairo_bool_t
_cairo_gl_device_has_glsl (cairo_device_t *device)
{
@@ -489,14 +499,15 @@ _cairo_gl_context_release (cairo_gl_context_t *ctx, cairo_status_t status)
}
cairo_private void
-_cairo_gl_activate_surface_as_nonmultisampling (cairo_gl_context_t *ctx,
- cairo_gl_surface_t *surface);
-
-cairo_private void
_cairo_gl_context_set_destination (cairo_gl_context_t *ctx,
cairo_gl_surface_t *surface,
cairo_bool_t multisampling);
+cairo_private void
+_cairo_gl_context_bind_framebuffer (cairo_gl_context_t *ctx,
+ cairo_gl_surface_t *surface,
+ cairo_bool_t multisampling);
+
cairo_private cairo_gl_emit_rect_t
_cairo_gl_context_choose_emit_rect (cairo_gl_context_t *ctx);
@@ -647,35 +658,35 @@ _cairo_gl_get_shader_by_type (cairo_gl_context_t *ctx,
cairo_private void
_cairo_gl_shader_bind_float (cairo_gl_context_t *ctx,
- const char *name,
+ GLint location,
float value);
cairo_private void
_cairo_gl_shader_bind_vec2 (cairo_gl_context_t *ctx,
- const char *name,
+ GLint location,
float value0, float value1);
cairo_private void
_cairo_gl_shader_bind_vec3 (cairo_gl_context_t *ctx,
- const char *name,
+ GLint location,
float value0,
float value1,
float value2);
cairo_private void
_cairo_gl_shader_bind_vec4 (cairo_gl_context_t *ctx,
- const char *name,
+ GLint location,
float value0, float value1,
float value2, float value3);
cairo_private void
_cairo_gl_shader_bind_matrix (cairo_gl_context_t *ctx,
- const char *name,
+ GLint location,
const cairo_matrix_t* m);
cairo_private void
_cairo_gl_shader_bind_matrix4f (cairo_gl_context_t *ctx,
- const char *name,
+ GLint location,
GLfloat* gl_m);
cairo_private void
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-shaders.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-shaders.c
index 0bc4e5e1358..cc22cea41a8 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-shaders.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-shaders.c
@@ -105,7 +105,7 @@ _cairo_gl_shader_cache_equal_gles2 (const void *key_a, const void *key_b)
cairo_bool_t both_have_npot_repeat =
a->ctx->has_npot_repeat && b->ctx->has_npot_repeat;
- return (a->vertex && b->vertex &&
+ return (a->vertex == b->vertex &&
a->src == b->src &&
a->mask == b->mask &&
a->dest == b->dest &&
@@ -805,6 +805,22 @@ link_shader_program (cairo_gl_context_t *ctx,
ASSERT_NOT_REACHED;
}
+static GLint
+_cairo_gl_get_op_uniform_location(cairo_gl_context_t *ctx,
+ cairo_gl_shader_t *shader,
+ cairo_gl_tex_t tex_unit,
+ const char *suffix)
+{
+ cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
+ char uniform_name[100];
+ const char *unit_name[2] = { "source", "mask" };
+
+ snprintf (uniform_name, sizeof (uniform_name), "%s_%s",
+ unit_name[tex_unit], suffix);
+
+ return dispatch->GetUniformLocation (shader->program, uniform_name);
+}
+
static cairo_status_t
_cairo_gl_shader_compile_and_link (cairo_gl_context_t *ctx,
cairo_gl_shader_t *shader,
@@ -813,8 +829,10 @@ _cairo_gl_shader_compile_and_link (cairo_gl_context_t *ctx,
cairo_bool_t use_coverage,
const char *fragment_text)
{
+ cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
unsigned int vertex_shader;
cairo_status_t status;
+ int i;
assert (shader->program == 0);
@@ -828,12 +846,12 @@ _cairo_gl_shader_compile_and_link (cairo_gl_context_t *ctx,
use_coverage,
CAIRO_GL_VAR_NONE,
&source);
- if (unlikely (status))
- goto FAILURE;
+ if (unlikely (status))
+ goto FAILURE;
compile_shader (ctx, &ctx->vertex_shaders[vertex_shader],
GL_VERTEX_SHADER, source);
- free (source);
+ free (source);
}
compile_shader (ctx, &shader->fragment_shader,
@@ -843,6 +861,25 @@ _cairo_gl_shader_compile_and_link (cairo_gl_context_t *ctx,
ctx->vertex_shaders[vertex_shader],
shader->fragment_shader);
+ shader->mvp_location =
+ dispatch->GetUniformLocation (shader->program,
+ "ModelViewProjectionMatrix");
+
+ for (i = 0; i < 2; i++) {
+ shader->constant_location[i] =
+ _cairo_gl_get_op_uniform_location (ctx, shader, i, "constant");
+ shader->a_location[i] =
+ _cairo_gl_get_op_uniform_location (ctx, shader, i, "a");
+ shader->circle_d_location[i] =
+ _cairo_gl_get_op_uniform_location (ctx, shader, i, "circle_d");
+ shader->radius_0_location[i] =
+ _cairo_gl_get_op_uniform_location (ctx, shader, i, "radius_0");
+ shader->texdims_location[i] =
+ _cairo_gl_get_op_uniform_location (ctx, shader, i, "texdims");
+ shader->texgen_location[i] =
+ _cairo_gl_get_op_uniform_location (ctx, shader, i, "texgen");
+ }
+
return CAIRO_STATUS_SUCCESS;
FAILURE:
@@ -887,64 +924,54 @@ _cairo_gl_shader_set_samplers (cairo_gl_context_t *ctx,
void
_cairo_gl_shader_bind_float (cairo_gl_context_t *ctx,
- const char *name,
+ GLint location,
float value)
{
cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
- GLint location = dispatch->GetUniformLocation (ctx->current_shader->program,
- name);
assert (location != -1);
dispatch->Uniform1f (location, value);
}
void
_cairo_gl_shader_bind_vec2 (cairo_gl_context_t *ctx,
- const char *name,
+ GLint location,
float value0,
float value1)
{
cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
- GLint location = dispatch->GetUniformLocation (ctx->current_shader->program,
- name);
assert (location != -1);
dispatch->Uniform2f (location, value0, value1);
}
void
_cairo_gl_shader_bind_vec3 (cairo_gl_context_t *ctx,
- const char *name,
+ GLint location,
float value0,
float value1,
float value2)
{
cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
- GLint location = dispatch->GetUniformLocation (ctx->current_shader->program,
- name);
assert (location != -1);
dispatch->Uniform3f (location, value0, value1, value2);
}
void
_cairo_gl_shader_bind_vec4 (cairo_gl_context_t *ctx,
- const char *name,
+ GLint location,
float value0, float value1,
float value2, float value3)
{
cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
- GLint location = dispatch->GetUniformLocation (ctx->current_shader->program,
- name);
assert (location != -1);
dispatch->Uniform4f (location, value0, value1, value2, value3);
}
void
_cairo_gl_shader_bind_matrix (cairo_gl_context_t *ctx,
- const char *name,
+ GLint location,
const cairo_matrix_t* m)
{
cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
- GLint location = dispatch->GetUniformLocation (ctx->current_shader->program,
- name);
float gl_m[9] = {
m->xx, m->xy, m->x0,
m->yx, m->yy, m->y0,
@@ -956,11 +983,9 @@ _cairo_gl_shader_bind_matrix (cairo_gl_context_t *ctx,
void
_cairo_gl_shader_bind_matrix4f (cairo_gl_context_t *ctx,
- const char *name, GLfloat* gl_m)
+ GLint location, GLfloat* gl_m)
{
cairo_gl_dispatch_t *dispatch = &ctx->dispatch;
- GLint location = dispatch->GetUniformLocation (ctx->current_shader->program,
- name);
assert (location != -1);
dispatch->UniformMatrix4fv (location, 1, GL_FALSE, gl_m);
}
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-source.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-source.c
index 12235295f40..12235295f40 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-source.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-source.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-spans-compositor.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-spans-compositor.c
index 4317ccd074a..4317ccd074a 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-spans-compositor.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-spans-compositor.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-surface.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-surface.c
index 1d7515a4198..c287a01e680 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-surface.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-surface.c
@@ -395,6 +395,23 @@ _cairo_gl_surface_init (cairo_device_t *device,
_cairo_gl_surface_embedded_operand_init (surface);
}
+static cairo_bool_t
+_cairo_gl_surface_size_valid_for_context (cairo_gl_context_t *ctx,
+ int width, int height)
+{
+ return width > 0 && height > 0 &&
+ width <= ctx->max_framebuffer_size &&
+ height <= ctx->max_framebuffer_size;
+}
+
+static cairo_bool_t
+_cairo_gl_surface_size_valid (cairo_gl_surface_t *surface,
+ int width, int height)
+{
+ cairo_gl_context_t *ctx = (cairo_gl_context_t *)surface->base.device;
+ return _cairo_gl_surface_size_valid_for_context (ctx, width, height);
+}
+
static cairo_surface_t *
_cairo_gl_surface_create_scratch_for_texture (cairo_gl_context_t *ctx,
cairo_content_t content,
@@ -404,7 +421,6 @@ _cairo_gl_surface_create_scratch_for_texture (cairo_gl_context_t *ctx,
{
cairo_gl_surface_t *surface;
- assert (width <= ctx->max_framebuffer_size && height <= ctx->max_framebuffer_size);
surface = calloc (1, sizeof (cairo_gl_surface_t));
if (unlikely (surface == NULL))
return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY));
@@ -588,6 +604,11 @@ cairo_gl_surface_create (cairo_device_t *abstract_device,
if (unlikely (status))
return _cairo_surface_create_in_error (status);
+ if (! _cairo_gl_surface_size_valid_for_context (ctx, width, height)) {
+ status = _cairo_gl_context_release (ctx, status);
+ return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_INVALID_SIZE));
+ }
+
surface = (cairo_gl_surface_t *)
_cairo_gl_surface_create_and_clear_scratch (ctx, content, width, height);
if (unlikely (surface->base.status)) {
@@ -761,16 +782,6 @@ cairo_gl_surface_swapbuffers (cairo_surface_t *abstract_surface)
}
}
-static cairo_bool_t
-_cairo_gl_surface_size_valid (cairo_gl_surface_t *surface,
- int width, int height)
-{
- cairo_gl_context_t *ctx = (cairo_gl_context_t *)surface->base.device;
- return width > 0 && height > 0 &&
- width <= ctx->max_framebuffer_size &&
- height <= ctx->max_framebuffer_size;
-}
-
static cairo_surface_t *
_cairo_gl_surface_create_similar (void *abstract_surface,
cairo_content_t content,
@@ -1024,15 +1035,18 @@ _cairo_gl_surface_finish (void *abstract_surface)
if (surface->owns_tex)
glDeleteTextures (1, &surface->tex);
-#if CAIRO_HAS_GL_SURFACE
if (surface->msaa_depth_stencil)
ctx->dispatch.DeleteRenderbuffers (1, &surface->msaa_depth_stencil);
+
+#if CAIRO_HAS_GL_SURFACE
if (surface->msaa_fb)
ctx->dispatch.DeleteFramebuffers (1, &surface->msaa_fb);
if (surface->msaa_rb)
ctx->dispatch.DeleteRenderbuffers (1, &surface->msaa_rb);
#endif
+ _cairo_clip_destroy (surface->clip_on_stencil_buffer);
+
return _cairo_gl_context_release (ctx, status);
}
@@ -1278,9 +1292,44 @@ _cairo_gl_surface_flush (void *abstract_surface, unsigned flags)
(ctx->current_target == surface))
_cairo_gl_composite_flush (ctx);
+ status = _cairo_gl_surface_resolve_multisampling (surface);
+
return _cairo_gl_context_release (ctx, status);
}
+cairo_int_status_t
+_cairo_gl_surface_resolve_multisampling (cairo_gl_surface_t *surface)
+{
+ cairo_gl_context_t *ctx;
+ cairo_int_status_t status;
+
+ if (! surface->msaa_active)
+ return CAIRO_INT_STATUS_SUCCESS;
+
+ if (surface->base.device == NULL)
+ return CAIRO_INT_STATUS_SUCCESS;
+
+ /* GLES surfaces do not need explicit resolution. */
+ if (((cairo_gl_context_t *) surface->base.device)->gl_flavor == CAIRO_GL_FLAVOR_ES)
+ return CAIRO_INT_STATUS_SUCCESS;
+
+ if (! _cairo_gl_surface_is_texture (surface))
+ return CAIRO_INT_STATUS_SUCCESS;
+
+ status = _cairo_gl_context_acquire (surface->base.device, &ctx);
+ if (unlikely (status))
+ return status;
+
+ ctx->current_target = surface;
+
+#if CAIRO_HAS_GL_SURFACE
+ _cairo_gl_context_bind_framebuffer (ctx, surface, FALSE);
+#endif
+
+ status = _cairo_gl_context_release (ctx, status);
+ return status;
+}
+
static const cairo_compositor_t *
get_compositor (cairo_gl_surface_t *surface)
{
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-traps-compositor.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-traps-compositor.c
index 548162be4ed..ec478ee53a9 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl-traps-compositor.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl-traps-compositor.c
@@ -367,7 +367,7 @@ traps_to_operand (void *_dst,
if (unlikely (status))
goto error;
- operand->texture.owns_surface = mask;
+ operand->texture.owns_surface = (cairo_gl_surface_t *)mask;
return CAIRO_STATUS_SUCCESS;
error:
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl.h
index cec31730532..9fd7608f5cf 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gl.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gl.h
@@ -138,6 +138,12 @@ cairo_gl_surface_create_for_egl (cairo_device_t *device,
int width,
int height);
+cairo_public EGLDisplay
+cairo_egl_device_get_display (cairo_device_t *device);
+
+cairo_public EGLSurface
+cairo_egl_device_get_context (cairo_device_t *device);
+
#endif
CAIRO_END_DECLS
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-glx-context.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-glx-context.c
index 3761b9079a4..3761b9079a4 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-glx-context.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-glx-context.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gstate-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gstate-private.h
index b2ccc76d145..b2ccc76d145 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gstate-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gstate-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gstate.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gstate.c
index 6319471acca..b8caa63f17e 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-gstate.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-gstate.c
@@ -1462,19 +1462,19 @@ _cairo_gstate_stroke_extents (cairo_gstate_t *gstate,
}
if (status == CAIRO_INT_STATUS_UNSUPPORTED) {
- cairo_traps_t traps;
-
- _cairo_traps_init (&traps);
- status = _cairo_path_fixed_stroke_polygon_to_traps (path,
- &gstate->stroke_style,
- &gstate->ctm,
- &gstate->ctm_inverse,
- gstate->tolerance,
- &traps);
- empty = traps.num_traps == 0;
+ cairo_polygon_t polygon;
+
+ _cairo_polygon_init (&polygon, NULL, 0);
+ status = _cairo_path_fixed_stroke_to_polygon (path,
+ &gstate->stroke_style,
+ &gstate->ctm,
+ &gstate->ctm_inverse,
+ gstate->tolerance,
+ &polygon);
+ empty = polygon.num_edges == 0;
if (! empty)
- _cairo_traps_extents (&traps, &extents);
- _cairo_traps_fini (&traps);
+ extents = polygon.extents;
+ _cairo_polygon_fini (&polygon);
}
if (! empty) {
_cairo_gstate_extents_to_user_rectangle (gstate, &extents,
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-hash-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-hash-private.h
index 30e51ffe669..30e51ffe669 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-hash-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-hash-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-hash.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-hash.c
index 928c74b8bd6..928c74b8bd6 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-hash.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-hash.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-hull.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-hull.c
index c65593327f6..c65593327f6 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-hull.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-hull.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-image-compositor.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-image-compositor.c
index be3db984a07..d0c4dd97146 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-image-compositor.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-image-compositor.c
@@ -52,6 +52,8 @@
#include "cairo-traps-private.h"
#include "cairo-tristrip-private.h"
+#include "cairo-pixman-private.h"
+
static pixman_image_t *
to_pixman_image (cairo_surface_t *s)
{
@@ -256,9 +258,9 @@ _pixman_operator (cairo_operator_t op)
}
static cairo_bool_t
-fill_reduces_to_source (cairo_operator_t op,
- const cairo_color_t *color,
- cairo_image_surface_t *dst)
+__fill_reduces_to_source (cairo_operator_t op,
+ const cairo_color_t *color,
+ const cairo_image_surface_t *dst)
{
if (op == CAIRO_OPERATOR_SOURCE || op == CAIRO_OPERATOR_CLEAR)
return TRUE;
@@ -270,6 +272,20 @@ fill_reduces_to_source (cairo_operator_t op,
return FALSE;
}
+static cairo_bool_t
+fill_reduces_to_source (cairo_operator_t op,
+ const cairo_color_t *color,
+ const cairo_image_surface_t *dst,
+ uint32_t *pixel)
+{
+ if (__fill_reduces_to_source (op, color, dst)) {
+ color_to_pixel (color, dst->pixman_format, pixel);
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
static cairo_int_status_t
fill_rectangles (void *_dst,
cairo_operator_t op,
@@ -283,9 +299,7 @@ fill_rectangles (void *_dst,
TRACE ((stderr, "%s\n", __FUNCTION__));
- if (fill_reduces_to_source (op, color, dst) &&
- color_to_pixel (color, dst->pixman_format, &pixel))
- {
+ if (fill_reduces_to_source (op, color, dst, &pixel)) {
for (i = 0; i < num_rects; i++) {
pixman_fill ((uint32_t *) dst->data, dst->stride / sizeof (uint32_t),
PIXMAN_FORMAT_BPP (dst->pixman_format),
@@ -293,9 +307,7 @@ fill_rectangles (void *_dst,
rects[i].width, rects[i].height,
pixel);
}
- }
- else
- {
+ } else {
pixman_image_t *src = _pixman_image_for_color (color);
op = _pixman_operator (op);
@@ -327,9 +339,7 @@ fill_boxes (void *_dst,
TRACE ((stderr, "%s x %d\n", __FUNCTION__, boxes->num_boxes));
- if (fill_reduces_to_source (op, color, dst) &&
- color_to_pixel (color, dst->pixman_format, &pixel))
- {
+ if (fill_reduces_to_source (op, color, dst, &pixel)) {
for (chunk = &boxes->chunks; chunk; chunk = chunk->next) {
for (i = 0; i < chunk->count; i++) {
int x = _cairo_fixed_integer_part (chunk->base[i].p1.x);
@@ -674,6 +684,7 @@ composite_traps (void *_dst,
return CAIRO_STATUS_SUCCESS;
}
+#if PIXMAN_VERSION >= PIXMAN_VERSION_ENCODE(0,22,0)
static void
set_point (pixman_point_fixed_t *p, cairo_point_t *c)
{
@@ -749,6 +760,7 @@ composite_tristrip (void *_dst,
return CAIRO_STATUS_SUCCESS;
}
+#endif
static cairo_int_status_t
check_composite_glyphs (const cairo_composite_rectangles_t *extents,
@@ -1215,7 +1227,9 @@ _cairo_image_traps_compositor_get (void)
//compositor.check_composite_traps = check_composite_traps;
compositor.composite_traps = composite_traps;
//compositor.check_composite_tristrip = check_composite_traps;
+#if PIXMAN_VERSION >= PIXMAN_VERSION_ENCODE(0,22,0)
compositor.composite_tristrip = composite_tristrip;
+#endif
compositor.check_composite_glyphs = check_composite_glyphs;
compositor.composite_glyphs = composite_glyphs;
}
@@ -1548,7 +1562,7 @@ typedef struct _cairo_image_span_renderer {
} mask;
} u;
uint8_t _buf[0];
-#define SZ_BUF (sizeof (cairo_abstract_span_renderer_t) - sizeof (cairo_image_span_renderer_t))
+#define SZ_BUF (int)(sizeof (cairo_abstract_span_renderer_t) - sizeof (cairo_image_span_renderer_t))
} cairo_image_span_renderer_t;
COMPILE_TIME_ASSERT (sizeof (cairo_image_span_renderer_t) <= sizeof (cairo_abstract_span_renderer_t));
@@ -2010,8 +2024,7 @@ mono_renderer_init (cairo_image_span_renderer_t *r,
if (composite->op == CAIRO_OPERATOR_CLEAR)
color = CAIRO_COLOR_TRANSPARENT;
- if (fill_reduces_to_source (composite->op, color, dst) &&
- color_to_pixel (color, dst->pixman_format, &r->u.fill.pixel)) {
+ if (fill_reduces_to_source (composite->op, color, dst, &r->u.fill.pixel)) {
/* Use plain C for the fill operations as the span length is
* typically small, too small to payback the startup overheads of
* using SSE2 etc.
@@ -2755,8 +2768,7 @@ inplace_renderer_init (cairo_image_span_renderer_t *r,
if (composite->op == CAIRO_OPERATOR_CLEAR)
color = CAIRO_COLOR_TRANSPARENT;
- if (fill_reduces_to_source (composite->op, color, dst) &&
- color_to_pixel (color, dst->pixman_format, &r->u.fill.pixel)) {
+ if (fill_reduces_to_source (composite->op, color, dst, &r->u.fill.pixel)) {
/* Use plain C for the fill operations as the span length is
* typically small, too small to payback the startup overheads of
* using SSE2 etc.
@@ -2993,7 +3005,7 @@ span_renderer_init (cairo_abstract_span_renderer_t *_r,
r->u.mask.extents = composite->unbounded;
r->u.mask.stride = (r->u.mask.extents.width + 3) & ~3;
- if (r->u.mask.extents.height * r->u.mask.stride > (int)sizeof (r->_buf)) {
+ if (r->u.mask.extents.height * r->u.mask.stride > SZ_BUF) {
r->mask = pixman_image_create_bits (PIXMAN_a8,
r->u.mask.extents.width,
r->u.mask.extents.height,
@@ -3028,11 +3040,12 @@ span_renderer_fini (cairo_abstract_span_renderer_t *_r,
TRACE ((stderr, "%s\n", __FUNCTION__));
- if (likely (status == CAIRO_INT_STATUS_SUCCESS && r->bpp == 0)) {
- const cairo_composite_rectangles_t *composite = r->composite;
-
+ if (likely (status == CAIRO_INT_STATUS_SUCCESS)) {
if (r->base.finish)
r->base.finish (r);
+ }
+ if (likely (status == CAIRO_INT_STATUS_SUCCESS && r->bpp == 0)) {
+ const cairo_composite_rectangles_t *composite = r->composite;
pixman_image_composite32 (r->op, r->src, r->mask,
to_pixman_image (composite->surface),
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-image-info-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-image-info-private.h
index 0d9ef84985f..0d9ef84985f 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-image-info-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-image-info-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-image-info.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-image-info.c
index 4489698e8f8..4489698e8f8 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-image-info.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-image-info.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-image-source.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-image-source.c
index c5bd228c498..c5bd228c498 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-image-source.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-image-source.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-image-surface-inline.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-image-surface-inline.h
index 743d5fd3e75..743d5fd3e75 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-image-surface-inline.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-image-surface-inline.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-image-surface-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-image-surface-private.h
index 8ca694c5e3e..8ca694c5e3e 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-image-surface-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-image-surface-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-image-surface.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-image-surface.c
index 49f6e189e45..824dbf3c67a 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-image-surface.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-image-surface.c
@@ -48,6 +48,7 @@
#include "cairo-image-surface-inline.h"
#include "cairo-paginated-private.h"
#include "cairo-pattern-private.h"
+#include "cairo-pixman-private.h"
#include "cairo-recording-surface-private.h"
#include "cairo-region-private.h"
#include "cairo-scaled-font-private.h"
@@ -103,7 +104,9 @@ _cairo_format_from_pixman_format (pixman_format_code_t pixman_format)
return CAIRO_FORMAT_A1;
case PIXMAN_r5g6b5:
return CAIRO_FORMAT_RGB16_565;
+#if PIXMAN_VERSION >= PIXMAN_VERSION_ENCODE(0,22,0)
case PIXMAN_r8g8b8a8: case PIXMAN_r8g8b8x8:
+#endif
case PIXMAN_a8b8g8r8: case PIXMAN_x8b8g8r8: case PIXMAN_r8g8b8:
case PIXMAN_b8g8r8: case PIXMAN_b5g6r5:
case PIXMAN_a1r5g5b5: case PIXMAN_x1r5g5b5: case PIXMAN_a1b5g5r5:
@@ -120,7 +123,9 @@ _cairo_format_from_pixman_format (pixman_format_code_t pixman_format)
case PIXMAN_a2b10g10r10:
case PIXMAN_x2b10g10r10:
case PIXMAN_a2r10g10b10:
+#if PIXMAN_VERSION >= PIXMAN_VERSION_ENCODE(0,22,0)
case PIXMAN_x14r6g6b6:
+#endif
default:
return CAIRO_FORMAT_INVALID;
}
@@ -767,7 +772,7 @@ _cairo_image_surface_snapshot (void *abstract_surface)
clone->transparency = image->transparency;
clone->color = image->color;
- clone->owns_data = FALSE;
+ clone->owns_data = TRUE;
return &clone->base;
}
@@ -843,8 +848,9 @@ _cairo_image_surface_finish (void *abstract_surface)
}
if (surface->parent) {
- cairo_surface_destroy (surface->parent);
+ cairo_surface_t *parent = surface->parent;
surface->parent = NULL;
+ cairo_surface_destroy (parent);
}
return CAIRO_STATUS_SUCCESS;
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-list-inline.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-list-inline.h
index d00f40e98ad..0955178d24f 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-list-inline.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-list-inline.h
@@ -145,9 +145,15 @@ __cairo_list_del (cairo_list_t *prev, cairo_list_t *next)
}
static inline void
-cairo_list_del (cairo_list_t *entry)
+_cairo_list_del (cairo_list_t *entry)
{
__cairo_list_del (entry->prev, entry->next);
+}
+
+static inline void
+cairo_list_del (cairo_list_t *entry)
+{
+ _cairo_list_del (entry);
cairo_list_init (entry);
}
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-list-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-list-private.h
index 9f39b668f82..9f39b668f82 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-list-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-list-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-lzw.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-lzw.c
index de7f9998376..de7f9998376 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-lzw.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-lzw.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-malloc-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-malloc-private.h
index 1e2c67f8d9a..1e2c67f8d9a 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-malloc-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-malloc-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-mask-compositor.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-mask-compositor.c
index d0be1449d3f..d0be1449d3f 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-mask-compositor.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-mask-compositor.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-matrix.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-matrix.c
index ba975beaef0..ba975beaef0 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-matrix.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-matrix.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-mempool-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-mempool-private.h
index a09f6ce51f6..a09f6ce51f6 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-mempool-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-mempool-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-mempool.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-mempool.c
index 96e4a62b2b1..751ede320f3 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-mempool.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-mempool.c
@@ -157,7 +157,8 @@ get_buddy (cairo_mempool_t *pool, size_t offset, int bits)
{
struct _cairo_memblock *block;
- assert (offset + (1 << bits) <= pool->num_blocks);
+ if (offset + (1 << bits) >= pool->num_blocks)
+ return NULL; /* invalid */
if (BITTEST (pool, offset + (1 << bits) - 1))
return NULL; /* buddy is allocated */
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-mesh-pattern-rasterizer.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-mesh-pattern-rasterizer.c
index 6f0dd66676d..6f0dd66676d 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-mesh-pattern-rasterizer.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-mesh-pattern-rasterizer.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-misc.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-misc.c
index bb37e1a0a00..bb37e1a0a00 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-misc.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-misc.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-mono-scan-converter.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-mono-scan-converter.c
index 2a9546cf82a..2a9546cf82a 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-mono-scan-converter.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-mono-scan-converter.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-mutex-impl-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-mutex-impl-private.h
index 25223f3eac0..25223f3eac0 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-mutex-impl-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-mutex-impl-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-mutex-list-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-mutex-list-private.h
index f46afadb04b..f46afadb04b 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-mutex-list-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-mutex-list-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-mutex-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-mutex-private.h
index 61a7160a066..61a7160a066 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-mutex-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-mutex-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-mutex-type-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-mutex-type-private.h
index e8c493985c9..e8c493985c9 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-mutex-type-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-mutex-type-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-mutex.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-mutex.c
index 0a31dced3e1..0a31dced3e1 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-mutex.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-mutex.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-no-compositor.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-no-compositor.c
index 1602a12f63a..1602a12f63a 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-no-compositor.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-no-compositor.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-observer.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-observer.c
index 36d6b93bd63..36d6b93bd63 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-observer.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-observer.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-os2-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-os2-private.h
index 829dd3c8d41..829dd3c8d41 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-os2-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-os2-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-os2-surface.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-os2-surface.c
index 1ab50f97798..1ab50f97798 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-os2-surface.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-os2-surface.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-os2.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-os2.h
index d23f2dec42a..d23f2dec42a 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-os2.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-os2.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-output-stream-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-output-stream-private.h
index edaabbe78e5..edaabbe78e5 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-output-stream-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-output-stream-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-output-stream.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-output-stream.c
index cc7e300c936..cc7e300c936 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-output-stream.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-output-stream.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-paginated-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-paginated-private.h
index b827faba0ef..b827faba0ef 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-paginated-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-paginated-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-paginated-surface-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-paginated-surface-private.h
index ebf4b342492..ebf4b342492 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-paginated-surface-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-paginated-surface-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-paginated-surface.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-paginated-surface.c
index fe9ccee63c7..fe9ccee63c7 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-paginated-surface.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-paginated-surface.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-bounds.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-bounds.c
index 9c7222426d3..9c7222426d3 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-bounds.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-bounds.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-fill.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-fill.c
index 4000c9c586e..4000c9c586e 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-fill.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-fill.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-fixed-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-fixed-private.h
index cf7cd0836fb..cf7cd0836fb 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-fixed-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-fixed-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-fixed.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-fixed.c
index 66fbdfe1407..14913fd09ac 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-fixed.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-fixed.c
@@ -965,8 +965,19 @@ _cairo_path_fixed_offset_and_scale (cairo_path_fixed_t *path,
path->extents.p1.x = _cairo_fixed_mul (scalex, path->extents.p1.x) + offx;
path->extents.p2.x = _cairo_fixed_mul (scalex, path->extents.p2.x) + offx;
+ if (scalex < 0) {
+ cairo_fixed_t t = path->extents.p1.x;
+ path->extents.p1.x = path->extents.p2.x;
+ path->extents.p2.x = t;
+ }
+
path->extents.p1.y = _cairo_fixed_mul (scaley, path->extents.p1.y) + offy;
path->extents.p2.y = _cairo_fixed_mul (scaley, path->extents.p2.y) + offy;
+ if (scaley < 0) {
+ cairo_fixed_t t = path->extents.p1.y;
+ path->extents.p1.y = path->extents.p2.y;
+ path->extents.p2.y = t;
+ }
}
void
@@ -1289,7 +1300,7 @@ _cairo_path_fixed_is_box (const cairo_path_fixed_t *path,
}
/* Determine whether two lines A->B and C->D intersect based on the
- * algorithm described here: http://paulbourke.net/geometry/lineline2d/ */
+ * algorithm described here: http://paulbourke.net/geometry/pointlineplane/ */
static inline cairo_bool_t
_lines_intersect_or_are_coincident (cairo_point_t a,
cairo_point_t b,
@@ -1297,6 +1308,7 @@ _lines_intersect_or_are_coincident (cairo_point_t a,
cairo_point_t d)
{
cairo_int64_t numerator_a, numerator_b, denominator;
+ cairo_bool_t denominator_negative;
denominator = _cairo_int64_sub (_cairo_int32x32_64_mul (d.y - c.y, b.x - a.x),
_cairo_int32x32_64_mul (d.x - c.x, b.y - a.y));
@@ -1316,20 +1328,34 @@ _lines_intersect_or_are_coincident (cairo_point_t a,
return FALSE;
}
- /* If either division would produce a number between 0 and 1, i.e.
- * the numerator is smaller than the denominator and their signs are
- * the same, then the lines intersect. */
- if (_cairo_int64_lt (numerator_a, denominator) &&
- ! (_cairo_int64_negative (numerator_a) ^ _cairo_int64_negative(denominator))) {
- return TRUE;
- }
+ /* The lines intersect if both quotients are between 0 and 1 (exclusive). */
- if (_cairo_int64_lt (numerator_b, denominator) &&
- ! (_cairo_int64_negative (numerator_b) ^ _cairo_int64_negative(denominator))) {
- return TRUE;
+ /* We first test whether either quotient is a negative number. */
+ denominator_negative = _cairo_int64_negative (denominator);
+ if (_cairo_int64_negative (numerator_a) ^ denominator_negative)
+ return FALSE;
+ if (_cairo_int64_negative (numerator_b) ^ denominator_negative)
+ return FALSE;
+
+ /* A zero quotient indicates an "intersection" at an endpoint, which
+ * we aren't considering a true intersection. */
+ if (_cairo_int64_is_zero (numerator_a) || _cairo_int64_is_zero (numerator_b))
+ return FALSE;
+
+ /* If the absolute value of the numerator is larger than or equal to the
+ * denominator the result of the division would be greater than or equal
+ * to one. */
+ if (! denominator_negative) {
+ if (! _cairo_int64_lt (numerator_a, denominator) ||
+ ! _cairo_int64_lt (numerator_b, denominator))
+ return FALSE;
+ } else {
+ if (! _cairo_int64_lt (denominator, numerator_a) ||
+ ! _cairo_int64_lt (denominator, numerator_b))
+ return FALSE;
}
- return FALSE;
+ return TRUE;
}
cairo_bool_t
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-in-fill.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-in-fill.c
index 1787fb1a3ba..1787fb1a3ba 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-in-fill.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-in-fill.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-private.h
index 7b54317e20e..7b54317e20e 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-stroke-boxes.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-stroke-boxes.c
index 7f25bf76cf7..7f25bf76cf7 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-stroke-boxes.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-stroke-boxes.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-stroke-polygon.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-stroke-polygon.c
index 2c8fe5e7e4d..2c8fe5e7e4d 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-stroke-polygon.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-stroke-polygon.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-stroke-traps.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-stroke-traps.c
index 304dea7db94..304dea7db94 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-stroke-traps.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-stroke-traps.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-stroke-tristrip.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-stroke-tristrip.c
index 6ce4131cc0f..6ce4131cc0f 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-stroke-tristrip.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-stroke-tristrip.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-stroke.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-stroke.c
index cd6b3a27124..4d4ede81361 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-path-stroke.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-path-stroke.c
@@ -54,6 +54,7 @@ typedef struct cairo_stroker {
const cairo_matrix_t *ctm_inverse;
double half_line_width;
double tolerance;
+ double spline_cusp_tolerance;
double ctm_determinant;
cairo_bool_t ctm_det_positive;
@@ -137,6 +138,18 @@ _cairo_stroker_init (cairo_stroker_t *stroker,
stroker->tolerance = tolerance;
stroker->half_line_width = stroke_style->line_width / 2.0;
+ /* To test whether we need to join two segments of a spline using
+ * a round-join or a bevel-join, we can inspect the angle between the
+ * two segments. If the difference between the chord distance
+ * (half-line-width times the cosine of the bisection angle) and the
+ * half-line-width itself is greater than tolerance then we need to
+ * inject a point.
+ */
+ stroker->spline_cusp_tolerance = 1 - tolerance / stroker->half_line_width;
+ stroker->spline_cusp_tolerance *= stroker->spline_cusp_tolerance;
+ stroker->spline_cusp_tolerance *= 2;
+ stroker->spline_cusp_tolerance -= 1;
+
stroker->ctm_determinant = _cairo_matrix_compute_determinant (stroker->ctm);
stroker->ctm_det_positive = stroker->ctm_determinant >= 0.0;
@@ -761,9 +774,12 @@ _compute_normalized_device_slope (double *dx, double *dy,
}
static void
-_compute_face (const cairo_point_t *point, cairo_slope_t *dev_slope,
- double slope_dx, double slope_dy,
- cairo_stroker_t *stroker, cairo_stroke_face_t *face)
+_compute_face (const cairo_point_t *point,
+ const cairo_slope_t *dev_slope,
+ double slope_dx,
+ double slope_dy,
+ cairo_stroker_t *stroker,
+ cairo_stroke_face_t *face)
{
double face_dx, face_dy;
cairo_point_t offset_ccw, offset_cw;
@@ -979,6 +995,91 @@ _cairo_stroker_line_to (void *closure,
return CAIRO_STATUS_SUCCESS;
}
+static cairo_status_t
+_cairo_stroker_spline_to (void *closure,
+ const cairo_point_t *point,
+ const cairo_slope_t *tangent)
+{
+ cairo_stroker_t *stroker = closure;
+ cairo_stroke_face_t new_face;
+ double slope_dx, slope_dy;
+ cairo_point_t points[3];
+ cairo_point_t intersect_point;
+
+ stroker->has_initial_sub_path = TRUE;
+
+ if (stroker->current_point.x == point->x &&
+ stroker->current_point.y == point->y)
+ return CAIRO_STATUS_SUCCESS;
+
+ slope_dx = _cairo_fixed_to_double (tangent->dx);
+ slope_dy = _cairo_fixed_to_double (tangent->dy);
+
+ if (! _compute_normalized_device_slope (&slope_dx, &slope_dy,
+ stroker->ctm_inverse, NULL))
+ return CAIRO_STATUS_SUCCESS;
+
+ _compute_face (point, tangent,
+ slope_dx, slope_dy,
+ stroker, &new_face);
+
+ assert (stroker->has_current_face);
+
+ if ((new_face.dev_slope.x * stroker->current_face.dev_slope.x +
+ new_face.dev_slope.y * stroker->current_face.dev_slope.y) < stroker->spline_cusp_tolerance) {
+
+ const cairo_point_t *inpt, *outpt;
+ int clockwise = _cairo_stroker_join_is_clockwise (&new_face,
+ &stroker->current_face);
+
+ if (clockwise) {
+ inpt = &stroker->current_face.cw;
+ outpt = &new_face.cw;
+ } else {
+ inpt = &stroker->current_face.ccw;
+ outpt = &new_face.ccw;
+ }
+
+ _tessellate_fan (stroker,
+ &stroker->current_face.dev_vector,
+ &new_face.dev_vector,
+ &stroker->current_face.point,
+ inpt, outpt,
+ clockwise);
+ }
+
+ if (_slow_segment_intersection (&stroker->current_face.cw,
+ &stroker->current_face.ccw,
+ &new_face.cw,
+ &new_face.ccw,
+ &intersect_point)) {
+ points[0] = stroker->current_face.ccw;
+ points[1] = new_face.ccw;
+ points[2] = intersect_point;
+ stroker->add_triangle (stroker->closure, points);
+
+ points[0] = stroker->current_face.cw;
+ points[1] = new_face.cw;
+ stroker->add_triangle (stroker->closure, points);
+ } else {
+ points[0] = stroker->current_face.ccw;
+ points[1] = stroker->current_face.cw;
+ points[2] = new_face.cw;
+ stroker->add_triangle (stroker->closure, points);
+
+ points[0] = stroker->current_face.ccw;
+ points[1] = new_face.cw;
+ points[2] = new_face.ccw;
+ stroker->add_triangle (stroker->closure, points);
+ }
+
+ stroker->current_face = new_face;
+ stroker->has_current_face = TRUE;
+ stroker->current_point = *point;
+
+ return CAIRO_STATUS_SUCCESS;
+}
+
/*
* Dashed lines. Cap each dash end, join around turns when on
*/
@@ -1135,18 +1236,27 @@ _cairo_stroker_curve_to (void *closure,
cairo_line_join_t line_join_save;
cairo_stroke_face_t face;
double slope_dx, slope_dy;
- cairo_path_fixed_line_to_func_t *line_to;
+ cairo_spline_add_point_func_t line_to;
+ cairo_spline_add_point_func_t spline_to;
cairo_status_t status = CAIRO_STATUS_SUCCESS;
line_to = stroker->dash.dashed ?
- _cairo_stroker_line_to_dashed :
- _cairo_stroker_line_to;
+ (cairo_spline_add_point_func_t) _cairo_stroker_line_to_dashed :
+ (cairo_spline_add_point_func_t) _cairo_stroker_line_to;
+
+ /* spline_to is only capable of rendering non-degenerate splines. */
+ spline_to = stroker->dash.dashed ?
+ (cairo_spline_add_point_func_t) _cairo_stroker_line_to_dashed :
+ (cairo_spline_add_point_func_t) _cairo_stroker_spline_to;
if (! _cairo_spline_init (&spline,
- (cairo_spline_add_point_func_t)line_to, stroker,
+ spline_to,
+ stroker,
&stroker->current_point, b, c, d))
{
- return line_to (closure, d);
+ cairo_slope_t fallback_slope;
+ _cairo_slope_init (&fallback_slope, &stroker->current_point, d);
+ return line_to (closure, d, &fallback_slope);
}
/* If the line width is so small that the pen is reduced to a
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-path.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-path.c
index 43cd175a3c5..43cd175a3c5 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-path.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-path.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-pattern-inline.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-pattern-inline.h
index 97e8ea034e4..97e8ea034e4 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-pattern-inline.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-pattern-inline.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-pattern-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-pattern-private.h
index dfd843fc146..dfd843fc146 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-pattern-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-pattern-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-pattern.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-pattern.c
index 940227d298c..940227d298c 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-pattern.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-pattern.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-pdf-operators-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-pdf-operators-private.h
index 6e1ae1833be..5d36879152c 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-pdf-operators-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-pdf-operators-private.h
@@ -53,9 +53,10 @@
*/
#define PDF_GLYPH_BUFFER_SIZE 200
-typedef cairo_status_t (*cairo_pdf_operators_use_font_subset_t) (unsigned int font_id,
- unsigned int subset_id,
- void *closure);
+typedef cairo_int_status_t
+(*cairo_pdf_operators_use_font_subset_t) (unsigned int font_id,
+ unsigned int subset_id,
+ void *closure);
typedef struct _cairo_pdf_glyph {
unsigned int glyph_index;
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-pdf-operators.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-pdf-operators.c
index fceaf1cc4b1..fceaf1cc4b1 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-pdf-operators.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-pdf-operators.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-pdf-shading-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-pdf-shading-private.h
index 0ca8cb7d518..0ca8cb7d518 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-pdf-shading-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-pdf-shading-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-pdf-shading.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-pdf-shading.c
index 646e2cd4902..646e2cd4902 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-pdf-shading.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-pdf-shading.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-pdf-surface-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-pdf-surface-private.h
index d9f65d80016..d9f65d80016 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-pdf-surface-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-pdf-surface-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-pdf-surface.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-pdf-surface.c
index eaa27f140b1..6580d5b6945 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-pdf-surface.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-pdf-surface.c
@@ -198,7 +198,7 @@ _cairo_pdf_surface_clear (cairo_pdf_surface_t *surface);
static void
_cairo_pdf_smask_group_destroy (cairo_pdf_smask_group_t *group);
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_add_font (unsigned int font_id,
unsigned int subset_id,
void *closure);
@@ -206,16 +206,16 @@ _cairo_pdf_surface_add_font (unsigned int font_id,
static void
_cairo_pdf_group_resources_init (cairo_pdf_group_resources_t *res);
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_open_stream (cairo_pdf_surface_t *surface,
cairo_pdf_resource_t *resource,
cairo_bool_t compressed,
const char *fmt,
...) CAIRO_PRINTF_FORMAT(4, 5);
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_close_stream (cairo_pdf_surface_t *surface);
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_write_page (cairo_pdf_surface_t *surface);
static void
@@ -230,10 +230,10 @@ _cairo_pdf_surface_write_catalog (cairo_pdf_surface_t *surface);
static long
_cairo_pdf_surface_write_xref (cairo_pdf_surface_t *surface);
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_write_page (cairo_pdf_surface_t *surface);
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_emit_font_subsets (cairo_pdf_surface_t *surface);
static cairo_bool_t
@@ -246,7 +246,7 @@ static cairo_pdf_resource_t
_cairo_pdf_surface_new_object (cairo_pdf_surface_t *surface)
{
cairo_pdf_resource_t resource;
- cairo_status_t status;
+ cairo_int_status_t status;
cairo_pdf_object_t object;
object.offset = _cairo_output_stream_get_position (surface->output);
@@ -766,14 +766,14 @@ _cairo_pdf_surface_add_operator (cairo_pdf_surface_t *surface,
res->operators[op] = TRUE;
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_add_alpha (cairo_pdf_surface_t *surface,
double alpha,
int *index)
{
int num_alphas, i;
double other;
- cairo_status_t status;
+ cairo_int_status_t status;
cairo_pdf_group_resources_t *res = &surface->resources;
num_alphas = _cairo_array_num_elements (&res->alphas);
@@ -794,21 +794,21 @@ _cairo_pdf_surface_add_alpha (cairo_pdf_surface_t *surface,
return CAIRO_STATUS_SUCCESS;
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_add_smask (cairo_pdf_surface_t *surface,
cairo_pdf_resource_t smask)
{
return _cairo_array_append (&(surface->resources.smasks), &smask);
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_add_pattern (cairo_pdf_surface_t *surface,
cairo_pdf_resource_t pattern)
{
return _cairo_array_append (&(surface->resources.patterns), &pattern);
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_add_shading (cairo_pdf_surface_t *surface,
cairo_pdf_resource_t shading)
{
@@ -816,14 +816,14 @@ _cairo_pdf_surface_add_shading (cairo_pdf_surface_t *surface,
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_add_xobject (cairo_pdf_surface_t *surface,
cairo_pdf_resource_t xobject)
{
return _cairo_array_append (&(surface->resources.xobjects), &xobject);
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_add_font (unsigned int font_id,
unsigned int subset_id,
void *closure)
@@ -831,7 +831,7 @@ _cairo_pdf_surface_add_font (unsigned int font_id,
cairo_pdf_surface_t *surface = closure;
cairo_pdf_font_t font;
int num_fonts, i;
- cairo_status_t status;
+ cairo_int_status_t status;
cairo_pdf_group_resources_t *res = &surface->resources;
num_fonts = _cairo_array_num_elements (&res->fonts);
@@ -1080,7 +1080,7 @@ _cairo_pdf_smask_group_destroy (cairo_pdf_smask_group_t *group)
free (group);
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_add_smask_group (cairo_pdf_surface_t *surface,
cairo_pdf_smask_group_t *group)
{
@@ -1302,7 +1302,7 @@ _get_source_surface_size (cairo_surface_t *source,
* Only one of @source_pattern or @source_surface is to be
* specified. Set the other to NULL.
**/
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_add_source_surface (cairo_pdf_surface_t *surface,
cairo_surface_t *source_surface,
const cairo_pattern_t *source_pattern,
@@ -1319,9 +1319,9 @@ _cairo_pdf_surface_add_source_surface (cairo_pdf_surface_t *surface,
cairo_pdf_source_surface_t src_surface;
cairo_pdf_source_surface_entry_t surface_key;
cairo_pdf_source_surface_entry_t *surface_entry;
- cairo_status_t status;
+ cairo_int_status_t status;
cairo_bool_t interpolate;
- unsigned char *unique_id;
+ unsigned char *unique_id = NULL;
unsigned long unique_id_length = 0;
cairo_image_surface_t *image;
void *image_extra;
@@ -1463,7 +1463,7 @@ fail1:
return status;
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_add_pdf_pattern_or_shading (cairo_pdf_surface_t *surface,
const cairo_pattern_t *pattern,
const cairo_rectangle_int_t *extents,
@@ -1472,7 +1472,7 @@ _cairo_pdf_surface_add_pdf_pattern_or_shading (cairo_pdf_surface_t *surface,
cairo_pdf_resource_t *gstate_res)
{
cairo_pdf_pattern_t pdf_pattern;
- cairo_status_t status;
+ cairo_int_status_t status;
pdf_pattern.is_shading = is_shading;
@@ -1480,7 +1480,7 @@ _cairo_pdf_surface_add_pdf_pattern_or_shading (cairo_pdf_surface_t *surface,
if (pattern->type == CAIRO_PATTERN_TYPE_SOLID) {
pattern_res->id = 0;
gstate_res->id = 0;
- return CAIRO_STATUS_SUCCESS;
+ return CAIRO_INT_STATUS_SUCCESS;
}
status = _cairo_pattern_create_copy (&pdf_pattern.pattern, pattern);
@@ -1532,7 +1532,7 @@ _cairo_pdf_surface_add_pdf_pattern_or_shading (cairo_pdf_surface_t *surface,
return status;
}
- return CAIRO_STATUS_SUCCESS;
+ return CAIRO_INT_STATUS_SUCCESS;
}
/* Get BBox in PDF coordinates from extents in cairo coordinates */
@@ -1547,7 +1547,7 @@ _get_bbox_from_extents (double surface_height,
bbox->p2.y = surface_height - extents->y;
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_add_pdf_shading (cairo_pdf_surface_t *surface,
const cairo_pattern_t *pattern,
const cairo_rectangle_int_t *extents,
@@ -1562,7 +1562,7 @@ _cairo_pdf_surface_add_pdf_shading (cairo_pdf_surface_t *surface,
gstate_res);
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_add_pdf_pattern (cairo_pdf_surface_t *surface,
const cairo_pattern_t *pattern,
const cairo_rectangle_int_t *extents,
@@ -1577,7 +1577,7 @@ _cairo_pdf_surface_add_pdf_pattern (cairo_pdf_surface_t *surface,
gstate_res);
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_open_stream (cairo_pdf_surface_t *surface,
cairo_pdf_resource_t *resource,
cairo_bool_t compressed,
@@ -1646,22 +1646,22 @@ _cairo_pdf_surface_open_stream (cairo_pdf_surface_t *surface,
return _cairo_output_stream_get_status (surface->output);
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_close_stream (cairo_pdf_surface_t *surface)
{
- cairo_status_t status;
+ cairo_int_status_t status;
long length;
if (! surface->pdf_stream.active)
- return CAIRO_STATUS_SUCCESS;
+ return CAIRO_INT_STATUS_SUCCESS;
status = _cairo_pdf_operators_flush (&surface->pdf_operators);
if (surface->pdf_stream.compressed) {
- cairo_status_t status2;
+ cairo_int_status_t status2;
status2 = _cairo_output_stream_destroy (surface->output);
- if (likely (status == CAIRO_STATUS_SUCCESS))
+ if (likely (status == CAIRO_INT_STATUS_SUCCESS))
status = status2;
surface->output = surface->pdf_stream.old_output;
@@ -1687,7 +1687,7 @@ _cairo_pdf_surface_close_stream (cairo_pdf_surface_t *surface)
surface->pdf_stream.active = FALSE;
- if (likely (status == CAIRO_STATUS_SUCCESS))
+ if (likely (status == CAIRO_INT_STATUS_SUCCESS))
status = _cairo_output_stream_get_status (surface->output);
return status;
@@ -1742,12 +1742,12 @@ _cairo_pdf_surface_write_memory_stream (cairo_pdf_surface_t *surface,
"endobj\n");
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_open_group (cairo_pdf_surface_t *surface,
const cairo_box_double_t *bbox,
cairo_pdf_resource_t *resource)
{
- cairo_status_t status;
+ cairo_int_status_t status;
assert (surface->pdf_stream.active == FALSE);
assert (surface->group_stream.active == FALSE);
@@ -1785,11 +1785,11 @@ _cairo_pdf_surface_open_group (cairo_pdf_surface_t *surface,
return status;
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_open_knockout_group (cairo_pdf_surface_t *surface,
const cairo_box_double_t *bbox)
{
- cairo_status_t status;
+ cairo_int_status_t status;
status = _cairo_pdf_surface_open_group (surface, bbox, NULL);
if (unlikely (status))
@@ -1797,14 +1797,14 @@ _cairo_pdf_surface_open_knockout_group (cairo_pdf_surface_t *surface,
surface->group_stream.is_knockout = TRUE;
- return CAIRO_STATUS_SUCCESS;
+ return CAIRO_INT_STATUS_SUCCESS;
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_close_group (cairo_pdf_surface_t *surface,
cairo_pdf_resource_t *group)
{
- cairo_status_t status = CAIRO_STATUS_SUCCESS, status2;
+ cairo_int_status_t status = CAIRO_INT_STATUS_SUCCESS, status2;
assert (surface->pdf_stream.active == FALSE);
assert (surface->group_stream.active == TRUE);
@@ -1833,7 +1833,7 @@ _cairo_pdf_surface_close_group (cairo_pdf_surface_t *surface,
*group = surface->group_stream.resource;
status2 = _cairo_output_stream_destroy (surface->group_stream.mem_stream);
- if (status == CAIRO_STATUS_SUCCESS)
+ if (status == CAIRO_INT_STATUS_SUCCESS)
status = status2;
surface->group_stream.mem_stream = NULL;
@@ -1842,13 +1842,13 @@ _cairo_pdf_surface_close_group (cairo_pdf_surface_t *surface,
return status;
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_open_content_stream (cairo_pdf_surface_t *surface,
const cairo_box_double_t *bbox,
cairo_pdf_resource_t *resource,
cairo_bool_t is_form)
{
- cairo_status_t status;
+ cairo_int_status_t status;
assert (surface->pdf_stream.active == FALSE);
assert (surface->group_stream.active == FALSE);
@@ -1896,10 +1896,10 @@ _cairo_pdf_surface_open_content_stream (cairo_pdf_surface_t *surface,
return _cairo_output_stream_get_status (surface->output);
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_close_content_stream (cairo_pdf_surface_t *surface)
{
- cairo_status_t status;
+ cairo_int_status_t status;
assert (surface->pdf_stream.active == TRUE);
assert (surface->group_stream.active == FALSE);
@@ -2070,7 +2070,7 @@ static cairo_int_status_t
_cairo_pdf_surface_has_fallback_images (void *abstract_surface,
cairo_bool_t has_fallbacks)
{
- cairo_status_t status;
+ cairo_int_status_t status;
cairo_pdf_surface_t *surface = abstract_surface;
cairo_box_double_t bbox;
@@ -2092,7 +2092,7 @@ _cairo_pdf_surface_supports_fine_grained_fallbacks (void *abstract_surface)
return TRUE;
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_add_padded_image_surface (cairo_pdf_surface_t *surface,
const cairo_pattern_t *source,
const cairo_rectangle_int_t *extents,
@@ -2129,7 +2129,7 @@ _cairo_pdf_surface_add_padded_image_surface (cairo_pdf_surface_t *surfa
h = image->height;
if (_cairo_fixed_integer_ceil(box.p1.x) < 0 ||
_cairo_fixed_integer_ceil(box.p1.y) < 0 ||
- _cairo_fixed_integer_floor(box.p2.y) > w ||
+ _cairo_fixed_integer_floor(box.p2.x) > w ||
_cairo_fixed_integer_floor(box.p2.y) > h)
{
pad_image = _cairo_image_surface_create_with_content (image->base.content,
@@ -2197,14 +2197,14 @@ BAIL:
* resource to use. When stencil_mask is FALSE, a new resource will be
* created and returned in stream_res.
*/
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_emit_smask (cairo_pdf_surface_t *surface,
cairo_image_surface_t *image,
cairo_bool_t stencil_mask,
const char *interpolate,
cairo_pdf_resource_t *stream_res)
{
- cairo_status_t status = CAIRO_STATUS_SUCCESS;
+ cairo_int_status_t status = CAIRO_STATUS_SUCCESS;
char *alpha;
unsigned long alpha_size;
uint32_t *pixel32;
@@ -2326,14 +2326,14 @@ _cairo_pdf_surface_emit_smask (cairo_pdf_surface_t *surface,
/* Emit image data into the given surface, providing a resource that
* can be used to reference the data in image_ret. */
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_emit_image (cairo_pdf_surface_t *surface,
cairo_image_surface_t *image_surf,
cairo_pdf_resource_t *image_res,
cairo_filter_t filter,
cairo_bool_t stencil_mask)
{
- cairo_status_t status = CAIRO_STATUS_SUCCESS;
+ cairo_int_status_t status = CAIRO_STATUS_SUCCESS;
char *data;
unsigned long data_size;
uint32_t *pixel;
@@ -2389,8 +2389,10 @@ _cairo_pdf_surface_emit_image (cairo_pdf_surface_t *surface,
color = _cairo_image_analyze_color (image);
switch (color) {
- case CAIRO_IMAGE_IS_COLOR:
+ default:
case CAIRO_IMAGE_UNKNOWN_COLOR:
+ ASSERT_NOT_REACHED;
+ case CAIRO_IMAGE_IS_COLOR:
data_size = image->height * image->width * 3;
data = _cairo_malloc_abc (image->width, image->height, 3);
break;
@@ -2531,7 +2533,7 @@ _cairo_pdf_surface_emit_jpx_image (cairo_pdf_surface_t *surface,
cairo_surface_t *source,
cairo_pdf_resource_t res)
{
- cairo_status_t status;
+ cairo_int_status_t status;
const unsigned char *mime_data;
unsigned long mime_data_length;
cairo_image_info_t info;
@@ -2572,7 +2574,7 @@ _cairo_pdf_surface_emit_jpeg_image (cairo_pdf_surface_t *surface,
cairo_surface_t *source,
cairo_pdf_resource_t res)
{
- cairo_status_t status;
+ cairo_int_status_t status;
const unsigned char *mime_data;
unsigned long mime_data_length;
cairo_image_info_t info;
@@ -2626,7 +2628,7 @@ _cairo_pdf_surface_emit_jpeg_image (cairo_pdf_surface_t *surface,
return status;
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_emit_image_surface (cairo_pdf_surface_t *surface,
cairo_pdf_source_surface_t *source)
{
@@ -2668,7 +2670,7 @@ release_source:
return status;
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_emit_recording_surface (cairo_pdf_surface_t *surface,
cairo_pdf_source_surface_t *pdf_source)
{
@@ -2757,7 +2759,7 @@ err:
return status;
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_emit_surface (cairo_pdf_surface_t *surface,
cairo_pdf_source_surface_t *src_surface)
{
@@ -2768,12 +2770,12 @@ _cairo_pdf_surface_emit_surface (cairo_pdf_surface_t *surface,
return _cairo_pdf_surface_emit_image_surface (surface, src_surface);
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_emit_surface_pattern (cairo_pdf_surface_t *surface,
cairo_pdf_pattern_t *pdf_pattern)
{
cairo_pattern_t *pattern = pdf_pattern->pattern;
- cairo_status_t status;
+ cairo_int_status_t status;
cairo_pdf_resource_t pattern_resource = {0};
cairo_matrix_t cairo_p2d, pdf_p2d;
cairo_extend_t extend = cairo_pattern_get_extend (pattern);
@@ -2896,7 +2898,7 @@ _cairo_pdf_surface_emit_surface_pattern (cairo_pdf_surface_t *surface,
cairo_p2d = pattern->matrix;
status = cairo_matrix_invert (&cairo_p2d);
/* cairo_pattern_set_matrix ensures the matrix is invertible */
- assert (status == CAIRO_STATUS_SUCCESS);
+ assert (status == CAIRO_INT_STATUS_SUCCESS);
cairo_matrix_multiply (&pdf_p2d, &cairo_p2d, &surface->cairo_to_pdf);
cairo_matrix_translate (&pdf_p2d, -x_offset, -y_offset);
@@ -2974,7 +2976,7 @@ typedef struct _cairo_pdf_color_stop {
cairo_pdf_resource_t resource;
} cairo_pdf_color_stop_t;
-static cairo_status_t
+static cairo_int_status_t
cairo_pdf_surface_emit_rgb_linear_function (cairo_pdf_surface_t *surface,
cairo_pdf_color_stop_t *stop1,
cairo_pdf_color_stop_t *stop2,
@@ -2983,7 +2985,7 @@ cairo_pdf_surface_emit_rgb_linear_function (cairo_pdf_surface_t *surface,
int num_elems, i;
cairo_pdf_rgb_linear_function_t elem;
cairo_pdf_resource_t res;
- cairo_status_t status;
+ cairo_int_status_t status;
num_elems = _cairo_array_num_elements (&surface->rgb_linear_functions);
for (i = 0; i < num_elems; i++) {
@@ -3027,7 +3029,7 @@ cairo_pdf_surface_emit_rgb_linear_function (cairo_pdf_surface_t *surface,
return status;
}
-static cairo_status_t
+static cairo_int_status_t
cairo_pdf_surface_emit_alpha_linear_function (cairo_pdf_surface_t *surface,
cairo_pdf_color_stop_t *stop1,
cairo_pdf_color_stop_t *stop2,
@@ -3036,7 +3038,7 @@ cairo_pdf_surface_emit_alpha_linear_function (cairo_pdf_surface_t *surface,
int num_elems, i;
cairo_pdf_alpha_linear_function_t elem;
cairo_pdf_resource_t res;
- cairo_status_t status;
+ cairo_int_status_t status;
num_elems = _cairo_array_num_elements (&surface->alpha_linear_functions);
for (i = 0; i < num_elems; i++) {
@@ -3076,7 +3078,7 @@ cairo_pdf_surface_emit_alpha_linear_function (cairo_pdf_surface_t *surface,
return status;
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_emit_stitched_colorgradient (cairo_pdf_surface_t *surface,
unsigned int n_stops,
cairo_pdf_color_stop_t *stops,
@@ -3085,7 +3087,7 @@ _cairo_pdf_surface_emit_stitched_colorgradient (cairo_pdf_surface_t *surface,
{
cairo_pdf_resource_t res;
unsigned int i;
- cairo_status_t status;
+ cairo_int_status_t status;
/* emit linear gradients between pairs of subsequent stops... */
for (i = 0; i < n_stops-1; i++) {
@@ -3167,7 +3169,7 @@ calc_gradient_color (cairo_pdf_color_stop_t *new_stop,
#define COLOR_STOP_EPSILON 1e-6
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_emit_pattern_stops (cairo_pdf_surface_t *surface,
cairo_gradient_pattern_t *pattern,
cairo_pdf_resource_t *color_function,
@@ -3177,7 +3179,7 @@ _cairo_pdf_surface_emit_pattern_stops (cairo_pdf_surface_t *surface,
unsigned int n_stops;
unsigned int i;
cairo_bool_t emit_alpha = FALSE;
- cairo_status_t status;
+ cairo_int_status_t status;
color_function->id = 0;
alpha_function->id = 0;
@@ -3311,7 +3313,7 @@ BAIL:
return status;
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_emit_repeating_function (cairo_pdf_surface_t *surface,
cairo_gradient_pattern_t *pattern,
cairo_pdf_resource_t *function,
@@ -3372,14 +3374,14 @@ _cairo_pdf_surface_emit_repeating_function (cairo_pdf_surface_t *surface,
return _cairo_output_stream_get_status (surface->output);
}
-static cairo_status_t
+static cairo_int_status_t
cairo_pdf_surface_emit_transparency_group (cairo_pdf_surface_t *surface,
cairo_pdf_pattern_t *pdf_pattern,
cairo_pdf_resource_t gstate_resource,
cairo_pdf_resource_t gradient_mask)
{
cairo_pdf_resource_t smask_resource;
- cairo_status_t status;
+ cairo_int_status_t status;
char buf[100];
double x1, y1, x2, y2;
@@ -3562,12 +3564,14 @@ _cairo_pdf_surface_output_gradient (cairo_pdf_surface_t *surface,
if (!pdf_pattern->is_shading) {
_cairo_output_stream_printf (surface->output,
- ">>\n"
- "endobj\n");
+ ">>\n");
}
+
+ _cairo_output_stream_printf (surface->output,
+ "endobj\n");
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_emit_gradient (cairo_pdf_surface_t *surface,
cairo_pdf_pattern_t *pdf_pattern)
{
@@ -3576,7 +3580,7 @@ _cairo_pdf_surface_emit_gradient (cairo_pdf_surface_t *surface,
cairo_matrix_t pat_to_pdf;
cairo_circle_double_t start, end;
double domain[2];
- cairo_status_t status;
+ cairo_int_status_t status;
assert (pattern->n_stops != 0);
@@ -3590,7 +3594,7 @@ _cairo_pdf_surface_emit_gradient (cairo_pdf_surface_t *surface,
pat_to_pdf = pattern->base.matrix;
status = cairo_matrix_invert (&pat_to_pdf);
/* cairo_pattern_set_matrix ensures the matrix is invertible */
- assert (status == CAIRO_STATUS_SUCCESS);
+ assert (status == CAIRO_INT_STATUS_SUCCESS);
cairo_matrix_multiply (&pat_to_pdf, &pat_to_pdf, &surface->cairo_to_pdf);
if (pattern->base.extend == CAIRO_EXTEND_REPEAT ||
@@ -3713,12 +3717,12 @@ _cairo_pdf_surface_emit_gradient (cairo_pdf_surface_t *surface,
return _cairo_output_stream_get_status (surface->output);
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_emit_mesh_pattern (cairo_pdf_surface_t *surface,
cairo_pdf_pattern_t *pdf_pattern)
{
cairo_matrix_t pat_to_pdf;
- cairo_status_t status;
+ cairo_int_status_t status;
cairo_pattern_t *pattern = pdf_pattern->pattern;
cairo_pdf_shading_t shading;
int i;
@@ -3727,7 +3731,7 @@ _cairo_pdf_surface_emit_mesh_pattern (cairo_pdf_surface_t *surface,
pat_to_pdf = pattern->matrix;
status = cairo_matrix_invert (&pat_to_pdf);
/* cairo_pattern_set_matrix ensures the matrix is invertible */
- assert (status == CAIRO_STATUS_SUCCESS);
+ assert (status == CAIRO_INT_STATUS_SUCCESS);
cairo_matrix_multiply (&pat_to_pdf, &pat_to_pdf, &surface->cairo_to_pdf);
@@ -3858,11 +3862,11 @@ _cairo_pdf_surface_emit_mesh_pattern (cairo_pdf_surface_t *surface,
return _cairo_output_stream_get_status (surface->output);
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_emit_pattern (cairo_pdf_surface_t *surface, cairo_pdf_pattern_t *pdf_pattern)
{
double old_width, old_height;
- cairo_status_t status;
+ cairo_int_status_t status;
old_width = surface->width;
old_height = surface->height;
@@ -3903,7 +3907,7 @@ _cairo_pdf_surface_emit_pattern (cairo_pdf_surface_t *surface, cairo_pdf_pattern
return status;
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_paint_surface_pattern (cairo_pdf_surface_t *surface,
const cairo_pattern_t *source,
const cairo_rectangle_int_t *extents,
@@ -3912,7 +3916,7 @@ _cairo_pdf_surface_paint_surface_pattern (cairo_pdf_surface_t *surface,
cairo_pdf_resource_t surface_res;
int width, height;
cairo_matrix_t cairo_p2d, pdf_p2d;
- cairo_status_t status;
+ cairo_int_status_t status;
int alpha;
cairo_rectangle_int_t extents2;
double x_offset;
@@ -3950,7 +3954,7 @@ _cairo_pdf_surface_paint_surface_pattern (cairo_pdf_surface_t *surface,
cairo_p2d = source->matrix;
status = cairo_matrix_invert (&cairo_p2d);
/* cairo_pattern_set_matrix ensures the matrix is invertible */
- assert (status == CAIRO_STATUS_SUCCESS);
+ assert (status == CAIRO_INT_STATUS_SUCCESS);
pdf_p2d = surface->cairo_to_pdf;
cairo_matrix_multiply (&pdf_p2d, &cairo_p2d, &pdf_p2d);
@@ -3993,28 +3997,28 @@ _cairo_pdf_surface_paint_surface_pattern (cairo_pdf_surface_t *surface,
return _cairo_pdf_surface_add_xobject (surface, surface_res);
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_paint_gradient (cairo_pdf_surface_t *surface,
const cairo_pattern_t *source,
const cairo_rectangle_int_t *extents)
{
cairo_pdf_resource_t shading_res, gstate_res;
cairo_matrix_t pat_to_pdf;
- cairo_status_t status;
+ cairo_int_status_t status;
int alpha;
status = _cairo_pdf_surface_add_pdf_shading (surface, source,
extents,
&shading_res, &gstate_res);
if (unlikely (status == CAIRO_INT_STATUS_NOTHING_TO_DO))
- return CAIRO_STATUS_SUCCESS;
+ return CAIRO_INT_STATUS_SUCCESS;
if (unlikely (status))
return status;
pat_to_pdf = source->matrix;
status = cairo_matrix_invert (&pat_to_pdf);
/* cairo_pattern_set_matrix ensures the matrix is invertible */
- assert (status == CAIRO_STATUS_SUCCESS);
+ assert (status == CAIRO_INT_STATUS_SUCCESS);
cairo_matrix_multiply (&pat_to_pdf, &pat_to_pdf, &surface->cairo_to_pdf);
status = _cairo_pdf_operators_flush (&surface->pdf_operators);
@@ -4056,7 +4060,7 @@ _cairo_pdf_surface_paint_gradient (cairo_pdf_surface_t *surface,
return status;
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_paint_pattern (cairo_pdf_surface_t *surface,
const cairo_pattern_t *source,
const cairo_rectangle_int_t *extents,
@@ -4108,11 +4112,11 @@ _can_paint_pattern (const cairo_pattern_t *pattern)
}
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_select_operator (cairo_pdf_surface_t *surface,
cairo_operator_t op)
{
- cairo_status_t status;
+ cairo_int_status_t status;
if (op == surface->current_operator)
return CAIRO_STATUS_SUCCESS;
@@ -4129,13 +4133,13 @@ _cairo_pdf_surface_select_operator (cairo_pdf_surface_t *surface,
return CAIRO_STATUS_SUCCESS;
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_select_pattern (cairo_pdf_surface_t *surface,
const cairo_pattern_t *pattern,
cairo_pdf_resource_t pattern_res,
cairo_bool_t is_stroke)
{
- cairo_status_t status;
+ cairo_int_status_t status;
int alpha;
const cairo_color_t *solid_color = NULL;
@@ -4351,14 +4355,14 @@ _cairo_pdf_surface_write_pages (cairo_pdf_surface_t *surface)
"endobj\n");
}
-static cairo_status_t
+static cairo_int_status_t
_utf8_to_pdf_string (const char *utf8, char **str_out)
{
int i;
int len;
cairo_bool_t ascii;
char *str;
- cairo_status_t status = CAIRO_STATUS_SUCCESS;
+ cairo_int_status_t status = CAIRO_STATUS_SUCCESS;
ascii = TRUE;
len = strlen (utf8);
@@ -4406,13 +4410,13 @@ _utf8_to_pdf_string (const char *utf8, char **str_out)
return status;
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_emit_unicode_for_glyph (cairo_pdf_surface_t *surface,
const char *utf8)
{
uint16_t *utf16 = NULL;
int utf16_len = 0;
- cairo_status_t status;
+ cairo_int_status_t status;
int i;
if (utf8 && *utf8) {
@@ -4636,7 +4640,7 @@ _cairo_pdf_surface_emit_to_unicode_stream (cairo_pdf_surface_t *surface,
#define PDF_UNITS_PER_EM 1000
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_emit_cff_font (cairo_pdf_surface_t *surface,
cairo_scaled_font_subset_t *font_subset,
cairo_cff_subset_t *subset)
@@ -4645,7 +4649,7 @@ _cairo_pdf_surface_emit_cff_font (cairo_pdf_surface_t *surface,
cairo_pdf_resource_t subset_resource, to_unicode_stream;
cairo_pdf_font_t font;
unsigned int i, last_glyph;
- cairo_status_t status;
+ cairo_int_status_t status;
char tag[10];
_create_font_subset_tag (font_subset, subset->ps_name, tag);
@@ -4675,7 +4679,7 @@ _cairo_pdf_surface_emit_cff_font (cairo_pdf_surface_t *surface,
status = _cairo_pdf_surface_emit_to_unicode_stream (surface,
font_subset,
&to_unicode_stream);
- if (_cairo_status_is_error (status))
+ if (_cairo_int_status_is_error (status))
return status;
descriptor = _cairo_pdf_surface_new_object (surface);
@@ -4833,11 +4837,11 @@ _cairo_pdf_surface_emit_cff_font (cairo_pdf_surface_t *surface,
return status;
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_emit_cff_font_subset (cairo_pdf_surface_t *surface,
cairo_scaled_font_subset_t *font_subset)
{
- cairo_status_t status;
+ cairo_int_status_t status;
cairo_cff_subset_t subset;
char name[64];
@@ -4854,11 +4858,11 @@ _cairo_pdf_surface_emit_cff_font_subset (cairo_pdf_surface_t *surface,
return status;
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_emit_cff_fallback_font (cairo_pdf_surface_t *surface,
cairo_scaled_font_subset_t *font_subset)
{
- cairo_status_t status;
+ cairo_int_status_t status;
cairo_cff_subset_t subset;
char name[64];
@@ -4880,14 +4884,14 @@ _cairo_pdf_surface_emit_cff_fallback_font (cairo_pdf_surface_t *surface,
return status;
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_emit_type1_font (cairo_pdf_surface_t *surface,
cairo_scaled_font_subset_t *font_subset,
cairo_type1_subset_t *subset)
{
cairo_pdf_resource_t stream, descriptor, subset_resource, to_unicode_stream;
cairo_pdf_font_t font;
- cairo_status_t status;
+ cairo_int_status_t status;
unsigned long length;
unsigned int i, last_glyph;
char tag[10];
@@ -4922,7 +4926,7 @@ _cairo_pdf_surface_emit_type1_font (cairo_pdf_surface_t *surface,
status = _cairo_pdf_surface_emit_to_unicode_stream (surface,
font_subset,
&to_unicode_stream);
- if (_cairo_status_is_error (status))
+ if (_cairo_int_status_is_error (status))
return status;
last_glyph = font_subset->num_glyphs - 1;
@@ -5022,11 +5026,11 @@ _cairo_pdf_surface_emit_type1_font (cairo_pdf_surface_t *surface,
return _cairo_array_append (&surface->fonts, &font);
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_emit_type1_font_subset (cairo_pdf_surface_t *surface,
cairo_scaled_font_subset_t *font_subset)
{
- cairo_status_t status;
+ cairo_int_status_t status;
cairo_type1_subset_t subset;
char name[64];
@@ -5046,11 +5050,11 @@ _cairo_pdf_surface_emit_type1_font_subset (cairo_pdf_surface_t *surface,
return status;
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_emit_type1_fallback_font (cairo_pdf_surface_t *surface,
cairo_scaled_font_subset_t *font_subset)
{
- cairo_status_t status;
+ cairo_int_status_t status;
cairo_type1_subset_t subset;
char name[64];
@@ -5070,13 +5074,13 @@ _cairo_pdf_surface_emit_type1_fallback_font (cairo_pdf_surface_t *surface,
return status;
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_emit_truetype_font_subset (cairo_pdf_surface_t *surface,
cairo_scaled_font_subset_t *font_subset)
{
cairo_pdf_resource_t stream, descriptor, cidfont_dict;
cairo_pdf_resource_t subset_resource, to_unicode_stream;
- cairo_status_t status;
+ cairo_int_status_t status;
cairo_pdf_font_t font;
cairo_truetype_subset_t subset;
unsigned int i, last_glyph;
@@ -5116,7 +5120,7 @@ _cairo_pdf_surface_emit_truetype_font_subset (cairo_pdf_surface_t *surface,
status = _cairo_pdf_surface_emit_to_unicode_stream (surface,
font_subset,
&to_unicode_stream);
- if (_cairo_status_is_error (status)) {
+ if (_cairo_int_status_is_error (status)) {
_cairo_truetype_subset_fini (&subset);
return status;
}
@@ -5283,7 +5287,7 @@ _cairo_pdf_surface_emit_truetype_font_subset (cairo_pdf_surface_t *surface,
return status;
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_emit_imagemask (cairo_image_surface_t *image,
cairo_output_stream_t *stream)
{
@@ -5328,8 +5332,8 @@ _cairo_pdf_surface_analyze_user_font_subset (cairo_scaled_font_subset_t *font_su
void *closure)
{
cairo_pdf_surface_t *surface = closure;
- cairo_status_t status = CAIRO_STATUS_SUCCESS;
- cairo_status_t status2;
+ cairo_int_status_t status = CAIRO_INT_STATUS_SUCCESS;
+ cairo_int_status_t status2;
unsigned int i;
cairo_surface_t *type3_surface;
cairo_output_stream_t *null_stream;
@@ -5357,7 +5361,7 @@ _cairo_pdf_surface_analyze_user_font_subset (cairo_scaled_font_subset_t *font_su
cairo_surface_destroy (type3_surface);
status2 = _cairo_output_stream_destroy (null_stream);
- if (status == CAIRO_STATUS_SUCCESS)
+ if (status == CAIRO_INT_STATUS_SUCCESS)
status = status2;
return status;
@@ -5367,7 +5371,7 @@ static cairo_int_status_t
_cairo_pdf_surface_emit_type3_font_subset (cairo_pdf_surface_t *surface,
cairo_scaled_font_subset_t *font_subset)
{
- cairo_status_t status = CAIRO_STATUS_SUCCESS;
+ cairo_int_status_t status = CAIRO_STATUS_SUCCESS;
cairo_pdf_resource_t *glyphs, encoding, char_procs, subset_resource, to_unicode_stream;
cairo_pdf_font_t font;
double *widths;
@@ -5496,7 +5500,7 @@ _cairo_pdf_surface_emit_type3_font_subset (cairo_pdf_surface_t *surface,
status = _cairo_pdf_surface_emit_to_unicode_stream (surface,
font_subset,
&to_unicode_stream);
- if (_cairo_status_is_error (status)) {
+ if (_cairo_int_status_is_error (status)) {
free (widths);
return status;
}
@@ -5594,10 +5598,10 @@ _cairo_pdf_surface_emit_scaled_font_subset (cairo_scaled_font_subset_t *font_sub
return CAIRO_INT_STATUS_SUCCESS;
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_emit_font_subsets (cairo_pdf_surface_t *surface)
{
- cairo_status_t status;
+ cairo_int_status_t status;
status = _cairo_scaled_font_subsets_foreach_user (surface->font_subsets,
_cairo_pdf_surface_analyze_user_font_subset,
@@ -5677,7 +5681,7 @@ _cairo_pdf_surface_write_xref (cairo_pdf_surface_t *surface)
return offset;
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_write_mask_group (cairo_pdf_surface_t *surface,
cairo_pdf_smask_group_t *group)
{
@@ -5685,7 +5689,7 @@ _cairo_pdf_surface_write_mask_group (cairo_pdf_surface_t *surface,
cairo_pdf_resource_t smask;
cairo_pdf_smask_group_t *smask_group;
cairo_pdf_resource_t pattern_res, gstate_res;
- cairo_status_t status;
+ cairo_int_status_t status;
cairo_box_double_t bbox;
/* Create mask group */
@@ -5865,12 +5869,12 @@ _cairo_pdf_surface_write_mask_group (cairo_pdf_surface_t *surface,
return _cairo_output_stream_get_status (surface->output);
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_write_smask_group (cairo_pdf_surface_t *surface,
cairo_pdf_smask_group_t *group)
{
double old_width, old_height;
- cairo_status_t status;
+ cairo_int_status_t status;
cairo_box_double_t bbox;
old_width = surface->width;
@@ -5944,14 +5948,14 @@ RESTORE_SIZE:
return status;
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_write_patterns_and_smask_groups (cairo_pdf_surface_t *surface)
{
cairo_pdf_pattern_t pattern;
cairo_pdf_smask_group_t *group;
cairo_pdf_source_surface_t src_surface;
unsigned int pattern_index, group_index, surface_index;
- cairo_status_t status;
+ cairo_int_status_t status;
/* Writing out PDF_MASK groups will cause additional smask groups
* to be appended to surface->smask_groups. Additional patterns
@@ -5992,11 +5996,11 @@ _cairo_pdf_surface_write_patterns_and_smask_groups (cairo_pdf_surface_t *surface
return CAIRO_STATUS_SUCCESS;
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_pdf_surface_write_page (cairo_pdf_surface_t *surface)
{
cairo_pdf_resource_t page, knockout, res;
- cairo_status_t status;
+ cairo_int_status_t status;
unsigned int i, len;
_cairo_pdf_group_resources_clear (&surface->resources);
@@ -6308,7 +6312,7 @@ static cairo_int_status_t
_cairo_pdf_surface_start_fallback (cairo_pdf_surface_t *surface)
{
cairo_box_double_t bbox;
- cairo_status_t status;
+ cairo_int_status_t status;
status = _cairo_pdf_surface_close_content_stream (surface);
if (unlikely (status))
@@ -6333,7 +6337,7 @@ _cairo_pdf_surface_emit_stencil_mask (cairo_pdf_surface_t *surface,
const cairo_pattern_t *mask,
const cairo_rectangle_int_t *extents)
{
- cairo_status_t status;
+ cairo_int_status_t status;
cairo_image_surface_t *image;
void *image_extra;
cairo_image_transparency_t transparency;
@@ -6375,7 +6379,7 @@ _cairo_pdf_surface_emit_stencil_mask (cairo_pdf_surface_t *surface,
return status;
_cairo_output_stream_printf (surface->output, "q\n");
- status = _cairo_pdf_surface_paint_surface_pattern (surface, mask, NULL, TRUE);
+ status = _cairo_pdf_surface_paint_surface_pattern (surface, mask, extents, TRUE);
if (unlikely (status))
return status;
@@ -6546,7 +6550,7 @@ _cairo_pdf_surface_mask (void *abstract_surface,
return status;
if (surface->paginated_mode == CAIRO_PAGINATED_MODE_ANALYZE) {
- cairo_status_t source_status, mask_status;
+ cairo_int_status_t source_status, mask_status;
status = _cairo_pdf_surface_analyze_operation (surface, op, source, &extents.bounded);
if (_cairo_int_status_is_error (status))
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-pdf.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-pdf.h
index 1bc8524f2b1..1bc8524f2b1 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-pdf.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-pdf.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-pen.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-pen.c
index 61be0e8299d..61be0e8299d 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-pen.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-pen.c
diff --git a/Build/source/libs/cairo/cairo-1.12.16/src/cairo-pixman-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-pixman-private.h
new file mode 100644
index 00000000000..d705025c8ee
--- /dev/null
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-pixman-private.h
@@ -0,0 +1,51 @@
+/* -*- Mode: c; tab-width: 8; c-basic-offset: 4; indent-tabs-mode: t; -*- */
+/* cairo - a vector graphics library with display and print output
+ *
+ * Copyright ©2013 Intel Corporation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it either under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation
+ * (the "LGPL") or, at your option, under the terms of the Mozilla
+ * Public License Version 1.1 (the "MPL"). If you do not alter this
+ * notice, a recipient may use your version of this file under either
+ * the MPL or the LGPL.
+ *
+ * You should have received a copy of the LGPL along with this library
+ * in the file COPYING-LGPL-2.1; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA
+ * You should have received a copy of the MPL along with this library
+ * in the file COPYING-MPL-1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY
+ * OF ANY KIND, either express or implied. See the LGPL or the MPL for
+ * the specific language governing rights and limitations.
+ *
+ * The Original Code is the cairo graphics library.
+ *
+ * The Initial Developer of the Original Code is University of Southern
+ * California.
+ *
+ * Contributor(s):
+ * Chris Wilson <chris@chris-wilson.co.uk>
+ */
+
+#ifndef CAIRO_PIXMAN_PRIVATE_H
+#define CAIRO_PIXMAN_PRIVATE_H
+
+#include "cairo-pixman-private.h" /* keep make check happy */
+
+#include <pixman.h>
+
+#if PIXMAN_VERSION < PIXMAN_VERSION_ENCODE(0,22,0)
+#define pixman_image_composite32 pixman_image_composite
+#define pixman_image_get_component_alpha(i) 0
+#define pixman_image_set_component_alpha(i, x) do { } while (0)
+#endif
+
+#endif
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-png.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-png.c
index e74a4a8bcfb..068617d588d 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-png.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-png.c
@@ -149,13 +149,13 @@ static void
png_simple_warning_callback (png_structp png,
png_const_charp error_msg)
{
- cairo_status_t *error = png_get_error_ptr (png);
-
- /* default to the most likely error */
- if (*error == CAIRO_STATUS_SUCCESS)
- *error = _cairo_error (CAIRO_STATUS_NO_MEMORY);
-
- /* png does not expect to abort and will try to tidy up after a warning */
+ /* png does not expect to abort and will try to tidy up and continue
+ * loading the image after a warning. So we also want to return the
+ * (incorrect?) surface.
+ *
+ * We use our own warning callback to squelch any attempts by libpng
+ * to write to stderr as we may not be in control of that output.
+ */
}
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-polygon-intersect.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-polygon-intersect.c
index 2cd73d2e56b..2cd73d2e56b 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-polygon-intersect.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-polygon-intersect.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-polygon-reduce.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-polygon-reduce.c
index ea457fe4edf..ea457fe4edf 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-polygon-reduce.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-polygon-reduce.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-polygon.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-polygon.c
index b0424f6e72e..b0424f6e72e 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-polygon.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-polygon.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-private.h
index 9f4f55b7cea..9f4f55b7cea 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-ps-surface-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-ps-surface-private.h
index 1d5d27d4910..1d5d27d4910 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-ps-surface-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-ps-surface-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-ps-surface.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-ps-surface.c
index 877ba14e71a..5e6206aa9a4 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-ps-surface.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-ps-surface.c
@@ -530,7 +530,7 @@ _cairo_ps_surface_emit_truetype_font_subset (cairo_ps_surface_t *surface,
return CAIRO_STATUS_SUCCESS;
}
-static cairo_status_t
+static cairo_int_status_t
_cairo_ps_emit_imagemask (cairo_image_surface_t *image,
cairo_output_stream_t *stream)
{
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-ps.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-ps.h
index 33d0e0d941b..33d0e0d941b 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-ps.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-ps.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-qt-surface.cpp b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-qt-surface.cpp
index ce05dba7ef9..ce05dba7ef9 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-qt-surface.cpp
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-qt-surface.cpp
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-qt.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-qt.h
index c20bbb18d0b..c20bbb18d0b 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-qt.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-qt.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-quartz-font.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-quartz-font.c
index a9bbbdc7a49..a9bbbdc7a49 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-quartz-font.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-quartz-font.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-quartz-image-surface.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-quartz-image-surface.c
index 2715abd061c..2715abd061c 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-quartz-image-surface.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-quartz-image-surface.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-quartz-image.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-quartz-image.h
index dae234dacae..dae234dacae 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-quartz-image.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-quartz-image.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-quartz-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-quartz-private.h
index f841a49ecc3..f841a49ecc3 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-quartz-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-quartz-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-quartz-surface.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-quartz-surface.c
index 1e2bbecb261..868c6c855bc 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-quartz-surface.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-quartz-surface.c
@@ -1374,7 +1374,6 @@ _cairo_quartz_teardown_state (cairo_quartz_drawing_state_t *state,
CGContextDrawLayerInRect (surface->cgContext,
state->clipRect,
state->layer);
- CGContextRelease (state->cgDrawContext);
CGLayerRelease (state->layer);
}
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-quartz.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-quartz.h
index 9be5f9ae5cf..9be5f9ae5cf 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-quartz.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-quartz.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-raster-source-pattern.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-raster-source-pattern.c
index 601fe60ff63..601fe60ff63 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-raster-source-pattern.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-raster-source-pattern.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-recording-surface-inline.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-recording-surface-inline.h
index 9002ccd6938..9002ccd6938 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-recording-surface-inline.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-recording-surface-inline.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-recording-surface-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-recording-surface-private.h
index 0235b0f3f00..49194812d5f 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-recording-surface-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-recording-surface-private.h
@@ -133,8 +133,8 @@ typedef struct _cairo_recording_surface {
cairo_bool_t unbounded;
cairo_array_t commands;
- int *indices;
- int num_indices;
+ unsigned int *indices;
+ unsigned int num_indices;
cairo_bool_t optimize_clears;
struct bbtree {
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-recording-surface.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-recording-surface.c
index edbeed7742e..55a98d02377 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-recording-surface.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-recording-surface.c
@@ -257,7 +257,7 @@ static cairo_bool_t box_outside (const cairo_box_t *a, const cairo_box_t *b)
static void
bbtree_foreach_mark_visible (struct bbtree *bbt,
const cairo_box_t *box,
- int **indices)
+ unsigned int **indices)
{
cairo_command_header_t *chain;
@@ -270,13 +270,13 @@ bbtree_foreach_mark_visible (struct bbtree *bbt,
bbtree_foreach_mark_visible (bbt->right, box, indices);
}
-static inline int intcmp (const int a, const int b)
+static inline int intcmp (const unsigned int a, const unsigned int b)
{
return a - b;
}
-CAIRO_COMBSORT_DECLARE (sort_indices, int, intcmp)
+CAIRO_COMBSORT_DECLARE (sort_indices, unsigned int, intcmp)
-static inline int sizecmp (int a, int b, cairo_command_header_t **elements)
+static inline int sizecmp (unsigned int a, unsigned int b, cairo_command_header_t **elements)
{
const cairo_rectangle_int_t *r;
@@ -288,7 +288,7 @@ static inline int sizecmp (int a, int b, cairo_command_header_t **elements)
return b - a;
}
-CAIRO_COMBSORT_DECLARE_WITH_DATA (sort_commands, int, sizecmp)
+CAIRO_COMBSORT_DECLARE_WITH_DATA (sort_commands, unsigned int, sizecmp)
static void
_cairo_recording_surface_destroy_bbtree (cairo_recording_surface_t *surface)
@@ -320,9 +320,9 @@ static cairo_status_t
_cairo_recording_surface_create_bbtree (cairo_recording_surface_t *surface)
{
cairo_command_t **elements = _cairo_array_index (&surface->commands, 0);
+ unsigned int *indices;
cairo_status_t status;
- int i, count;
- int *indices;
+ unsigned int i, count;
count = surface->commands.num_elements;
if (count > surface->num_indices) {
@@ -1583,9 +1583,12 @@ static int
_cairo_recording_surface_get_visible_commands (cairo_recording_surface_t *surface,
const cairo_rectangle_int_t *extents)
{
- int num_visible, *indices;
+ unsigned int num_visible, *indices;
cairo_box_t box;
+ if (surface->commands.num_elements == 0)
+ return 0;
+
_cairo_box_from_rectangle (&box, extents);
if (surface->bbtree.chain == INVALID_CHAIN)
@@ -1618,7 +1621,7 @@ _cairo_recording_surface_replay_internal (cairo_recording_surface_t *surface,
cairo_rectangle_int_t extents;
cairo_bool_t use_indices = FALSE;
const cairo_rectangle_int_t *r;
- int i, num_elements;
+ unsigned int i, num_elements;
if (unlikely (surface->base.status))
return surface->base.status;
@@ -1654,7 +1657,7 @@ _cairo_recording_surface_replay_internal (cairo_recording_surface_t *surface,
if (extents.width < r->width || extents.height < r->height) {
num_elements =
_cairo_recording_surface_get_visible_commands (surface, &extents);
- use_indices = TRUE;
+ use_indices = num_elements != surface->commands.num_elements;
}
for (i = 0; i < num_elements; i++) {
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-rectangle.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-rectangle.c
index 2d51d7b10a4..2d51d7b10a4 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-rectangle.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-rectangle.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-rectangular-scan-converter.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-rectangular-scan-converter.c
index e353b34e853..e353b34e853 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-rectangular-scan-converter.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-rectangular-scan-converter.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-reference-count-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-reference-count-private.h
index 75fdf3538f5..75fdf3538f5 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-reference-count-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-reference-count-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-region-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-region-private.h
index 549e5087898..549e5087898 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-region-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-region-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-region.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-region.c
index a51e2247f1d..a51e2247f1d 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-region.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-region.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-rtree-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-rtree-private.h
index 27806cab603..27806cab603 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-rtree-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-rtree-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-rtree.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-rtree.c
index dbc040929af..dbc040929af 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-rtree.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-rtree.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-scaled-font-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-scaled-font-private.h
index da7b3469834..da7b3469834 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-scaled-font-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-scaled-font-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-scaled-font-subsets-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-scaled-font-subsets-private.h
index dd1996258c9..dd1996258c9 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-scaled-font-subsets-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-scaled-font-subsets-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-scaled-font-subsets.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-scaled-font-subsets.c
index e78e0c28390..e78e0c28390 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-scaled-font-subsets.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-scaled-font-subsets.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-scaled-font.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-scaled-font.c
index 97460c2cbdf..ac80c97d1c5 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-scaled-font.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-scaled-font.c
@@ -2905,8 +2905,12 @@ _cairo_scaled_font_free_last_glyph (cairo_scaled_font_t *scaled_font,
if (--page->num_glyphs == 0) {
CAIRO_MUTEX_LOCK (_cairo_scaled_glyph_page_cache_mutex);
+ /* Temporarily disconnect callback to avoid recursive locking */
+ cairo_scaled_glyph_page_cache.entry_destroy = NULL;
_cairo_cache_remove (&cairo_scaled_glyph_page_cache,
&page->cache_entry);
+ _cairo_scaled_glyph_page_destroy (scaled_font, page);
+ cairo_scaled_glyph_page_cache.entry_destroy = _cairo_scaled_glyph_page_pluck;
CAIRO_MUTEX_UNLOCK (_cairo_scaled_glyph_page_cache_mutex);
}
}
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-script-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-script-private.h
index 5b506f500cd..5b506f500cd 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-script-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-script-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-script-surface.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-script-surface.c
index b84aed976f3..b84aed976f3 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-script-surface.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-script-surface.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-script.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-script.h
index b5a8cf32d0b..b5a8cf32d0b 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-script.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-script.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-shape-mask-compositor.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-shape-mask-compositor.c
index c2425b08c32..c2425b08c32 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-shape-mask-compositor.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-shape-mask-compositor.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-skia.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-skia.h
index 99b92865699..99b92865699 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-skia.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-skia.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-slope-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-slope-private.h
index 6a58c9f456d..6a58c9f456d 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-slope-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-slope-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-slope.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-slope.c
index cc5f30cb0b3..cc5f30cb0b3 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-slope.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-slope.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-spans-compositor-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-spans-compositor-private.h
index 0babebd26b5..0babebd26b5 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-spans-compositor-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-spans-compositor-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-spans-compositor.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-spans-compositor.c
index cb3e973d60f..6eb9b42a9d9 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-spans-compositor.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-spans-compositor.c
@@ -589,11 +589,16 @@ composite_aligned_boxes (const cairo_spans_compositor_t *compositor,
/* XXX could also do tiling repeat modes... */
/* first clear the area about to be overwritten */
- if (! dst->is_clear)
+ if (! dst->is_clear) {
status = compositor->fill_boxes (dst,
CAIRO_OPERATOR_CLEAR,
CAIRO_COLOR_TRANSPARENT,
boxes);
+ if (unlikely (status))
+ return status;
+
+ dst->is_clear = TRUE;
+ }
recording_clip = _cairo_clip_from_boxes (boxes);
status = _cairo_recording_surface_replay_with_clip (unwrap_source (source),
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-spans-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-spans-private.h
index c42b5afa733..c42b5afa733 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-spans-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-spans-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-spans.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-spans.c
index b8d41800efe..b8d41800efe 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-spans.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-spans.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-spline.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-spline.c
index 44634faec85..44634faec85 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-spline.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-spline.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-stroke-dash-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-stroke-dash-private.h
index 75c000cd73a..75c000cd73a 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-stroke-dash-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-stroke-dash-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-stroke-dash.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-stroke-dash.c
index 9494010f561..9494010f561 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-stroke-dash.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-stroke-dash.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-stroke-style.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-stroke-style.c
index 51c9414c042..51c9414c042 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-stroke-style.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-stroke-style.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-backend-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-backend-private.h
index 955a79ff5c3..955a79ff5c3 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-backend-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-backend-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-clipper-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-clipper-private.h
index e5b00af7c66..e5b00af7c66 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-clipper-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-clipper-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-clipper.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-clipper.c
index 5309362c68f..5309362c68f 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-clipper.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-clipper.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-fallback-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-fallback-private.h
index ecf7b0edf2b..ecf7b0edf2b 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-fallback-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-fallback-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-fallback.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-fallback.c
index a0af1596921..a0af1596921 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-fallback.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-fallback.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-inline.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-inline.h
index 85fbc9192bd..85fbc9192bd 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-inline.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-inline.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-observer-inline.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-observer-inline.h
index 07b94770d4b..07b94770d4b 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-observer-inline.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-observer-inline.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-observer-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-observer-private.h
index 70c87db8283..70c87db8283 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-observer-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-observer-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-observer.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-observer.c
index 64036b64aa5..64036b64aa5 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-observer.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-observer.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-offset-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-offset-private.h
index 310ba5691cd..310ba5691cd 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-offset-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-offset-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-offset.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-offset.c
index 98f57f29804..98f57f29804 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-offset.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-offset.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-private.h
index f20ab073932..f20ab073932 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-snapshot-inline.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-snapshot-inline.h
index bf89c772b42..bf89c772b42 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-snapshot-inline.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-snapshot-inline.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-snapshot-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-snapshot-private.h
index 58bee7b49dd..58bee7b49dd 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-snapshot-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-snapshot-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-snapshot.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-snapshot.c
index 68bf9054ecd..68bf9054ecd 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-snapshot.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-snapshot.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-subsurface-inline.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-subsurface-inline.h
index 0cd09e63e70..0cd09e63e70 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-subsurface-inline.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-subsurface-inline.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-subsurface-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-subsurface-private.h
index 89c5cc01b9d..89c5cc01b9d 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-subsurface-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-subsurface-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-subsurface.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-subsurface.c
index 051e95f2415..051e95f2415 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-subsurface.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-subsurface.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-wrapper-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-wrapper-private.h
index 6529ebc1115..6529ebc1115 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-wrapper-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-wrapper-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-wrapper.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-wrapper.c
index 578e8e2bef6..578e8e2bef6 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface-wrapper.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface-wrapper.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface.c
index 5c6969c8ae4..5e18b07e699 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-surface.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-surface.c
@@ -1346,6 +1346,13 @@ cairo_surface_supports_mime_type (cairo_surface_t *surface,
{
const char **types;
+ if (unlikely (surface->status))
+ return FALSE;
+ if (unlikely (surface->finished)) {
+ _cairo_surface_set_error (surface, _cairo_error (CAIRO_STATUS_SURFACE_FINISHED));
+ return FALSE;
+ }
+
if (surface->backend->get_supported_mime_types) {
types = surface->backend->get_supported_mime_types (surface);
if (types) {
@@ -2004,6 +2011,8 @@ _cairo_surface_paint (cairo_surface_t *surface,
TRACE ((stderr, "%s\n", __FUNCTION__));
if (unlikely (surface->status))
return surface->status;
+ if (unlikely (surface->finished))
+ return _cairo_surface_set_error (surface, _cairo_error (CAIRO_STATUS_SURFACE_FINISHED));
if (_cairo_clip_is_all_clipped (clip))
return CAIRO_STATUS_SUCCESS;
@@ -2040,6 +2049,8 @@ _cairo_surface_mask (cairo_surface_t *surface,
TRACE ((stderr, "%s\n", __FUNCTION__));
if (unlikely (surface->status))
return surface->status;
+ if (unlikely (surface->finished))
+ return _cairo_surface_set_error (surface, _cairo_error (CAIRO_STATUS_SURFACE_FINISHED));
if (_cairo_clip_is_all_clipped (clip))
return CAIRO_STATUS_SUCCESS;
@@ -2097,6 +2108,8 @@ _cairo_surface_fill_stroke (cairo_surface_t *surface,
TRACE ((stderr, "%s\n", __FUNCTION__));
if (unlikely (surface->status))
return surface->status;
+ if (unlikely (surface->finished))
+ return _cairo_surface_set_error (surface, _cairo_error (CAIRO_STATUS_SURFACE_FINISHED));
if (_cairo_clip_is_all_clipped (clip))
return CAIRO_STATUS_SUCCESS;
@@ -2177,6 +2190,8 @@ _cairo_surface_stroke (cairo_surface_t *surface,
TRACE ((stderr, "%s\n", __FUNCTION__));
if (unlikely (surface->status))
return surface->status;
+ if (unlikely (surface->finished))
+ return _cairo_surface_set_error (surface, _cairo_error (CAIRO_STATUS_SURFACE_FINISHED));
if (_cairo_clip_is_all_clipped (clip))
return CAIRO_STATUS_SUCCESS;
@@ -2220,6 +2235,8 @@ _cairo_surface_fill (cairo_surface_t *surface,
TRACE ((stderr, "%s\n", __FUNCTION__));
if (unlikely (surface->status))
return surface->status;
+ if (unlikely (surface->finished))
+ return _cairo_surface_set_error (surface, _cairo_error (CAIRO_STATUS_SURFACE_FINISHED));
if (_cairo_clip_is_all_clipped (clip))
return CAIRO_STATUS_SUCCESS;
@@ -2351,6 +2368,13 @@ _cairo_surface_get_extents (cairo_surface_t *surface,
{
cairo_bool_t bounded;
+ if (unlikely (surface->status))
+ goto zero_extents;
+ if (unlikely (surface->finished)) {
+ _cairo_surface_set_error(surface, CAIRO_STATUS_SURFACE_FINISHED);
+ goto zero_extents;
+ }
+
bounded = FALSE;
if (surface->backend->get_extents != NULL)
bounded = surface->backend->get_extents (surface, extents);
@@ -2359,6 +2383,11 @@ _cairo_surface_get_extents (cairo_surface_t *surface,
_cairo_unbounded_rectangle_init (extents);
return bounded;
+
+zero_extents:
+ extents->x = extents->y = 0;
+ extents->width = extents->height = 0;
+ return TRUE;
}
/**
@@ -2435,6 +2464,8 @@ _cairo_surface_show_text_glyphs (cairo_surface_t *surface,
TRACE ((stderr, "%s\n", __FUNCTION__));
if (unlikely (surface->status))
return surface->status;
+ if (unlikely (surface->finished))
+ return _cairo_surface_set_error (surface, _cairo_error (CAIRO_STATUS_SURFACE_FINISHED));
if (num_glyphs == 0 && utf8_len == 0)
return CAIRO_STATUS_SUCCESS;
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-svg-surface-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-svg-surface-private.h
index ddbf464b1d2..ddbf464b1d2 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-svg-surface-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-svg-surface-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-svg-surface.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-svg-surface.c
index f32d5224a37..5ee2857dc9e 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-svg-surface.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-svg-surface.c
@@ -56,6 +56,7 @@
#include "cairo-paginated-private.h"
#include "cairo-scaled-font-subsets-private.h"
#include "cairo-surface-clipper-private.h"
+#include "cairo-surface-snapshot-inline.h"
#include "cairo-svg-surface-private.h"
/**
@@ -1487,6 +1488,17 @@ _cairo_svg_surface_emit_recording_surface (cairo_svg_document_t *document,
document, NULL);
}
+static cairo_recording_surface_t *
+to_recording_surface (const cairo_surface_pattern_t *pattern)
+{
+ cairo_surface_t *surface = pattern->surface;
+ if (_cairo_surface_is_paginated (surface))
+ surface = _cairo_paginated_surface_get_recording (surface);
+ if (_cairo_surface_is_snapshot (surface))
+ surface = _cairo_surface_snapshot_get_target (surface);
+ return (cairo_recording_surface_t *) surface;
+}
+
static cairo_status_t
_cairo_svg_surface_emit_composite_recording_pattern (cairo_output_stream_t *output,
cairo_svg_surface_t *surface,
@@ -1506,7 +1518,7 @@ _cairo_svg_surface_emit_composite_recording_pattern (cairo_output_stream_t *outp
/* cairo_pattern_set_matrix ensures the matrix is invertible */
assert (status == CAIRO_STATUS_SUCCESS);
- recording_surface = (cairo_recording_surface_t *) pattern->surface;
+ recording_surface = to_recording_surface (pattern);
status = _cairo_svg_surface_emit_recording_surface (document, recording_surface);
if (unlikely (status))
return status;
@@ -1553,7 +1565,7 @@ _cairo_svg_surface_emit_composite_pattern (cairo_output_stream_t *output,
const char *extra_attributes)
{
- if (_cairo_surface_is_recording (pattern->surface)) {
+ if (pattern->surface->type == CAIRO_SURFACE_TYPE_RECORDING) {
return _cairo_svg_surface_emit_composite_recording_pattern (output, surface,
op, pattern,
pattern_id,
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-svg.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-svg.h
index 592c645f627..592c645f627 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-svg.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-svg.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-tee-surface-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-tee-surface-private.h
index a83cfc959db..a83cfc959db 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-tee-surface-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-tee-surface-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-tee-surface.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-tee-surface.c
index 294e5f162e2..294e5f162e2 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-tee-surface.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-tee-surface.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-tee.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-tee.h
index 9125a3a4a2b..9125a3a4a2b 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-tee.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-tee.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-time-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-time-private.h
index 06dc912b431..06dc912b431 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-time-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-time-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-time.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-time.c
index a0003fbfc2c..a0003fbfc2c 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-time.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-time.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-tor-scan-converter.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-tor-scan-converter.c
index 89ef20f0960..89ef20f0960 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-tor-scan-converter.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-tor-scan-converter.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-tor22-scan-converter.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-tor22-scan-converter.c
index 4cec5ee4f37..4cec5ee4f37 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-tor22-scan-converter.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-tor22-scan-converter.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-toy-font-face.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-toy-font-face.c
index 363b9a284bb..363b9a284bb 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-toy-font-face.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-toy-font-face.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-traps-compositor.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-traps-compositor.c
index 02fbe751423..988d23c8d64 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-traps-compositor.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-traps-compositor.c
@@ -928,12 +928,20 @@ need_bounded_clip (cairo_composite_rectangles_t *extents)
{
unsigned int flags = 0;
- if (extents->unbounded.width < extents->destination.width ||
- extents->unbounded.height < extents->destination.height)
+ if (extents->clip->num_boxes > 1 ||
+ extents->mask.width > extents->unbounded.width ||
+ extents->mask.height > extents->unbounded.height)
{
flags |= NEED_CLIP_REGION;
}
+ if (extents->clip->num_boxes > 1 ||
+ extents->mask.width > extents->bounded.width ||
+ extents->mask.height > extents->bounded.height)
+ {
+ flags |= FORCE_CLIP_REGION;
+ }
+
if (! _cairo_clip_is_region (extents->clip))
flags |= NEED_CLIP_SURFACE;
@@ -2160,18 +2168,14 @@ _cairo_traps_compositor_stroke (const cairo_compositor_t *_compositor,
double tolerance,
cairo_traps_t *traps);
composite_traps_info_t info;
- unsigned flags = 0;
+ unsigned flags;
if (antialias == CAIRO_ANTIALIAS_BEST || antialias == CAIRO_ANTIALIAS_GOOD) {
func = _cairo_path_fixed_stroke_polygon_to_traps;
+ flags = 0;
} else {
func = _cairo_path_fixed_stroke_to_traps;
- if (extents->clip->num_boxes > 1 ||
- extents->mask.width > extents->unbounded.width ||
- extents->mask.height > extents->unbounded.height)
- {
- flags = NEED_CLIP_REGION | FORCE_CLIP_REGION;
- }
+ flags = need_bounded_clip (extents) & ~NEED_CLIP_SURFACE;
}
info.antialias = antialias;
@@ -2299,7 +2303,6 @@ _cairo_traps_compositor_glyphs (const cairo_compositor_t *_compositor,
&num_glyphs);
if (likely (status == CAIRO_INT_STATUS_SUCCESS)) {
cairo_composite_glyphs_info_t info;
- unsigned flags = 0;
info.font = scaled_font;
info.glyphs = glyphs;
@@ -2307,16 +2310,9 @@ _cairo_traps_compositor_glyphs (const cairo_compositor_t *_compositor,
info.use_mask = overlap || ! extents->is_bounded;
info.extents = extents->bounded;
- if (extents->mask.width > extents->bounded.width ||
- extents->mask.height > extents->bounded.height)
- {
- flags |= FORCE_CLIP_REGION;
- }
-
status = clip_and_composite (compositor, extents,
composite_glyphs, NULL, &info,
- need_bounded_clip (extents) |
- flags);
+ need_bounded_clip (extents) | FORCE_CLIP_REGION);
}
_cairo_scaled_font_thaw_cache (scaled_font);
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-traps-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-traps-private.h
index 7fef062a44a..7fef062a44a 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-traps-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-traps-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-traps.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-traps.c
index 9f1d4a7f5a5..9f1d4a7f5a5 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-traps.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-traps.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-tristrip-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-tristrip-private.h
index ccd28799e82..ccd28799e82 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-tristrip-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-tristrip-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-tristrip.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-tristrip.c
index bb4972f5003..bb4972f5003 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-tristrip.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-tristrip.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-truetype-subset-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-truetype-subset-private.h
index dc9573216f3..dc9573216f3 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-truetype-subset-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-truetype-subset-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-truetype-subset.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-truetype-subset.c
index 18ee685c625..18ee685c625 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-truetype-subset.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-truetype-subset.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-type1-fallback.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-type1-fallback.c
index 4a657413e48..4a657413e48 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-type1-fallback.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-type1-fallback.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-type1-glyph-names.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-type1-glyph-names.c
index 80ccb96269e..80ccb96269e 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-type1-glyph-names.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-type1-glyph-names.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-type1-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-type1-private.h
index 1630397bca6..1630397bca6 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-type1-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-type1-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-type1-subset.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-type1-subset.c
index 383c99addf8..4b64403028e 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-type1-subset.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-type1-subset.c
@@ -1130,6 +1130,7 @@ write_used_glyphs (cairo_type1_font_subset_t *font,
int length;
int subset_id;
int ch;
+ const char *wa_name;
if (font->glyphs[glyph_number].subset_index < 0)
return CAIRO_STATUS_SUCCESS;
@@ -1143,8 +1144,15 @@ write_used_glyphs (cairo_type1_font_subset_t *font,
subset_id = font->glyphs[glyph_number].subset_index;
if (subset_id > 0) {
ch = font->scaled_font_subset->to_latin_char[subset_id];
- name = _cairo_winansi_to_glyphname (ch);
- name_length = strlen(name);
+ wa_name = _cairo_winansi_to_glyphname (ch);
+ /* If this subset contains any seac glyphs, additional non
+ * winansi glyphs (wa_name = NULL) may be included in the
+ * subset. In this case the original name is used.
+ */
+ if (wa_name) {
+ name = wa_name;
+ name_length = strlen(name);
+ }
}
}
@@ -1256,21 +1264,21 @@ cairo_type1_font_subset_write_private_dict (cairo_type1_font_subset_t *font,
* the actual glyph definitions (charstrings).
*
* What we do here is scan directly to the /Subrs token, which
- * marks the beginning of the subroutines. We then read in all the
- * subroutines then move on to the /CharString token, which marks
- * the beginning of the glyph definitions, and read in the chastrings.
+ * marks the beginning of the subroutines. We read in all the
+ * subroutines, then move on to the /CharString token, which marks
+ * the beginning of the glyph definitions, and read in the charstrings.
*
- * The charstrings are parsed to extracts glyph widths, work out
- * which subroutines are called, and too see if any extra glyphs
+ * The charstrings are parsed to extract glyph widths, work out
+ * which subroutines are called, and to see if any extra glyphs
* need to be included due to the use of the seac glyph combining
* operator.
*
- * Finally the private dict is copied to the subset font minus the
+ * Finally, the private dict is copied to the subset font minus the
* subroutines and charstrings not required.
*/
/* Determine lenIV, the number of random characters at the start of
- each encrypted charstring. The defaults is 4, but this can be
+ each encrypted charstring. The default is 4, but this can be
overridden in the private dict. */
font->lenIV = 4;
if ((lenIV_start = find_token (font->cleartext, font->cleartext_end, "/lenIV")) != NULL) {
@@ -1306,6 +1314,7 @@ cairo_type1_font_subset_write_private_dict (cairo_type1_font_subset_t *font,
if (subrs == NULL) {
font->subset_subrs = FALSE;
p = font->cleartext;
+ array_start = NULL;
goto skip_subrs;
}
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-type3-glyph-surface-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-type3-glyph-surface-private.h
index b4abcf60430..6cd37de5c0d 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-type3-glyph-surface-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-type3-glyph-surface-private.h
@@ -45,8 +45,9 @@
#include "cairo-surface-clipper-private.h"
#include "cairo-pdf-operators-private.h"
-typedef cairo_status_t (*cairo_type3_glyph_surface_emit_image_t) (cairo_image_surface_t *image,
- cairo_output_stream_t *stream);
+typedef cairo_int_status_t
+(*cairo_type3_glyph_surface_emit_image_t) (cairo_image_surface_t *image,
+ cairo_output_stream_t *stream);
typedef struct cairo_type3_glyph_surface {
cairo_surface_t base;
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-type3-glyph-surface.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-type3-glyph-surface.c
index 5bb6bfc444a..5bb6bfc444a 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-type3-glyph-surface.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-type3-glyph-surface.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-types-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-types-private.h
index 3c2d21a3884..3c2d21a3884 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-types-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-types-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-unicode.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-unicode.c
index 88de39516b6..88de39516b6 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-unicode.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-unicode.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-uninstalled.pc.in b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-uninstalled.pc.in
index 9dc3231ae45..9dc3231ae45 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-uninstalled.pc.in
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-uninstalled.pc.in
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-user-font-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-user-font-private.h
index d54ef78b44e..d54ef78b44e 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-user-font-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-user-font-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-user-font.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-user-font.c
index 297f21c913c..297f21c913c 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-user-font.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-user-font.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-version.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-version.c
index d9ad240bf9b..d9ad240bf9b 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-version.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-version.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-version.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-version.h
index 51008003f98..51008003f98 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-version.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-version.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-vg-surface.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-vg-surface.c
index 6e0d9a0ed69..6e0d9a0ed69 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-vg-surface.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-vg-surface.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-vg.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-vg.h
index f9a62e51c69..f9a62e51c69 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-vg.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-vg.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-wgl-context.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-wgl-context.c
index 48723744648..48723744648 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-wgl-context.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-wgl-context.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-wideint-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-wideint-private.h
index 3f5491bb1c0..3f5491bb1c0 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-wideint-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-wideint-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-wideint-type-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-wideint-type-private.h
index 84a3cbab0d2..84a3cbab0d2 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-wideint-type-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-wideint-type-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-wideint.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-wideint.c
index bba266b2489..bba266b2489 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-wideint.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-wideint.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-win32.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-win32.h
index 3d2e1c60169..3d2e1c60169 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-win32.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-win32.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb-connection-core.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb-connection-core.c
index ae7c023e1ad..ae7c023e1ad 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb-connection-core.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb-connection-core.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb-connection-render.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb-connection-render.c
index 61119653e9a..61119653e9a 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb-connection-render.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb-connection-render.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb-connection-shm.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb-connection-shm.c
index 8c1d5069870..8c1d5069870 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb-connection-shm.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb-connection-shm.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb-connection.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb-connection.c
index b48add17b6a..b48add17b6a 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb-connection.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb-connection.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb-private.h
index f6cb34ecdcd..f6cb34ecdcd 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb-screen.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb-screen.c
index 2858d23fba3..2858d23fba3 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb-screen.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb-screen.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb-shm.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb-shm.c
index 2be2dac5bf9..2be2dac5bf9 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb-shm.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb-shm.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb-surface-core.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb-surface-core.c
index c608c9ac4af..c608c9ac4af 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb-surface-core.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb-surface-core.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb-surface-render.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb-surface-render.c
index cce95a137c1..2d52be9cf01 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb-surface-render.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb-surface-render.c
@@ -1101,10 +1101,11 @@ record_to_picture (cairo_surface_t *target,
return _cairo_xcb_transparent_picture ((cairo_xcb_surface_t *) target);
/* Now draw the recording surface to an xcb surface */
- tmp = _cairo_surface_create_similar_scratch (target,
- source->content,
- limit.width,
- limit.height);
+ tmp = _cairo_surface_create_similar_solid (target,
+ source->content,
+ limit.width,
+ limit.height,
+ CAIRO_COLOR_TRANSPARENT);
if (tmp->status != CAIRO_STATUS_SUCCESS) {
return (cairo_xcb_picture_t *) tmp;
}
@@ -1951,7 +1952,7 @@ _clip_and_composite_combine (cairo_clip_t *clip,
{
cairo_xcb_surface_t *tmp;
cairo_xcb_surface_t *clip_surface;
- int clip_x, clip_y;
+ int clip_x = 0, clip_y = 0;
xcb_render_picture_t clip_picture;
cairo_status_t status;
@@ -2247,7 +2248,7 @@ _cairo_xcb_surface_fixup_unbounded_with_mask (cairo_xcb_surface_t *dst,
cairo_clip_t *clip)
{
cairo_xcb_surface_t *mask;
- int mask_x, mask_y;
+ int mask_x = 0, mask_y = 0;
mask = get_clip_surface (clip, dst, &mask_x, &mask_y);
if (unlikely (mask->base.status))
@@ -2650,7 +2651,7 @@ _composite_boxes (cairo_xcb_surface_t *dst,
if (need_clip_mask) {
cairo_xcb_surface_t *clip_surface;
- int clip_x, clip_y;
+ int clip_x = 0, clip_y = 0;
clip_surface = get_clip_surface (extents->clip, dst,
&clip_x, &clip_y);
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb-surface.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb-surface.c
index 746fb453483..746fb453483 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb-surface.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb-surface.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb.h
index e321d8482c2..e321d8482c2 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xcb.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xcb.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-core-compositor.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-core-compositor.c
index 9398079b4d6..9398079b4d6 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-core-compositor.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-core-compositor.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-display.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-display.c
index 04c89b2a643..c505db4d10b 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-display.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-display.c
@@ -482,7 +482,7 @@ _cairo_xlib_display_get_xrender_format_for_pixman(cairo_xlib_display_t *display,
#undef MASK
/* XXX caching? */
- return XRenderFindFormat(dpy, mask, &tmpl, 1);
+ return XRenderFindFormat(dpy, mask, &tmpl, 0);
}
XRenderPictFormat *
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-fallback-compositor.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-fallback-compositor.c
index ed2845db57d..ed2845db57d 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-fallback-compositor.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-fallback-compositor.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-private.h
index 4fd725f9331..4fd725f9331 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-render-compositor.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-render-compositor.c
index 013e2aff1ba..68e7ce5a55c 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-render-compositor.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-render-compositor.c
@@ -51,6 +51,7 @@
#include "cairo-image-surface-private.h"
#include "cairo-list-inline.h"
#include "cairo-pattern-private.h"
+#include "cairo-pixman-private.h"
#include "cairo-traps-private.h"
#include "cairo-tristrip-private.h"
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-screen.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-screen.c
index 57beeaab426..57beeaab426 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-screen.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-screen.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-source.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-source.c
index 56dff65700b..746001ed4d6 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-source.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-source.c
@@ -294,7 +294,7 @@ render_pattern (cairo_xlib_surface_t *dst,
extents->height);
if (src->base.type != CAIRO_SURFACE_TYPE_XLIB) {
cairo_surface_destroy (&src->base);
- return None;
+ return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY));
}
map_extents = *extents;
@@ -986,6 +986,9 @@ surface_source (cairo_xlib_surface_t *dst,
if (pattern->base.extend == CAIRO_EXTEND_NONE) {
if (! _cairo_rectangle_intersect (&upload, &limit))
return alpha_source (dst, 0);
+ } else if (pattern->base.extend == CAIRO_EXTEND_PAD) {
+ if (! _cairo_rectangle_intersect (&upload, &limit))
+ upload = limit;
} else {
if (upload.x < limit.x ||
upload.x + upload.width > limit.x + limit.width ||
@@ -1005,7 +1008,7 @@ surface_source (cairo_xlib_surface_t *dst,
if (xsrc->base.type != CAIRO_SURFACE_TYPE_XLIB) {
cairo_surface_destroy (src);
cairo_surface_destroy (&xsrc->base);
- return None;
+ return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_NO_MEMORY));
}
if (_cairo_surface_is_image (src)) {
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-surface-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-surface-private.h
index 87db6962b31..87db6962b31 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-surface-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-surface-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-surface-shm.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-surface-shm.c
index fa7d3eb9b28..fa7d3eb9b28 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-surface-shm.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-surface-shm.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-surface.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-surface.c
index 96ba3ad7a2d..029a542b946 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-surface.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-surface.c
@@ -60,6 +60,7 @@
#include "cairo-image-surface-private.h"
#include "cairo-list-inline.h"
#include "cairo-pattern-private.h"
+#include "cairo-pixman-private.h"
#include "cairo-region-private.h"
#include "cairo-scaled-font-private.h"
#include "cairo-surface-snapshot-private.h"
@@ -385,14 +386,14 @@ _cairo_xlib_surface_finish (void *abstract_surface)
cairo_status_t status;
cairo_xlib_display_t *display;
- X_DEBUG ((display->display, "finish (drawable=%x)", (unsigned int) surface->drawable));
-
cairo_list_del (&surface->link);
status = _cairo_xlib_display_acquire (surface->base.device, &display);
if (unlikely (status))
return status;
+ X_DEBUG ((display->display, "finish (drawable=%x)", (unsigned int) surface->drawable));
+
if (surface->embedded_source.picture)
XRenderFreePicture (display->display, surface->embedded_source.picture);
if (surface->picture)
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-visual.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-visual.c
index d9aac44cabc..863822eebbd 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-visual.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-visual.c
@@ -40,6 +40,7 @@
#include "cairo-xlib-private.h"
#include "cairo-error-private.h"
+#include "cairo-list-inline.h"
/* A perceptual distance metric between two colors. No sqrt needed
* since the square of the distance is still a valid metric. */
@@ -85,6 +86,7 @@ _cairo_xlib_visual_info_create (Display *dpy,
if (unlikely (info == NULL))
return _cairo_error (CAIRO_STATUS_NO_MEMORY);
+ cairo_list_init (&info->link);
info->visualid = visualid;
/* Allocate a gray ramp and a color cube.
@@ -185,6 +187,7 @@ void
_cairo_xlib_visual_info_destroy (cairo_xlib_visual_info_t *info)
{
/* No need for XFreeColors() whilst using DefaultColormap */
+ _cairo_list_del (&info->link);
free (info);
}
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-xcb-surface.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-xcb-surface.c
index 9c0d4b41389..9c0d4b41389 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-xcb-surface.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-xcb-surface.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-xrender-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-xrender-private.h
index bf3199c4c9d..bf3199c4c9d 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-xrender-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-xrender-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-xrender.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-xrender.h
index b34b057de4c..b34b057de4c 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib-xrender.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib-xrender.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib.h
index ecf8d6c86be..ecf8d6c86be 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xlib.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xlib.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xml-surface.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xml-surface.c
index 777d4708928..c9473c24c54 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xml-surface.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xml-surface.c
@@ -459,6 +459,67 @@ to_xml (cairo_xml_surface_t *surface)
}
static cairo_status_t
+_cairo_xml_surface_emit_clip_boxes (cairo_xml_surface_t *surface,
+ cairo_clip_t *clip)
+{
+ cairo_box_t *box;
+ cairo_status_t status;
+ cairo_xml_t *xml;
+ int n;
+
+ if (clip->num_boxes == 0)
+ return CAIRO_STATUS_SUCCESS;
+
+ /* skip the trivial clip covering the surface extents */
+ if (surface->width >= 0 && surface->height >= 0 && clip->num_boxes == 1) {
+ box = &clip->boxes[0];
+ if (box->p1.x <= 0 && box->p1.y <= 0 &&
+ box->p2.x - box->p1.x >= _cairo_fixed_from_double (surface->width) &&
+ box->p2.y - box->p1.y >= _cairo_fixed_from_double (surface->height))
+ {
+ return CAIRO_STATUS_SUCCESS;
+ }
+ }
+
+ xml = to_xml (surface);
+
+ _cairo_xml_printf (xml, "<clip>");
+ _cairo_xml_indent (xml, 2);
+
+ _cairo_xml_printf (xml, "<path>");
+ _cairo_xml_indent (xml, 2);
+ for (n = 0; n < clip->num_boxes; n++) {
+ box = &clip->boxes[n];
+
+ _cairo_xml_printf_start (xml, "%f %f m",
+ _cairo_fixed_to_double (box->p1.x),
+ _cairo_fixed_to_double (box->p1.y));
+ _cairo_xml_printf_continue (xml, " %f %f l",
+ _cairo_fixed_to_double (box->p2.x),
+ _cairo_fixed_to_double (box->p1.y));
+ _cairo_xml_printf_continue (xml, " %f %f l",
+ _cairo_fixed_to_double (box->p2.x),
+ _cairo_fixed_to_double (box->p2.y));
+ _cairo_xml_printf_continue (xml, " %f %f l",
+ _cairo_fixed_to_double (box->p1.x),
+ _cairo_fixed_to_double (box->p2.y));
+ _cairo_xml_printf_end (xml, " h");
+ }
+ _cairo_xml_indent (xml, -2);
+ _cairo_xml_printf (xml, "</path>");
+ _cairo_xml_emit_double (xml, "tolerance", 1.0);
+ _cairo_xml_emit_string (xml, "antialias",
+ _antialias_to_string (CAIRO_ANTIALIAS_NONE));
+ _cairo_xml_emit_string (xml, "fill-rule",
+ _fill_rule_to_string (CAIRO_FILL_RULE_WINDING));
+
+ _cairo_xml_indent (xml, -2);
+ _cairo_xml_printf (xml, "</clip>");
+
+ return CAIRO_STATUS_SUCCESS;
+}
+
+static cairo_status_t
_cairo_xml_surface_emit_clip_path (cairo_xml_surface_t *surface,
cairo_clip_path_t *clip_path)
{
@@ -466,12 +527,12 @@ _cairo_xml_surface_emit_clip_path (cairo_xml_surface_t *surface,
cairo_status_t status;
cairo_xml_t *xml;
- if (clip_path->prev != NULL) {
- status = _cairo_xml_surface_emit_clip_path (surface, clip_path->prev);
- if (unlikely (status))
- return status;
- }
+ if (clip_path == NULL)
+ return CAIRO_STATUS_SUCCESS;
+ status = _cairo_xml_surface_emit_clip_path (surface, clip_path->prev);
+ if (unlikely (status))
+ return status;
/* skip the trivial clip covering the surface extents */
if (surface->width >= 0 && surface->height >= 0 &&
@@ -507,9 +568,15 @@ static cairo_status_t
_cairo_xml_surface_emit_clip (cairo_xml_surface_t *surface,
const cairo_clip_t *clip)
{
+ cairo_status_t status;
+
if (clip == NULL)
return CAIRO_STATUS_SUCCESS;
+ status = _cairo_xml_surface_emit_clip_boxes (surface, clip);
+ if (unlikely (status))
+ return status;
+
return _cairo_xml_surface_emit_clip_path (surface, clip->path);
}
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xml.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xml.h
index 9ae76e90aae..9ae76e90aae 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo-xml.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo-xml.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo.c b/Build/source/libs/cairo/cairo-1.12.16/src/cairo.c
index 82396d22155..82396d22155 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairo.h
index a2f5aa37e7a..a2f5aa37e7a 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairo.pc.in b/Build/source/libs/cairo/cairo-1.12.16/src/cairo.pc.in
index b361edf18fb..b361edf18fb 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairo.pc.in
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairo.pc.in
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/cairoint.h b/Build/source/libs/cairo/cairo-1.12.16/src/cairoint.h
index 861e2f712fa..861e2f712fa 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/cairoint.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/cairoint.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/check-def.sh b/Build/source/libs/cairo/cairo-1.12.16/src/check-def.sh
index 9008c5871d2..beefb46a333 100755
--- a/Build/source/libs/cairo/cairo-1.12.14/src/check-def.sh
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/check-def.sh
@@ -39,7 +39,7 @@ for def in $defs; do
{
echo EXPORTS
- eval $get_cairo_syms | c++filt --no-params | grep -v '^_cairo_test_\|^_fini\|^_init\|^_save[fg]pr\|^_rest[fg]pr\|^_Z\|^__gnu' | sort -u
+ eval $get_cairo_syms | c++filt --no-params | grep -v '^_cairo_test_\|^_fini\|^_init\|^_save[fg]pr\|^_rest[fg]pr\|^_Z\|^__gnu\|^__bss\|^_edata\|^_end' | sort -u
# cheat: copy the last line from the def file!
tail -n1 "$def"
} | diff "$def" - >&2 || stat=1
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/check-doc-syntax.awk b/Build/source/libs/cairo/cairo-1.12.16/src/check-doc-syntax.awk
index 5fdabdac9a9..5fdabdac9a9 100755
--- a/Build/source/libs/cairo/cairo-1.12.14/src/check-doc-syntax.awk
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/check-doc-syntax.awk
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/check-doc-syntax.sh b/Build/source/libs/cairo/cairo-1.12.16/src/check-doc-syntax.sh
index c74fb875d37..c74fb875d37 100755
--- a/Build/source/libs/cairo/cairo-1.12.14/src/check-doc-syntax.sh
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/check-doc-syntax.sh
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/check-has-hidden-symbols.c b/Build/source/libs/cairo/cairo-1.12.16/src/check-has-hidden-symbols.c
index 12041277692..12041277692 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/check-has-hidden-symbols.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/check-has-hidden-symbols.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/check-headers.sh b/Build/source/libs/cairo/cairo-1.12.16/src/check-headers.sh
index 61232954bae..61232954bae 100755
--- a/Build/source/libs/cairo/cairo-1.12.14/src/check-headers.sh
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/check-headers.sh
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/check-link.c b/Build/source/libs/cairo/cairo-1.12.16/src/check-link.c
index 66ca1b2413c..66ca1b2413c 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/check-link.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/check-link.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/check-plt.sh b/Build/source/libs/cairo/cairo-1.12.16/src/check-plt.sh
index 5a9dae1269d..5a9dae1269d 100755
--- a/Build/source/libs/cairo/cairo-1.12.14/src/check-plt.sh
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/check-plt.sh
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/check-preprocessor-syntax.sh b/Build/source/libs/cairo/cairo-1.12.16/src/check-preprocessor-syntax.sh
index c4154151d54..c4154151d54 100755
--- a/Build/source/libs/cairo/cairo-1.12.14/src/check-preprocessor-syntax.sh
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/check-preprocessor-syntax.sh
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/test-base-compositor-surface.c b/Build/source/libs/cairo/cairo-1.12.16/src/test-base-compositor-surface.c
index ff84b10aff7..ff84b10aff7 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/test-base-compositor-surface.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/test-base-compositor-surface.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/test-compositor-surface-private.h b/Build/source/libs/cairo/cairo-1.12.16/src/test-compositor-surface-private.h
index 491f241bacc..491f241bacc 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/test-compositor-surface-private.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/test-compositor-surface-private.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/test-compositor-surface.c b/Build/source/libs/cairo/cairo-1.12.16/src/test-compositor-surface.c
index ddee06f3ebb..1cc5f692120 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/test-compositor-surface.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/test-compositor-surface.c
@@ -145,6 +145,8 @@ test_compositor_surface_stroke (void *_surface,
const cairo_clip_t *clip)
{
test_compositor_surface_t *surface = _surface;
+ if (antialias == CAIRO_ANTIALIAS_DEFAULT)
+ antialias = CAIRO_ANTIALIAS_BEST;
return _cairo_compositor_stroke (surface->base.compositor,
_surface, op, source,
path, style, ctm, ctm_inverse,
@@ -163,6 +165,8 @@ test_compositor_surface_fill (void *_surface,
const cairo_clip_t *clip)
{
test_compositor_surface_t *surface = _surface;
+ if (antialias == CAIRO_ANTIALIAS_DEFAULT)
+ antialias = CAIRO_ANTIALIAS_BEST;
return _cairo_compositor_fill (surface->base.compositor,
_surface, op, source,
path, fill_rule, tolerance, antialias,
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/test-compositor-surface.h b/Build/source/libs/cairo/cairo-1.12.16/src/test-compositor-surface.h
index 8d8af2d5409..8d8af2d5409 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/test-compositor-surface.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/test-compositor-surface.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/test-null-compositor-surface.c b/Build/source/libs/cairo/cairo-1.12.16/src/test-null-compositor-surface.c
index 2301055e30a..2301055e30a 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/test-null-compositor-surface.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/test-null-compositor-surface.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/test-null-compositor-surface.h b/Build/source/libs/cairo/cairo-1.12.16/src/test-null-compositor-surface.h
index 52d864b28df..52d864b28df 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/test-null-compositor-surface.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/test-null-compositor-surface.h
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/test-paginated-surface.c b/Build/source/libs/cairo/cairo-1.12.16/src/test-paginated-surface.c
index 0a7c79b37bf..0a7c79b37bf 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/test-paginated-surface.c
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/test-paginated-surface.c
diff --git a/Build/source/libs/cairo/cairo-1.12.14/src/test-paginated-surface.h b/Build/source/libs/cairo/cairo-1.12.16/src/test-paginated-surface.h
index 2bd98aa5eee..2bd98aa5eee 100644
--- a/Build/source/libs/cairo/cairo-1.12.14/src/test-paginated-surface.h
+++ b/Build/source/libs/cairo/cairo-1.12.16/src/test-paginated-surface.h
diff --git a/Build/source/libs/cairo/configure b/Build/source/libs/cairo/configure
index fba1738dc40..434072d3920 100755
--- a/Build/source/libs/cairo/configure
+++ b/Build/source/libs/cairo/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for cairo (TeX Live) 1.12.14.
+# Generated by GNU Autoconf 2.69 for cairo (TeX Live) 1.12.16.
#
# Report bugs to <tex-k@tug.org>.
#
@@ -580,12 +580,12 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='cairo (TeX Live)'
PACKAGE_TARNAME='cairo--tex-live-'
-PACKAGE_VERSION='1.12.14'
-PACKAGE_STRING='cairo (TeX Live) 1.12.14'
+PACKAGE_VERSION='1.12.16'
+PACKAGE_STRING='cairo (TeX Live) 1.12.16'
PACKAGE_BUGREPORT='tex-k@tug.org'
PACKAGE_URL=''
-ac_unique_file="cairo-1.12.14/src/cairo.h"
+ac_unique_file="cairo-1.12.16/src/cairo.h"
# Factoring default headers for most tests.
ac_includes_default="\
#include <stdio.h>
@@ -1350,7 +1350,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures cairo (TeX Live) 1.12.14 to adapt to many kinds of systems.
+\`configure' configures cairo (TeX Live) 1.12.16 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1421,7 +1421,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of cairo (TeX Live) 1.12.14:";;
+ short | recursive ) echo "Configuration of cairo (TeX Live) 1.12.16:";;
esac
cat <<\_ACEOF
@@ -1524,7 +1524,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-cairo (TeX Live) configure 1.12.14
+cairo (TeX Live) configure 1.12.16
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2130,7 +2130,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by cairo (TeX Live) $as_me 1.12.14, which was
+It was created by cairo (TeX Live) $as_me 1.12.16, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -4384,7 +4384,7 @@ fi
# Define the identity of the package.
PACKAGE='cairo--tex-live-'
- VERSION='1.12.14'
+ VERSION='1.12.16'
cat >>confdefs.h <<_ACEOF
@@ -6572,7 +6572,7 @@ LIBS=$kpse_save_LIBS
echo timestamp >config.force
fi
-CAIRO_TREE=cairo-1.12.14
+CAIRO_TREE=cairo-1.12.16
ac_config_files="$ac_config_files Makefile cairo/Makefile"
@@ -7233,7 +7233,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by cairo (TeX Live) $as_me 1.12.14, which was
+This file was extended by cairo (TeX Live) $as_me 1.12.16, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -7299,7 +7299,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-cairo (TeX Live) config.status 1.12.14
+cairo (TeX Live) config.status 1.12.16
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/Build/source/libs/cairo/version.ac b/Build/source/libs/cairo/version.ac
index da42cb2f341..d63203075f3 100644
--- a/Build/source/libs/cairo/version.ac
+++ b/Build/source/libs/cairo/version.ac
@@ -8,4 +8,4 @@ dnl
dnl --------------------------------------------------------
dnl
dnl m4-include this file to define the current cairo version
-m4_define([cairo_version], [1.12.14])
+m4_define([cairo_version], [1.12.16])