summary refs log tree commit diff stats
path: root/win32
diff options
context:
space:
mode:
authorBerke Viktor <bviktor@hexchat.org>2012-10-02 10:26:01 +0200
committerBerke Viktor <bviktor@hexchat.org>2012-10-02 10:26:01 +0200
commit94ad6dc01283cf61fee2bc884b9f1856433af579 (patch)
tree6cb7f8fa392b971021d0ead14507597fde076463 /win32
parent2d2afd9a59f82f9dbb7dde756d7fd5fa8f7b6203 (diff)
Add cairo solution, release scripts and patches
Diffstat (limited to 'win32')
-rw-r--r--win32/deps/cairo/cairo-gobject.vcxproj263
-rw-r--r--win32/deps/cairo/cairo-gobject.vcxproj.filters17
-rw-r--r--win32/deps/cairo/cairo.patch139
-rw-r--r--win32/deps/cairo/cairo.props26
-rw-r--r--win32/deps/cairo/cairo.sln36
-rw-r--r--win32/deps/cairo/cairo.vcxproj524
-rw-r--r--win32/deps/cairo/cairo.vcxproj.filters284
-rw-r--r--win32/deps/cairo/release-x64.bat21
-rw-r--r--win32/deps/cairo/release-x86.bat21
9 files changed, 1331 insertions, 0 deletions
diff --git a/win32/deps/cairo/cairo-gobject.vcxproj b/win32/deps/cairo/cairo-gobject.vcxproj
new file mode 100644
index 00000000..4e13f8d5
--- /dev/null
+++ b/win32/deps/cairo/cairo-gobject.vcxproj
@@ -0,0 +1,263 @@
+<?xml version="1.0" encoding="utf-8"?>

+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

+  <ItemGroup Label="ProjectConfigurations">

+    <ProjectConfiguration Include="Debug|Win32">

+      <Configuration>Debug</Configuration>

+      <Platform>Win32</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Debug|x64">

+      <Configuration>Debug</Configuration>

+      <Platform>x64</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Release|Win32">

+      <Configuration>Release</Configuration>

+      <Platform>Win32</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Release|x64">

+      <Configuration>Release</Configuration>

+      <Platform>x64</Platform>

+    </ProjectConfiguration>

+  </ItemGroup>

+  <PropertyGroup Label="Globals">

+    <ProjectName>cairo-gobject</ProjectName>

+    <ProjectGuid>{C8D08F82-700E-4ACE-A766-A52C4048B5F7}</ProjectGuid>

+    <RootNamespace>cairogobject</RootNamespace>

+    <Keyword>Win32Proj</Keyword>

+  </PropertyGroup>

+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">

+    <ConfigurationType>DynamicLibrary</ConfigurationType>

+    <CharacterSet>Unicode</CharacterSet>

+    <WholeProgramOptimization>true</WholeProgramOptimization>

+    <PlatformToolset>v110</PlatformToolset>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">

+    <ConfigurationType>DynamicLibrary</ConfigurationType>

+    <CharacterSet>Unicode</CharacterSet>

+    <PlatformToolset>v110</PlatformToolset>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">

+    <ConfigurationType>DynamicLibrary</ConfigurationType>

+    <CharacterSet>MultiByte</CharacterSet>

+    <WholeProgramOptimization>true</WholeProgramOptimization>

+    <PlatformToolset>v110</PlatformToolset>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">

+    <ConfigurationType>DynamicLibrary</ConfigurationType>

+    <CharacterSet>MultiByte</CharacterSet>

+    <PlatformToolset>v110</PlatformToolset>

+  </PropertyGroup>

+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

+  <ImportGroup Label="ExtensionSettings">

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+    <Import Project="cairo.props" />

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+    <Import Project="cairo.props" />

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+    <Import Project="cairo.props" />

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+    <Import Project="cairo.props" />

+  </ImportGroup>

+  <PropertyGroup Label="UserMacros" />

+  <PropertyGroup>

+    <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Configuration)\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir>

+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)$(Configuration)\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Configuration)\</IntDir>

+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Configuration)\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir>

+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)$(Configuration)\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Configuration)\</IntDir>

+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>

+  </PropertyGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

+    <ClCompile>

+      <Optimization>Disabled</Optimization>

+      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;CAIROGOBJECT_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <MinimalRebuild>true</MinimalRebuild>

+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>

+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>

+      <PrecompiledHeader>

+      </PrecompiledHeader>

+      <WarningLevel>Level3</WarningLevel>

+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>

+    </ClCompile>

+    <Link>

+      <AdditionalDependencies>glib-2.0.lib;gobject-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>

+      <OutputFile>$(OutDir)$(ProjectName).dll</OutputFile>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+      <SubSystem>Windows</SubSystem>

+      <ImportLibrary>$(OutDir)$(ProjectName).lib</ImportLibrary>

+      <TargetMachine>MachineX86</TargetMachine>

+    </Link>

+    <PostBuildEvent>

+      <Command>mkdir $(CopyDir)\bin

+

+        copy $(OutDir)$(ProjectName).dll $(CopyDir)\bin

+

+        

+        mkdir $(CopyDir)\lib

+

+        copy $(OutDir)$(ProjectName).lib $(CopyDir)\lib

+

+        

+        mkdir $(CopyDir)\include

+

+        copy .\util\cairo-gobject\cairo-gobject.h $(CopyDir)\include

+</Command>

+    </PostBuildEvent>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">

+    <PreBuildEvent>

+      <Command>

+      </Command>

+    </PreBuildEvent>

+    <ClCompile>

+      <Optimization>Disabled</Optimization>

+      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;CAIROGOBJECT_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <MinimalRebuild>true</MinimalRebuild>

+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>

+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>

+      <PrecompiledHeader>

+      </PrecompiledHeader>

+      <WarningLevel>Level3</WarningLevel>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+      <CompileAs>CompileAsC</CompileAs>

+    </ClCompile>

+    <Link>

+      <AdditionalDependencies>glib-2.0.lib;gobject-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>

+      <OutputFile>$(OutDir)$(ProjectName).dll</OutputFile>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+      <SubSystem>Windows</SubSystem>

+      <RandomizedBaseAddress>false</RandomizedBaseAddress>

+      <DataExecutionPrevention>

+      </DataExecutionPrevention>

+      <ImportLibrary>$(OutDir)$(ProjectName).lib</ImportLibrary>

+      <TargetMachine>MachineX64</TargetMachine>

+    </Link>

+    <PostBuildEvent>

+      <Command>mkdir $(CopyDir)\bin

+

+        copy $(OutDir)$(ProjectName).dll $(CopyDir)\bin

+

+        

+        mkdir $(CopyDir)\lib

+

+        copy $(OutDir)$(ProjectName).lib $(CopyDir)\lib

+

+        

+        mkdir $(CopyDir)\include

+

+        copy .\util\cairo-gobject\cairo-gobject.h $(CopyDir)\include

+</Command>

+    </PostBuildEvent>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

+    <ClCompile>

+      <Optimization>MaxSpeed</Optimization>

+      <IntrinsicFunctions>true</IntrinsicFunctions>

+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;CAIROGOBJECT_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

+      <FunctionLevelLinking>true</FunctionLevelLinking>

+      <PrecompiledHeader>

+      </PrecompiledHeader>

+      <WarningLevel>Level3</WarningLevel>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+    </ClCompile>

+    <Link>

+      <AdditionalDependencies>glib-2.0.lib;gobject-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>

+      <OutputFile>$(OutDir)$(ProjectName).dll</OutputFile>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+      <SubSystem>Windows</SubSystem>

+      <ImportLibrary>$(OutDir)$(ProjectName).lib</ImportLibrary>

+      <OptimizeReferences>true</OptimizeReferences>

+      <EnableCOMDATFolding>true</EnableCOMDATFolding>

+      <TargetMachine>MachineX86</TargetMachine>

+    </Link>

+    <PostBuildEvent>

+      <Command>mkdir $(CopyDir)\bin

+

+        copy $(OutDir)$(ProjectName).dll $(CopyDir)\bin

+

+        

+        mkdir $(CopyDir)\lib

+

+        copy $(OutDir)$(ProjectName).lib $(CopyDir)\lib

+

+        

+        mkdir $(CopyDir)\include

+

+        copy .\util\cairo-gobject\cairo-gobject.h $(CopyDir)\include

+</Command>

+    </PostBuildEvent>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">

+    <PreBuildEvent>

+      <Command>

+      </Command>

+    </PreBuildEvent>

+    <ClCompile>

+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;CAIROGOBJECT_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

+      <PrecompiledHeader>

+      </PrecompiledHeader>

+      <WarningLevel>Level3</WarningLevel>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+      <CompileAs>CompileAsC</CompileAs>

+    </ClCompile>

+    <Link>

+      <AdditionalDependencies>glib-2.0.lib;gobject-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>

+      <OutputFile>$(OutDir)$(ProjectName).dll</OutputFile>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+      <SubSystem>Windows</SubSystem>

+      <OptimizeReferences>true</OptimizeReferences>

+      <EnableCOMDATFolding>true</EnableCOMDATFolding>

+      <RandomizedBaseAddress>false</RandomizedBaseAddress>

+      <DataExecutionPrevention>

+      </DataExecutionPrevention>

+      <ImportLibrary>$(OutDir)$(ProjectName).lib</ImportLibrary>

+      <TargetMachine>MachineX64</TargetMachine>

+    </Link>

+    <PostBuildEvent>

+      <Command>mkdir $(CopyDir)\bin

+

+        copy $(OutDir)$(ProjectName).dll $(CopyDir)\bin

+

+        

+        mkdir $(CopyDir)\lib

+

+        copy $(OutDir)$(ProjectName).lib $(CopyDir)\lib

+

+        

+        mkdir $(CopyDir)\include

+

+        copy .\util\cairo-gobject\cairo-gobject.h $(CopyDir)\include

+</Command>

+    </PostBuildEvent>

+  </ItemDefinitionGroup>

+  <ItemGroup>

+    <ClCompile Include="util\cairo-gobject\cairo-gobject-enums.c" />

+    <ClCompile Include="util\cairo-gobject\cairo-gobject-structs.c" />

+  </ItemGroup>

+  <ItemGroup>

+    <ProjectReference Include="cairo.vcxproj">

+      <Project>{e82f3508-c849-4d33-86af-13300224a169}</Project>

+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>

+    </ProjectReference>

+  </ItemGroup>

+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

+  <ImportGroup Label="ExtensionTargets">

+  </ImportGroup>

+</Project>
\ No newline at end of file
diff --git a/win32/deps/cairo/cairo-gobject.vcxproj.filters b/win32/deps/cairo/cairo-gobject.vcxproj.filters
new file mode 100644
index 00000000..d7b51947
--- /dev/null
+++ b/win32/deps/cairo/cairo-gobject.vcxproj.filters
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>

+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

+  <ItemGroup>

+    <Filter Include="Sources">

+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>

+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>

+    </Filter>

+  </ItemGroup>

+  <ItemGroup>

+    <ClCompile Include="util\cairo-gobject\cairo-gobject-enums.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="util\cairo-gobject\cairo-gobject-structs.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+  </ItemGroup>

+</Project>
\ No newline at end of file
diff --git a/win32/deps/cairo/cairo.patch b/win32/deps/cairo/cairo.patch
new file mode 100644
index 00000000..9b4f6983
--- /dev/null
+++ b/win32/deps/cairo/cairo.patch
@@ -0,0 +1,139 @@
+diff -ruN --strip-trailing-cr cairo-1.10.2.orig/src/cairo-win32-surface.c cairo-1.10.2/src/cairo-win32-surface.c
+--- cairo-1.10.2.orig/src/cairo-win32-surface.c	2010-12-25 14:21:34 +0000
++++ cairo-1.10.2/src/cairo-win32-surface.c	2012-10-02 06:57:37 +0000
+@@ -545,6 +545,79 @@
+     return CAIRO_STATUS_SUCCESS;
+ }
+ 
++static const unsigned char mirror[256] = {
++  0x00, 0x80, 0x40, 0xc0, 0x20, 0xa0, 0x60, 0xe0,
++  0x10, 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70, 0xf0,
++  0x08, 0x88, 0x48, 0xc8, 0x28, 0xa8, 0x68, 0xe8,
++  0x18, 0x98, 0x58, 0xd8, 0x38, 0xb8, 0x78, 0xf8,
++  0x04, 0x84, 0x44, 0xc4, 0x24, 0xa4, 0x64, 0xe4,
++  0x14, 0x94, 0x54, 0xd4, 0x34, 0xb4, 0x74, 0xf4,
++  0x0c, 0x8c, 0x4c, 0xcc, 0x2c, 0xac, 0x6c, 0xec,
++  0x1c, 0x9c, 0x5c, 0xdc, 0x3c, 0xbc, 0x7c, 0xfc,
++  0x02, 0x82, 0x42, 0xc2, 0x22, 0xa2, 0x62, 0xe2,
++  0x12, 0x92, 0x52, 0xd2, 0x32, 0xb2, 0x72, 0xf2,
++  0x0a, 0x8a, 0x4a, 0xca, 0x2a, 0xaa, 0x6a, 0xea,
++  0x1a, 0x9a, 0x5a, 0xda, 0x3a, 0xba, 0x7a, 0xfa,
++  0x06, 0x86, 0x46, 0xc6, 0x26, 0xa6, 0x66, 0xe6,
++  0x16, 0x96, 0x56, 0xd6, 0x36, 0xb6, 0x76, 0xf6,
++  0x0e, 0x8e, 0x4e, 0xce, 0x2e, 0xae, 0x6e, 0xee,
++  0x1e, 0x9e, 0x5e, 0xde, 0x3e, 0xbe, 0x7e, 0xfe,
++  0x01, 0x81, 0x41, 0xc1, 0x21, 0xa1, 0x61, 0xe1,
++  0x11, 0x91, 0x51, 0xd1, 0x31, 0xb1, 0x71, 0xf1,
++  0x09, 0x89, 0x49, 0xc9, 0x29, 0xa9, 0x69, 0xe9,
++  0x19, 0x99, 0x59, 0xd9, 0x39, 0xb9, 0x79, 0xf9,
++  0x05, 0x85, 0x45, 0xc5, 0x25, 0xa5, 0x65, 0xe5,
++  0x15, 0x95, 0x55, 0xd5, 0x35, 0xb5, 0x75, 0xf5,
++  0x0d, 0x8d, 0x4d, 0xcd, 0x2d, 0xad, 0x6d, 0xed,
++  0x1d, 0x9d, 0x5d, 0xdd, 0x3d, 0xbd, 0x7d, 0xfd,
++  0x03, 0x83, 0x43, 0xc3, 0x23, 0xa3, 0x63, 0xe3,
++  0x13, 0x93, 0x53, 0xd3, 0x33, 0xb3, 0x73, 0xf3,
++  0x0b, 0x8b, 0x4b, 0xcb, 0x2b, 0xab, 0x6b, 0xeb,
++  0x1b, 0x9b, 0x5b, 0xdb, 0x3b, 0xbb, 0x7b, 0xfb,
++  0x07, 0x87, 0x47, 0xc7, 0x27, 0xa7, 0x67, 0xe7,
++  0x17, 0x97, 0x57, 0xd7, 0x37, 0xb7, 0x77, 0xf7,
++  0x0f, 0x8f, 0x4f, 0xcf, 0x2f, 0xaf, 0x6f, 0xef,
++  0x1f, 0x9f, 0x5f, 0xdf, 0x3f, 0xbf, 0x7f, 0xff
++};
++
++static void
++mirror_a1_bits (cairo_surface_t *image_surface)
++{
++    int w, h, stride, x, y;
++    unsigned char *data;
++
++    h = cairo_image_surface_get_height (image_surface);
++    stride = cairo_image_surface_get_stride (image_surface);
++    data = cairo_image_surface_get_data (image_surface);
++
++    for (y = 0; y < h; y++) {
++	for (x = 0; x < stride; x++) {
++	    *data = mirror[*data];
++	    data++;
++	}
++    }
++}
++
++static cairo_bool_t
++_cairo_win32_surface_is_gdi_format (cairo_surface_t *image_surface)
++{
++    return cairo_image_surface_get_format (image_surface) != CAIRO_FORMAT_A1;
++}
++
++static void
++_cairo_win32_surface_convert_from_gdi_format (cairo_surface_t *image_surface)
++{
++    if (cairo_image_surface_get_format (image_surface) == CAIRO_FORMAT_A1)
++	mirror_a1_bits (image_surface);
++}
++
++static void
++_cairo_win32_surface_convert_to_gdi_format (cairo_surface_t *image_surface)
++{
++    if (cairo_image_surface_get_format (image_surface) == CAIRO_FORMAT_A1)
++	mirror_a1_bits (image_surface);
++}
++
+ static cairo_status_t
+ _cairo_win32_surface_acquire_source_image (void                    *abstract_surface,
+ 					   cairo_image_surface_t  **image_out,
+@@ -554,7 +627,7 @@
+     cairo_win32_surface_t *local;
+     cairo_status_t status;
+ 
+-    if (surface->image) {
++    if (surface->image && _cairo_win32_surface_is_gdi_format (surface->image)) {
+ 	*image_out = (cairo_image_surface_t *)surface->image;
+ 	*image_extra = NULL;
+ 	return CAIRO_STATUS_SUCCESS;
+@@ -566,6 +639,8 @@
+     if (status)
+ 	return status;
+ 
++    _cairo_win32_surface_convert_from_gdi_format (local->image);
++
+     *image_out = (cairo_image_surface_t *)local->image;
+     *image_extra = local;
+     return CAIRO_STATUS_SUCCESS;
+@@ -593,7 +668,7 @@
+     cairo_win32_surface_t *local = NULL;
+     cairo_status_t status;
+ 
+-    if (surface->image) {
++    if (surface->image && _cairo_win32_surface_is_gdi_format (surface->image)) {
+ 	GdiFlush();
+ 
+ 	*image_out = (cairo_image_surface_t *) surface->image;
+@@ -611,6 +686,8 @@
+     if (status)
+ 	return status;
+ 
++    _cairo_win32_surface_convert_from_gdi_format (local->image);
++
+     *image_out = (cairo_image_surface_t *) local->image;
+     *image_extra = local;
+     *image_rect = *interest_rect;
+@@ -630,6 +707,10 @@
+     if (!local)
+ 	return;
+ 
++    _cairo_win32_surface_set_clip_region (surface, NULL);
++
++    _cairo_win32_surface_convert_from_gdi_format (local->image);
++
+     if (!BitBlt (surface->dc,
+ 		 image_rect->x, image_rect->y,
+ 		 image_rect->width, image_rect->height,
+@@ -1313,7 +1394,7 @@
+ 
+ UNSUPPORTED:
+     /* Fall back to image surface directly, if this is a DIB surface */
+-    if (dst->image) {
++    if (dst->image && _cairo_win32_surface_is_gdi_format (dst->image)) {
+ 	GdiFlush();
+ 
+ 	return dst->image->backend->composite (op, pattern, mask_pattern,
diff --git a/win32/deps/cairo/cairo.props b/win32/deps/cairo/cairo.props
new file mode 100644
index 00000000..c228e6bc
--- /dev/null
+++ b/win32/deps/cairo/cairo.props
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>

+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

+  <PropertyGroup Label="UserMacros">

+    <CairoEtcInstallRoot>..\build\$(Platform)</CairoEtcInstallRoot>

+    <CopyDir>..\cairo-1.10.2-rel</CopyDir>

+  </PropertyGroup>

+  <ItemDefinitionGroup>

+    <ClCompile>

+      <AdditionalIncludeDirectories>.\;.\src;$(CairoEtcInstallRoot)\include;$(CairoEtcInstallRoot)\include\glib-2.0;$(CairoEtcInstallRoot)\lib\glib-2.0\include;$(CairoEtcInstallRoot)\include\pixman-1;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

+    </ClCompile>

+    <Link>

+      <AdditionalLibraryDirectories>$(CairoEtcInstallRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>

+    </Link>

+  </ItemDefinitionGroup>

+  <ItemGroup>

+    <BuildMacro Include="ApiVersion">

+      <Value>$(ApiVersion)</Value>

+    </BuildMacro>

+    <BuildMacro Include="PixmanEtcInstallRoot">

+      <Value>$(PixmanEtcInstallRoot)</Value>

+    </BuildMacro>

+    <BuildMacro Include="PixmanDoInstall">

+      <Value>$(PixmanDoInstall)</Value>

+    </BuildMacro>

+  </ItemGroup>

+</Project>
\ No newline at end of file
diff --git a/win32/deps/cairo/cairo.sln b/win32/deps/cairo/cairo.sln
new file mode 100644
index 00000000..82225914
--- /dev/null
+++ b/win32/deps/cairo/cairo.sln
@@ -0,0 +1,36 @@
+

+Microsoft Visual Studio Solution File, Format Version 12.00

+# Visual Studio Express 2012 for Windows Desktop

+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cairo", "cairo.vcxproj", "{E82F3508-C849-4D33-86AF-13300224A169}"

+EndProject

+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cairo-gobject", "cairo-gobject.vcxproj", "{C8D08F82-700E-4ACE-A766-A52C4048B5F7}"

+EndProject

+Global

+	GlobalSection(SolutionConfigurationPlatforms) = preSolution

+		Debug|Win32 = Debug|Win32

+		Debug|x64 = Debug|x64

+		Release|Win32 = Release|Win32

+		Release|x64 = Release|x64

+	EndGlobalSection

+	GlobalSection(ProjectConfigurationPlatforms) = postSolution

+		{E82F3508-C849-4D33-86AF-13300224A169}.Debug|Win32.ActiveCfg = Debug|Win32

+		{E82F3508-C849-4D33-86AF-13300224A169}.Debug|Win32.Build.0 = Debug|Win32

+		{E82F3508-C849-4D33-86AF-13300224A169}.Debug|x64.ActiveCfg = Debug|x64

+		{E82F3508-C849-4D33-86AF-13300224A169}.Debug|x64.Build.0 = Debug|x64

+		{E82F3508-C849-4D33-86AF-13300224A169}.Release|Win32.ActiveCfg = Release|Win32

+		{E82F3508-C849-4D33-86AF-13300224A169}.Release|Win32.Build.0 = Release|Win32

+		{E82F3508-C849-4D33-86AF-13300224A169}.Release|x64.ActiveCfg = Release|x64

+		{E82F3508-C849-4D33-86AF-13300224A169}.Release|x64.Build.0 = Release|x64

+		{C8D08F82-700E-4ACE-A766-A52C4048B5F7}.Debug|Win32.ActiveCfg = Debug|Win32

+		{C8D08F82-700E-4ACE-A766-A52C4048B5F7}.Debug|Win32.Build.0 = Debug|Win32

+		{C8D08F82-700E-4ACE-A766-A52C4048B5F7}.Debug|x64.ActiveCfg = Debug|x64

+		{C8D08F82-700E-4ACE-A766-A52C4048B5F7}.Debug|x64.Build.0 = Debug|x64

+		{C8D08F82-700E-4ACE-A766-A52C4048B5F7}.Release|Win32.ActiveCfg = Release|Win32

+		{C8D08F82-700E-4ACE-A766-A52C4048B5F7}.Release|Win32.Build.0 = Release|Win32

+		{C8D08F82-700E-4ACE-A766-A52C4048B5F7}.Release|x64.ActiveCfg = Release|x64

+		{C8D08F82-700E-4ACE-A766-A52C4048B5F7}.Release|x64.Build.0 = Release|x64

+	EndGlobalSection

+	GlobalSection(SolutionProperties) = preSolution

+		HideSolutionNode = FALSE

+	EndGlobalSection

+EndGlobal

diff --git a/win32/deps/cairo/cairo.vcxproj b/win32/deps/cairo/cairo.vcxproj
new file mode 100644
index 00000000..d306c305
--- /dev/null
+++ b/win32/deps/cairo/cairo.vcxproj
@@ -0,0 +1,524 @@
+<?xml version="1.0" encoding="utf-8"?>

+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

+  <ItemGroup Label="ProjectConfigurations">

+    <ProjectConfiguration Include="Debug|Win32">

+      <Configuration>Debug</Configuration>

+      <Platform>Win32</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Debug|x64">

+      <Configuration>Debug</Configuration>

+      <Platform>x64</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Release|Win32">

+      <Configuration>Release</Configuration>

+      <Platform>Win32</Platform>

+    </ProjectConfiguration>

+    <ProjectConfiguration Include="Release|x64">

+      <Configuration>Release</Configuration>

+      <Platform>x64</Platform>

+    </ProjectConfiguration>

+  </ItemGroup>

+  <PropertyGroup Label="Globals">

+    <ProjectName>cairo</ProjectName>

+    <ProjectGuid>{E82F3508-C849-4D33-86AF-13300224A169}</ProjectGuid>

+    <RootNamespace>cairo</RootNamespace>

+    <Keyword>Win32Proj</Keyword>

+  </PropertyGroup>

+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">

+    <ConfigurationType>DynamicLibrary</ConfigurationType>

+    <CharacterSet>Unicode</CharacterSet>

+    <WholeProgramOptimization>true</WholeProgramOptimization>

+    <PlatformToolset>v110</PlatformToolset>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">

+    <ConfigurationType>DynamicLibrary</ConfigurationType>

+    <CharacterSet>Unicode</CharacterSet>

+    <PlatformToolset>v110</PlatformToolset>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">

+    <ConfigurationType>DynamicLibrary</ConfigurationType>

+    <CharacterSet>MultiByte</CharacterSet>

+    <WholeProgramOptimization>true</WholeProgramOptimization>

+    <PlatformToolset>v110</PlatformToolset>

+  </PropertyGroup>

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">

+    <ConfigurationType>DynamicLibrary</ConfigurationType>

+    <CharacterSet>MultiByte</CharacterSet>

+    <PlatformToolset>v110</PlatformToolset>

+  </PropertyGroup>

+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

+  <ImportGroup Label="ExtensionSettings">

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+    <Import Project="cairo.props" />

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+    <Import Project="cairo.props" />

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+    <Import Project="cairo.props" />

+  </ImportGroup>

+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">

+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />

+    <Import Project="cairo.props" />

+  </ImportGroup>

+  <PropertyGroup Label="UserMacros" />

+  <PropertyGroup>

+    <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)$(Configuration)\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir>

+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)$(Configuration)\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Configuration)\</IntDir>

+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Configuration)\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir>

+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>

+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)$(Configuration)\</OutDir>

+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Configuration)\</IntDir>

+    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>

+  </PropertyGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

+    <PreBuildEvent>

+      <Message>Generating src/cairo-features.h...</Message>

+      <Command>if exist .\src\cairo-features.h goto END

+

+                 echo /* Generated by Makefile.win32.  Do not edit. */ &gt; .\src\cairo-features.h

+

+        echo #ifndef CAIRO_FEATURES_H &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_FEATURES_H &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_WIN32_SURFACE 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_WIN32_FONT 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_PNG_FUNCTIONS 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_FT_FONT 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_FC_FONT 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_PS_SURFACE 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_PDF_SURFACE 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_SVG_SURFACE 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_GOBJECT_FUNCTIONS 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #endif &gt;&gt; .\src\cairo-features.h

+

+        :END

+</Command>

+    </PreBuildEvent>

+    <ClCompile>

+      <Optimization>Disabled</Optimization>

+      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;CAIRO_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DISABLE_SOME_FLOATING_POINT;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <MinimalRebuild>true</MinimalRebuild>

+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>

+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>

+      <PrecompiledHeader>

+      </PrecompiledHeader>

+      <WarningLevel>Level3</WarningLevel>

+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>

+      <DisableSpecificWarnings>4244;4146;%(DisableSpecificWarnings)</DisableSpecificWarnings>

+    </ClCompile>

+    <Link>

+      <AdditionalDependencies>gdi32.lib;msimg32.lib;user32.lib;zlib1d.lib;libpng15d.lib;pixman-1.lib;freetype.lib;fontconfig.lib;%(AdditionalDependencies)</AdditionalDependencies>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+      <SubSystem>Windows</SubSystem>

+      <TargetMachine>MachineX86</TargetMachine>

+      <ImportLibrary>$(OutDir)$(ProjectName).lib</ImportLibrary>

+    </Link>

+    <PostBuildEvent>

+      <Command>mkdir $(CopyDir)\bin

+

+        copy $(OutDir)$(ProjectName).dll $(CopyDir)\bin

+

+

+        mkdir $(CopyDir)\lib

+

+        copy $(OutDir)$(ProjectName).lib $(CopyDir)\lib

+

+

+        mkdir $(CopyDir)\include

+

+        copy .\cairo-version.h $(CopyDir)\include

+

+        copy .\src\cairo.h $(CopyDir)\include

+

+        copy .\src\cairo-deprecated.h $(CopyDir)\include

+

+        copy .\src\cairo-features.h $(CopyDir)\include

+

+        copy .\src\cairo-ft.h $(CopyDir)\include

+

+        copy .\src\cairo-pdf.h $(CopyDir)\include

+

+        copy .\src\cairo-ps.h $(CopyDir)\include

+

+        copy .\src\cairo-svg.h $(CopyDir)\include

+

+        copy .\src\cairo-win32.h $(CopyDir)\include</Command>

+    </PostBuildEvent>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">

+    <PreBuildEvent>

+      <Message>Generating src/cairo-features.h...</Message>

+      <Command>if exist .\src\cairo-features.h goto END

+

+        echo /* Generated by Makefile.win32.  Do not edit. */ &gt; .\src\cairo-features.h

+

+        echo #ifndef CAIRO_FEATURES_H &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_FEATURES_H &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_WIN32_SURFACE 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_WIN32_FONT 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_PNG_FUNCTIONS 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_FT_FONT 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_FC_FONT 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_PS_SURFACE 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_PDF_SURFACE 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_SVG_SURFACE 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_GOBJECT_FUNCTIONS 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #endif &gt;&gt; .\src\cairo-features.h

+

+        :END

+</Command>

+    </PreBuildEvent>

+    <ClCompile>

+      <Optimization>Disabled</Optimization>

+      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;CAIRO_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DISABLE_SOME_FLOATING_POINT;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <MinimalRebuild>true</MinimalRebuild>

+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>

+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>

+      <PrecompiledHeader>

+      </PrecompiledHeader>

+      <WarningLevel>Level3</WarningLevel>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+      <CompileAs>CompileAsC</CompileAs>

+    </ClCompile>

+    <Link>

+      <AdditionalDependencies>gdi32.lib;msimg32.lib;user32.lib;zlib1d.lib;libpng15d.lib;pixman-1.lib;freetype.lib;fontconfig.lib;%(AdditionalDependencies)</AdditionalDependencies>

+      <OutputFile>$(OutDir)$(ProjectName).dll</OutputFile>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+      <SubSystem>Windows</SubSystem>

+      <RandomizedBaseAddress>false</RandomizedBaseAddress>

+      <DataExecutionPrevention>

+      </DataExecutionPrevention>

+      <ImportLibrary>$(OutDir)$(ProjectName).lib</ImportLibrary>

+      <TargetMachine>MachineX64</TargetMachine>

+    </Link>

+    <PostBuildEvent>

+      <Command>mkdir $(CopyDir)\bin

+

+        copy $(OutDir)$(ProjectName).dll $(CopyDir)\bin

+

+

+        mkdir $(CopyDir)\lib

+

+        copy $(OutDir)$(ProjectName).lib $(CopyDir)\lib

+

+

+        mkdir $(CopyDir)\include

+

+        copy .\cairo-version.h $(CopyDir)\include

+

+        copy .\src\cairo.h $(CopyDir)\include

+

+        copy .\src\cairo-deprecated.h $(CopyDir)\include

+

+        copy .\src\cairo-features.h $(CopyDir)\include

+

+        copy .\src\cairo-ft.h $(CopyDir)\include

+

+        copy .\src\cairo-pdf.h $(CopyDir)\include

+

+        copy .\src\cairo-ps.h $(CopyDir)\include

+

+        copy .\src\cairo-svg.h $(CopyDir)\include

+

+        copy .\src\cairo-win32.h $(CopyDir)\include</Command>

+    </PostBuildEvent>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">

+    <PreBuildEvent>

+      <Message>Generating src/cairo-features.h...</Message>

+      <Command>if exist .\src\cairo-features.h goto END

+

+        echo /* Generated by Makefile.win32.  Do not edit. */ &gt; .\src\cairo-features.h

+

+        echo #ifndef CAIRO_FEATURES_H &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_FEATURES_H &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_WIN32_SURFACE 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_WIN32_FONT 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_PNG_FUNCTIONS 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_FT_FONT 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_FC_FONT 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_PS_SURFACE 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_PDF_SURFACE 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_SVG_SURFACE 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_GOBJECT_FUNCTIONS 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #endif &gt;&gt; .\src\cairo-features.h

+

+        :END

+</Command>

+    </PreBuildEvent>

+    <ClCompile>

+      <Optimization>MaxSpeed</Optimization>

+      <IntrinsicFunctions>false</IntrinsicFunctions>

+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;CAIRO_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DISABLE_SOME_FLOATING_POINT;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

+      <FunctionLevelLinking>true</FunctionLevelLinking>

+      <PrecompiledHeader>

+      </PrecompiledHeader>

+      <WarningLevel>Level3</WarningLevel>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+      <DisableSpecificWarnings>4244;4146;%(DisableSpecificWarnings)</DisableSpecificWarnings>

+    </ClCompile>

+    <Link>

+      <OutputFile>$(OutDir)$(ProjectName).dll</OutputFile>

+      <AdditionalDependencies>gdi32.lib;msimg32.lib;user32.lib;zdll.lib;libpng15.lib;pixman-1.lib;freetype.lib;fontconfig.lib;%(AdditionalDependencies)</AdditionalDependencies>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+      <SubSystem>Windows</SubSystem>

+      <OptimizeReferences>true</OptimizeReferences>

+      <EnableCOMDATFolding>true</EnableCOMDATFolding>

+      <ImportLibrary>$(OutDir)$(ProjectName).lib</ImportLibrary>

+      <TargetMachine>MachineX86</TargetMachine>

+    </Link>

+    <PostBuildEvent>

+      <Command>mkdir $(CopyDir)\bin

+

+        copy $(OutDir)$(ProjectName).dll $(CopyDir)\bin

+

+

+        mkdir $(CopyDir)\lib

+

+        copy $(OutDir)$(ProjectName).lib $(CopyDir)\lib

+

+

+        mkdir $(CopyDir)\include

+

+        copy .\cairo-version.h $(CopyDir)\include

+

+        copy .\src\cairo.h $(CopyDir)\include

+

+        copy .\src\cairo-deprecated.h $(CopyDir)\include

+

+        copy .\src\cairo-features.h $(CopyDir)\include

+

+        copy .\src\cairo-ft.h $(CopyDir)\include

+

+        copy .\src\cairo-pdf.h $(CopyDir)\include

+

+        copy .\src\cairo-ps.h $(CopyDir)\include

+

+        copy .\src\cairo-svg.h $(CopyDir)\include

+

+        copy .\src\cairo-win32.h $(CopyDir)\include</Command>

+    </PostBuildEvent>

+  </ItemDefinitionGroup>

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">

+    <PreBuildEvent>

+      <Message>Generating src/cairo-features.h...</Message>

+      <Command>if exist .\src\cairo-features.h goto END

+

+        echo /* Generated by Makefile.win32.  Do not edit. */ &gt; .\src\cairo-features.h

+

+        echo #ifndef CAIRO_FEATURES_H &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_FEATURES_H &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_WIN32_SURFACE 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_WIN32_FONT 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_PNG_FUNCTIONS 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_FT_FONT 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_FC_FONT 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_PS_SURFACE 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_PDF_SURFACE 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_SVG_SURFACE 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #define CAIRO_HAS_GOBJECT_FUNCTIONS 1 &gt;&gt; .\src\cairo-features.h

+

+        echo #endif &gt;&gt; .\src\cairo-features.h

+

+        :END

+</Command>

+    </PreBuildEvent>

+    <ClCompile>

+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;CAIRO_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DISABLE_SOME_FLOATING_POINT;%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

+      <PrecompiledHeader>

+      </PrecompiledHeader>

+      <WarningLevel>Level3</WarningLevel>

+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>

+      <CompileAs>CompileAsC</CompileAs>

+    </ClCompile>

+    <Link>

+      <AdditionalDependencies>gdi32.lib;msimg32.lib;user32.lib;zdll.lib;libpng15.lib;pixman-1.lib;freetype.lib;fontconfig.lib;%(AdditionalDependencies)</AdditionalDependencies>

+      <OutputFile>$(OutDir)$(ProjectName).dll</OutputFile>

+      <GenerateDebugInformation>true</GenerateDebugInformation>

+      <SubSystem>Windows</SubSystem>

+      <OptimizeReferences>true</OptimizeReferences>

+      <EnableCOMDATFolding>true</EnableCOMDATFolding>

+      <RandomizedBaseAddress>false</RandomizedBaseAddress>

+      <DataExecutionPrevention>

+      </DataExecutionPrevention>

+      <ImportLibrary>$(OutDir)$(ProjectName).lib</ImportLibrary>

+      <TargetMachine>MachineX64</TargetMachine>

+    </Link>

+    <PostBuildEvent>

+      <Command>mkdir $(CopyDir)\bin

+

+        copy $(OutDir)$(ProjectName).dll $(CopyDir)\bin

+

+

+        mkdir $(CopyDir)\lib

+

+        copy $(OutDir)$(ProjectName).lib $(CopyDir)\lib

+

+

+        mkdir $(CopyDir)\include

+

+        copy .\cairo-version.h $(CopyDir)\include

+

+        copy .\src\cairo.h $(CopyDir)\include

+

+        copy .\src\cairo-deprecated.h $(CopyDir)\include

+

+        copy .\src\cairo-features.h $(CopyDir)\include

+

+        copy .\src\cairo-ft.h $(CopyDir)\include

+

+        copy .\src\cairo-pdf.h $(CopyDir)\include

+

+        copy .\src\cairo-ps.h $(CopyDir)\include

+

+        copy .\src\cairo-svg.h $(CopyDir)\include

+

+        copy .\src\cairo-win32.h $(CopyDir)\include</Command>

+    </PostBuildEvent>

+  </ItemDefinitionGroup>

+  <ItemGroup>

+    <ClCompile Include="src\cairo-analysis-surface.c" />

+    <ClCompile Include="src\cairo-arc.c" />

+    <ClCompile Include="src\cairo-array.c" />

+    <ClCompile Include="src\cairo-atomic.c" />

+    <ClCompile Include="src\cairo-base85-stream.c" />

+    <ClCompile Include="src\cairo-bentley-ottmann-rectangular.c" />

+    <ClCompile Include="src\cairo-bentley-ottmann-rectilinear.c" />

+    <ClCompile Include="src\cairo-bentley-ottmann.c" />

+    <ClCompile Include="src\cairo-boxes.c" />

+    <ClCompile Include="src\cairo-cache.c" />

+    <ClCompile Include="src\cairo-clip.c" />

+    <ClCompile Include="src\cairo-color.c" />

+    <ClCompile Include="src\cairo-composite-rectangles.c" />

+    <ClCompile Include="src\cairo-debug.c" />

+    <ClCompile Include="src\cairo-device.c" />

+    <ClCompile Include="src\cairo-fixed.c" />

+    <ClCompile Include="src\cairo-font-face-twin-data.c" />

+    <ClCompile Include="src\cairo-font-face-twin.c" />

+    <ClCompile Include="src\cairo-font-face.c" />

+    <ClCompile Include="src\cairo-font-options.c" />

+    <ClCompile Include="src\cairo-freelist.c" />

+    <ClCompile Include="src\cairo-gstate.c" />

+    <ClCompile Include="src\cairo-hash.c" />

+    <ClCompile Include="src\cairo-hull.c" />

+    <ClCompile Include="src\cairo-image-info.c" />

+    <ClCompile Include="src\cairo-image-surface.c" />

+    <ClCompile Include="src\cairo-lzw.c" />

+    <ClCompile Include="src\cairo-matrix.c" />

+    <ClCompile Include="src\cairo-misc.c" />

+    <ClCompile Include="src\cairo-mutex.c" />

+    <ClCompile Include="src\cairo-observer.c" />

+    <ClCompile Include="src\cairo-output-stream.c" />

+    <ClCompile Include="src\cairo-paginated-surface.c" />

+    <ClCompile Include="src\cairo-path-bounds.c" />

+    <ClCompile Include="src\cairo-path-fill.c" />

+    <ClCompile Include="src\cairo-path-fixed.c" />

+    <ClCompile Include="src\cairo-path-in-fill.c" />

+    <ClCompile Include="src\cairo-path-stroke.c" />

+    <ClCompile Include="src\cairo-path.c" />

+    <ClCompile Include="src\cairo-pattern.c" />

+    <ClCompile Include="src\cairo-pen.c" />

+    <ClCompile Include="src\cairo-polygon.c" />

+    <ClCompile Include="src\cairo-recording-surface.c" />

+    <ClCompile Include="src\cairo-rectangle.c" />

+    <ClCompile Include="src\cairo-rectangular-scan-converter.c" />

+    <ClCompile Include="src\cairo-region.c" />

+    <ClCompile Include="src\cairo-rtree.c" />

+    <ClCompile Include="src\cairo-scaled-font.c" />

+    <ClCompile Include="src\cairo-slope.c" />

+    <ClCompile Include="src\cairo-spans.c" />

+    <ClCompile Include="src\cairo-spline.c" />

+    <ClCompile Include="src\cairo-stroke-style.c" />

+    <ClCompile Include="src\cairo-surface-clipper.c" />

+    <ClCompile Include="src\cairo-surface-fallback.c" />

+    <ClCompile Include="src\cairo-surface-offset.c" />

+    <ClCompile Include="src\cairo-surface-snapshot.c" />

+    <ClCompile Include="src\cairo-surface-subsurface.c" />

+    <ClCompile Include="src\cairo-surface-wrapper.c" />

+    <ClCompile Include="src\cairo-surface.c" />

+    <ClCompile Include="src\cairo-system.c" />

+    <ClCompile Include="src\cairo-tor-scan-converter.c" />

+    <ClCompile Include="src\cairo-toy-font-face.c" />

+    <ClCompile Include="src\cairo-traps.c" />

+    <ClCompile Include="src\cairo-unicode.c" />

+    <ClCompile Include="src\cairo-user-font.c" />

+    <ClCompile Include="src\cairo-version.c" />

+    <ClCompile Include="src\cairo-wideint.c" />

+    <ClCompile Include="src\cairo.c" />

+    <ClCompile Include="src\cairo-cff-subset.c" />

+    <ClCompile Include="src\cairo-scaled-font-subsets.c" />

+    <ClCompile Include="src\cairo-truetype-subset.c" />

+    <ClCompile Include="src\cairo-type1-fallback.c" />

+    <ClCompile Include="src\cairo-type1-subset.c" />

+    <ClCompile Include="src\cairo-type3-glyph-surface.c" />

+    <ClCompile Include="src\cairo-png.c" />

+    <ClCompile Include="src\cairo-ps-surface.c" />

+    <ClCompile Include="src\cairo-deflate-stream.c" />

+    <ClCompile Include="src\cairo-pdf-operators.c" />

+    <ClCompile Include="src\cairo-pdf-surface.c" />

+    <ClCompile Include="src\cairo-svg-surface.c" />

+    <ClCompile Include="src\cairo-ft-font.c" />

+    <ClCompile Include="src\cairo-win32-font.c" />

+    <ClCompile Include="src\cairo-win32-printing-surface.c" />

+    <ClCompile Include="src\cairo-win32-surface.c" />

+  </ItemGroup>

+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

+  <ImportGroup Label="ExtensionTargets">

+  </ImportGroup>

+</Project>
\ No newline at end of file
diff --git a/win32/deps/cairo/cairo.vcxproj.filters b/win32/deps/cairo/cairo.vcxproj.filters
new file mode 100644
index 00000000..b09b5d88
--- /dev/null
+++ b/win32/deps/cairo/cairo.vcxproj.filters
@@ -0,0 +1,284 @@
+<?xml version="1.0" encoding="utf-8"?>

+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

+  <ItemGroup>

+    <Filter Include="Sources">

+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>

+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>

+    </Filter>

+    <Filter Include="Sources\font_subset">

+      <UniqueIdentifier>{341c014f-3605-4989-ac83-283d41bb6603}</UniqueIdentifier>

+    </Filter>

+    <Filter Include="Sources\png">

+      <UniqueIdentifier>{2f1441dc-7150-4262-9a07-cbaa3499ab79}</UniqueIdentifier>

+    </Filter>

+    <Filter Include="Sources\ps">

+      <UniqueIdentifier>{cd1af522-932f-45ac-b256-f4184aa837ba}</UniqueIdentifier>

+    </Filter>

+    <Filter Include="Sources\pdf">

+      <UniqueIdentifier>{5f35fb5b-b444-4a70-8f05-97c5fa6f7095}</UniqueIdentifier>

+    </Filter>

+    <Filter Include="Sources\svg">

+      <UniqueIdentifier>{8c402037-b911-4b03-ab65-a17fd064a475}</UniqueIdentifier>

+    </Filter>

+    <Filter Include="Sources\freetype">

+      <UniqueIdentifier>{bb015e7a-e395-489d-ba2f-d8cb5622c186}</UniqueIdentifier>

+    </Filter>

+    <Filter Include="Sources\win32">

+      <UniqueIdentifier>{5db6f534-7946-44eb-acfc-cfd45b333154}</UniqueIdentifier>

+    </Filter>

+  </ItemGroup>

+  <ItemGroup>

+    <ClCompile Include="src\cairo-analysis-surface.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-arc.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-array.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-atomic.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-base85-stream.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-bentley-ottmann-rectangular.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-bentley-ottmann-rectilinear.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-bentley-ottmann.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-boxes.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-cache.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-clip.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-color.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-composite-rectangles.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-debug.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-device.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-fixed.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-font-face-twin-data.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-font-face-twin.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-font-face.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-font-options.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-freelist.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-gstate.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-hash.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-hull.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-image-info.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-image-surface.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-lzw.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-matrix.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-misc.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-mutex.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-observer.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-output-stream.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-paginated-surface.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-path-bounds.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-path-fill.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-path-fixed.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-path-in-fill.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-path-stroke.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-path.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-pattern.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-pen.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-polygon.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-recording-surface.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-rectangle.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-rectangular-scan-converter.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-region.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-rtree.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-scaled-font.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-slope.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-spans.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-spline.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-stroke-style.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-surface-clipper.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-surface-fallback.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-surface-offset.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-surface-snapshot.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-surface-subsurface.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-surface-wrapper.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-surface.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-system.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-tor-scan-converter.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-toy-font-face.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-traps.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-unicode.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-user-font.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-version.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-wideint.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo.c">

+      <Filter>Sources</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-cff-subset.c">

+      <Filter>Sources\font_subset</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-scaled-font-subsets.c">

+      <Filter>Sources\font_subset</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-truetype-subset.c">

+      <Filter>Sources\font_subset</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-type1-fallback.c">

+      <Filter>Sources\font_subset</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-type1-subset.c">

+      <Filter>Sources\font_subset</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-type3-glyph-surface.c">

+      <Filter>Sources\font_subset</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-png.c">

+      <Filter>Sources\png</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-ps-surface.c">

+      <Filter>Sources\ps</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-deflate-stream.c">

+      <Filter>Sources\pdf</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-pdf-operators.c">

+      <Filter>Sources\pdf</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-pdf-surface.c">

+      <Filter>Sources\pdf</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-svg-surface.c">

+      <Filter>Sources\svg</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-ft-font.c">

+      <Filter>Sources\freetype</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-win32-font.c">

+      <Filter>Sources\win32</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-win32-printing-surface.c">

+      <Filter>Sources\win32</Filter>

+    </ClCompile>

+    <ClCompile Include="src\cairo-win32-surface.c">

+      <Filter>Sources\win32</Filter>

+    </ClCompile>

+  </ItemGroup>

+</Project>
\ No newline at end of file
diff --git a/win32/deps/cairo/release-x64.bat b/win32/deps/cairo/release-x64.bat
new file mode 100644
index 00000000..8155ca85
--- /dev/null
+++ b/win32/deps/cairo/release-x64.bat
@@ -0,0 +1,21 @@
+:: run this from a command prompt

+@echo off

+

+SET PACKAGE_NAME=cairo-1.10.2

+

+set CAIRO_SRC=%cd%

+set CAIRO_DEST=%cd%-rel

+echo.Press return when ready to install!

+pause

+

+copy COPYING %CAIRO_DEST%\LICENSE.CAIRO

+

+cd %CAIRO_DEST%

+set PATH=%PATH%;%ProgramFiles%\7-zip

+del ..\%PACKAGE_NAME%-x64.7z

+7z a ..\%PACKAGE_NAME%-x64.7z *

+cd %CAIRO_SRC%

+rmdir /q /s %CAIRO_DEST%

+

+echo.Finished!

+pause

diff --git a/win32/deps/cairo/release-x86.bat b/win32/deps/cairo/release-x86.bat
new file mode 100644
index 00000000..dcd0ed82
--- /dev/null
+++ b/win32/deps/cairo/release-x86.bat
@@ -0,0 +1,21 @@
+:: run this from a command prompt

+@echo off

+

+SET PACKAGE_NAME=cairo-1.10.2

+

+set CAIRO_SRC=%cd%

+set CAIRO_DEST=%cd%-rel

+echo.Press return when ready to install!

+pause

+

+copy COPYING %CAIRO_DEST%\LICENSE.CAIRO

+

+cd %CAIRO_DEST%

+set PATH=%PATH%;%ProgramFiles%\7-zip

+del ..\%PACKAGE_NAME%-x86.7z

+7z a ..\%PACKAGE_NAME%-x86.7z *

+cd %CAIRO_SRC%

+rmdir /q /s %CAIRO_DEST%

+

+echo.Finished!

+pause