summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorRobin Watts <robin.watts@artifex.com>2015-04-03 12:01:49 +0100
committerRobin Watts <robin.watts@artifex.com>2015-04-06 19:31:59 +0100
commit4c9611cb3d9f18322f8e77f8ba493799d77c0a0a (patch)
treed8b8fa3450ba94391d30ab61038ee97cfbabbc6d /platform
parent1ed4656f99a09f38216d11275fe85bb75c0d635a (diff)
downloadmupdf-4c9611cb3d9f18322f8e77f8ba493799d77c0a0a.tar.xz
Remove gsview from mupdf repo.
It has its own repo now. See http://git.ghostscript.com/?p=gsview.git
Diffstat (limited to 'platform')
-rw-r--r--platform/windows/README.txt39
-rw-r--r--platform/windows/generate.bat39
-rw-r--r--platform/windows/generated.vcxproj160
-rw-r--r--platform/windows/generated.vcxproj.filters60
-rw-r--r--platform/windows/gsprint.vcxproj164
-rw-r--r--platform/windows/gsprint/dllmain.cpp19
-rw-r--r--platform/windows/gsprint/gsprint.cpp73
-rw-r--r--platform/windows/gsprint/gsprint.h12
-rw-r--r--platform/windows/gsview/About.xaml96
-rw-r--r--platform/windows/gsview/About.xaml.cs255
-rw-r--r--platform/windows/gsview/App.config6
-rw-r--r--platform/windows/gsview/App.xaml7
-rw-r--r--platform/windows/gsview/App.xaml.cs16
-rw-r--r--platform/windows/gsview/ContentEntry.cs29
-rw-r--r--platform/windows/gsview/ContentItem.cs42
-rw-r--r--platform/windows/gsview/Convert.xaml120
-rw-r--r--platform/windows/gsview/Convert.xaml.cs214
-rw-r--r--platform/windows/gsview/DocPage.cs281
-rw-r--r--platform/windows/gsview/Info.xaml11
-rw-r--r--platform/windows/gsview/Info.xaml.cs31
-rw-r--r--platform/windows/gsview/LICENSE66
-rw-r--r--platform/windows/gsview/Links.cs31
-rw-r--r--platform/windows/gsview/MainWindow.xaml794
-rw-r--r--platform/windows/gsview/MainWindow.xaml.cs5058
-rw-r--r--platform/windows/gsview/OutputIntent.xaml50
-rw-r--r--platform/windows/gsview/OutputIntent.xaml.cs105
-rw-r--r--platform/windows/gsview/PageExtractSave.xaml59
-rw-r--r--platform/windows/gsview/PageExtractSave.xaml.cs213
-rw-r--r--platform/windows/gsview/Password.xaml15
-rw-r--r--platform/windows/gsview/Password.xaml.cs35
-rw-r--r--platform/windows/gsview/PrintControl.xaml247
-rw-r--r--platform/windows/gsview/PrintControl.xaml.cs697
-rw-r--r--platform/windows/gsview/Properties/AssemblyInfo.cs55
-rw-r--r--platform/windows/gsview/Properties/Resources.Designer.cs153
-rw-r--r--platform/windows/gsview/Properties/Resources.resx148
-rw-r--r--platform/windows/gsview/Properties/Settings.Designer.cs26
-rw-r--r--platform/windows/gsview/Properties/Settings.settings7
-rw-r--r--platform/windows/gsview/Properties/pdfa_def.ps40
-rw-r--r--platform/windows/gsview/Properties/pdfx_def.ps48
-rw-r--r--platform/windows/gsview/README.txt8
-rw-r--r--platform/windows/gsview/RectList.cs99
-rw-r--r--platform/windows/gsview/Resources/ActualSize48.pngbin4830 -> 0 bytes
-rw-r--r--platform/windows/gsview/Resources/Close.icobin29926 -> 0 bytes
-rw-r--r--platform/windows/gsview/Resources/ContScrollFill48.pngbin4269 -> 0 bytes
-rw-r--r--platform/windows/gsview/Resources/ExpandFill48.pngbin4753 -> 0 bytes
-rw-r--r--platform/windows/gsview/Resources/FloppyDisk.icobin304054 -> 0 bytes
-rw-r--r--platform/windows/gsview/Resources/Left.icobin29926 -> 0 bytes
-rw-r--r--platform/windows/gsview/Resources/Message.pngbin232 -> 0 bytes
-rw-r--r--platform/windows/gsview/Resources/OpenFile.pngbin3157 -> 0 bytes
-rw-r--r--platform/windows/gsview/Resources/Right.icobin29926 -> 0 bytes
-rw-r--r--platform/windows/gsview/Resources/banner.pngbin12172 -> 0 bytes
-rw-r--r--platform/windows/gsview/Resources/contents.icobin4286 -> 0 bytes
-rw-r--r--platform/windows/gsview/Resources/copy.icobin37611 -> 0 bytes
-rw-r--r--platform/windows/gsview/Resources/folder_open.icobin53411 -> 0 bytes
-rw-r--r--platform/windows/gsview/Resources/gsview_app.icobin370070 -> 0 bytes
-rw-r--r--platform/windows/gsview/Resources/hyperlink.pngbin3531 -> 0 bytes
-rw-r--r--platform/windows/gsview/Resources/info.pngbin4639 -> 0 bytes
-rw-r--r--platform/windows/gsview/Resources/pageCBZ.icobin370070 -> 0 bytes
-rw-r--r--platform/windows/gsview/Resources/pageEPS.icobin370070 -> 0 bytes
-rw-r--r--platform/windows/gsview/Resources/pageJPG.icobin370070 -> 0 bytes
-rw-r--r--platform/windows/gsview/Resources/pageOXPS.icobin370070 -> 0 bytes
-rw-r--r--platform/windows/gsview/Resources/pagePDF.icobin370070 -> 0 bytes
-rw-r--r--platform/windows/gsview/Resources/pagePNG.icobin370070 -> 0 bytes
-rw-r--r--platform/windows/gsview/Resources/pagePS.icobin370070 -> 0 bytes
-rw-r--r--platform/windows/gsview/Resources/pageXPS.icobin370070 -> 0 bytes
-rw-r--r--platform/windows/gsview/Resources/printer.icobin55326 -> 0 bytes
-rw-r--r--platform/windows/gsview/Resources/saveHS.pngbin595 -> 0 bytes
-rw-r--r--platform/windows/gsview/Resources/search.icobin67646 -> 0 bytes
-rw-r--r--platform/windows/gsview/Resources/search.pngbin3491 -> 0 bytes
-rw-r--r--platform/windows/gsview/Resources/thumbnail.icobin1150 -> 0 bytes
-rw-r--r--platform/windows/gsview/Resources/zoom_in.icobin67646 -> 0 bytes
-rw-r--r--platform/windows/gsview/Resources/zoom_out.icobin67646 -> 0 bytes
-rw-r--r--platform/windows/gsview/Selection.xaml49
-rw-r--r--platform/windows/gsview/Selection.xaml.cs235
-rw-r--r--platform/windows/gsview/Strings/en-US/Messages.Designer.cs63
-rw-r--r--platform/windows/gsview/Strings/en-US/Messages.resx101
-rw-r--r--platform/windows/gsview/TextBlock.cs121
-rw-r--r--platform/windows/gsview/TextCharacter.cs79
-rw-r--r--platform/windows/gsview/TextLine.cs121
-rw-r--r--platform/windows/gsview/ghostsharp.cs1178
-rw-r--r--platform/windows/gsview/gsIO.cs32
-rw-r--r--platform/windows/gsview/gsOutput.xaml51
-rw-r--r--platform/windows/gsview/gsOutput.xaml.cs60
-rw-r--r--platform/windows/gsview/gsprint.cs452
-rw-r--r--platform/windows/gsview/gsprintbg.cs261
-rw-r--r--platform/windows/gsview/gsview.csproj288
-rw-r--r--platform/windows/gsview/gsview.visualelementsmanifest.xml7
-rw-r--r--platform/windows/gsview/gsview_app.icobin370070 -> 0 bytes
-rw-r--r--platform/windows/gsview/mudocument.cs1795
-rw-r--r--platform/windows/gsview/nsis/gsview.nsi552
-rw-r--r--platform/windows/libmupdf-nov8_winRT.vcxproj299
-rw-r--r--platform/windows/libmupdf-nov8_winRT.vcxproj.filters6
-rw-r--r--platform/windows/libmupdf/libmupdf.vcxproj372
-rw-r--r--platform/windows/libmupdf/libmupdf.vcxproj.filters672
-rw-r--r--platform/windows/libmupdf_winRT.vcxproj529
-rw-r--r--platform/windows/libmupdf_winRT.vcxproj.filters693
-rw-r--r--platform/windows/libthirdparty/libthirdparty.vcxproj418
-rw-r--r--platform/windows/libthirdparty/libthirdparty.vcxproj.filters825
-rw-r--r--platform/windows/libthirdparty_winRT.vcxproj571
-rw-r--r--platform/windows/libthirdparty_winRT.vcxproj.filters825
-rw-r--r--platform/windows/mupdf.sln738
-rw-r--r--platform/windows/mupdf_cpp/App.xaml20
-rw-r--r--platform/windows/mupdf_cpp/App.xaml.cpp131
-rw-r--r--platform/windows/mupdf_cpp/App.xaml.h24
-rw-r--r--platform/windows/mupdf_cpp/Assets/Logo.Scale-100.pngbin14183 -> 0 bytes
-rw-r--r--platform/windows/mupdf_cpp/Assets/Logo.Scale-140.pngbin19150 -> 0 bytes
-rw-r--r--platform/windows/mupdf_cpp/Assets/Logo.Scale-180.pngbin24211 -> 0 bytes
-rw-r--r--platform/windows/mupdf_cpp/Assets/Logo.Scale-80.pngbin11656 -> 0 bytes
-rw-r--r--platform/windows/mupdf_cpp/Assets/StoreLogo.scale-100.pngbin5816 -> 0 bytes
-rw-r--r--platform/windows/mupdf_cpp/Assets/StoreLogo.scale-140.pngbin7512 -> 0 bytes
-rw-r--r--platform/windows/mupdf_cpp/Assets/StoreLogo.scale-180.pngbin9262 -> 0 bytes
-rw-r--r--platform/windows/mupdf_cpp/Assets/WideLogo.scale-100.pngbin30014 -> 0 bytes
-rw-r--r--platform/windows/mupdf_cpp/Assets/WideLogo.scale-140.pngbin51342 -> 0 bytes
-rw-r--r--platform/windows/mupdf_cpp/Assets/WideLogo.scale-180.pngbin68929 -> 0 bytes
-rw-r--r--platform/windows/mupdf_cpp/Assets/WideLogo.scale-80.pngbin22486 -> 0 bytes
-rw-r--r--platform/windows/mupdf_cpp/Assets/mupdf_smallogo.pngbin4299 -> 0 bytes
-rw-r--r--platform/windows/mupdf_cpp/Assets/mupdf_splash.pngbin28390 -> 0 bytes
-rw-r--r--platform/windows/mupdf_cpp/Common/StandardStyles.xaml1889
-rw-r--r--platform/windows/mupdf_cpp/DocumentPage.cpp15
-rw-r--r--platform/windows/mupdf_cpp/DocumentPage.h231
-rw-r--r--platform/windows/mupdf_cpp/MainPage.xaml299
-rw-r--r--platform/windows/mupdf_cpp/MainPage.xaml.cpp2394
-rw-r--r--platform/windows/mupdf_cpp/MainPage.xaml.h319
-rw-r--r--platform/windows/mupdf_cpp/Package.StoreAssociation.xml375
-rw-r--r--platform/windows/mupdf_cpp/Package.appxmanifest41
-rw-r--r--platform/windows/mupdf_cpp/PrintPage.cpp165
-rw-r--r--platform/windows/mupdf_cpp/PrintPage.h57
-rw-r--r--platform/windows/mupdf_cpp/RectList.cpp9
-rw-r--r--platform/windows/mupdf_cpp/RectList.h153
-rw-r--r--platform/windows/mupdf_cpp/mupdf_cpp.rcbin2664 -> 0 bytes
-rw-r--r--platform/windows/mupdf_cpp/mupdf_cpp.vcxproj280
-rw-r--r--platform/windows/mupdf_cpp/mupdf_cpp.vcxproj.filters75
-rw-r--r--platform/windows/mupdf_cpp/pch.cpp6
-rw-r--r--platform/windows/mupdf_cpp/pch.h18
-rw-r--r--platform/windows/mupdfnet/mupdfnet.cpp481
-rw-r--r--platform/windows/mupdfnet/mupdfnet.h79
-rw-r--r--platform/windows/mupdfnet/mupdfnet.vcxproj221
-rw-r--r--platform/windows/mupdfnet/mupdfnet.vcxproj.filters42
-rw-r--r--platform/windows/mupdfwinrt/Cache.cpp124
-rw-r--r--platform/windows/mupdfwinrt/Cache.h38
-rw-r--r--platform/windows/mupdfwinrt/ContentItem.cpp11
-rw-r--r--platform/windows/mupdfwinrt/ContentItem.h58
-rw-r--r--platform/windows/mupdfwinrt/Links.cpp12
-rw-r--r--platform/windows/mupdfwinrt/Links.h88
-rw-r--r--platform/windows/mupdfwinrt/muctx.cpp911
-rw-r--r--platform/windows/mupdfwinrt/muctx.h125
-rw-r--r--platform/windows/mupdfwinrt/mudocument.cpp474
-rw-r--r--platform/windows/mupdfwinrt/mudocument.h55
-rw-r--r--platform/windows/mupdfwinrt/mupdfwinrt.vcxproj249
-rw-r--r--platform/windows/mupdfwinrt/mupdfwinrt.vcxproj.filters27
-rw-r--r--platform/windows/mupdfwinrt/pch.cpp6
-rw-r--r--platform/windows/mupdfwinrt/pch.h6
-rw-r--r--platform/windows/mupdfwinrt/status.h19
-rw-r--r--platform/windows/mupdfwinrt/utils.cpp28
-rw-r--r--platform/windows/mupdfwinrt/utils.h7
155 files changed, 0 insertions, 30583 deletions
diff --git a/platform/windows/README.txt b/platform/windows/README.txt
deleted file mode 100644
index 4beaefbf..00000000
--- a/platform/windows/README.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-This MSVC project needs the thirdparty sources to be in place.
-
-mupdf_cpp:
-
-This is the c++ viewer code, which creates and handles the UI.
-
-mupdfwinrt:
-
-This defines the WinRT interface to mupdf.
-There are two primary classes, mudocument and muctx.
-The viewer code should create a
-mudocument type and make use of the methods in
-this winRT class. The mupdocument class is a winRT
-class and the methods should be callable from
-C++, C#, Javascript etc.
-
-The muctx class interfaces to the mupdf API calls
-and pretty much uses standard c++ methods with
-the exception of the Windows types String and Point.
-
-mupdfwinrt lib is linked statically to the viewer
-code, but this could be set up as a DLL if desired.
-
-The libraries generated, libmupdf_winRT, libmupdf-nov8_winRT
-and libthridparty_winRT are essentially the same as those
-in the win32 project, however they are needed here for
-building with VS 2012 ARM target.
-
-Current Issues:
-
-Space/Tab needs to be reworked in files
-
-State needs to be saved during suspension
-
-Still needs additional error checking
-
-Needs progress bar during text search
-
-Help info needs to be populated
diff --git a/platform/windows/generate.bat b/platform/windows/generate.bat
deleted file mode 100644
index 934dec4b..00000000
--- a/platform/windows/generate.bat
+++ /dev/null
@@ -1,39 +0,0 @@
-@echo off
-
-if not exist scripts/fontdump.c cd ../..
-if not exist scripts/fontdump.c goto usage
-if not exist generated mkdir generated
-
-cl /nologo -Iinclude scripts/fontdump.c setargv.obj
-cl /nologo -Iinclude scripts/cmapdump.c setargv.obj
-cl /nologo -Iinclude scripts/cquote.c setargv.obj
-cl /nologo -Iinclude scripts/bin2hex.c setargv.obj
-
-if not exist fontdump.exe goto usage
-if not exist cmapdump.exe goto usage
-if not exist cquote.exe goto usage
-if not exist bin2hex.exe goto usage
-
-if not exist generated/gen_font_base14.h fontdump.exe generated/gen_font_base14.h resources/fonts/urw/*.cff
-if not exist generated/gen_font_droid.h fontdump.exe generated/gen_font_droid.h resources/fonts/droid/DroidSans.ttf resources/fonts/droid/DroidSansMono.ttf
-if not exist generated/gen_font_cjk.h fontdump.exe generated/gen_font_cjk.h resources/fonts/droid/DroidSansFallback.ttc
-if not exist generated/gen_font_cjk_full.h fontdump.exe generated/gen_font_cjk_full.h resources/fonts/droid/DroidSansFallbackFull.ttc
-
-if not exist generated/gen_cmap_cns.h cmapdump.exe generated/gen_cmap_cns.h resources\cmaps\cns\*
-if not exist generated/gen_cmap_gb.h cmapdump.exe generated/gen_cmap_gb.h resources\cmaps\gb\*
-if not exist generated/gen_cmap_japan.h cmapdump.exe generated/gen_cmap_japan.h resources\cmaps\japan\*
-if not exist generated/gen_cmap_korea.h cmapdump.exe generated/gen_cmap_korea.h resources\cmaps\korea\*
-
-if not exist generated/gen_adobe_ca.h bin2hex.exe generated/gen_adobe_ca.h resources/certs/AdobeCA.p7c
-if not exist generated/gen_js_util.h cquote.exe generated/gen_js_util.h source/pdf/js/pdf-util.js
-
-del cmapdump.obj fontdump.obj cquote.obj bin2hex.obj cmapdump.exe fontdump.exe cquote.exe bin2hex.exe
-
-goto fin
-
-:usage
-echo ERROR: Run this script in the mupdf directory.
-echo ERROR: Run this script in a Visual Studio command prompt.
-pause
-
-:fin
diff --git a/platform/windows/generated.vcxproj b/platform/windows/generated.vcxproj
deleted file mode 100644
index 77127696..00000000
--- a/platform/windows/generated.vcxproj
+++ /dev/null
@@ -1,160 +0,0 @@
-<?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|ARM">
- <Configuration>Debug</Configuration>
- <Platform>ARM</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Memento|ARM">
- <Configuration>Memento</Configuration>
- <Platform>ARM</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Memento|Win32">
- <Configuration>Memento</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|ARM">
- <Configuration>Release</Configuration>
- <Platform>ARM</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{A5053AA7-02E5-4903-B596-04F17AEB1526}</ProjectGuid>
- <Keyword>MakeFileProj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|Win32'" Label="Configuration">
- <ConfigurationType>Makefile</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|ARM'" Label="Configuration">
- <ConfigurationType>Makefile</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Makefile</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
- <ConfigurationType>Makefile</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Makefile</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
- <ConfigurationType>Makefile</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Memento|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Memento|ARM'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </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" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </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" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <_ProjectFileVersion>11.0.51106.1</_ProjectFileVersion>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <OutDir>$(Configuration)\</OutDir>
- <IntDir>$(Configuration)\</IntDir>
- <NMakeBuildCommandLine>generate.bat</NMakeBuildCommandLine>
- <NMakeReBuildCommandLine>del /q ..\..\generated &amp;&amp; generate.bat</NMakeReBuildCommandLine>
- <NMakeCleanCommandLine>del /q ..\..\generated</NMakeCleanCommandLine>
- <NMakeOutput>
- </NMakeOutput>
- <NMakePreprocessorDefinitions>WIN32;_DEBUG;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
- <NMakeBuildCommandLine>generate.bat</NMakeBuildCommandLine>
- <NMakeReBuildCommandLine>del /q ..\generated &amp;&amp; generate.bat</NMakeReBuildCommandLine>
- <NMakeCleanCommandLine>del /q ..\generated</NMakeCleanCommandLine>
- <NMakeOutput />
- <NMakePreprocessorDefinitions>WIN32;_DEBUG;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <OutDir>$(Configuration)\</OutDir>
- <IntDir>$(Configuration)\</IntDir>
- <NMakeBuildCommandLine>generate.bat</NMakeBuildCommandLine>
- <NMakeReBuildCommandLine>del /q ..\..\generated &amp;&amp; generate.bat</NMakeReBuildCommandLine>
- <NMakeCleanCommandLine>del /q ..\..\generated</NMakeCleanCommandLine>
- <NMakeOutput>
- </NMakeOutput>
- <NMakePreprocessorDefinitions>WIN32;NDEBUG;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
- <NMakeBuildCommandLine>generate.bat</NMakeBuildCommandLine>
- <NMakeReBuildCommandLine>del /q ..\generated &amp;&amp; generate.bat</NMakeReBuildCommandLine>
- <NMakeCleanCommandLine>del /q ..\generated</NMakeCleanCommandLine>
- <NMakeOutput>generated\cmap_cns.h</NMakeOutput>
- <NMakePreprocessorDefinitions>WIN32;NDEBUG;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|Win32'">
- <OutDir>$(Configuration)\</OutDir>
- <IntDir>$(Configuration)\</IntDir>
- <NMakeBuildCommandLine>generate.bat</NMakeBuildCommandLine>
- <NMakeReBuildCommandLine>del /q ..\..\generated &amp;&amp; generate.bat</NMakeReBuildCommandLine>
- <NMakeCleanCommandLine>del /q ..\..\generated</NMakeCleanCommandLine>
- <NMakeOutput>
- </NMakeOutput>
- <NMakePreprocessorDefinitions>WIN32;_DEBUG;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|ARM'">
- <NMakeBuildCommandLine>generate.bat</NMakeBuildCommandLine>
- <NMakeReBuildCommandLine>del /q ..\generated &amp;&amp; generate.bat</NMakeReBuildCommandLine>
- <NMakeCleanCommandLine>del /q ..\generated</NMakeCleanCommandLine>
- <NMakeOutput>generated\cmap_cns.h</NMakeOutput>
- <NMakePreprocessorDefinitions>WIN32;_DEBUG;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
- </PropertyGroup>
- <ItemDefinitionGroup>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="..\..\scripts\bin2hex.c" />
- <ClCompile Include="..\..\scripts\cmapdump.c" />
- <ClCompile Include="..\..\scripts\cquote.c" />
- <ClCompile Include="..\..\scripts\fontdump.c" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="..\..\generated\gen_adobe_ca.h" />
- <ClInclude Include="..\..\generated\gen_cmap_cns.h" />
- <ClInclude Include="..\..\generated\gen_cmap_gb.h" />
- <ClInclude Include="..\..\generated\gen_cmap_japan.h" />
- <ClInclude Include="..\..\generated\gen_cmap_korea.h" />
- <ClInclude Include="..\..\generated\gen_font_base14.h" />
- <ClInclude Include="..\..\generated\gen_font_cjk.h" />
- <ClInclude Include="..\..\generated\gen_font_cjk_full.h" />
- <ClInclude Include="..\..\generated\gen_font_droid.h" />
- <ClInclude Include="..\..\generated\gen_js_util.h" />
- </ItemGroup>
- <ItemGroup>
- <None Include="generate.bat" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project> \ No newline at end of file
diff --git a/platform/windows/generated.vcxproj.filters b/platform/windows/generated.vcxproj.filters
deleted file mode 100644
index 94e3a8e0..00000000
--- a/platform/windows/generated.vcxproj.filters
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="scripts">
- <UniqueIdentifier>{336f64c0-6502-4d6d-91bd-4b52ff0e5be6}</UniqueIdentifier>
- </Filter>
- <Filter Include="generated">
- <UniqueIdentifier>{d381092b-b798-4bb4-851b-9d85f2072427}</UniqueIdentifier>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="..\..\scripts\bin2hex.c">
- <Filter>scripts</Filter>
- </ClCompile>
- <ClCompile Include="..\..\scripts\cmapdump.c">
- <Filter>scripts</Filter>
- </ClCompile>
- <ClCompile Include="..\..\scripts\cquote.c">
- <Filter>scripts</Filter>
- </ClCompile>
- <ClCompile Include="..\..\scripts\fontdump.c">
- <Filter>scripts</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="..\..\generated\gen_adobe_ca.h">
- <Filter>generated</Filter>
- </ClInclude>
- <ClInclude Include="..\..\generated\gen_cmap_cns.h">
- <Filter>generated</Filter>
- </ClInclude>
- <ClInclude Include="..\..\generated\gen_cmap_gb.h">
- <Filter>generated</Filter>
- </ClInclude>
- <ClInclude Include="..\..\generated\gen_cmap_japan.h">
- <Filter>generated</Filter>
- </ClInclude>
- <ClInclude Include="..\..\generated\gen_cmap_korea.h">
- <Filter>generated</Filter>
- </ClInclude>
- <ClInclude Include="..\..\generated\gen_font_cjk.h">
- <Filter>generated</Filter>
- </ClInclude>
- <ClInclude Include="..\..\generated\gen_font_cjk_full.h">
- <Filter>generated</Filter>
- </ClInclude>
- <ClInclude Include="..\..\generated\gen_font_droid.h">
- <Filter>generated</Filter>
- </ClInclude>
- <ClInclude Include="..\..\generated\gen_js_util.h">
- <Filter>generated</Filter>
- </ClInclude>
- <ClInclude Include="..\..\generated\gen_font_base14.h">
- <Filter>generated</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="generate.bat" />
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/platform/windows/gsprint.vcxproj b/platform/windows/gsprint.vcxproj
deleted file mode 100644
index c191599d..00000000
--- a/platform/windows/gsprint.vcxproj
+++ /dev/null
@@ -1,164 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.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">
- <ProjectGuid>{09FE8E75-9952-44E7-95F8-E8D74707FBA1}</ProjectGuid>
- <Keyword>Win32Proj</Keyword>
- <RootNamespace>gsprint</RootNamespace>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </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" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </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" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <LinkIncremental>true</LinkIncremental>
- <OutDir>$(SolutionDir)\gsview\bin\$(Configuration)\</OutDir>
- <IntDir>$(Platform)\$(Configuration)\</IntDir>
- <TargetName>$(ProjectName)32</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <LinkIncremental>true</LinkIncremental>
- <OutDir>$(SolutionDir)\gsview\bin\$(Configuration)\</OutDir>
- <TargetName>$(ProjectName)64</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <LinkIncremental>false</LinkIncremental>
- <TargetName>$(ProjectName)32</TargetName>
- <OutDir>$(SolutionDir)\gsview\bin\$(Configuration)\</OutDir>
- <IntDir>$(Platform)\$(Configuration)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <LinkIncremental>false</LinkIncremental>
- <OutDir>$(SolutionDir)\gsview\bin\$(Configuration)\</OutDir>
- <TargetName>$(ProjectName)64</TargetName>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;GSPRINT_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <SubSystem>Windows</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;GSPRINT_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <SubSystem>Windows</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <Optimization>MaxSpeed</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;GSPRINT_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <SubSystem>Windows</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <Optimization>MaxSpeed</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;GSPRINT_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <SubSystem>Windows</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <Text Include="ReadMe.txt" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="gsprint\gsprint.h" />
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="gsprint\dllmain.cpp" />
- <ClCompile Include="gsprint\gsprint.cpp" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project> \ No newline at end of file
diff --git a/platform/windows/gsprint/dllmain.cpp b/platform/windows/gsprint/dllmain.cpp
deleted file mode 100644
index bfaa6519..00000000
--- a/platform/windows/gsprint/dllmain.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
-// dllmain.cpp : Defines the entry point for the DLL application.
-#include <windows.h>
-
-BOOL APIENTRY DllMain( HMODULE hModule,
- DWORD ul_reason_for_call,
- LPVOID lpReserved
- )
-{
- switch (ul_reason_for_call)
- {
- case DLL_PROCESS_ATTACH:
- case DLL_THREAD_ATTACH:
- case DLL_THREAD_DETACH:
- case DLL_PROCESS_DETACH:
- break;
- }
- return TRUE;
-}
-
diff --git a/platform/windows/gsprint/gsprint.cpp b/platform/windows/gsprint/gsprint.cpp
deleted file mode 100644
index 4f4a3924..00000000
--- a/platform/windows/gsprint/gsprint.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-// gsprint.cpp : Defines the exported functions for the DLL application.
-//
-#include "gsprint.h"
-#include "stdlib.h"
-
-#define FAIL -1
-
-/* Code to handle the special device properties window as well as make sure
- * that the values are maintained when we leave */
-SYMBOL_DECLSPEC int __stdcall ShowPropertiesDialog(void *hptr, void *printername, bool show_win)
-{
- HWND hWnd = (HWND)hptr;
- HANDLE hPrinter = NULL;
- LPDEVMODE pDevMode;
- DWORD dwNeeded, dwRet;
- wchar_t *output = NULL;
-
- int lenA = lstrlenA((char*)printername);
- int lenW = ::MultiByteToWideChar(CP_ACP, 0, (char*)printername, lenA, NULL, 0);
- if (lenW > 0)
- {
- output = new wchar_t[lenW + 1];
- if (output == NULL)
- return -1;
- ::MultiByteToWideChar(CP_ACP, 0, (char*)printername, lenA, output, lenW);
- output[lenW] = 0;
- }
- else
- return FAIL;
-
- if (!OpenPrinter(output, &hPrinter, NULL))
- {
- delete[] output;
- return FAIL;
- }
-
- /* First get the size needed */
- dwNeeded = DocumentProperties(hWnd, hPrinter, output, NULL, NULL, 0);
- pDevMode = (LPDEVMODE)malloc(dwNeeded);
- if (pDevMode == NULL)
- {
- delete[] output;
- ClosePrinter(hPrinter);
- return FAIL;
- }
-
- /* Now actually get the DEVMODE data. DM_IN_PROMPT brings up the window.
- * DM_OUT_BUFFER ensures that we get the values that have been set */
- DWORD fMode = DM_OUT_BUFFER;
- if (show_win)
- fMode = fMode | DM_IN_PROMPT;
-
- dwRet = DocumentProperties(hWnd, hPrinter, output, pDevMode, NULL, fMode);
- if (dwRet != IDOK)
- {
- delete[] output;
- ClosePrinter(hPrinter);
- free(pDevMode);
- return FAIL;
- }
-
- /* This is the secret to ensure that the DEVMODE settings are saved. Fun
- * finding this bit of information in the MS literature */
- PRINTER_INFO_9 new_info;
- new_info.pDevMode = pDevMode;
- SetPrinter(hPrinter, 9, (LPBYTE)&new_info, 0);
-
- /* Clean up */
- free(pDevMode);
- delete[] output;
- ClosePrinter(hPrinter);
- return 0;
-}
diff --git a/platform/windows/gsprint/gsprint.h b/platform/windows/gsprint/gsprint.h
deleted file mode 100644
index cfc2c7b3..00000000
--- a/platform/windows/gsprint/gsprint.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <windows.h>
-#include <winspool.h>
-
-#ifdef __cplusplus
-#define EXTERNC extern "C"
-#else
-#define EXTERNC
-#endif
-
-#define SYMBOL_DECLSPEC __declspec(dllexport)
-
-EXTERN_C SYMBOL_DECLSPEC int __stdcall ShowPropertiesDialog(void *ctx, void *printername, bool show_win);
diff --git a/platform/windows/gsview/About.xaml b/platform/windows/gsview/About.xaml
deleted file mode 100644
index 13b3b142..00000000
--- a/platform/windows/gsview/About.xaml
+++ /dev/null
@@ -1,96 +0,0 @@
-<Window
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" x:Class="gsview.About"
- Title="{Binding ProductTitle, Mode=OneTime, RelativeSource={RelativeSource Self}}"
- x:Uid="idAboutBox"
- Style="{DynamicResource AboutDialogStyle}" WindowStartupLocation="CenterOwner" Height="353" Width="501">
- <Window.Resources>
- <XmlDataProvider x:Key="aboutProvider" XPath="ApplicationInfo" IsAsynchronous="False" IsInitialLoadEnabled="True">
- <x:XData>
- <ApplicationInfo xmlns="">
- <Link Uri="http://www.gsview.com">More Info</Link>
- </ApplicationInfo>
- </x:XData>
- </XmlDataProvider>
- <Image x:Key="aboutLogo" Source="resources/banner.png" />
- <Style x:Key="AboutDialogStyle" TargetType="{x:Type Window}">
- <Setter Property="Height" Value="Auto" />
- <Setter Property="Width" Value="500" />
- <Setter Property="ShowInTaskbar" Value="False" />
- <Setter Property="ResizeMode" Value="NoResize" />
- <Setter Property="WindowStyle" Value="SingleBorderWindow" />
- <Setter Property="SizeToContent" Value="Height" />
- </Style>
- <Style x:Key="DisplayAreaStyle" TargetType="{x:Type StackPanel}">
- <Setter Property="Margin" Value="10,10,10,5" />
- </Style>
- <Style x:Key="BackgroundStyle" TargetType="{x:Type StackPanel}">
- <Setter Property="Background">
- <Setter.Value>
- <LinearGradientBrush EndPoint="0,1">
- <GradientStop Offset="0" Color="#FF317896" />
- <GradientStop Offset="0.27" Color="White" />
- <GradientStop Offset="0.85" Color="#FF317896" />
- <GradientStop Offset="1" Color="#FF317896" />
- </LinearGradientBrush>
- </Setter.Value>
- </Setter>
- </Style>
- <Style TargetType="{x:Type Label}">
- <Setter Property="Padding" Value="0" />
- </Style>
- <Style x:Key="ParagraphSeparator" TargetType="{x:Type Label}">
- <Setter Property="Padding" Value="0,10,0,0" />
- </Style>
- <Style x:Key="LinkLabelStyle">
- <Setter Property="Control.Padding" Value="0" />
- <Setter Property="FrameworkElement.VerticalAlignment" Value="Center" />
- </Style>
- <Style x:Key="ReadOnlyDescStyle" TargetType="{x:Type TextBox}">
- <Setter Property="MinLines" Value="6" />
- <Setter Property="MaxLines" Value="6" />
- <Setter Property="IsReadOnly" Value="True" />
- <Setter Property="TextWrapping" Value="WrapWithOverflow" />
- <Setter Property="VerticalScrollBarVisibility" Value="Visible" />
- </Style>
- <Style x:Key="OkButtonStyle" TargetType="{x:Type Button}">
- <Setter Property="MinWidth" Value="75" />
- <Setter Property="Margin" Value="0,5" />
- <Setter Property="DockPanel.Dock" Value="Right" />
- <Setter Property="IsDefault" Value="True" />
- <Setter Property="IsCancel" Value="True" />
- </Style>
- </Window.Resources>
- <StackPanel x:Uid="clientArea" Style="{StaticResource BackgroundStyle}">
- <StaticResource ResourceKey="aboutLogo" />
- <StackPanel x:Uid="displayArea" Style="{StaticResource DisplayAreaStyle}"
- DataContext="{Binding Mode=OneTime, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}">
- <Label x:Name="productName" x:Uid="productName"
- Content="{Binding Product, Mode=OneTime}" />
- <StackPanel x:Uid="versionArea" Orientation="Horizontal">
- <Label x:Name="versionLabel" x:Uid="VersionLabel" Content="Version - " />
- <Label x:Name="version" x:Uid="version" Content="{Binding Version, Mode=OneTime}" />
- </StackPanel>
- <Label x:Name="copyright" x:Uid="copyright" Content="{Binding Copyright, Mode=OneTime}" />
- <Label x:Name="company" x:Uid="company" Content="{Binding Company, Mode=OneTime}" />
- <Label x:Name="reserved" x:Uid="reserved" Content="All Rights Reserved." />
- <Label x:Name="info" x:Uid="info" Style="{StaticResource ParagraphSeparator}"
- Content="Product details:" />
- <TextBox x:Name="description" x:Uid="description" Text=""
- Style="{StaticResource ReadOnlyDescStyle}" Height="140" />
- <DockPanel x:Uid="buttonArea">
- <Button x:Name="okButton" x:Uid="okButton" Style="{StaticResource OkButtonStyle}"
- Content="OK" />
- <Label x:Name="productLink" x:Uid="productLink" Style="{StaticResource LinkLabelStyle}" >
- <Hyperlink x:Name="hyperlink" x:Uid="hyperlink" NavigateUri="{Binding LinkUri, Mode=OneTime}" Style="{StaticResource LinkLabelStyle}"
- RequestNavigate="hyperlink_RequestNavigate">
- <InlineUIContainer>
- <TextBlock Text="{Binding LinkText, Mode=OneTime}" />
- </InlineUIContainer>
- </Hyperlink>
- </Label>
- </DockPanel>
- </StackPanel>
- </StackPanel>
-</Window> \ No newline at end of file
diff --git a/platform/windows/gsview/About.xaml.cs b/platform/windows/gsview/About.xaml.cs
deleted file mode 100644
index 6bd50cbe..00000000
--- a/platform/windows/gsview/About.xaml.cs
+++ /dev/null
@@ -1,255 +0,0 @@
-using System;
-using System.Diagnostics;
-using System.IO;
-using System.Reflection;
-using System.Windows;
-using System.Windows.Data;
-using System.Xml;
-using System.ComponentModel;
-
-namespace gsview
-{
- /// <summary>
- /// Interaction logic for About.xaml
- /// </summary>
- public partial class About : Window
- {
- /// <summary>
- /// Default constructor is protected so callers must use one with a parent.
- /// </summary>
- protected About()
- {
- InitializeComponent();
- }
-
-
- /// <summary>
- /// Constructor that takes a parent for this About dialog.
- /// </summary>
- /// <param name="parent">Parent window for this dialog.</param>
- public About(Window parent)
- : this()
- {
- this.Owner = parent;
- }
-
- /// <summary>
- /// Handles click navigation on the hyperlink in the About dialog.
- /// </summary>
- /// <param name="sender">Object the sent the event.</param>
- /// <param name="e">Navigation events arguments.</param>
- private void hyperlink_RequestNavigate(object sender, System.Windows.Navigation.RequestNavigateEventArgs e)
- {
- if (e.Uri != null && string.IsNullOrEmpty(e.Uri.OriginalString) == false)
- {
- string uri = e.Uri.AbsoluteUri;
- Process.Start(new ProcessStartInfo(uri));
- e.Handled = true;
- }
- }
-
- #region AboutData Provider
- #region Member data
- private XmlDocument xmlDoc = null;
- private string variabledescription;
- private const string propertyNameTitle = "Title";
- private const string propertyNameDescription = "Description";
- private const string propertyNameProduct = "Product";
- private const string propertyNameCopyright = "Copyright";
- private const string propertyNameCompany = "Company";
- private const string xPathRoot = "ApplicationInfo/";
- private const string xPathTitle = xPathRoot + propertyNameTitle;
- private const string xPathVersion = xPathRoot + "Version";
- private const string xPathDescription = xPathRoot + propertyNameDescription;
- private const string xPathProduct = xPathRoot + propertyNameProduct;
- private const string xPathCopyright = xPathRoot + propertyNameCopyright;
- private const string xPathCompany = xPathRoot + propertyNameCompany;
- private const string xPathLink = xPathRoot + "Link";
- private const string xPathLinkUri = xPathRoot + "Link/@Uri";
- #endregion
-
- #region Properties
- /// <summary>
- /// Gets the title property, which is display in the About dialogs window title.
- /// </summary>
- public string ProductTitle
- {
- get
- {
- string result = CalculatePropertyValue<AssemblyTitleAttribute>(propertyNameTitle, xPathTitle);
- if (string.IsNullOrEmpty(result))
- {
- // otherwise, just get the name of the assembly itself.
- result = Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().CodeBase);
- }
- return result;
- }
- }
-
- /// <summary>
- /// Gets the application's version information to show.
- /// </summary>
- public string Version
- {
- get
- {
- string result = string.Empty;
- // first, try to get the version string from the assembly.
- Version version = Assembly.GetExecutingAssembly().GetName().Version;
- if (version != null)
- {
- result = version.ToString();
- }
- else
- {
- // if that fails, try to get the version from a resource in the Application.
- result = GetLogicalResourceString(xPathVersion);
- }
- return result;
- }
- }
-
- /// <summary>
- /// Gets the description about the application.
- /// </summary>
- public string Description
- {
- get { return CalculatePropertyValue<AssemblyDescriptionAttribute>(propertyNameDescription, xPathDescription);}
- }
-
- public string VariableDescription
- {
- get;
- set;
- }
-
- /// <summary>
- /// Gets the product's full name.
- /// </summary>
- public string Product
- {
- get { return CalculatePropertyValue<AssemblyProductAttribute>(propertyNameProduct, xPathProduct); }
- }
-
- /// <summary>
- /// Gets the copyright information for the product.
- /// </summary>
- public string Copyright
- {
- get { return CalculatePropertyValue<AssemblyCopyrightAttribute>(propertyNameCopyright, xPathCopyright); }
- }
-
- /// <summary>
- /// Gets the product's company name.
- /// </summary>
- public string Company
- {
- get { return CalculatePropertyValue<AssemblyCompanyAttribute>(propertyNameCompany, xPathCompany); }
- }
-
- /// <summary>
- /// Gets the link text to display in the About dialog.
- /// </summary>
- public string LinkText
- {
- get { return GetLogicalResourceString(xPathLink); }
- }
-
- /// <summary>
- /// Gets the link uri that is the navigation target of the link.
- /// </summary>
- public string LinkUri
- {
- get { return GetLogicalResourceString(xPathLinkUri); }
- }
- #endregion
-
- #region Resource location methods
- /// <summary>
- /// Gets the specified property value either from a specific attribute, or from a resource dictionary.
- /// </summary>
- /// <typeparam name="T">Attribute type that we're trying to retrieve.</typeparam>
- /// <param name="propertyName">Property name to use on the attribute.</param>
- /// <param name="xpathQuery">XPath to the element in the XML data resource.</param>
- /// <returns>The resulting string to use for a property.
- /// Returns null if no data could be retrieved.</returns>
- private string CalculatePropertyValue<T>(string propertyName, string xpathQuery)
- {
- string result = string.Empty;
- // first, try to get the property value from an attribute.
- object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(T), false);
- if (attributes.Length > 0)
- {
- T attrib = (T)attributes[0];
- PropertyInfo property = attrib.GetType().GetProperty(propertyName, BindingFlags.Public | BindingFlags.Instance);
- if (property != null)
- {
- result = property.GetValue(attributes[0], null) as string;
- }
- }
-
- // if the attribute wasn't found or it did not have a value, then look in an xml resource.
- if (result == string.Empty)
- {
- // if that fails, try to get it from a resource.
- result = GetLogicalResourceString(xpathQuery);
- }
- return result;
- }
-
- /// <summary>
- /// Gets the XmlDataProvider's document from the resource dictionary.
- /// </summary>
- protected virtual XmlDocument ResourceXmlDocument
- {
- get
- {
- if (xmlDoc == null)
- {
- // if we haven't already found the resource XmlDocument, then try to find it.
- XmlDataProvider provider = this.TryFindResource("aboutProvider") as XmlDataProvider;
- if (provider != null)
- {
- // save away the XmlDocument, so we don't have to get it multiple times.
- xmlDoc = provider.Document;
- }
- }
- return xmlDoc;
- }
- }
-
- /// <summary>
- /// Gets the specified data element from the XmlDataProvider in the resource dictionary.
- /// </summary>
- /// <param name="xpathQuery">An XPath query to the XML element to retrieve.</param>
- /// <returns>The resulting string value for the specified XML element.
- /// Returns empty string if resource element couldn't be found.</returns>
- protected virtual string GetLogicalResourceString(string xpathQuery)
- {
- string result = string.Empty;
- // get the About xml information from the resources.
- XmlDocument doc = this.ResourceXmlDocument;
- if (doc != null)
- {
- // if we found the XmlDocument, then look for the specified data.
- XmlNode node = doc.SelectSingleNode(xpathQuery);
- if (node != null)
- {
- if (node is XmlAttribute)
- {
- // only an XmlAttribute has a Value set.
- result = node.Value;
- }
- else
- {
- // otherwise, need to just return the inner text.
- result = node.InnerText;
- }
- }
- }
- return result;
- }
- #endregion
- #endregion
- }
-}
diff --git a/platform/windows/gsview/App.config b/platform/windows/gsview/App.config
deleted file mode 100644
index 7d2f9bbc..00000000
--- a/platform/windows/gsview/App.config
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<configuration>
- <startup>
-
- <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup>
-</configuration>
diff --git a/platform/windows/gsview/App.xaml b/platform/windows/gsview/App.xaml
deleted file mode 100644
index 2b1d6cbf..00000000
--- a/platform/windows/gsview/App.xaml
+++ /dev/null
@@ -1,7 +0,0 @@
-<Application x:Class="gsview.App"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- StartupUri="MainWindow.xaml">
- <Application.Resources>
- </Application.Resources>
-</Application>
diff --git a/platform/windows/gsview/App.xaml.cs b/platform/windows/gsview/App.xaml.cs
deleted file mode 100644
index 76d96a97..00000000
--- a/platform/windows/gsview/App.xaml.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Configuration;
-using System.Data;
-using System.Linq;
-using System.Windows;
-
-namespace gsview
-{
- /// <summary>
- /// Interaction logic for App.xaml
- /// </summary>
- public partial class App : Application
- {
- }
-}
diff --git a/platform/windows/gsview/ContentEntry.cs b/platform/windows/gsview/ContentEntry.cs
deleted file mode 100644
index a384be16..00000000
--- a/platform/windows/gsview/ContentEntry.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace gsview
-{
- public class ContentEntry
- {
- public String Name
- {
- get;
- set;
- }
-
- public int PageNum
- {
- get;
- set;
- }
-
- public ContentEntry(String Name, int PageNum)
- {
- this.Name = Name;
- this.PageNum = PageNum;
- }
- };
-}
-
diff --git a/platform/windows/gsview/ContentItem.cs b/platform/windows/gsview/ContentItem.cs
deleted file mode 100644
index a58bdf79..00000000
--- a/platform/windows/gsview/ContentItem.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-//using System.Threading.Tasks;
-using System.ComponentModel;
-
-namespace gsview
-{
- class ContentItem : INotifyPropertyChanged
- {
-
- public int Page
- {
- get;
- internal set;
- }
-
- public String StringMargin
- {
- get;
- internal set;
- }
-
- public ContentItem()
- {
- StringMargin = "";
- Page = 0;
- }
-
- public event PropertyChangedEventHandler PropertyChanged;
-
- public void ContentRefresh()
- {
- if (PropertyChanged != null)
- {
- PropertyChanged(this, new PropertyChangedEventArgs("StringMargin"));
- PropertyChanged(this, new PropertyChangedEventArgs("Page"));
- }
- }
- }
-}
diff --git a/platform/windows/gsview/Convert.xaml b/platform/windows/gsview/Convert.xaml
deleted file mode 100644
index 120f2eec..00000000
--- a/platform/windows/gsview/Convert.xaml
+++ /dev/null
@@ -1,120 +0,0 @@
-<Window x:Class="gsview.Convert"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- Title="Convert Pages" Height="270.96" Width="419.424">
-
- <DockPanel LastChildFill="True">
-
- <!-- Device viewer/selector -->
- <Grid x:Name="xaml_DeviceGrid" Width="100" Background="DarkGray" DockPanel.Dock="Left" Visibility="Visible" >
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="*" />
- </Grid.RowDefinitions>
- <TextBlock Grid.Column="0" Grid.Row="0" Margin="15,0,0,0">
- <Bold>Devices:</Bold>
- </TextBlock>
-
- <ListView Grid.Column="0" Grid.Row="1" x:Name="xaml_DeviceList" HorizontalAlignment="Stretch"
- ScrollViewer.CanContentScroll="False"
- Background="White" Margin="10,5,10,10" SelectionMode="Single">
- <ListView.ItemTemplate>
- <DataTemplate>
- <StackPanel Margin="5,5,0,0" HorizontalAlignment="Left">
- <TextBlock TextWrapping="Wrap" Text="{Binding DeviceName}" FontFamily="Segoe UI" FontSize="11" />
- </StackPanel>
- </DataTemplate>
- </ListView.ItemTemplate>
- </ListView>
- </Grid>
-
- <Grid x:Name="xaml_PageGrid" Width="100" Background="DarkGray" DockPanel.Dock="Left" Visibility="Visible">
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="*" />
- </Grid.RowDefinitions>
- <TextBlock Grid.Column="0" Grid.Row="0" Margin="15,0,0,0">
- <Bold>Pages:</Bold>
- </TextBlock>
- <ListView Grid.Column="0" Grid.Row="1" x:Name="xaml_PageList" HorizontalAlignment="Stretch"
- ScrollViewer.CanContentScroll="False"
- Background="White" Margin="10,5,10,10">
- <ListView.ItemTemplate>
- <DataTemplate>
- <StackPanel Margin="5,5,0,0" HorizontalAlignment="Left">
- <TextBlock TextWrapping="Wrap" Text="{Binding PageString}" FontFamily="Segoe UI" FontSize="11" />
- </StackPanel>
- </DataTemplate>
- </ListView.ItemTemplate>
- </ListView>
- </Grid>
-
- <!-- Buttons and extra options -->
- <Grid Background="DarkGray" DockPanel.Dock="Left">
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- </Grid.RowDefinitions>
-
- <Grid Grid.Column="0" Grid.Row="0" Background="DarkGray">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="Auto" />
- </Grid.ColumnDefinitions>
-
- <Grid Background="DarkGray" Grid.Row="0" Grid.Column="0" Margin="30,15,0,0">
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- </Grid.RowDefinitions>
-
- <Button Grid.Column="0" Grid.Row="0" Width="50" Height="20" Name="xaml_Convert" Click="ConvertClick" Margin="0,0,0,0">
- <TextBlock>Convert</TextBlock>
- </Button>
- <Button Grid.Column="0" Grid.Row="1" Width="50" Height="20" Name="xaml_Cancel" Click="ConvertCancel" Margin="0,5,0,0">
- <TextBlock>Cancel</TextBlock>
- </Button>
- <Button Grid.Column="0" Grid.Row="2" Width="50" Height="20" Name="xaml_HelpConvert" Click="HelpConvert" Margin="0,5,0,0">
- <TextBlock>Help</TextBlock>
- </Button>
- </Grid>
-
-
- <Grid Background="DarkGray" Grid.Row="0" Grid.Column="1" Margin="25,15,0,0">
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- </Grid.RowDefinitions>
-
- <Button Grid.Column="0" Grid.Row="0" Width="70" Height="20" Name="xaml_AllPages" Click="AllPages" Margin="0,0,0,0">
- <TextBlock>All Pages</TextBlock>
- </Button>
- <Button Grid.Column="0" Grid.Row="1" Width="70" Height="20" Name="xaml_EvenPages" Click="EvenPages" Margin="0,5,0,0">
- <TextBlock>Even Pages</TextBlock>
- </Button>
- <Button Grid.Column="0" Grid.Row="2" Width="70" Height="20" Name="xaml_OddPages" Click="OddPages" Margin="0,5,0,0">
- <TextBlock>Odd Pages</TextBlock>
- </Button>
- </Grid>
- </Grid>
-
-
- <TextBlock Grid.Column="0" Grid.Row="1" Margin="5,10,0,0">
- <Bold>GhostScript Options:</Bold>
- </TextBlock>
- <TextBox x:Name="xaml_options" Grid.Row="2" Background="White" Height="40" Margin="5,5,5,5" Text=""></TextBox>
- <TextBlock Grid.Column="0" Grid.Row="3" Margin="5,10,0,0">
- <Bold>MuPDF Resolution:</Bold>
- </TextBlock>
- <TextBox x:Name="xaml_resolution" Grid.Row="4" Background="White" Margin="5,5,153,19" Text=""
- PreviewTextInput="PreviewInput"/>
- </Grid>
-
-
- </DockPanel>
-</Window>
diff --git a/platform/windows/gsview/Convert.xaml.cs b/platform/windows/gsview/Convert.xaml.cs
deleted file mode 100644
index c2c3ec65..00000000
--- a/platform/windows/gsview/Convert.xaml.cs
+++ /dev/null
@@ -1,214 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Shapes;
-using System.ComponentModel;
-using System.Collections.ObjectModel;
-using System.Text.RegularExpressions;
-
-namespace gsview
-{
- public class Device : INotifyPropertyChanged
- {
- public String DeviceName
- {
- get;
- internal set;
- }
-
- public gsDevice_t DeviceType
- {
- get;
- internal set;
- }
-
- public bool SupportsMultiPage
- {
- get;
- internal set;
- }
-
- public bool MuPDFDevice
- {
- get;
- internal set;
- }
-
- public event PropertyChangedEventHandler PropertyChanged;
-
- public void PageRefresh()
- {
- if (PropertyChanged != null)
- {
- PropertyChanged(this, new PropertyChangedEventArgs("DeviceName"));
- }
- }
-
- public Device()
- {
- this.DeviceName = "";
- }
- };
-
- public class SelectPage : INotifyPropertyChanged
- {
- public int Page
- {
- get;
- internal set;
- }
-
- public int PageString
- {
- get;
- internal set;
- }
-
- public event PropertyChangedEventHandler PropertyChanged;
-
- public void PageRefresh()
- {
- if (PropertyChanged != null)
- {
- PropertyChanged(this, new PropertyChangedEventArgs("Page"));
- PropertyChanged(this, new PropertyChangedEventArgs("PageString"));
- }
- }
- };
-
- /// <summary>
- /// Interaction logic for Convert.xaml
- /// </summary>
- public partial class Convert : Window
- {
- List<Device> GSDevices;
- List<SelectPage> ConvertPages;
-
- /* Callback to Main */
- internal delegate void ConvertCallBackMain(object gsObject);
- internal event ConvertCallBackMain ConvertUpdateMain;
-
- public Convert(int num_pages)
- {
- InitializeComponent();
- GSDevices = new List<Device>();
- ConvertPages = new List<SelectPage>();
- SetDeviceList();
- SetPageList(num_pages);
- xaml_DeviceList.ItemsSource = GSDevices;
- xaml_PageList.ItemsSource = ConvertPages;
- }
-
- public void SetDeviceList()
- {
- foreach (gsDevice_t device in Enum.GetValues(typeof(gsDevice_t)))
- {
- Device device_t = new Device();
- device_t.DeviceName = Enum.GetName(typeof(gsDevice_t), device);
- device_t.DeviceType = device;
- if (device > gsDevice_t.psdrgb)
- device_t.SupportsMultiPage = true;
- else
- device_t.SupportsMultiPage = false;
- if (device < gsDevice_t.bmp16)
- device_t.MuPDFDevice = true;
- else
- device_t.MuPDFDevice = false;
- GSDevices.Add(device_t);
- }
- }
-
- public void SetPageList(int num_pages)
- {
- for (int k = 1; k < num_pages + 1; k++ )
- {
- SelectPage Spage = new SelectPage();
- Spage.Page = k;
- Spage.PageString = k;
- ConvertPages.Add(Spage);
- }
- }
-
- private void ConvertClick(object sender, RoutedEventArgs e)
- {
- ConvertUpdateMain(this);
- }
-
- private void ConvertCancel(object sender, RoutedEventArgs e)
- {
- this.Close();
- }
-
- private void HelpConvert(object sender, RoutedEventArgs e)
- {
-
- }
-
- private void AllPages(object sender, RoutedEventArgs e)
- {
- xaml_PageList.SelectAll();
- }
-
- private void EvenPages(object sender, RoutedEventArgs e)
- {
- /* First check if any are selected */
- var item = xaml_PageList.SelectedItem;
-
- /* If none are selected then get all the evens. otherwise just get
- * all the evens of the pages that have been selected */
- if (item == null)
- {
- /* Turn on the evens */
- for (int kk = 1; kk < ConvertPages.Count; kk = kk + 2)
- (xaml_PageList.ItemContainerGenerator.ContainerFromIndex(kk) as ListViewItem).IsSelected = true;
- }
- else
- {
- /* Turn off any odds */
- for (int kk = 0; kk < ConvertPages.Count; kk = kk + 2)
- (xaml_PageList.ItemContainerGenerator.ContainerFromIndex(kk) as ListViewItem).IsSelected = false;
- }
- }
-
- private void OddPages(object sender, RoutedEventArgs e)
- {
- /* First check if any are selected */
- var item = xaml_PageList.SelectedItem;
-
- /* If none are selected then get all the odds. otherwise just get
- all the odds of the pages that have been selected */
- if (item == null)
- {
- /* Turn on the odds */
- for (int kk = 0; kk < ConvertPages.Count; kk = kk + 2)
- (xaml_PageList.ItemContainerGenerator.ContainerFromIndex(kk) as ListViewItem).IsSelected = true;
- }
- else
- {
- /* Turn off any evens */
- for (int kk = 1; kk < ConvertPages.Count; kk = kk + 2)
- (xaml_PageList.ItemContainerGenerator.ContainerFromIndex(kk) as ListViewItem).IsSelected = false;
- }
- }
-
- /* Allow only numbers */
- private void PreviewInput(object sender, TextCompositionEventArgs e)
- {
- e.Handled = !IsTextAllowed(e.Text);
- }
-
- private static bool IsTextAllowed(string text)
- {
- Regex regex = new Regex("[^0-9]+");
- return !regex.IsMatch(text);
- }
- }
-}
diff --git a/platform/windows/gsview/DocPage.cs b/platform/windows/gsview/DocPage.cs
deleted file mode 100644
index 267d99e8..00000000
--- a/platform/windows/gsview/DocPage.cs
+++ /dev/null
@@ -1,281 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-//using System.Threading.Tasks;
-using System.ComponentModel;
-using System.Windows.Media.Imaging;
-using System.Collections.ObjectModel;
-using System.Windows.Media;
-
-namespace gsview
-{
- public enum Annotate_t
- {
- UNKNOWN,
- COMPUTING,
- NO_ANNOTATE,
- HAS_ANNOTATE,
- ANNOTATE_VISIBLE,
- ANNOTATE_HIDDEN
- }
-
- public class DocPage : INotifyPropertyChanged
- {
- private LinesText m_lines;
- private BlocksText m_blocks;
- private int height;
- private int width;
- private int nativeheight;
- private int nativewidth;
- private double zoom;
- private Annotate_t annotate;
- private BitmapSource bitmap;
- private IList<RectList> textbox;
- private List<RectList> linkbox;
- private Page_Content_t content;
- private String pagename;
- private int pagenum;
- private double sely;
- private double selx;
- private double selheight;
- private double selwidth;
- private String selcolor;
- private double sel_anchorx;
- private double sel_anchory;
-
- public double SelAnchorX
- {
- get { return sel_anchorx; }
- set { sel_anchorx = value; }
- }
-
- public double SelAnchorY
- {
- get { return sel_anchory; }
- set { sel_anchory = value; }
- }
-
- public double SelY
- {
- get { return sely; }
- set
- {
- sely = value;
- OnPropertyChanged("SelY");
- }
- }
-
- public double SelX
- {
- get { return selx; }
- set
- {
- selx = value;
- OnPropertyChanged("SelX");
- }
- }
-
- public double SelHeight
- {
- get { return selheight; }
- set
- {
- selheight = value;
- OnPropertyChanged("SelHeight");
- }
- }
-
- public double SelWidth
- {
- get { return selwidth; }
- set
- {
- selwidth = value;
- OnPropertyChanged("SelWidth");
- }
- }
-
- public String SelColor
- {
- get { return selcolor; }
- set
- {
- selcolor = value;
- OnPropertyChanged("SelColor");
- }
- }
-
- public int Height
- {
- get { return height; }
- set
- {
- height = value;
- OnPropertyChanged("Height");
- }
- }
-
- public int Width
- {
- get { return width; }
- set
- {
- width = value;
- OnPropertyChanged("Width");
- }
- }
-
- public int NativeHeight
- {
- get { return nativewidth; }
- set { nativewidth = value; }
- }
-
- public int NativeWidth
- {
- get { return nativeheight; }
- set { nativeheight = value; }
- }
-
- public Annotate_t Annotate
- {
- get { return annotate; }
- set { annotate = value; }
- }
-
- public double Zoom
- {
- get { return zoom; }
- set { zoom = value; }
- }
-
- public BitmapSource BitMap
- {
- get { return bitmap; }
- set
- {
- bitmap = value;
- OnPropertyChanged("BitMap");
- }
- }
-
- public IList<RectList> TextBox
- {
- get { return textbox; }
- set
- {
- textbox = value;
- OnPropertyChanged("TextBox");
- }
- }
-
- public List<RectList> LinkBox
- {
- get { return linkbox; }
- set
- {
- linkbox = value;
- OnPropertyChanged("LinkBox");
- }
- }
-
- public BlocksText TextBlocks
- {
- get { return m_blocks; }
- set
- {
- m_blocks = value;
- OnPropertyChanged("TextBlocks");
- }
- }
-
- public LinesText SelectedLines
- {
- get { return m_lines; }
- set
- {
- m_lines = value;
- OnPropertyChanged("SelectedLines");
- }
- }
-
- public Page_Content_t Content
- {
- get { return content; }
- set { content = value; }
- }
-
- public String PageName
- {
- get { return pagename; }
- set { pagename = value; }
- }
-
- public int PageNum
- {
- get { return pagenum; }
- set { pagenum = value; }
- }
-
- public AA_t AA
- {
- get;
- set;
- }
-
- public event PropertyChangedEventHandler PropertyChanged;
-
- // Create the OnPropertyChanged method to raise the event
- protected void OnPropertyChanged(string name)
- {
- PropertyChangedEventHandler handler = PropertyChanged;
- if (handler != null)
- {
- handler(this, new PropertyChangedEventArgs(name));
- }
- }
-
- public DocPage()
- {
- this.Height = 0;
- this.Width = 0;
- this.NativeHeight = 0;
- this.NativeWidth = 0;
- this.Zoom = 0;
- this.BitMap = null;
- this.TextBox = null;
- this.LinkBox = null;
- this.Content = Page_Content_t.NOTSET;
- this.PageNum = -1;
- this.PageName = "";
- this.TextBlocks = null;
- this.AA = AA_t.HIGH;
- }
-
- public DocPage(int Height, int Width, double Zoom, BitmapSource BitMap,
- List<RectList> TextBox, List<RectList> LinkBox,
- Page_Content_t Content, int PageNum, BlocksText TextBlocks,
- AA_t AA)
- {
- this.Height = Height;
- this.Width = Width;
- this.Zoom = Zoom;
- this.BitMap = BitMap;
- this.TextBox = TextBox;
- this.LinkBox = LinkBox;
- this.Content = Content;
- this.PageNum = PageNum;
- this.PageName = ("Page " + (PageNum + 1));
- this.TextBlocks = TextBlocks;
- this.AA = AA;
- }
- };
- public class Pages : ObservableCollection<DocPage>
- {
- public Pages()
- : base()
- {
- }
- }
-}
diff --git a/platform/windows/gsview/Info.xaml b/platform/windows/gsview/Info.xaml
deleted file mode 100644
index 4033d2ee..00000000
--- a/platform/windows/gsview/Info.xaml
+++ /dev/null
@@ -1,11 +0,0 @@
-<Window x:Class="gsview.Info"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- Title="Info" Height="216.304" Width="430.434" Background="WhiteSmoke">
- <DockPanel LastChildFill="True">
- <Button DockPanel.Dock="Bottom" Width="70" Height="20" Name="xaml_CloseInfo" Click="OKClose" Margin="0,0,0,20" IsDefault="True">
- <TextBlock Name="xaml_ButtonText" FontFamily="Courier" Text="OK"/>
- </Button>
- <TextBlock Name="xaml_TextInfo" Text="File not open" Margin="10,10,10,10" FontFamily="Courier New"></TextBlock>
- </DockPanel>
-</Window>
diff --git a/platform/windows/gsview/Info.xaml.cs b/platform/windows/gsview/Info.xaml.cs
deleted file mode 100644
index 8a544aa8..00000000
--- a/platform/windows/gsview/Info.xaml.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Shapes;
-
-namespace gsview
-{
- /// <summary>
- /// Interaction logic for Info.xaml
- /// </summary>
- public partial class Info : Window
- {
- public Info()
- {
- InitializeComponent();
- }
-
- private void OKClose(object sender, RoutedEventArgs e)
- {
- this.Close();
- }
- }
-}
diff --git a/platform/windows/gsview/LICENSE b/platform/windows/gsview/LICENSE
deleted file mode 100644
index 4fd64b19..00000000
--- a/platform/windows/gsview/LICENSE
+++ /dev/null
@@ -1,66 +0,0 @@
-This End User License Agreement (“Agreement”) is a legal agreement between ARTIFEX SOFTWARE INC., a California corporation with its principal place of business as 7 Mt. Lassen Drive, A-134, San Rafael, California 94903 (“Artifex”) and you (either an individual or an entity, as identified in your invoice regarding the use of Artifex's software for which you have purchased a license, including any documentation that may be included in the software (together, the “Software”).
-
-
-Grant of License.
-
-Subject to the restrictions herein, and payment of the applicable license fees, Artifex hereby grants to you the personal, nontransferable, non-exclusive right to use the Software, for internal purposes only. You may use the Software as follows, depending on the licenses you have ordered as reflected in your invoice:
-
-• Individual License. You may use the Software, on only one computer, and only by one user, at a time. You may not store the Software on a server that enables access via multiple computers.
-
-• Multiple Licenses. One user may use one copy of the Software for each license you have purchased. You may make a reasonable number of copies to support such use.
-
-• Site License. All of your employees located at a particular site, as indicated in your invoice, may use the Software via computers located at that site, provided the employee’s primary office is at that site. For clarity, a computer will be considered on-site when a user accesses the Software via that computer, even if the Software is being served from offsite servers, and even if the users access their primary computers via virtualization or remote access.
-
-• Enterprise License. All your employees may use the Software regardless of the number of copies or locations.
-
-
-Copyright.
-
-The Software is licensed to you, not sold. All copies of the Software are the property of Artifex. Artifex reserves all intellectual property rights in the Software. The Software is protected by United States copyright and other intellectual property laws and international treaty provisions. Therefore, you may not use, copy, modify or distribute the Software without authorization. You may make a reasonable number of copies of the Software solely for backup or archival purposes.
-
-
-Restrictions.
-
-You may not rent, lease, or loan the Software. You may not reverse engineer, decompile, or disassemble the Software, except to the extent the foregoing restriction is prohibited by applicable law. You may not modify, or create derivative works based upon the Software. You many not use the Software to make its functionality available to others, such as via software-as-a-service offerings. If you make any copy of the Software, you must retain all copyright and other intellectual property notices.
-
-
-Open Source Licensing.
-
-Artifex may offer versions of the Software under open source licenses such as the Affero General Public License 3.0. This Agreement will not vitiate any rights you may have separately under such open source licenses.
-
-Termination.
-
-You may terminate the license granted in this Agreement by so advising Artifex in writing. The license granted in this Agreement will terminate automatically upon any violation by you of its terms or conditions. Upon termination of the license, you must destroy all your copies of the Software.
-
-
-Updates.
-
-The right to receive support or updates to the Software may be subject to additional terms, conditions or charges. Please contact Artifex for additional information about maintenance and support programs. To the extent you are provided updates, revisions, or new versions of the Software, this Agreement will govern them and they will be considered part of the Software hereunder, unless you and Artifex agree to a new license agreement covering them.
-
-
-NO WARRANTIES.
-
-YOU ASSUME ALL RESPONSIBILITIES FOR SELECTION OF THE SOFTWARE TO MEET YOUR NEEDS. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, ARTIFEX DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. SOME STATES DO NOT ALLOW LIMITATIONS ON IMPLIED WARRANTIES, SO THE ABOVE LIMITATION MAY NOT APPLY TO YOU.
-
-
-NO LIABILITY FOR CONSEQUENTIAL DAMAGES.
-
-IN NO EVENT WILL ARTIFEX OR ITS SUPPLIERS OR LICENSORS BE LIABLE FOR ANY CONSEQUENTIAL, INCIDENTAL, OR INDIRECT DAMAGES (INCLUDING WITHOUT LIMITATION DAMAGES FOR LOSS OF BUSINESS PROFITS OR BUSINESS INTERRUPTION) ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE, EVEN IF SUCH PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. IN NO EVENT WILL ARTIFEX OR ITS SUPPLIERS OR LICENSORS BE LIABLE FOR MORE THAN THE AMOUNT ACTUALLY PAID BY YOU TO ARTIFEX FOR THE SOFTWARE. BECAUSE SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT APPLY TO YOU.
-
-
-U.S. Government-Restricted Rights.
-
-The Software and accompanying documentation are deemed to be "commercial computer Software" and "commercial computer Software documentation," respectively, pursuant to DFAR Section 227.7202 and FAR Section 12.212(b), as applicable. Any use, modification, reproduction release, performance, display or disclosure of the Software and accompanying documentation, and any derivative works thereof, by the U.S. Government will be governed solely by the terms of this Agreement.
-
-
-Export Restrictions.
-
-You may not download, export, or re-export the Software (a) into, or to a national or resident of, any country to which the United States has embargoed goods, or (b) to anyone on the United States Treasury Department's list of Specially Designated Nationals or the U.S. Commerce Department's Table of Deny Orders. By downloading or using the Software, you are representing and warranting that you are not located in, under the control of, or a national or resident of any such country or on any such list.
-
-
-General.
-
-This Agreement is governed by the laws of the United States and the State of California, without reference to conflict of laws principles. Any dispute between you and Artifex arising out of or relating to this Agreement will be subject to the exclusive venue and jurisdiction of the state and federal courts located in Marin County, California. This Agreement is the entire agreement between you and Artifex and supersedes any prior agreements relating thereto. If any provision of this Agreement is held invalid, the remainder of this Agreement will continue in full force and effect and the invalid provision will be reformed and enforced to reflect the original intent of the parties.
-
-
-Should you have any questions concerning this Agreement, or if you desire to contact Artifex for any reason, please contact: miles.jones@artifex.com
diff --git a/platform/windows/gsview/Links.cs b/platform/windows/gsview/Links.cs
deleted file mode 100644
index ef902381..00000000
--- a/platform/windows/gsview/Links.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-//using System.Threading.Tasks;
-using System.Drawing;
-
-namespace gsview
-{
- public enum link_t
- {
- LINK_GOTO = 0,
- LINK_URI,
- TEXTBOX, /* Do double duty with this class */
- NOT_SET,
- };
-
- class Links
- {
- link_t type;
- Uri uri;
- int page_num;
-
- public Links()
- {
- uri = new Uri("");
- page_num = -1;
- type = link_t.NOT_SET;
- }
- }
-}
diff --git a/platform/windows/gsview/MainWindow.xaml b/platform/windows/gsview/MainWindow.xaml
deleted file mode 100644
index 37ae3e1e..00000000
--- a/platform/windows/gsview/MainWindow.xaml
+++ /dev/null
@@ -1,794 +0,0 @@
-<Window x:Class="gsview.MainWindow"
- xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- Title="gsview" Height="850" Width="714" UseLayoutRounding="True"
- KeyDown="OnKeyDownHandler" Closing="AppClosing">
- <!-- UseLayoutRounding needed to avoid funny interpolation effects on pages -->
-
- <Window.Resources>
- <DataTemplate x:Key="PageTemplate">
- <Canvas HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Height="{Binding Height}" Width="{Binding Width}" Margin="0,0,0,0"
- MouseLeftButtonDown="PageMouseDown" MouseMove="PageMouseMove" MouseLeftButtonUp="PageLeftClickUp" ClipToBounds="True"
- MouseRightButtonDown="ShowContextMenu">
- <Image Width="{Binding Width}" Height="{Binding Height}" Stretch="Fill" HorizontalAlignment="Center" Source="{Binding BitMap}">
- <Image.BitmapEffect>
- <DropShadowBitmapEffect Color="Black" Direction="-50"
- ShadowDepth="40" Softness=".7" />
- </Image.BitmapEffect>
- </Image>
-
- <!-- Single selection rectangle. Not a list -->
- <Rectangle Width="{Binding Path=SelWidth}" Height="{Binding Path=SelHeight}" Stroke="{Binding Path=SelColor}">
- <Rectangle.RenderTransform>
- <TranslateTransform X="{Binding Path=SelX}" Y="{Binding Path=SelY}"/>
- </Rectangle.RenderTransform>
- </Rectangle>
-
- <ItemsControl ItemsSource="{Binding Path=TextBox}">
- <ItemsControl.ItemsPanel>
- <ItemsPanelTemplate>
- <Canvas/>
- </ItemsPanelTemplate>
- </ItemsControl.ItemsPanel>
- <ItemsControl.ItemTemplate>
- <DataTemplate>
- <Rectangle Tag="{Binding Path=Index}" Width="{Binding Path=Width}" Height="{Binding Path=Height}" Fill="{Binding Path=Color}">
- <Rectangle.RenderTransform>
- <TranslateTransform X="{Binding Path=X}" Y="{Binding Path=Y}"/>
- </Rectangle.RenderTransform>
- </Rectangle>
- </DataTemplate>
- </ItemsControl.ItemTemplate>
- </ItemsControl>
-
- <ItemsControl ItemsSource="{Binding Path=SelectedLines}">
- <ItemsControl.ItemsPanel>
- <ItemsPanelTemplate>
- <Canvas/>
- </ItemsPanelTemplate>
- </ItemsControl.ItemsPanel>
- <ItemsControl.ItemTemplate>
- <DataTemplate>
- <Rectangle Width="{Binding Path=Width}" Height="{Binding Path=Height}" Fill="{Binding Path=Color}">
- <Rectangle.RenderTransform>
- <TranslateTransform X="{Binding Path=X}" Y="{Binding Path=Y}"/>
- </Rectangle.RenderTransform>
- </Rectangle>
- </DataTemplate>
- </ItemsControl.ItemTemplate>
- </ItemsControl>
-
- <ItemsControl ItemsSource="{Binding Path=TextBlocks}">
- <ItemsControl.ItemsPanel>
- <ItemsPanelTemplate>
- <Canvas/>
- </ItemsPanelTemplate>
- </ItemsControl.ItemsPanel>
- <ItemsControl.ItemTemplate>
- <DataTemplate>
- <Rectangle Width="{Binding Path=Width}" Height="{Binding Path=Height}" Fill="{Binding Path=Color}" MouseLeave="ExitTextBlock" MouseEnter="EnterTextBlock">
- <Rectangle.RenderTransform>
- <TranslateTransform X="{Binding Path=X}" Y="{Binding Path=Y}"/>
- </Rectangle.RenderTransform>
- </Rectangle>
- </DataTemplate>
- </ItemsControl.ItemTemplate>
- </ItemsControl>
-
- <ItemsControl ItemsSource="{Binding Path=LinkBox}">
- <ItemsControl.ItemsPanel>
- <ItemsPanelTemplate>
- <Canvas/>
- </ItemsPanelTemplate>
- </ItemsControl.ItemsPanel>
- <ItemsControl.ItemTemplate>
- <DataTemplate>
- <Rectangle Tag="{Binding Path=Index}" Width="{Binding Path=Width}" Height="{Binding Path=Height}" Fill="{Binding Path=Color}" IsEnabled="True" MouseDown="LinkClick">
- <Rectangle.RenderTransform>
- <TranslateTransform X="{Binding Path=X}" Y="{Binding Path=Y}"/>
- </Rectangle.RenderTransform>
- </Rectangle>
- </DataTemplate>
- </ItemsControl.ItemTemplate>
- </ItemsControl>
-
- </Canvas>
- </DataTemplate>
-
- <DataTemplate x:Key="ThumbTemplate">
- <Image Width="{Binding Width}" Height="{Binding Height}" Stretch="Fill" HorizontalAlignment="Center" Source="{Binding BitMap}" Margin="24,24,0,0">
- <Image.BitmapEffect>
- <DropShadowBitmapEffect Color="Black" Direction="-50"
- ShadowDepth="5" Softness=".7" />
- </Image.BitmapEffect>
- </Image>
- </DataTemplate>
-
- <Style TargetType="{x:Type Button}">
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type Button}">
- <ControlTemplate.Triggers>
- <Trigger Property="IsPressed" Value="True">
- <Setter Property="Background" Value="Black" />
- </Trigger>
- </ControlTemplate.Triggers>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- <!-- Customize listview to turn off selection -->
- </Window.Resources>
-
- <!-- The following is needed to set up all the keyboard short cuts -->
- <Window.CommandBindings>
- <CommandBinding Command="Open" Executed="OpenFileCommand"></CommandBinding>
- <CommandBinding Command="SelectAll" Executed="SelectAllCommand"></CommandBinding>
- <CommandBinding Command="Copy" Executed="CopyCommand"></CommandBinding>
- <CommandBinding Command="Print" Executed="PrintCommand"></CommandBinding>
- <CommandBinding Command="Help" Executed="HelpCommand"></CommandBinding>
- <CommandBinding Command="Close" Executed="CloseCommand"></CommandBinding>
- </Window.CommandBindings>
- <Window.InputBindings>
- <KeyBinding Key="O" Modifiers="Control" Command="Open"></KeyBinding>
- <KeyBinding Key="A" Modifiers="Control" Command="SelectAll"></KeyBinding>
- <KeyBinding Key="C" Modifiers="Control" Command="Copy"></KeyBinding>
- <KeyBinding Key="P" Modifiers="Control" Command="Print"></KeyBinding>
- <KeyBinding Key="W" Modifiers="Control" Command="Close"></KeyBinding>
- <KeyBinding Key="F1" Command="Help"></KeyBinding>
- </Window.InputBindings>
-
- <!-- To do add in command short cuts and bindings -->
- <DockPanel LastChildFill="True">
- <!-- Menu item at top -->
- <Menu IsMainMenu="True" DockPanel.Dock="Top">
- <MenuItem Header="_File" x:Name="xaml_file">
- <MenuItem Header="_Open..." Command="Open" InputGestureText="Ctrl+O">
- <MenuItem.Icon>
- <Image Source="Resources/OpenFile.png" />
- </MenuItem.Icon>
- </MenuItem>
- <MenuItem Header="Save As..." x:Name="xaml_saveas">
- <MenuItem.Icon>
- <Image Source="Resources/saveHS.png" />
- </MenuItem.Icon>
- <MenuItem Header="PDF" Click="SavePDF" x:Name="xaml_savepdf"/>
- <MenuItem Header="Linearized PDF" Click="Linearize" x:Name="xaml_linearize_pdf"/>
- <MenuItem Header="PDF-1.3" Click="SavePDF13" x:Name="xaml_savepdf13"/>
- <MenuItem Header="PDF/A" x:Name="xaml_savepdfa">
- <MenuItem Header="PDF/A-1 RGB" Click="SavePDFA1_RGB" x:Name="xaml_savepdfa1_rgb"/>
- <MenuItem Header="PDF/A-1 CMYK" Click="SavePDFA1_CMYK" x:Name="xaml_savepdfa1_cmyk"/>
- <MenuItem Header="PDF/A-2 RGB" Click="SavePDFA2_RGB" x:Name="xaml_savepdfa2_rgb"/>
- <MenuItem Header="PDF/A-2 CMYK" Click="SavePDFA2_CMYK" x:Name="xaml_savepdfa2_cmyk"/>
- </MenuItem>
- <MenuItem Header="PDF/X-3 Gray" Click="SavePDFX3_Gray" x:Name="xaml_savepdfx3_gray"/>
- <MenuItem Header="PDF/X-3 CMYK" Click="SavePDFX3_CMYK" x:Name="xaml_savepdfx3_cmyk"/>
- <MenuItem Header="PCL-XL" Click="SavePCLXL" x:Name="xaml_savepclxl"/>
- <MenuItem Header="XPS" Click="SaveXPS"/>
- <MenuItem Header="TEXT" Click="SaveText"/>
- <MenuItem Header="HTML" Click="SaveHTML"/>
- <MenuItem Header="XML" Click="SaveXML"/>
- </MenuItem>
- <MenuItem Header="_Close" Command="Close" InputGestureText="Ctrl+W" x:Name="xaml_closefile">
- <MenuItem.Icon>
- <Image Source="Resources/Close.ico" />
- </MenuItem.Icon>
- </MenuItem>
- <MenuItem Header="Info" Click="ShowInfo" x:Name="xaml_showinfo">
- <MenuItem.Icon>
- <Image Source="Resources/info.png" />
- </MenuItem.Icon>
- </MenuItem>
- <Separator />
- <MenuItem Header="Extract Selection..." x:Name="xaml_extractselection">
- <MenuItem.Icon>
- <Image Source="Resources/saveHS.png" />
- </MenuItem.Icon>
- <MenuItem Header="PDF" Click="ExtractPDF" x:Name="xaml_extractpdf"/>
- <MenuItem Header="EPS" Click="ExtractEPS" x:Name="xaml_extracteps"/>
- <MenuItem Header="PS" Click="ExtractPS" x:Name="xaml_extractps"/>
- </MenuItem>
- <MenuItem Header="Page Conversions..." Click="ConvertClick" x:Name="xaml_conversions">
- </MenuItem>
- <Separator />
- <MenuItem Header="Print..." Command="Print" InputGestureText="Ctrl+P" x:Name="xaml_print_menu">
- <MenuItem.Icon>
- <Image Source="Resources/printer.ico" />
- </MenuItem.Icon>
- </MenuItem>
- <Separator />
- <MenuItem Header="Show Messages" Click="ShowGSMessage" x:Name="xaml_gsmessage">
- <MenuItem.Icon>
- <Image Source="Resources/Message.png" />
- </MenuItem.Icon>
- </MenuItem>
- </MenuItem>
- <MenuItem Header="_Edit" x:Name="xaml_edit">
- <MenuItem Header="Extract PDF Pages" Click="ExtractPages" x:Name="xaml_Extract">
- <MenuItem.Icon>
- <Image Source="Resources/saveHS.png" />
- </MenuItem.Icon>
- </MenuItem>
- <Separator />
- <MenuItem Header="Copy Page" Click="CopyPage" x:Name="xaml_copypage">
- <MenuItem.Icon>
- <Image Source="Resources/copy.ico" />
- </MenuItem.Icon>
- </MenuItem>
- <MenuItem Header="Paste Page To" x:Name="xaml_pastpageto">
- <MenuItem Header="BMP" Click="PastePage" Tag="BMP"/>
- <MenuItem Header="GIF" Click="PastePage" Tag="GIF"/>
- <MenuItem Header="JPEG" Click="PastePage" Tag="JPG"/>
- <MenuItem Header="PNG" Click="PastePage" Tag="PNG"/>
- <MenuItem Header="TIFF" Click="PastePage" Tag="TIF"/>
- <MenuItem Header="WDP (HD Photo)" Click="PastePage" Tag="WDP"/>
- </MenuItem>
- <Separator />
- <MenuItem Header="Select Text All" Command="SelectAll" InputGestureText="Ctrl+A" x:Name="xaml_selectalltext" />
- <MenuItem Header="Deselect Text" x:Name="xaml_deselecttext" />
- <MenuItem Header="Copy Text" Command="Copy" InputGestureText="Ctrl+C" x:Name="xaml_copytext" />
- </MenuItem>
- <MenuItem Header="_View" x:Name="xaml_view">
- <MenuItem Header="Next Page" Click="OnForwardPageClick"/>
- <MenuItem Header="Previous Page" Click="OnBackPageClick"/>
- <MenuItem Header="_Find" Click="Search"/>
- </MenuItem>
- <MenuItem Header="_Options">
- <MenuItem Header="Output Intents" Click="OutputIntents" />
- <MenuItem Header="Zoom Control" IsCheckable="true" Checked="ShowFooter" Unchecked="HideFooter"/>
- <MenuItem Header="Show Annotations" IsCheckable="True" IsChecked ="True" Checked="AnnotationOn" Unchecked="AnnotationOff"/>
- <MenuItem Header="AntiAlias" >
- <MenuItem x:Name="xaml_AA_High" Header="High" IsCheckable="True" IsChecked="True" Checked="OnAAChecked" />
- <MenuItem x:Name="xaml_AA_MedHigh" Header="Medium High" IsCheckable="True" IsChecked="False" Checked="OnAAChecked"/>
- <MenuItem x:Name="xaml_AA_Med" Header="Medium" IsCheckable="True" IsChecked="False" Checked="OnAAChecked"/>
- <MenuItem x:Name="xaml_AA_Low" Header="Low" IsCheckable="True" IsChecked="False" Checked="OnAAChecked" />
- <MenuItem x:Name="xaml_AA_None" Header="None" IsCheckable="True" IsChecked="False" Checked="OnAAChecked" />
- </MenuItem>
-
- </MenuItem>
-
- <MenuItem Header="_Help">
- <MenuItem Header="GSView Help" Command="Help" InputGestureText="F1"/>
- <MenuItem Header="About" Click="OnAboutClick"/>
- </MenuItem>
- </Menu>
-
- <!-- List of icons for page navigation, print, etc -->
- <StackPanel Orientation="Horizontal" DockPanel.Dock="Top" Background="WhiteSmoke">
- <Button x:Name="xaml_open" Width="20" Height="20" Click="OpenFile" Background="Transparent" BorderBrush="Transparent" Margin="10,0,0,0">
- <Button.Template>
- <ControlTemplate TargetType="{x:Type Button}">
- <Grid>
- <Rectangle Width="20" Height="20">
- <Rectangle.Fill>
- <ImageBrush ImageSource="Resources/folder_open.ico"/>
- </Rectangle.Fill>
- </Rectangle>
- <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
- </Grid>
- </ControlTemplate>
- </Button.Template>
- </Button>
- <Button x:Name="xaml_SavePDF" Width="20" Height="20" Click="SavePDF" Background="Transparent" BorderBrush="Transparent" Margin="10,0,0,0">
- <Button.Template>
- <ControlTemplate TargetType="{x:Type Button}">
- <Grid>
- <Rectangle Width="20" Height="20">
- <Rectangle.Fill>
- <ImageBrush ImageSource="Resources/FloppyDisk.ico"/>
- </Rectangle.Fill>
- </Rectangle>
- <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
- </Grid>
- </ControlTemplate>
- </Button.Template>
- </Button>
- <Button x:Name="xaml_Print" Margin="10 0 0 0" Width="20" Height="20" Click="Print" Background="Transparent" BorderBrush="Transparent">
- <Button.Template>
- <ControlTemplate TargetType="{x:Type Button}">
- <Grid>
- <Rectangle Width="20" Height="20">
- <Rectangle.Fill>
- <ImageBrush ImageSource="Resources/printer.ico"/>
- </Rectangle.Fill>
- </Rectangle>
- <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
- </Grid>
- </ControlTemplate>
- </Button.Template>
- </Button>
- <Rectangle Width="2" Height="20" Margin="10 0 0 0">
- <Rectangle.Fill>
- <SolidColorBrush Color="DarkGray">
- </SolidColorBrush>
- </Rectangle.Fill>
- </Rectangle>
- <Button Width="20" Height="20" x:Name="xaml_BackPage" Click="OnBackPageClick" Background="Transparent" BorderBrush="Transparent" Margin="10,0,5,0">
- <Button.Template>
- <ControlTemplate TargetType="{x:Type Button}">
- <Grid>
- <Ellipse>
- <Ellipse.Fill >
- <ImageBrush ImageSource="Resources/Left.ico"/>
- </Ellipse.Fill>
- </Ellipse>
- <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
- </Grid>
- </ControlTemplate>
- </Button.Template>
- </Button>
- <Button Width="20" Height="20" x:Name="xaml_ForwardPage" Click="OnForwardPageClick" Background="Transparent" BorderBrush="Transparent">
- <Button.Template>
- <ControlTemplate TargetType="{x:Type Button}">
- <Grid>
- <Ellipse>
- <Ellipse.Fill >
- <ImageBrush ImageSource="Resources/Right.ico"/>
- </Ellipse.Fill>
- </Ellipse>
- <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
- </Grid>
- </ControlTemplate>
- </Button.Template>
- </Button>
- <TextBox x:Name="xaml_currPage" Grid.Row="0" Width="25" Height="20" VerticalScrollBarVisibility="Hidden"
- HorizontalScrollBarVisibility="Hidden" TextAlignment="Center" Margin="10,2,0,2" PreviewKeyDown="PageEnterClicked"/>
- <TextBlock Margin="5,0,0,0" Height="20" Text="/ 0" x:Name="xaml_TotalPages">
- <TextBlock.FontSize>12</TextBlock.FontSize>
- </TextBlock>
- <Rectangle Width="2" Height="20" Margin="10 0 0 0">
- <Rectangle.Fill>
- <SolidColorBrush Color="DarkGray">
- </SolidColorBrush>
- </Rectangle.Fill>
- </Rectangle>
-
- <Button Margin="10 0 0 0" Width="20" Height="20" Click="ZoomIn" Background="Transparent" BorderBrush="Transparent" x:Name="xaml_zoomIn">
- <Button.Template>
- <ControlTemplate TargetType="{x:Type Button}">
- <Grid>
- <Ellipse>
- <Ellipse.Fill >
- <ImageBrush ImageSource="Resources/zoom_in.ico"/>
- </Ellipse.Fill>
- </Ellipse>
- <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
- </Grid>
- </ControlTemplate>
- </Button.Template>
- </Button>
- <Button Margin="10 0 0 0" x:Name="xaml_zoomOut" Width="20" Height="20" Click="ZoomOut" Background="Transparent" BorderBrush="Transparent">
- <Button.Template>
- <ControlTemplate TargetType="{x:Type Button}">
- <Grid>
- <Ellipse>
- <Ellipse.Fill >
- <ImageBrush ImageSource="Resources/zoom_out.ico"/>
- </Ellipse.Fill>
- </Ellipse>
- <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
- </Grid>
- </ControlTemplate>
- </Button.Template>
- </Button>
- <TextBox Grid.Row="0" Grid.Column="2" Width="30" Height="20" VerticalScrollBarVisibility="Hidden"
- HorizontalScrollBarVisibility="Hidden" TextAlignment="Left" x:Name="xaml_Zoomsize"
- Text="{Binding Mode=TwoWay, ElementName=xaml_ZoomSlider,Path=Value, UpdateSourceTrigger=PropertyChanged}" Margin="10 0 0 0"
- PreviewKeyDown="ZoomEnterClicked"/>
- <TextBlock Margin="5,0,0,0" Height="20" Text="%">
- <TextBlock.FontSize>12</TextBlock.FontSize>
- </TextBlock>
-
- <Button Margin="10 0 0 0" Width="20" Height="20" Click="ActualSize" Background="Transparent" BorderBrush="Transparent" x:Name="xaml_ActualSize">
- <Button.Template>
- <ControlTemplate TargetType="{x:Type Button}">
- <Grid>
- <Rectangle Width="20" Height="20">
- <Rectangle.Fill>
- <ImageBrush ImageSource="Resources/ActualSize48.png"/>
- </Rectangle.Fill>
- </Rectangle>
- <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
- </Grid>
- </ControlTemplate>
- </Button.Template>
- </Button>
-
- <Button Margin="10 0 0 0" Width="20" Height="20" Click="ContScrollFill" Background="Transparent" BorderBrush="Transparent" x:Name="xaml_ContScrollFill">
- <Button.Template>
- <ControlTemplate TargetType="{x:Type Button}">
- <Grid>
- <Rectangle Width="20" Height="20">
- <Rectangle.Fill>
- <ImageBrush ImageSource="Resources/ContScrollFill48.png"/>
- </Rectangle.Fill>
- </Rectangle>
- <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
- </Grid>
- </ControlTemplate>
- </Button.Template>
- </Button>
-
- <Button Margin="10 0 0 0" Width="20" Height="20" Click="ExpandFill" Background="Transparent" BorderBrush="Transparent" x:Name="xaml_ExpandFill">
- <Button.Template>
- <ControlTemplate TargetType="{x:Type Button}">
- <Grid>
- <Rectangle Width="20" Height="20">
- <Rectangle.Fill>
- <ImageBrush ImageSource="Resources/ExpandFill48.png"/>
- </Rectangle.Fill>
- </Rectangle>
- <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
- </Grid>
- </ControlTemplate>
- </Button.Template>
- </Button>
-
-
- <Rectangle Width="2" Height="20" Margin="10 0 0 0">
- <Rectangle.Fill>
- <SolidColorBrush Color="DarkGray">
- </SolidColorBrush>
- </Rectangle.Fill>
- </Rectangle>
- <Button Margin="10 0 0 0" x:Name="xaml_Thumbs" Width="20" Height="20" Click="ToggleThumbs" Background="Transparent" BorderBrush="Transparent">
- <Button.ToolTip>
- <TextBlock Text="Thumbnails"/>
- </Button.ToolTip>
- <Button.Template>
- <ControlTemplate TargetType="{x:Type Button}">
- <Grid>
- <Ellipse>
- <Ellipse.Fill >
- <ImageBrush ImageSource="Resources/thumbnail.ico"/>
- </Ellipse.Fill>
- </Ellipse>
- <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
- </Grid>
- </ControlTemplate>
- </Button.Template>
- </Button>
- <Button Margin="10 0 0 0" x:Name="xaml_Contents" Width="20" Height="20" Click="ToggleContents" Background="Transparent" BorderBrush="Transparent">
- <Button.ToolTip>
- <TextBlock Text="Contents"/>
- </Button.ToolTip>
- <Button.Template>
- <ControlTemplate TargetType="{x:Type Button}">
- <Grid>
- <Rectangle Width="20" Height="20">
- <Rectangle.Fill>
- <ImageBrush ImageSource="Resources/contents.ico"/>
- </Rectangle.Fill>
- </Rectangle>
- <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
- </Grid>
- </ControlTemplate>
- </Button.Template>
- </Button>
- <Button Margin="10 0 0 0" x:Name="xaml_Search" Width="20" Height="20" Click="Search" Background="Transparent" BorderBrush="Transparent">
- <Button.ToolTip>
- <TextBlock Text="Search"/>
- </Button.ToolTip>
- <Button.Template>
- <ControlTemplate TargetType="{x:Type Button}">
- <Grid>
- <Rectangle Width="20" Height="20">
- <Rectangle.Fill>
- <ImageBrush ImageSource="Resources/search.png"/>
- </Rectangle.Fill>
- </Rectangle>
- <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
- </Grid>
- </ControlTemplate>
- </Button.Template>
- </Button>
- <Button Margin="10 0 0 0" x:Name="xaml_Links" Width="20" Height="20" Click="LinksToggle" Background="Transparent" BorderBrush="Transparent">
- <Button.ToolTip>
- <TextBlock Text="Hyperlinks"/>
- </Button.ToolTip>
- <Button.Template>
- <ControlTemplate TargetType="{x:Type Button}">
- <Grid>
- <Ellipse>
- <Ellipse.Fill >
- <ImageBrush ImageSource="Resources/hyperlink.png"/>
- </Ellipse.Fill>
- </Ellipse>
- <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
- </Grid>
- </ControlTemplate>
- </Button.Template>
- </Button>
- </StackPanel>
-
- <!-- Search control -->
- <Grid x:Name="xaml_SearchControl" Background="WhiteSmoke" DockPanel.Dock="Bottom" Visibility="Collapsed">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="Auto" />
- </Grid.ColumnDefinitions>
- <TextBlock Grid.Row="0" Grid.Column="0" Margin="5,5,0,5"><Bold>Search:</Bold></TextBlock>
- <TextBox x:Name="xaml_SearchText" Grid.Row="0" Grid.Column="1" Width="100" Height="20" VerticalScrollBarVisibility="Hidden"
- HorizontalScrollBarVisibility="Hidden" TextAlignment="Center" Margin="5,5,0,5"/>
- <Button Grid.Row="0" Grid.Column="2" Width="20" Height="20" Click="OnSearchBackClick" Background="Transparent" BorderBrush="Transparent" Margin="5,0,5,0">
- <Button.Template>
- <ControlTemplate TargetType="{x:Type Button}">
- <Grid>
- <Ellipse>
- <Ellipse.Fill >
- <ImageBrush ImageSource="Resources/Left.ico"/>
- </Ellipse.Fill>
- </Ellipse>
- <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
- </Grid>
- </ControlTemplate>
- </Button.Template>
- </Button>
- <Button Grid.Row="0" Grid.Column="3" Width="20" Height="20" Click="OnSearchForwardClick" Background="Transparent" BorderBrush="Transparent">
- <Button.Template>
- <ControlTemplate TargetType="{x:Type Button}">
- <Grid>
- <Ellipse>
- <Ellipse.Fill >
- <ImageBrush ImageSource="Resources/Right.ico"/>
- </Ellipse.Fill>
- </Ellipse>
- <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
- </Grid>
- </ControlTemplate>
- </Button.Template>
- </Button>
- </Grid>
-
- <!-- Footer control Currently just zoom slider in here but we may add more -->
- <Grid x:Name="xaml_FooterControl" Background="WhiteSmoke" DockPanel.Dock="Bottom" Visibility="Collapsed">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="Auto" />
- </Grid.ColumnDefinitions>
- <TextBlock Grid.Row="0" Grid.Column="0" Margin="5,0,0,0"><Bold>Zoom:</Bold></TextBlock>
- <Slider x:Name="xaml_ZoomSlider" Grid.Row="0" Grid.Column="1" Margin="10, 0, 0, 0"
- Width="150" Orientation="Horizontal" HorizontalAlignment="Center"
- Value="100" Minimum="25" Maximum="400"
- SmallChange="1" LargeChange="1"
- TickPlacement="None" TickFrequency="1" IsSnapToTickEnabled="True"/>
- </Grid>
-
- <!-- The progress bar that runs while the thumbnails are rendered -->
- <Grid x:Name="xaml_ProgressGrid" DockPanel.Dock="Bottom" Visibility="Collapsed">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="*" />
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="Auto" />
- </Grid.ColumnDefinitions>
- <ProgressBar x:Name="xaml_ThumbProgress" Grid.Row="0" Grid.Column="0" Margin="3" Minimum="0"
- Maximum="100" Height="20" HorizontalAlignment="Stretch" />
- <TextBlock Grid.Row="0" Grid.Column="1" VerticalAlignment="Center" Margin="5, 0, 5, 0"><Bold>Creating Thumbs</Bold></TextBlock>
- <!-- <Button Grid.Row="0" Grid.Column="2" Width="50" Height="20" Name="xaml_CancelThumb" Click="CancelLoadClick" Background="Transparent" BorderBrush="Transparent" Margin="5,0,5,0">
- <Button.Template>
- <ControlTemplate TargetType="{x:Type Button}">
- <Grid>
- <Rectangle Height="Auto" RadiusX="5" RadiusY="5">
- <Rectangle.Fill >
- <SolidColorBrush Color="LightSlateGray"></SolidColorBrush>
- </Rectangle.Fill>
- </Rectangle>
- <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
- </Grid>
- </ControlTemplate>
- </Button.Template>
- <TextBlock><Bold>Cancel</Bold></TextBlock>
- </Button> -->
- </Grid>
-
- <!-- The progress bar that runs during text search -->
- <Grid x:Name="xaml_SearchGrid" DockPanel.Dock="Bottom" Visibility="Collapsed">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="*" />
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="Auto" />
- </Grid.ColumnDefinitions>
- <ProgressBar x:Name="xaml_SearchProgress" Grid.Row="0" Grid.Column="0" Margin="3" Minimum="0"
- Maximum="100" Height="20" HorizontalAlignment="Stretch" />
- <TextBlock Grid.Row="0" Grid.Column="1" VerticalAlignment="Center" Margin="5, 0, 5, 0"><Bold>Searching</Bold></TextBlock>
- <Button Grid.Row="0" Grid.Column="2" Width="50" Height="20" Name="xaml_CancelSearch" Click="CancelSearchClick" Background="Transparent" BorderBrush="Transparent" Margin="5,0,5,0">
- <Button.Template>
- <ControlTemplate TargetType="{x:Type Button}">
- <Grid>
- <Rectangle Height="Auto" RadiusX="5" RadiusY="5">
- <Rectangle.Fill >
- <SolidColorBrush Color="LightSlateGray"></SolidColorBrush>
- </Rectangle.Fill>
- </Rectangle>
- <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
- </Grid>
- </ControlTemplate>
- </Button.Template>
- <TextBlock><Bold>Cancel</Bold></TextBlock>
- </Button>
- </Grid>
-
- <!-- The progress bar that runs during copy all text to clipboard -->
- <Grid x:Name="xaml_CopyTextGrid" DockPanel.Dock="Bottom" Visibility="Collapsed">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="*" />
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="Auto" />
- </Grid.ColumnDefinitions>
- <ProgressBar x:Name="xaml_CopyTextProgress" Grid.Row="0" Grid.Column="0" Margin="3" Minimum="0"
- Maximum="100" Height="20" HorizontalAlignment="Stretch" />
- <TextBlock Grid.Row="0" Grid.Column="1" VerticalAlignment="Center" Margin="5, 0, 5, 0"><Bold>Printing</Bold></TextBlock>
- <Button Grid.Row="0" Grid.Column="2" Width="50" Height="20" Name="xaml_CancelCopyText" Click="CancelCopyText" Background="Transparent" BorderBrush="Transparent" Margin="5,0,5,0">
- <Button.Template>
- <ControlTemplate TargetType="{x:Type Button}">
- <Grid>
- <Rectangle Height="Auto" RadiusX="5" RadiusY="5">
- <Rectangle.Fill >
- <SolidColorBrush Color="LightSlateGray"></SolidColorBrush>
- </Rectangle.Fill>
- </Rectangle>
- <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
- </Grid>
- </ControlTemplate>
- </Button.Template>
- <TextBlock><Bold>Cancel</Bold></TextBlock>
- </Button>
- </Grid>
-
- <!-- The progress bar that runs during printing -->
- <Grid x:Name="xaml_PrintGrid" DockPanel.Dock="Bottom" Visibility="Collapsed">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="*" />
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="Auto" />
- </Grid.ColumnDefinitions>
- <ProgressBar x:Name="xaml_PrintProgress" Grid.Row="0" Grid.Column="0" Margin="3" Minimum="0"
- Maximum="100" Height="20" HorizontalAlignment="Stretch" />
- <TextBlock Grid.Row="0" Grid.Column="1" VerticalAlignment="Center" Margin="5, 0, 5, 0"><Bold>Printing</Bold></TextBlock>
- <!-- Asyc Cancel crashes in windows 8 for this xps creation -->
- <!-- <Button Grid.Row="0" Grid.Column="2" Width="50" Height="20" Name="xaml_CancelPrint" Click="CancelPrintClick" Background="Transparent" BorderBrush="Transparent" Margin="5,0,5,0">
- <Button.Template>
- <ControlTemplate TargetType="{x:Type Button}">
- <Grid>
- <Rectangle Height="Auto" RadiusX="5" RadiusY="5">
- <Rectangle.Fill >
- <SolidColorBrush Color="LightSlateGray"></SolidColorBrush>
- </Rectangle.Fill>
- </Rectangle>
- <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
- </Grid>
- </ControlTemplate>
- </Button.Template>
- <TextBlock><Bold>Cancel</Bold></TextBlock>
- </Button> -->
- </Grid>
-
- <!-- The progress bar that runs during MuPDF page by page conversion to file-->
- <Grid x:Name="xaml_MuPDFGrid" DockPanel.Dock="Bottom" Visibility="Collapsed">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="*" />
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="Auto" />
- </Grid.ColumnDefinitions>
- <ProgressBar x:Name="xaml_MuPDFProgress" Grid.Row="0" Grid.Column="0" Margin="3" Minimum="0"
- Maximum="100" Height="20" HorizontalAlignment="Stretch"/>
- <TextBlock Grid.Row="0" Grid.Column="1" VerticalAlignment="Center" Margin="5, 0, 5, 0"><Bold>MuPDF Converting Document</Bold></TextBlock>
- <Button Grid.Row="0" Grid.Column="2" Width="50" Height="20" Name="xaml_CancelMuPDF" Click="CancelMuPDFClick" Background="Transparent" BorderBrush="Transparent" Margin="5,0,5,0">
- <Button.Template>
- <ControlTemplate TargetType="{x:Type Button}">
- <Grid>
- <Rectangle Height="Auto" RadiusX="5" RadiusY="5">
- <Rectangle.Fill >
- <SolidColorBrush Color="LightSlateGray"></SolidColorBrush>
- </Rectangle.Fill>
- </Rectangle>
- <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
- </Grid>
- </ControlTemplate>
- </Button.Template>
- <TextBlock><Bold>Cancel</Bold></TextBlock>
- </Button>
- </Grid>
-
- <!-- The progress bar that runs during GS distilling -->
- <Grid x:Name="xaml_DistillGrid" DockPanel.Dock="Bottom" Visibility="Collapsed">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="*" />
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="Auto" />
- </Grid.ColumnDefinitions>
- <ProgressBar x:Name="xaml_DistillProgress" Grid.Row="0" Grid.Column="0" Margin="3" Minimum="0"
- Maximum="100" Height="20" HorizontalAlignment="Stretch"/>
- <TextBlock x:Name="xaml_DistillName" Grid.Row="0" Grid.Column="1" VerticalAlignment="Center" Margin="5, 0, 5, 0"><Bold>Distilling</Bold></TextBlock>
- <Button Grid.Row="0" Grid.Column="2" Width="50" Height="20" Name="xaml_CancelDistill" Click="CancelDistillClick" Background="Transparent" BorderBrush="Transparent" Margin="5,0,5,0">
- <Button.Template>
- <ControlTemplate TargetType="{x:Type Button}">
- <Grid>
- <Rectangle Height="Auto" RadiusX="5" RadiusY="5">
- <Rectangle.Fill >
- <SolidColorBrush Color="LightSlateGray"></SolidColorBrush>
- </Rectangle.Fill>
- </Rectangle>
- <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
- </Grid>
- </ControlTemplate>
- </Button.Template>
- <TextBlock><Bold>Cancel</Bold></TextBlock>
- </Button>
- </Grid>
-
- <!-- Thumb viewer/selector -->
- <Grid x:Name="xaml_ThumbGrid" Width="100" Background="DarkGray" DockPanel.Dock="Left" Visibility="Collapsed">
- <ListView x:Name="xaml_ThumbList" HorizontalAlignment="Stretch"
- ItemTemplate="{StaticResource ThumbTemplate}"
- ScrollViewer.CanContentScroll="False"
- Background="DarkGray"
- PreviewMouseLeftButtonUp="ThumbSelected">
- </ListView>
- </Grid>
-
- <!-- Contents viewer/selector. -->
- <Grid x:Name="xaml_ContentGrid" Width="250" Background="DarkGray" DockPanel.Dock="Left" Visibility="Collapsed">
- <ListView x:Name="xaml_ContentList" HorizontalAlignment="Stretch"
- ScrollViewer.CanContentScroll="False" PreviewMouseLeftButtonUp="ContentSelected"
- Background="DarkGray" >
- <ListView.ItemTemplate>
- <DataTemplate>
- <StackPanel Margin="5,5,0,0" HorizontalAlignment="Left">
- <TextBlock TextWrapping="Wrap" Text="{Binding StringMargin}" FontFamily="Segoe UI" FontSize="11" />
- </StackPanel>
- </DataTemplate>
- </ListView.ItemTemplate>
- </ListView>
- </Grid>
-
- <Grid x:Name="xaml_OpenProgressGrid" HorizontalAlignment="Stretch" Background="DarkGray" DockPanel.Dock="Bottom" Visibility="Collapsed">
- <Grid.RowDefinitions>
- <RowDefinition Height="*" />
- <RowDefinition Height="Auto" />
- </Grid.RowDefinitions>
- <TextBlock x:Name ="xaml_openfilestatus" Text="Opening File" Grid.Row="0" Grid.Column="0" Margin="0,0,0,10" HorizontalAlignment="Center"></TextBlock>
- <ProgressBar Grid.Row="1" Grid.Column="0" x:Name="xaml_OpenProgress" Minimum="0"
- Maximum="100" Height="20" Margin="100,0,100,200" HorizontalAlignment="Stretch" IsIndeterminate="True" />
- </Grid>
-
- <!-- The stock scroll bar that comes with the ListView scrollviewer does is not well behaved when
- the page sizes change. So we have our own here that we will set up -->
- <ScrollBar x:Name="xaml_VerticalScroll" Orientation="Vertical" Grid.Row="0" Grid.Column="1" DockPanel.Dock="Right"
- Width ="5" Height="Auto" Margin="0,0,0,0" Background="WhiteSmoke" Visibility="Collapsed"
- Scroll="VerticalScroll"/>
-
- <!-- Pages are last child fill. This goes in the center of our dock panel ScrollViewer.CanContentScroll False allows continuous scrolling-->
- <!-- <Grid x:Name="xaml_PageGrid" HorizontalAlignment="Stretch" Background="DarkGray" DockPanel.Dock="Left" AllowDrop="True"> -->
- <ListView x:Name="xaml_PageList" HorizontalAlignment="Stretch"
- ItemTemplate="{StaticResource PageTemplate}"
- ScrollViewer.CanContentScroll="False"
- Background="DarkGray"
- ScrollViewer.ScrollChanged="ListViewScrollChanged"
- MouseDoubleClick="PageDoubleClick" IsHitTestVisible="True"
- SelectionMode="Single"
- PreviewMouseLeftButtonDown="ListPreviewMouseLeftButtonDown"
- PreviewMouseLeftButtonUp="ListPreviewLeftButtonUp"
- MouseLeave="ListMouseLeave"
- PreviewMouseMove="ListPreviewMouseMove"
- ScrollViewer.HorizontalScrollBarVisibility="Auto"
- ScrollViewer.VerticalScrollBarVisibility="Hidden"
- ScrollViewer.IsDeferredScrollingEnabled ="False" DockPanel.Dock="Left" AllowDrop="True"
- >
- <!-- This keeps the pages in the center of the panel -->
-
- <ListView.ItemContainerStyle>
-
- <Style TargetType="ListViewItem">
- <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
- <EventSetter Event="RequestBringIntoView" Handler="AvoidScrollIntoView"/>
- </Style>
- </ListView.ItemContainerStyle>
- </ListView>
- <!-- </Grid> -->
- </DockPanel>
-</Window>
diff --git a/platform/windows/gsview/MainWindow.xaml.cs b/platform/windows/gsview/MainWindow.xaml.cs
deleted file mode 100644
index 0ca822e9..00000000
--- a/platform/windows/gsview/MainWindow.xaml.cs
+++ /dev/null
@@ -1,5058 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading;
-using System.Threading.Tasks;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-using System.Windows.Forms;
-using System.ComponentModel;
-using System.IO;
-using System.Windows.Xps.Packaging;
-using System.Printing;
-using System.Windows.Markup;
-using System.Runtime.InteropServices;
-using Microsoft.Win32; /* For registry */
-using System.Reflection;
-using System.Diagnostics;
-
-
-public enum AA_t
-{
- HIGH = 8,
- MEDHIGH = 6,
- MED = 4,
- LOW = 2,
- NONE = 0
-}
-
-enum PDFType_t
-{
- PDFX,
- PDFA
-}
-
-enum AppBar_t
-{
- TEXT_SEARCH,
- STANDARD
-}
-
-enum NotifyType_t
-{
- MESS_STATUS,
- MESS_ERROR
-};
-
-enum RenderingStatus_t
-{
- REN_AVAILABLE,
- REN_THUMBS,
- REN_UPDATE_THUMB_CANVAS,
- REN_PAGE /* Used to ignore value when source based setting */
-};
-
-public enum status_t
-{
- S_ISOK,
- E_FAILURE,
- E_OUTOFMEM,
- E_NEEDPASSWORD
-};
-
-public enum textout_t
-{
- HTML = 0,
- XML,
- TEXT
-}
-
-enum zoom_t
-{
- NO_ZOOM,
- ZOOM_IN,
- ZOOM_OUT
-}
-
-enum view_t
-{
- VIEW_WEB,
- VIEW_CONTENT,
- VIEW_PAGE,
- VIEW_PASSWORD,
- VIEW_TEXTSEARCH
-};
-
-public enum Page_Content_t
-{
- FULL_RESOLUTION = 0,
- THUMBNAIL,
- OLD_RESOLUTION,
- NOTSET
-};
-
-/* Put all the PDF types first to make the switch statment shorter
- Save_Type_t.PDF is the test */
-public enum Save_Type_t
-{
- PDF13,
- LINEAR_PDF,
- PDFA1_RGB,
- PDFA1_CMYK,
- PDFA2_RGB,
- PDFA2_CMYK,
- PDFX3_GRAY,
- PDFX3_CMYK,
- PDF,
- PCLXL,
- XPS,
- SVG,
- TEXT,
- HTML,
- XML
-}
-
-public enum Extract_Type_t
-{
- PDF,
- EPS,
- PS,
- SVG
-}
-
-/* C# has no defines.... */
-static class Constants
-{
- public const int SCROLL_STEPSIZE = 48;
- public const int INIT_LOOK_AHEAD = 2; /* A + count on the pages to pre-render */
- public const int THUMB_PREADD = 10;
- public const double MIN_SCALE = 0.5;
- public const double SCALE_THUMB = 0.05;
- public const int BLANK_WIDTH = 17;
- public const int BLANK_HEIGHT = 22;
- public const double ZOOM_STEP = 0.25;
- public const int ZOOM_MAX = 4;
- public const double ZOOM_MIN = 0.25;
- public const int KEY_PLUS = 0xbb;
- public const int KEY_MINUS = 0xbd;
- public const int ZOOM_IN = 0;
- public const int ZOOM_OUT = 1;
- public const double SCREEN_SCALE = 1;
- public const int HEADER_SIZE = 54;
- public const int SEARCH_FORWARD = 1;
- public const int SEARCH_BACKWARD = -1;
- public const int TEXT_NOT_FOUND = -1;
- public const int DEFAULT_GS_RES = 300;
- public const int DISPATCH_TIME = 50;
- public const int SCROLL_STEP = 10;
- public const int SCROLL_EDGE_BUFFER = 90;
- public const int VERT_SCROLL_STEP = 48;
- public const int PAGE_MARGIN = 1;
- public const int MAX_PRINT_PREVIEW_LENGTH = 250;
-}
-
-public static class DocumentTypes
-{
- public const string PDF = "Portable Document Format";
- public const string PS = "PostScript";
- public const string XPS = "XPS";
- public const string EPS = "Encapsulated PostScript";
- public const string CBZ = "Comic Book Archive";
- public const string PNG = "Portable Network Graphics Image";
- public const string JPG = "Joint Photographic Experts Group Image";
- public const string UNKNOWN = "Unknown";
-}
-
-namespace gsview
-{
- /// <summary>
- /// Interaction logic for MainWindow.xaml
- /// </summary>
- ///
-
- public struct pageprogress_t
- {
- public Byte[] bitmap;
- public BlocksText charlist;
- public int pagenum;
- public Point size;
- public Annotate_t annot;
- }
-
- public struct ContextMenu_t
- {
- public int page_num;
- public Point mouse_position;
- }
-
- public struct thumb_t
- {
- public int page_num;
- public Byte[] bitmap;
- public Point size;
- }
-
- public struct searchResults_t
- {
- public String needle;
- public bool done;
- public int page_found;
- public List<Rect> rectangles;
- public int num_rects;
- }
-
- public struct printPreviewPage_t
- {
- public Byte[] bitmap;
- public int width;
- public int height;
- public double width_inches;
- public double height_inches;
- }
-
- public struct textSelectInfo_t
- {
- public int pagenum;
- public bool first_line_full;
- public bool last_line_full;
- }
-
- public static class ScrollBarExtensions
- {
- public static double GetThumbCenter(this System.Windows.Controls.Primitives.ScrollBar s)
- {
- double thumbLength = GetThumbLength(s);
- double trackLength = s.Maximum - s.Minimum;
-
- return thumbLength / 2 + s.Minimum + (s.Value - s.Minimum) *
- (trackLength - thumbLength) / trackLength;
- }
-
- public static void SetThumbCenter(this System.Windows.Controls.Primitives.ScrollBar s, double thumbCenter)
- {
- double thumbLength = GetThumbLength(s);
- double trackLength = s.Maximum - s.Minimum;
-
- if (thumbCenter >= s.Maximum - thumbLength / 2)
- {
- s.Value = s.Maximum;
- }
- else if (thumbCenter <= s.Minimum + thumbLength / 2)
- {
- s.Value = s.Minimum;
- }
- else if (thumbLength >= trackLength)
- {
- s.Value = s.Minimum;
- }
- else
- {
- s.Value = (int)(s.Minimum + trackLength *
- ((thumbCenter - s.Minimum - thumbLength / 2)
- / (trackLength - thumbLength)));
- }
- }
-
- public static double GetThumbLength(this System.Windows.Controls.Primitives.ScrollBar s)
- {
- double trackLength = s.Maximum - s.Minimum;
- return trackLength * s.ViewportSize /
- (trackLength + s.ViewportSize);
- }
-
- public static void SetThumbLength(this System.Windows.Controls.Primitives.ScrollBar s, double thumbLength)
- {
- double trackLength = s.Maximum - s.Minimum;
-
- if (thumbLength < 0)
- {
- s.ViewportSize = 0;
- }
- else if (thumbLength < trackLength)
- {
- s.ViewportSize = trackLength * thumbLength / (trackLength - thumbLength);
- }
- else
- {
- s.ViewportSize = double.MaxValue;
- }
- }
- }
-
- public partial class MainWindow : Window
- {
- mudocument mu_doc = null;
- public Pages m_docPages;
- List<textSelectInfo_t> m_textSelect;
- List<DocPage> m_thumbnails;
- List<List<RectList>> m_page_link_list = null;
- IList<RectList> m_text_list;
- DocPage m_PrintPreviewPage;
- public List<LinesText> m_lineptrs = null;
- public List<BlocksText> m_textptrs = null;
- List<Boolean> m_textset = null;
- private bool m_file_open;
- private int m_currpage;
- private int m_searchpage;
- private int m_num_pages;
- private bool m_init_done;
- private bool m_links_on;
- String m_textsearchcolor = "#4072AC25";
- String m_textselectcolor = "#402572AC";
- String m_regionselect = "#00FFFFFF";
- String m_blockcolor = "#00FFFFFF";
- //String m_regionselect = "#FFFF0000"; /* Debug */
- String m_linkcolor = "#40AC7225";
- private bool m_have_thumbs;
- double m_doczoom;
- ghostsharp m_ghostscript;
- String m_currfile;
- String m_origfile;
- private gsprint m_ghostprint = null;
- bool m_isXPS;
- bool m_isImage;
- gsOutput m_gsoutput;
- Convert m_convertwin;
- PageExtractSave m_extractwin;
- Password m_password = null;
- PrintControl m_printcontrol = null;
- String m_currpassword = null;
- BackgroundWorker m_thumbworker = null;
- BackgroundWorker m_textsearch = null;
- BackgroundWorker m_linksearch = null;
- BackgroundWorker m_openfile = null;
- BackgroundWorker m_initrender = null;
- BackgroundWorker m_printerpreview = null;
- BackgroundWorker m_copytext = null;
- String m_document_type;
- Info m_infowindow;
- OutputIntent m_outputintents;
- Selection m_selection;
- String m_prevsearch = null;
- bool m_clipboardset;
- bool m_doscroll;
- bool m_intxtselect;
- bool m_textselected;
- System.Windows.Threading.DispatcherTimer m_dispatcherTimer = null;
- double m_lastY;
- double m_maxY;
- bool m_ignorescrollchange;
- double m_totalpageheight;
- AA_t m_AA;
- bool m_regstartup;
- int m_initpage;
- bool m_selectall;
- bool m_showannot;
- bool m_ScrolledChanged;
-
- public MainWindow()
- {
- InitializeComponent();
- this.Closing += new System.ComponentModel.CancelEventHandler(Window_Closing);
- m_file_open = false;
- m_regstartup = true;
- m_showannot = true;
-
- /* Allocations and set up */
- try
- {
- m_docPages = new Pages();
- m_thumbnails = new List<DocPage>();
- m_PrintPreviewPage = new DocPage();
- m_lineptrs = new List<LinesText>();
- m_textptrs = new List<BlocksText>();
- m_textset = new List<Boolean>();
- m_ghostscript = new ghostsharp();
- m_ghostscript.gsUpdateMain += new ghostsharp.gsCallBackMain(gsProgress);
- m_gsoutput = new gsOutput();
- m_gsoutput.Activate();
- m_outputintents = new OutputIntent();
- m_outputintents.Activate();
- m_ghostscript.gsIOUpdateMain += new ghostsharp.gsIOCallBackMain(gsIO);
- m_ghostscript.gsDLLProblemMain += new ghostsharp.gsDLLProblem(gsDLL);
- m_convertwin = null;
- m_extractwin = null;
- m_selection = null;
- xaml_ZoomSlider.AddHandler(MouseLeftButtonUpEvent, new MouseButtonEventHandler(ZoomReleased), true);
- xaml_PageList.AddHandler(Grid.DragOverEvent, new System.Windows.DragEventHandler(Grid_DragOver), true);
- xaml_PageList.AddHandler(Grid.DropEvent, new System.Windows.DragEventHandler(Grid_Drop), true);
- DimSelections();
- status_t result = CleanUp();
-
- string[] arguments = Environment.GetCommandLineArgs();
- if (arguments.Length > 1)
- {
- string filePath = arguments[1];
- ProcessFile(filePath);
- }
- else
- {
- if (m_regstartup)
- InitFromRegistry();
- }
- }
- catch (OutOfMemoryException e)
- {
- Console.WriteLine("Memory allocation failed at initialization\n");
- ShowMessage(NotifyType_t.MESS_ERROR, "Out of memory: " + e.Message);
- }
- }
-
- private void Grid_DragOver(object sender, System.Windows.DragEventArgs e)
- {
- if (e.Data.GetDataPresent(System.Windows.DataFormats.FileDrop))
- {
- e.Effects = System.Windows.DragDropEffects.All;
- }
- else
- {
- e.Effects = System.Windows.DragDropEffects.None;
- }
- e.Handled = false;
- }
-
- private void Grid_Drop(object sender, System.Windows.DragEventArgs e)
- {
- if (e.Data.GetDataPresent(System.Windows.DataFormats.FileDrop))
- {
- string[] docPath = (string[]) e.Data.GetData(System.Windows.DataFormats.FileDrop);
- ProcessFile(String.Join("",docPath));
- }
- }
-
- void CloseExtraWindows(bool shutdown)
- {
- if (m_selection != null)
- m_selection.Close();
- if (m_convertwin != null)
- m_convertwin.Close();
- if (m_extractwin != null)
- m_extractwin.Close();
- if (m_infowindow != null)
- m_infowindow.Close();
- if (shutdown)
- {
- if (m_gsoutput != null)
- m_gsoutput.RealWindowClosing();
- if (m_outputintents != null)
- m_outputintents.RealWindowClosing();
- if (m_printcontrol != null)
- m_printcontrol.RealWindowClosing();
- }
- else
- {
- if (m_gsoutput != null)
- m_gsoutput.Hide();
- if (m_outputintents != null)
- m_outputintents.Hide();
- if (m_printcontrol != null)
- m_printcontrol.Hide();
- }
- }
-
- void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
- {
- CloseExtraWindows(true);
- }
-
- /* Stuff not enabled when source is XPS */
- void EnabletoPDF()
- {
- xaml_savepdf.IsEnabled = true;
- xaml_linearize_pdf.IsEnabled = true;
- xaml_saveas.IsEnabled = true;
- xaml_Extract.IsEnabled = true;
- xaml_conversions.IsEnabled = true;
- xaml_extractselection.IsEnabled = true;
- }
-
- void DisabletoPDF()
- {
- xaml_savepdf.IsEnabled = false;
- xaml_linearize_pdf.IsEnabled = false;
- xaml_saveas.IsEnabled = false;
- xaml_Extract.IsEnabled = false;
- xaml_conversions.IsEnabled = false;
- xaml_extractselection.IsEnabled = false;
- }
-
- private void DimSelections()
- {
- xaml_currPage.Text = "";
- xaml_TotalPages.Text = "/ 0";
- xaml_Zoomsize.Text = "100";
- xaml_BackPage.Opacity = 0.5;
- xaml_Contents.Opacity = 0.5;
- xaml_currPage.Opacity = 0.5;
- xaml_currPage.IsEnabled = false;
- xaml_ForwardPage.Opacity = 0.5;
- xaml_Links.Opacity = 0.5;
- xaml_Print.Opacity = 0.5;
- xaml_SavePDF.Opacity = 0.5;
- xaml_Search.Opacity = 0.5;
- xaml_Thumbs.Opacity = 0.5;
- xaml_TotalPages.Opacity = 0.5;
- xaml_zoomIn.Opacity = 0.5;
- xaml_zoomOut.Opacity = 0.5;
- xaml_Zoomsize.Opacity = 0.5;
- xaml_ExpandFill.Opacity = 0.5;
- xaml_ContScrollFill.Opacity = 0.5;
- xaml_ActualSize.Opacity = 0.5;
- xaml_Zoomsize.IsEnabled = false;
- xaml_ZoomSlider.Opacity = 0.5;
- xaml_ZoomSlider.IsEnabled = false;
- xaml_saveas.IsEnabled = false;
- xaml_closefile.IsEnabled = false;
- xaml_showinfo.IsEnabled = false;
- xaml_extractselection.IsEnabled = false;
- xaml_conversions.IsEnabled = false;
- xaml_gsmessage.IsEnabled = false;
- xaml_print_menu.IsEnabled = false;
- xaml_view.IsEnabled = false;
- xaml_edit.IsEnabled = false;
- }
-
- private status_t CleanUp()
- {
- m_init_done = false;
- this.Cursor = System.Windows.Input.Cursors.Arrow;
- /* Collapse this stuff since it is going to be released */
- xaml_ThumbGrid.Visibility = System.Windows.Visibility.Collapsed;
- xaml_ContentGrid.Visibility = System.Windows.Visibility.Collapsed;
- xaml_VerticalScroll.Visibility = System.Windows.Visibility.Collapsed;
-
- /* Clear out everything */
- if (m_docPages != null && m_docPages.Count > 0)
- m_docPages.Clear();
- if (m_textSelect != null)
- m_textSelect.Clear();
- if (m_textset != null)
- m_textset.Clear();
- if (m_lineptrs != null && m_lineptrs.Count > 0)
- m_lineptrs.Clear();
- if (m_thumbnails != null && m_thumbnails.Count > 0)
- m_thumbnails.Clear();
- if (m_textptrs != null && m_textptrs.Count > 0)
- m_textptrs.Clear();
- if (m_page_link_list != null && m_page_link_list.Count > 0)
- {
- m_page_link_list.Clear();
- m_page_link_list = null;
- }
- if (m_text_list != null && m_text_list.Count > 0)
- {
- m_text_list.Clear();
- m_text_list = null;
- }
- if (mu_doc != null)
- mu_doc.CleanUp();
- try
- {
- mu_doc = new mudocument();
- }
- catch (OutOfMemoryException e)
- {
- Console.WriteLine("Memory allocation failed during clean up\n");
- ShowMessage(NotifyType_t.MESS_ERROR, "Out of memory: " + e.Message);
- }
- mu_doc.mupdfDLLProblemMain += new mudocument.mupdfDLLProblem(muDLL);
- status_t result = mu_doc.Initialize();
- mu_doc.mupdfUpdateMain += new mudocument.mupdfCallBackMain(mupdfUpdate);
-
- if (result != status_t.S_ISOK)
- {
- Console.WriteLine("Library allocation failed during clean up\n");
- ShowMessage(NotifyType_t.MESS_ERROR, "Library allocation failed!");
- return result;
- }
-
- m_have_thumbs = false;
- m_file_open = false;
- m_num_pages = -1;
- m_links_on = false;
- m_doczoom = 1.0;
- m_isXPS = false;
- m_isImage = false;
- //xaml_CancelThumb.IsEnabled = true;
- m_currpage = 0;
- m_ignorescrollchange = false;
- m_document_type = DocumentTypes.UNKNOWN;
- EnabletoPDF();
- m_clipboardset = false;
- m_doscroll = false;
- m_intxtselect = false;
- m_textselected = false;
- m_currpassword = null;
- CloseExtraWindows(false);
- ResetScroll();
- m_totalpageheight = 0;
- m_AA = GetAA();
- m_origfile = null;
- m_initpage = 0;
- xaml_Zoomsize.Text = "100";
- m_selectall = false;
- return result;
- }
-
- private String GetVersion()
- {
- Assembly assembly = Assembly.GetExecutingAssembly();
- FileVersionInfo fileVersionInfo = FileVersionInfo.GetVersionInfo(assembly.Location);
- String vers = fileVersionInfo.ProductVersion;
- String[] parts = vers.Split('.');
- String simple_vers = parts[0] + '.' + parts[1];
- return simple_vers;
- }
-
- /* Initialize from registry */
- private void InitFromRegistry()
- {
- RegistryKey key = Registry.CurrentUser.CreateSubKey("Software");
- RegistryKey keyA = key.CreateSubKey("Artifex Software");
- String vers = GetVersion();
- RegistryKey keygs = keyA.CreateSubKey("gsview " + vers);
- String filepath = null;
- Int32 page;
- AA_t aa = AA_t.HIGH;
-
- try
- {
- filepath = (String)keygs.GetValue("File", null);
- aa = (AA_t)keygs.GetValue("AA");
- page = (Int32)keygs.GetValue("Page");
- }
- catch
- {
- return;
- }
- keygs.Close();
- keyA.Close();
- key.Close();
-
- SetAA(aa);
- m_AA = aa;
-
- if (filepath != null && File.Exists(filepath))
- {
- m_initpage = page;
- ProcessFile(filepath);
- }
- else
- m_initpage = 0;
- }
-
- private void SetRegistry()
- {
- if (m_currfile == null)
- return;
-
- RegistryKey key = Registry.CurrentUser.CreateSubKey("Software");
- RegistryKey keyA = key.CreateSubKey("Artifex Software");
- String vers = GetVersion();
- RegistryKey keygs = keyA.CreateSubKey("gsview " + vers);
-
- if (m_origfile != null && (m_document_type == DocumentTypes.PS ||
- m_document_type == DocumentTypes.EPS))
- {
- keygs.SetValue("File", m_origfile, RegistryValueKind.String);
- }
- else
- {
- keygs.SetValue("File", m_currfile, RegistryValueKind.String);
- }
- keygs.SetValue("Page", m_currpage, RegistryValueKind.DWord);
- Int32 aa_int = (Int32)m_AA;
- keygs.SetValue("AA", aa_int, RegistryValueKind.DWord);
- keygs.Close();
- keyA.Close();
- key.Close();
- }
-
- private void AppClosing(object sender, CancelEventArgs e)
- {
- if (m_init_done)
- SetRegistry();
- }
-
- private void ShowMessage(NotifyType_t type, String Message)
- {
- if (type == NotifyType_t.MESS_ERROR)
- {
- System.Windows.Forms.MessageBox.Show(Message, "Error",
- MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
- }
- else
- {
- System.Windows.Forms.MessageBox.Show(Message, "Notice",
- MessageBoxButtons.OK);
- }
- }
-
- private void CloseCommand(object sender, ExecutedRoutedEventArgs e)
- {
- if (m_init_done)
- CloseDoc();
- }
-
- private void CloseDoc()
- {
- CleanUp();
- }
-
- /* Set the page with the new raster information */
- private void UpdatePage(int page_num, Byte[] bitmap, Point ras_size,
- Page_Content_t content, double zoom_in, AA_t AA)
- {
- DocPage doc_page = this.m_docPages[page_num];
-
- doc_page.Width = (int)ras_size.X;
- doc_page.Height = (int)ras_size.Y;
-
- doc_page.Content = content;
- doc_page.Zoom = zoom_in;
-
- int stride = doc_page.Width * 4;
- doc_page.BitMap = BitmapSource.Create(doc_page.Width, doc_page.Height,
- 72, 72, PixelFormats.Pbgra32, BitmapPalettes.Halftone256, bitmap, stride);
- doc_page.PageNum = page_num;
- doc_page.AA = AA;
-
- if (content == Page_Content_t.THUMBNAIL)
- {
- doc_page.Width = (int)(ras_size.X / Constants.SCALE_THUMB);
- doc_page.Height = (int)(ras_size.Y / Constants.SCALE_THUMB);
- }
- }
-
- private void OpenFileCommand(object sender, ExecutedRoutedEventArgs e)
- {
- OpenFile(sender, e);
- }
-
- private void OpenFile(object sender, RoutedEventArgs e)
- {
- if (m_password != null && m_password.IsActive)
- m_password.Close();
-
- if (m_printcontrol != null && m_printcontrol.IsActive)
- m_printcontrol.Close();
-
- /* Release the print control regardless of it being opened.
- We don't want previous documents pages in the preview */
- m_printcontrol = null;
-
- if (m_infowindow != null && m_infowindow.IsActive)
- m_infowindow.Close();
-
- /* Check if gs is currently busy. If it is then don't allow a new
- * file to be opened. They can cancel gs with the cancel button if
- * they want */
- if (m_ghostscript.GetStatus() != gsStatus.GS_READY)
- {
- ShowMessage(NotifyType_t.MESS_STATUS, "GS busy. Cancel to open new file.");
- return;
- }
-
- if (m_ghostprint != null && m_ghostprint.IsBusy())
- {
- ShowMessage(NotifyType_t.MESS_STATUS, "Let printing complete");
- return;
- }
-
- System.Windows.Forms.OpenFileDialog dlg = new System.Windows.Forms.OpenFileDialog();
- dlg.Filter = "Document Files(*.ps;*.eps;*.pdf;*.xps;*.oxps;*.cbz;*.png;*.jpg;*.jpeg)|*.ps;*.eps;*.pdf;*.xps;*.oxps;*.cbz;*.png;*.jpg;*.jpeg|All files (*.*)|*.*";
- dlg.FilterIndex = 1;
- if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- ProcessFile(dlg.FileName);
- }
-
- private void ProcessFile(String FileName)
- {
- if (m_file_open)
- {
- CloseDoc();
- }
- /* If we have a ps or eps file then launch the distiller first
- * and then we will get a temp pdf file which will be opened by
- * mupdf */
- string extension = System.IO.Path.GetExtension(FileName);
- /* We are doing this based on the extension but like should do
- * it based upon the content */
- switch (extension.ToUpper())
- {
- case ".PS":
- m_document_type = DocumentTypes.PS;
- break;
- case ".EPS":
- m_document_type = DocumentTypes.EPS;
- break;
- case ".XPS":
- case ".OXPS":
- m_document_type = DocumentTypes.XPS;
- break;
- case ".PDF":
- m_document_type = DocumentTypes.PDF;
- break;
- case ".CBZ":
- m_document_type = DocumentTypes.CBZ;
- break;
- case ".PNG":
- m_document_type = DocumentTypes.PNG;
- break;
- case ".JPG":
- m_document_type = DocumentTypes.JPG;
- break;
- case ".JPEG":
- m_document_type = DocumentTypes.JPG;
- break;
- default:
- {
- ShowMessage(NotifyType_t.MESS_STATUS, "Unknown File Type");
- return;
- }
- }
- if (extension.ToUpper() == ".PS" || extension.ToUpper() == ".EPS")
- {
- xaml_DistillProgress.Value = 0;
- if (m_ghostscript.DistillPS(FileName, Constants.DEFAULT_GS_RES) == gsStatus.GS_BUSY)
- {
- ShowMessage(NotifyType_t.MESS_STATUS, "GS currently busy");
- return;
- }
- xaml_DistillName.Text = "Distilling";
- xaml_CancelDistill.Visibility = System.Windows.Visibility.Visible;
- xaml_DistillName.FontWeight = FontWeights.Bold;
- xaml_DistillGrid.Visibility = System.Windows.Visibility.Visible;
- return;
- }
- /* Set if this is already xps for printing */
- if (extension.ToUpper() == ".XPS" || extension.ToUpper() == ".OXPS")
- m_isXPS = true;
- if (extension.ToUpper() == ".CBZ" || extension.ToUpper() == ".PNG" ||
- extension.ToUpper() == ".JPG")
- m_isImage = true;
- OpenFile2(FileName);
- }
-
- private void OpenFile2(String File)
- {
- m_currfile = File;
- xaml_OpenProgressGrid.Visibility = System.Windows.Visibility.Visible;
- xaml_openfilestatus.Text = "Opening File";
- /* The file open can take a fair amount of time. So that we can show
- * an indeterminate progress bar while opening, go ahead an do this
- * on a separate thread */
- OpenFileBG();
- }
-
- private void OpenWork(object sender, DoWorkEventArgs e)
- {
- BackgroundWorker worker = sender as BackgroundWorker;
-
- status_t code = mu_doc.OpenFile(m_currfile);
- worker.ReportProgress(100, code);
- }
-
- private void OpenProgress(object sender, ProgressChangedEventArgs e)
- {
- status_t result = (status_t)(e.UserState);
-
- if (result == status_t.S_ISOK)
- {
- /* Check if we need a password */
- if (mu_doc.RequiresPassword())
- {
- xaml_OpenProgressGrid.Visibility = System.Windows.Visibility.Collapsed;
- GetPassword();
- }
- else
- StartViewer();
- }
- else
- {
- m_currfile = null;
- }
- }
-
- private void OpenFileBG()
- {
- try
- {
- m_openfile = new BackgroundWorker();
- m_openfile.WorkerReportsProgress = true;
- m_openfile.WorkerSupportsCancellation = false;
- m_openfile.DoWork += new DoWorkEventHandler(OpenWork);
- m_openfile.ProgressChanged += new ProgressChangedEventHandler(OpenProgress);
- m_openfile.RunWorkerAsync();
- }
- catch (OutOfMemoryException e)
- {
- Console.WriteLine("Memory allocation failed during opening\n");
- ShowMessage(NotifyType_t.MESS_ERROR, "Out of memory: " + e.Message);
- }
- }
-
- private void SetPageAnnot(int page_num, Annotate_t render_result)
- {
- if (m_docPages[page_num].Annotate == Annotate_t.UNKNOWN ||
- m_docPages[page_num].Annotate == Annotate_t.COMPUTING)
- {
- if (render_result == Annotate_t.NO_ANNOTATE)
- m_docPages[page_num].Annotate = Annotate_t.NO_ANNOTATE;
- else
- {
- if (m_showannot)
- m_docPages[page_num].Annotate = Annotate_t.ANNOTATE_VISIBLE;
- else
- m_docPages[page_num].Annotate = Annotate_t.ANNOTATE_HIDDEN;
- }
- }
- else
- {
- if (m_docPages[page_num].Annotate != Annotate_t.NO_ANNOTATE)
- {
- if (m_showannot)
- m_docPages[page_num].Annotate = Annotate_t.ANNOTATE_VISIBLE;
- else
- m_docPages[page_num].Annotate = Annotate_t.ANNOTATE_HIDDEN;
- }
- }
- }
-
- private void InitialRenderWork(object sender, DoWorkEventArgs e)
- {
- BackgroundWorker worker = sender as BackgroundWorker;
- int look_ahead = Math.Min(m_num_pages, Constants.INIT_LOOK_AHEAD);
-
- /* Do the first few full res pages */
- for (int k = 0; k < look_ahead; k++)
- {
- if (m_num_pages > k)
- {
- Point ras_size;
- double scale_factor = 1.0;
- Byte[] bitmap;
- BlocksText charlist;
- status_t code;
- Annotate_t annot;
-
- if (ComputePageSize(k, scale_factor, out ras_size) == status_t.S_ISOK)
- {
- try
- {
- bitmap = new byte[(int)ras_size.X * (int)ras_size.Y * 4];
-
- /* Synchronous call on our background thread */
- code = (status_t)mu_doc.RenderPage(k, bitmap, (int)ras_size.X,
- (int)ras_size.Y, scale_factor, false, true,
- !(m_textset[k]), out charlist, m_showannot, out annot);
- }
- catch (OutOfMemoryException em)
- {
- Console.WriteLine("Memory allocation failed init page " + k + em.Message + "\n");
- break;
- }
- /* create new page if we rendered ok. set ui value with
- * progress call back, pass page number, charlist and bitmap */
- if (code == status_t.S_ISOK)
- {
- pageprogress_t page_prog = new pageprogress_t();
- page_prog.bitmap = bitmap;
- page_prog.charlist = charlist;
- page_prog.pagenum = k;
- page_prog.size = ras_size;
- page_prog.annot = annot;
- worker.ReportProgress(100, page_prog);
- }
- }
- }
- }
- }
-
- private void InitialRenderProgressChanged(object sender, ProgressChangedEventArgs e)
- {
- pageprogress_t result = (pageprogress_t)(e.UserState);
- int k = result.pagenum;
-
- m_textset[k] = true;
- m_textptrs[k] = result.charlist;
- m_docPages[k].TextBlocks = result.charlist;
- UpdatePage(k, result.bitmap, result.size, Page_Content_t.FULL_RESOLUTION, 1.0, m_AA);
- m_docPages[k].NativeHeight = (int) result.size.Y;
- m_docPages[k].NativeWidth = (int)result.size.X;
- SetPageAnnot(k, result.annot);
- }
-
- private void InitialRenderCompleted(object sender, RunWorkerCompletedEventArgs e)
- {
- m_init_done = true;
- m_currpage = 0;
- RenderThumbs();
- m_file_open = true;
- xaml_BackPage.Opacity = 1;
- xaml_Contents.Opacity = 1;
- xaml_currPage.Opacity = 1;
- xaml_ForwardPage.Opacity = 1;
- xaml_Links.Opacity = 1;
- xaml_Print.Opacity = 1;
- xaml_SavePDF.Opacity = 1;
- xaml_Search.Opacity = 1;
- xaml_Thumbs.Opacity = 1;
- xaml_TotalPages.Opacity = 1;
- xaml_zoomIn.Opacity = 1;
- xaml_zoomOut.Opacity = 1;
- xaml_Zoomsize.Opacity = 1;
- xaml_ExpandFill.Opacity = 1;
- xaml_ContScrollFill.Opacity = 1;
- xaml_ActualSize.Opacity = 1;
- xaml_Zoomsize.IsEnabled = true;
- xaml_currPage.IsEnabled = true;
- xaml_TotalPages.Text = "/ " + m_num_pages.ToString();
- xaml_currPage.Text = "1";
- xaml_ZoomSlider.Opacity = 1.0;
- xaml_ZoomSlider.IsEnabled = true;
- xaml_closefile.IsEnabled = true;
- xaml_saveas.IsEnabled = true;
- xaml_showinfo.IsEnabled = true;
- xaml_extractselection.IsEnabled = true;
- xaml_conversions.IsEnabled = true;
- xaml_gsmessage.IsEnabled = true;
- xaml_print_menu.IsEnabled = true;
- xaml_view.IsEnabled = true;
- xaml_edit.IsEnabled = true;
- if (m_isXPS || m_isImage)
- DisabletoPDF();
- if (m_isImage)
- {
- xaml_Print.IsEnabled = false;
- xaml_print_menu.IsEnabled = false;
- xaml_Print.Opacity = 0.5;
- xaml_print_menu.Opacity = 0.5;
- }
- else
- {
- xaml_Print.IsEnabled = true;
- xaml_print_menu.IsEnabled = true;
- xaml_Print.Opacity = 1.0;
- xaml_print_menu.Opacity = 1.0;
- }
- xaml_OpenProgressGrid.Visibility = System.Windows.Visibility.Collapsed;
- xaml_VerticalScroll.Visibility = System.Windows.Visibility.Visible;
- xaml_VerticalScroll.Value = 0;
- }
-
- private void InitialRenderBG()
- {
- int look_ahead = Math.Min(Constants.INIT_LOOK_AHEAD, m_num_pages);
- m_currpage = 0;
- m_thumbnails.Capacity = m_num_pages;
-
- for (int k = 0; k < Constants.INIT_LOOK_AHEAD; k++)
- {
- m_docPages.Add(InitDocPage());
- m_docPages[k].PageNum = k;
- m_textptrs.Add(new BlocksText());
- m_lineptrs.Add(new LinesText());
- m_textset.Add(false);
- }
- var dummy = InitDocPage();
- for (int k = Constants.INIT_LOOK_AHEAD; k < m_num_pages; k++)
- {
- m_docPages.Add(dummy);
- m_textptrs.Add(new BlocksText());
- m_lineptrs.Add(new LinesText());
- m_textset.Add(false);
- }
-
- xaml_PageList.ItemsSource = m_docPages;
-
- try
- {
- m_initrender = new BackgroundWorker();
- m_initrender.WorkerReportsProgress = true;
- m_initrender.WorkerSupportsCancellation = false;
- m_initrender.DoWork += new DoWorkEventHandler(InitialRenderWork);
- m_initrender.RunWorkerCompleted += new RunWorkerCompletedEventHandler(InitialRenderCompleted);
- m_initrender.ProgressChanged += new ProgressChangedEventHandler(InitialRenderProgressChanged);
- m_initrender.RunWorkerAsync();
- }
- catch (OutOfMemoryException e)
- {
- Console.WriteLine("Memory allocation failed during initial render\n");
- ShowMessage(NotifyType_t.MESS_ERROR, "Out of memory: " + e.Message);
- }
- }
- private void StartViewer()
- {
- m_num_pages = mu_doc.GetPageCount();
-
- if (m_num_pages == 0)
- {
- xaml_OpenProgressGrid.Visibility = System.Windows.Visibility.Collapsed;
- CleanUp();
- ShowMessage(NotifyType_t.MESS_ERROR, m_currfile + " is corrupted");
- }
- else
- {
- xaml_openfilestatus.Text = "Initial Page Rendering";
- xaml_openfilestatus.UpdateLayout();
- InitialRenderBG();
- }
- }
-
- private status_t ComputePageSize(int page_num, double scale_factor,
- out Point render_size)
- {
- Point renpageSize = new Point();
-
- status_t code = (status_t)mu_doc.GetPageSize(page_num, out render_size);
- if (code != status_t.S_ISOK)
- return code;
-
- renpageSize.X = (render_size.X * scale_factor);
- renpageSize.Y = (render_size.Y * scale_factor);
-
- render_size = renpageSize;
-
- return status_t.S_ISOK;
- }
-
- private DocPage InitDocPage()
- {
- DocPage doc_page = new DocPage();
-
- doc_page.BitMap = null;
- doc_page.Height = Constants.BLANK_HEIGHT;
- doc_page.Width = Constants.BLANK_WIDTH;
- doc_page.NativeHeight = Constants.BLANK_HEIGHT;
- doc_page.NativeWidth = Constants.BLANK_WIDTH;
- doc_page.Content = Page_Content_t.NOTSET;
- doc_page.TextBox = null;
- doc_page.LinkBox = null;
- doc_page.SelHeight = 0;
- doc_page.SelWidth = 0;
- doc_page.SelX = 0;
- doc_page.SelY = 0;
- return doc_page;
- }
-
- #region Navigation
- private void OnBackPageClick(object sender, RoutedEventArgs e)
- {
- if (m_currpage == 0 || !m_init_done) return;
- m_ignorescrollchange = true;
- RenderRange(m_currpage - 1, true, zoom_t.NO_ZOOM, 0);
- }
-
- private void OnForwardPageClick(object sender, RoutedEventArgs e)
- {
- if (m_currpage == m_num_pages - 1 || !m_init_done) return;
- m_ignorescrollchange = true;
- RenderRange(m_currpage + 1, true, zoom_t.NO_ZOOM, 0);
- }
-
- private void PageEnterClicked(object sender, System.Windows.Input.KeyEventArgs e)
- {
- if (e.Key == Key.Return)
- {
- e.Handled = true;
- var desired_page = xaml_currPage.Text;
- try
- {
- int page = System.Convert.ToInt32(desired_page);
- if (page > 0 && page < (m_num_pages + 1))
- {
- m_ignorescrollchange = true;
- RenderRange(page - 1, true, zoom_t.NO_ZOOM, 0);
- }
- }
- catch (FormatException e1)
- {
- Console.WriteLine("String is not a sequence of digits.");
- }
- catch (OverflowException e2)
- {
- Console.WriteLine("The number cannot fit in an Int32.");
- }
- }
- }
-
- private void OnKeyDownHandler(object sender, System.Windows.Input.KeyEventArgs e)
- {
- switch (e.Key)
- {
- case Key.Left:
- case Key.PageUp:
- if (m_currpage == 0 || !m_init_done)
- return;
- m_ignorescrollchange = true;
- RenderRange(m_currpage - 1, true, zoom_t.NO_ZOOM, 0);
- e.Handled = true;
- break;
-
- case Key.Right:
- case Key.PageDown:
- if (m_currpage == m_num_pages - 1 || !m_init_done)
- return;
- m_ignorescrollchange = true;
- RenderRange(m_currpage + 1, true, zoom_t.NO_ZOOM, 0);
- e.Handled = true;
- break;
-
- case Key.Up:
- if (!m_init_done)
- return;
- e.Handled = true;
- OffsetScroll(-Constants.VERT_SCROLL_STEP * m_doczoom);
- break;
-
- case Key.Down:
- if (!m_init_done)
- return;
- e.Handled = true;
- OffsetScroll(Constants.VERT_SCROLL_STEP * m_doczoom);
- break;
- }
- }
- #endregion Navigation
-
- private void CancelLoadClick(object sender, RoutedEventArgs e)
- {
- /* Cancel during thumbnail loading. Deactivate the button
- * and cancel the thumbnail rendering */
- if (m_thumbworker != null)
- m_thumbworker.CancelAsync();
- //xaml_CancelThumb.IsEnabled = false;
- }
-
- private void ToggleThumbs(object sender, RoutedEventArgs e)
- {
- if (m_have_thumbs)
- {
- if (xaml_ThumbGrid.Visibility == System.Windows.Visibility.Collapsed)
- {
- xaml_ThumbGrid.Visibility = System.Windows.Visibility.Visible;
- }
- else
- {
- xaml_ThumbGrid.Visibility = System.Windows.Visibility.Collapsed;
- }
- }
- }
-
- private void ToggleContents(object sender, RoutedEventArgs e)
- {
- if (xaml_ContentGrid.Visibility == System.Windows.Visibility.Visible)
- {
- xaml_ContentGrid.Visibility = System.Windows.Visibility.Collapsed;
- return;
- }
-
- if (m_num_pages < 0)
- return;
-
- if (xaml_ContentList.Items.IsEmpty)
- {
- int size_content = mu_doc.ComputeContents();
- if (size_content == 0)
- return;
- xaml_ContentList.ItemsSource = mu_doc.contents;
- }
- xaml_ContentGrid.Visibility = System.Windows.Visibility.Visible;
- }
-
- private void ThumbSelected(object sender, MouseButtonEventArgs e)
- {
- var item = ((FrameworkElement)e.OriginalSource).DataContext as DocPage;
-
- if (item != null)
- {
- if (item.PageNum < 0)
- return;
- RenderRange(item.PageNum, true, zoom_t.NO_ZOOM, 0);
- }
- }
-
- private void ContentSelected(object sender, MouseButtonEventArgs e)
- {
- var item = ((FrameworkElement)e.OriginalSource).DataContext as ContentItem;
- if (item != null && item.Page < m_num_pages)
- {
- int page = m_docPages[item.Page].PageNum;
- if (page >= 0 && page < m_num_pages)
- RenderRange(page, true, zoom_t.NO_ZOOM, 0);
- }
- }
-
- /* We need to avoid rendering due to size changes */
- private void ListViewScrollChanged(object sender, ScrollChangedEventArgs e)
- {
- /* This makes sure we dont call render range a second time due to
- * page advances */
- int first_item = -1;
- int second_item = -1;
- //Console.WriteLine("***************************************/n");
- //Console.WriteLine("VerticalChange = " + e.VerticalChange + "/n");
- //Console.WriteLine("ExtentHeightChange = " + e.ExtentHeightChange + "/n");
- //Console.WriteLine("ExtentWidthChange = " + e.ExtentWidthChange + "/n");
- //Console.WriteLine("HorizontalChange = " + e.HorizontalChange + "/n");
- //Console.WriteLine("ViewportHeightChange = " + e.ViewportHeightChange + "/n");
- //Console.WriteLine("ViewportWidthChange = " + e.ViewportWidthChange + "/n");
- //Console.WriteLine("ExtentHeight = " + e.ExtentHeight + "/n");
- //Console.WriteLine("ViewportHeight = " + e.ViewportHeight + "/n");
- //Console.WriteLine("VerticalOffset = " + e.VerticalOffset + "/n");
- //Console.WriteLine("***************************************/n");
- if (m_ignorescrollchange == true)
- {
- m_ignorescrollchange = false;
- return;
- }
- if (!m_init_done)
- return;
- if (e.VerticalChange == 0)
- return;
- if (m_num_pages == 1)
- return;
-
- /* From current page go forward and backward checking if pages are
- * visible */
- ScrollViewer viewer = FindScrollViewer(xaml_PageList);
- if (viewer != null)
- {
- double bottom = this.ActualHeight;
- /* first going forward */
- for (int kk = m_currpage + 1; kk < m_num_pages; kk++)
- {
- UIElement uiElement = (UIElement)xaml_PageList.ItemContainerGenerator.ContainerFromIndex(kk);
- double y_top = uiElement.TranslatePoint(new System.Windows.Point(0, 0), xaml_PageList).Y;
- double y_bottom = uiElement.TranslatePoint(new System.Windows.Point(0, m_docPages[kk].Height), xaml_PageList).Y;
- /* Test if this and all further pages are outside window */
- if (y_top > bottom)
- break;
- /* Test if page is not even yet in window */
- if (y_bottom > 0)
- {
- if (!(m_dispatcherTimer != null && m_dispatcherTimer.IsEnabled == true))
- {
- /* In this case grab the first one that we find */
- if (second_item == -1)
- second_item = kk;
- }
- }
- }
-
- /* and now going backward */
- for (int kk = m_currpage; kk > -1; kk--)
- {
- UIElement uiElement = (UIElement)xaml_PageList.ItemContainerGenerator.ContainerFromIndex(kk);
- double y_top = uiElement.TranslatePoint(new System.Windows.Point(0, 0), xaml_PageList).Y;
- double y_bottom = uiElement.TranslatePoint(new System.Windows.Point(0, m_docPages[kk].Height), xaml_PageList).Y;
- /* Test if this and all further pages are outside window */
- if (y_bottom < 0)
- break;
- if (y_top < bottom)
- if (!(m_dispatcherTimer != null && m_dispatcherTimer.IsEnabled == true))
- first_item = kk;
- }
- e.Handled = true;
- if (first_item != -1)
- second_item = first_item;
- /* Finish */
- if (m_ScrolledChanged)
- {
- m_ScrolledChanged = false;
- }
- else
- {
- /* We have to update the vertical scroll position */
- double perc = (e.VerticalOffset) / (e.ExtentHeight - e.ViewportHeight);
- xaml_VerticalScroll.Value = perc * xaml_VerticalScroll.Maximum;
- }
- if (second_item < 0)
- second_item = 0;
- RenderRange(second_item, false, zoom_t.NO_ZOOM, 0);
- }
- }
-
- /* ScrollIntoView will not scroll to top on its own. If item is already
- * in view it just sits there */
- private void ScrollPageToTop(int k, double offset, bool from_scroller)
- {
- if (m_num_pages == 1)
- return;
- /* Get access to the scrollviewer */
- ScrollViewer viewer = FindScrollViewer(xaml_PageList);
- if (viewer != null)
- {
- UIElement uiElement = (UIElement) xaml_PageList.ItemContainerGenerator.ContainerFromIndex(k);
- double y = uiElement.TranslatePoint(new System.Windows.Point(0, offset), xaml_PageList).Y;
- double curr_value = viewer.VerticalOffset;
- viewer.ScrollToVerticalOffset(curr_value + y);
-
- if (!from_scroller)
- {
- double perc = (double) k / (double) ( m_num_pages - 1);
- xaml_VerticalScroll.Value = perc * xaml_VerticalScroll.Maximum;
- }
- }
- }
-
- /* Scroll to offset */
- private void OffsetScroll(double offset)
- {
- if (m_num_pages == 1)
- return;
- /* Get access to the scrollviewer */
- ScrollViewer viewer = FindScrollViewer(xaml_PageList);
- if (viewer != null)
- {
- double curr_value = viewer.VerticalOffset;
- AdjustScrollPercent(offset / viewer.ScrollableHeight);
- viewer.ScrollToVerticalOffset(curr_value + offset);
- }
- }
-
- /* Scroll to offset */
- private void OffsetScrollPercent(double percent)
- {
- /* Get access to the scrollviewer */
- ScrollViewer viewer = FindScrollViewer(xaml_PageList);
- if (viewer != null)
- {
- double curr_value = viewer.VerticalOffset;
- if (curr_value < 0 || curr_value > viewer.MaxHeight)
- return;
- var extentheight = viewer.ExtentHeight - viewer.ViewportHeight;
-
- var pos = extentheight * percent;
- viewer.ScrollToVerticalOffset(pos);
- }
- }
-
- /* Render +/- the look ahead from where we are if blank page is present */
- async private void RenderRange(int new_page, bool scrollto, zoom_t newzoom, double zoom_offset)
- {
- /* Need to figure out what pages are going to be visible */
- double bottom = this.ActualHeight;
- bool done = false;
- int final_page = new_page;
- double count = -zoom_offset;
- int offset = -1;
- bool scrollbottom = false;
-
- if (newzoom != zoom_t.NO_ZOOM)
- offset = 0;
-
- if (m_thumbnails.Count < m_num_pages)
- final_page = final_page + 1;
- else
- {
- while (!done && final_page >= 0 && final_page < m_num_pages)
- {
- count = count + m_thumbnails[final_page].NativeHeight * m_doczoom;
- final_page = final_page + 1;
- if (final_page == m_num_pages || count > bottom)
- done = true;
- }
- /* We have zoomed out to a point where the offset will not stay
- * in its current spot. Figure out where we need to be */
- final_page = final_page - 1;
- if (newzoom == zoom_t.ZOOM_OUT && count < bottom)
- {
- int curr_page = new_page - 1;
- while (true)
- {
- if (curr_page < 0)
- break;
- count = count + m_thumbnails[curr_page].NativeHeight * m_doczoom;
- if (count > bottom)
- break;
- curr_page = curr_page - 1;
- }
- new_page = curr_page;
- if (new_page < 0)
- new_page = 0;
- scrollbottom = true;
- }
- }
-
- for (int k = new_page + offset; k <= final_page + 1; k++)
- {
- if (k >= 0 && k < m_num_pages)
- {
- /* Check if page is already rendered */
- var doc = m_docPages[k];
- if (doc.Content != Page_Content_t.FULL_RESOLUTION ||
- doc.Zoom != m_doczoom || m_AA != doc.AA ||
- (doc.Annotate == Annotate_t.UNKNOWN && m_showannot) ||
- (doc.Annotate == Annotate_t.ANNOTATE_VISIBLE && !m_showannot) ||
- (doc.Annotate == Annotate_t.ANNOTATE_HIDDEN && m_showannot))
- {
- Point ras_size;
- double scale_factor = m_doczoom;
- /* To avoid multiple page renderings on top of one
- * another with scroll changes mark this as being
- * full resolution */
- m_docPages[k].Content = Page_Content_t.FULL_RESOLUTION;
- /* Avoid launching another thread just because we don't
- * know the annotation condition for this page */
- m_docPages[k].Annotate = Annotate_t.COMPUTING;
- if (ComputePageSize(k, scale_factor, out ras_size) == status_t.S_ISOK)
- {
- try
- {
- Byte[] bitmap = new byte[(int)ras_size.X * (int)ras_size.Y * 4];
- BlocksText charlist = null;
- Annotate_t annot = Annotate_t.UNKNOWN;
- m_docPages[k].NativeWidth = (int)(ras_size.X / scale_factor);
- m_docPages[k].NativeHeight = (int)(ras_size.Y / scale_factor);
-
- Task<int> ren_task =
- new Task<int>(() => mu_doc.RenderPage(k, bitmap,
- (int)ras_size.X, (int)ras_size.Y, scale_factor,
- false, true, !(m_textset[k]), out charlist, m_showannot,
- out annot));
- ren_task.Start();
- await ren_task.ContinueWith((antecedent) =>
- {
- status_t code = (status_t)ren_task.Result;
- if (code == status_t.S_ISOK)
- {
- SetPageAnnot(k, annot);
- if (m_docPages[k].TextBox != null)
- ScaleTextBox(k);
- if (m_links_on && m_page_link_list != null)
- {
- m_docPages[k].LinkBox = m_page_link_list[k];
- if (m_docPages[k].LinkBox != null)
- ScaleLinkBox(k);
- }
- else
- {
- m_docPages[k].LinkBox = null;
- }
- if (!(m_textset[k]) && charlist != null)
- {
- m_textptrs[k] = charlist;
- if (scale_factor != 1.0)
- ScaleTextBlocks(k, scale_factor);
- m_docPages[k].TextBlocks = m_textptrs[k];
- m_textset[k] = true;
- if (m_selectall)
- {
- int num_blocks = m_docPages[k].TextBlocks.Count;
- for (int jj = 0; jj < num_blocks; jj++)
- {
- m_docPages[k].TextBlocks[jj].Color = m_textselectcolor;
- }
- }
- }
- else
- {
- /* We had to rerender due to scale */
- if (m_textptrs[k] != null)
- {
- ScaleTextBlocks(k, scale_factor);
- m_docPages[k].TextBlocks = m_textptrs[k];
- }
- if (m_lineptrs[k] != null)
- {
- ScaleTextLines(k, scale_factor);
- m_docPages[k].SelectedLines = m_lineptrs[k];
- }
- }
- /* This needs to be handled here to reduce
- * flashing effects */
- if (newzoom != zoom_t.NO_ZOOM && k == new_page)
- {
- m_ignorescrollchange = true;
- UpdatePageSizes();
- xaml_VerticalScroll.Maximum = m_totalpageheight * m_doczoom + 4 * m_num_pages;
- if (!scrollbottom)
- ScrollPageToTop(new_page, zoom_offset, false);
- }
- UpdatePage(k, bitmap, ras_size,
- Page_Content_t.FULL_RESOLUTION, m_doczoom, m_AA);
- if (k == new_page && scrollto && new_page != m_currpage)
- {
- m_doscroll = true;
- ScrollPageToTop(k, 0, false);
- }
- }
- }, TaskScheduler.FromCurrentSynchronizationContext());
- }
- catch (OutOfMemoryException e)
- {
- Console.WriteLine("Memory allocation failed page " + k + "\n");
- ShowMessage(NotifyType_t.MESS_ERROR, "Out of memory: " + e.Message);
- }
- }
- }
- else
- {
- /* We did not have to render the page but we may need to
- * scroll to it */
- if (k == new_page && scrollto && new_page != m_currpage)
- {
- m_ignorescrollchange = true;
- ScrollPageToTop(k, 0, false);
- }
- }
- }
- }
- /* Release old range and set new page */
- //ReleasePages(m_currpage, new_page - 1, final_page + 1);
- m_currpage = new_page;
- xaml_currPage.Text = (m_currpage + 1).ToString();
- }
-
- /* Avoids the next page jumping into view when touched by mouse. See xaml code */
- private void AvoidScrollIntoView(object sender, RequestBringIntoViewEventArgs e)
- {
- if (!m_doscroll)
- e.Handled = true;
- else
- m_doscroll = false;
- }
-
- private void ReleasePages(int old_page, int new_page, int final_page)
- {
- if (old_page == new_page) return;
- /* To keep from having memory issue reset the page back to
- the thumb if we are done rendering the thumbnails */
- for (int k = 0; k < m_num_pages; k++)
- {
- if (k < new_page || k > final_page)
- {
- if (k >= 0 && k < m_num_pages)
- {
- SetThumb(k);
- }
- }
- }
- }
-
- /* Return this page from a full res image to the thumb image */
- private void SetThumb(int page_num)
- {
- /* See what is there now */
- var doc_page = m_docPages[page_num];
- if (doc_page.Content == Page_Content_t.THUMBNAIL &&
- doc_page.Zoom == m_doczoom) return;
-
- if (m_thumbnails.Count > page_num)
- {
- doc_page.Content = Page_Content_t.THUMBNAIL;
- doc_page.Zoom = m_doczoom;
-
- doc_page.BitMap = m_thumbnails[page_num].BitMap;
- doc_page.Width = (int)(m_doczoom * doc_page.BitMap.PixelWidth / Constants.SCALE_THUMB);
- doc_page.Height = (int)(m_doczoom * doc_page.BitMap.PixelHeight / Constants.SCALE_THUMB);
- doc_page.PageNum = page_num;
- doc_page.LinkBox = null;
- doc_page.TextBox = null;
- /* No need to refresh unless it just occurs during other stuff
- * we just want to make sure we can release the bitmaps */
- //doc_page.PageRefresh();
- }
- }
-
- private void gsDLL(object gsObject, String mess)
- {
- ShowMessage(NotifyType_t.MESS_STATUS, mess);
- }
-
- /* Catastrophic */
- private void muDLL(object gsObject, String mess)
- {
- ShowMessage(NotifyType_t.MESS_ERROR, mess);
- /* Disable even the ability to open a file */
- xaml_open.Opacity = 0.5;
- xaml_open.IsEnabled = false;
- xaml_file.Opacity = 0.5;
- xaml_file.IsEnabled = false;
- /* And to drag - drop or registry start up */
- xaml_PageList.RemoveHandler(Grid.DragOverEvent, new System.Windows.DragEventHandler(Grid_DragOver));
- xaml_PageList.RemoveHandler(Grid.DropEvent, new System.Windows.DragEventHandler(Grid_Drop));
- m_regstartup = false;
- }
-
- private void gsIO(object gsObject, String mess, int len)
- {
- m_gsoutput.Update(mess, len);
- }
-
- private void mupdfUpdate(object muObject, muPDFEventArgs asyncInformation)
- {
- if (asyncInformation.Completed)
- {
- xaml_MuPDFProgress.Value = 100;
- xaml_MuPDFGrid.Visibility = System.Windows.Visibility.Collapsed;
- if (asyncInformation.Params.result == GS_Result_t.gsFAILED)
- {
- ShowMessage(NotifyType_t.MESS_STATUS, "MuPDF failed to convert document");
- }
- MuPDFResult(asyncInformation.Params);
- }
- else
- {
- this.xaml_MuPDFProgress.Value = asyncInformation.Progress;
- }
- }
-
- /* MuPDF Result*/
- public void MuPDFResult(ConvertParams_t gs_result)
- {
- if (gs_result.result == GS_Result_t.gsCANCELLED)
- {
- xaml_MuPDFGrid.Visibility = System.Windows.Visibility.Collapsed;
- return;
- }
- if (gs_result.result == GS_Result_t.gsFAILED)
- {
- xaml_MuPDFGrid.Visibility = System.Windows.Visibility.Collapsed;
- ShowMessage(NotifyType_t.MESS_STATUS, "MuPDF Failed Conversion");
- return;
- }
- ShowMessage(NotifyType_t.MESS_STATUS, "MuPDF Completed Conversion");
- }
-
- private void gsProgress(object gsObject, gsEventArgs asyncInformation)
- {
- if (asyncInformation.Completed)
- {
- xaml_DistillProgress.Value = 100;
- xaml_DistillGrid.Visibility = System.Windows.Visibility.Collapsed;
- if (asyncInformation.Params.result == GS_Result_t.gsFAILED)
- {
- switch (asyncInformation.Params.task)
- {
- case GS_Task_t.CREATE_XPS:
- ShowMessage(NotifyType_t.MESS_STATUS, "Ghostscript failed to create XPS");
- break;
-
- case GS_Task_t.PS_DISTILL:
- ShowMessage(NotifyType_t.MESS_STATUS, "Ghostscript failed to distill PS");
- break;
-
- case GS_Task_t.SAVE_RESULT:
- ShowMessage(NotifyType_t.MESS_STATUS, "Ghostscript failed to convert document");
- break;
- }
- return;
- }
- GSResult(asyncInformation.Params);
- }
- else
- {
- this.xaml_DistillProgress.Value = asyncInformation.Progress;
- }
- }
-
- /* GS Result*/
- public void GSResult(gsParams_t gs_result)
- {
- if (gs_result.result == GS_Result_t.gsCANCELLED)
- {
- xaml_DistillGrid.Visibility = System.Windows.Visibility.Collapsed;
- return;
- }
- if (gs_result.result == GS_Result_t.gsFAILED)
- {
- xaml_DistillGrid.Visibility = System.Windows.Visibility.Collapsed;
- ShowMessage(NotifyType_t.MESS_STATUS, "GS Failed Conversion");
- return;
- }
- switch (gs_result.task)
- {
- case GS_Task_t.CREATE_XPS:
- xaml_DistillGrid.Visibility = System.Windows.Visibility.Collapsed;
- PrintXPS(gs_result.outputfile);
- break;
-
- case GS_Task_t.PS_DISTILL:
- xaml_DistillGrid.Visibility = System.Windows.Visibility.Collapsed;
- m_origfile = gs_result.inputfile;
- OpenFile2(gs_result.outputfile);
- break;
-
- case GS_Task_t.SAVE_RESULT:
- ShowMessage(NotifyType_t.MESS_STATUS, "GS Completed Conversion");
- break;
- }
- }
-
- private void PrintCommand(object sender, ExecutedRoutedEventArgs e)
- {
- Print(sender, e);
- }
-
- /* Printing is achieved using xpswrite device in ghostscript and
- * pushing that file through the XPS print queue */
- private void Print(object sender, RoutedEventArgs e)
- {
- if (!m_file_open)
- return;
-
- if (m_printcontrol == null)
- {
- m_printcontrol = new PrintControl(m_num_pages, m_currpage);
- m_printcontrol.PrintDiagUpdatePreview += new PrintControl.PrintDiagCallBackPreview(PrintDiagUpdatePreview);
- m_printcontrol.PrintDiagPrint += new PrintControl.PrintDiagCallBackPrint(PrintDiagPrint);
- m_printcontrol.PrintDLLProblemMain += new PrintControl.PrintDLLProblem(gsDLL);
- m_printcontrol.Activate();
- m_printcontrol.Show(); /* Makes it modal */
- PrintDiagEventArgs args = new PrintDiagEventArgs(0);
- PrintDiagUpdatePreview(null, args);
- }
- else
- m_printcontrol.Show();
- return;
- }
-
- private void PrintXPS(String file)
- {
- gsprint ghostprint = new gsprint();
-
- /* We have to create the XPS document on a different thread */
- XpsDocument xpsDocument = new XpsDocument(file, FileAccess.Read);
- FixedDocumentSequence fixedDocSeq = xpsDocument.GetFixedDocumentSequence();
- System.Windows.Size temp = new Size(200, 200);
- fixedDocSeq.DocumentPaginator.PageSize = temp;
-
- PrintQueue printq = m_printcontrol.m_selectedPrinter;
-
- m_ghostprint = ghostprint;
- xaml_PrintGrid.Visibility = System.Windows.Visibility.Visible;
-
- xaml_PrintProgress.Value = 0;
-
- ghostprint.Print(printq, fixedDocSeq, m_printcontrol);
- }
-
- private void PrintProgress(object printHelper, gsPrintEventArgs Information)
- {
- if (Information.Status != PrintStatus_t.PRINT_BUSY)
- {
- xaml_PrintProgress.Value = 100;
- xaml_PrintGrid.Visibility = System.Windows.Visibility.Collapsed;
- }
- else
- {
- xaml_PrintProgress.Value =
- 100.0 * (double)Information.Page / (double)m_num_pages;
- }
- }
-
- private void CancelMuPDFClick(object sender, RoutedEventArgs e)
- {
- xaml_CancelMuPDF.IsEnabled = false;
- mu_doc.Cancel();
- }
-
- private void CancelDistillClick(object sender, RoutedEventArgs e)
- {
- xaml_CancelDistill.IsEnabled = false;
- if (m_ghostscript != null)
- m_ghostscript.Cancel();
- }
-
- private void CancelPrintClick(object sender, RoutedEventArgs e)
- {
- m_ghostprint.CancelAsync();
- }
-
- private void ShowGSMessage(object sender, RoutedEventArgs e)
- {
- m_gsoutput.Show();
- }
-
- private void ConvertClick(object sender, RoutedEventArgs e)
- {
- if (m_ghostscript.GetStatus() != gsStatus.GS_READY)
- {
- ShowMessage(NotifyType_t.MESS_STATUS, "GS busy");
- return;
- }
-
- if (m_convertwin == null || !m_convertwin.IsActive)
- {
- m_convertwin = new Convert(m_num_pages);
- m_convertwin.ConvertUpdateMain += new Convert.ConvertCallBackMain(ConvertReturn);
- m_convertwin.Activate();
- m_convertwin.Show();
- }
- }
-
- private void ConvertReturn(object sender)
- {
- Device device = (Device)m_convertwin.xaml_DeviceList.SelectedItem;
- if (device == null)
- {
- ShowMessage(NotifyType_t.MESS_STATUS, "No Device Selected");
- return;
- }
-
- if (m_ghostscript.GetStatus() != gsStatus.GS_READY &&
- !device.MuPDFDevice)
- {
- ShowMessage(NotifyType_t.MESS_STATUS, "GS busy");
- return;
- }
-
- System.Collections.IList pages = m_convertwin.xaml_PageList.SelectedItems;
- System.Collections.IList pages_selected = null;
- String options = m_convertwin.xaml_options.Text;
- int resolution = 72;
- bool multi_page_needed = false;
- int first_page = -1;
- int last_page = -1;
-
- if (pages.Count == 0)
- {
- ShowMessage(NotifyType_t.MESS_STATUS, "No Pages Selected");
- return;
- }
-
- /* Get a filename */
- System.Windows.Forms.SaveFileDialog dlg = new System.Windows.Forms.SaveFileDialog();
- dlg.Filter = "All files (*.*)|*.*";
- dlg.FilterIndex = 1;
- if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- if (device.MuPDFDevice)
- {
- /* Allow only one of these as a time */
- pages_selected = pages;
- var val = m_convertwin.xaml_resolution.Text;
- if (val.Length > 0)
- {
- bool isok = true;
- int num = resolution;
- try
- {
- num = System.Convert.ToInt32(val);
- }
- catch (FormatException e)
- {
- isok = false;
- Console.WriteLine("Input string is not a sequence of digits.");
- }
- catch (OverflowException e)
- {
- isok = false;
- Console.WriteLine("The number cannot fit in an Int32.");
- }
- if (isok && num > 0)
- resolution = num;
- }
-
- if (mu_doc.ConvertSave(device.DeviceType, dlg.FileName,
- pages.Count, pages_selected, resolution) == gsStatus.GS_BUSY)
- {
- ShowMessage(NotifyType_t.MESS_STATUS, "MuPDF conversion busy");
- return;
- }
- xaml_CancelMuPDF.Visibility = System.Windows.Visibility.Visible;
- xaml_MuPDFGrid.Visibility = System.Windows.Visibility.Visible;
- }
- else
- {
- if (!device.SupportsMultiPage && m_num_pages > 1)
- multi_page_needed = true;
-
- if (pages.Count != m_num_pages)
- {
- /* We may need to go through page by page. Determine if
- * selection of pages is continuous. This is done by
- * looking at the first one in the list and the last one
- * in the list and checking the length */
- SelectPage lastpage = (SelectPage)pages[pages.Count - 1];
- SelectPage firstpage = (SelectPage)pages[0];
- int temp = lastpage.Page - firstpage.Page + 1;
- if (temp == pages.Count)
- {
- /* Pages are contiguous. Add first and last page
- * as command line option */
- options = options + " -dFirstPage=" + firstpage.Page + " -dLastPage=" + lastpage.Page;
- first_page = firstpage.Page;
- last_page = lastpage.Page;
- }
- else
- {
- /* Pages are not continguous. We will do this page
- * by page.*/
- pages_selected = pages;
- multi_page_needed = true; /* need to put in separate outputs */
- }
- }
- xaml_DistillProgress.Value = 0;
- if (m_ghostscript.Convert(m_currfile, options,
- device.DeviceName, dlg.FileName, pages.Count, resolution,
- multi_page_needed, pages_selected, first_page, last_page,
- null, null) == gsStatus.GS_BUSY)
- {
- ShowMessage(NotifyType_t.MESS_STATUS, "GS busy");
- return;
- }
- xaml_DistillName.Text = "GS Converting Document";
- xaml_CancelDistill.Visibility = System.Windows.Visibility.Collapsed;
- xaml_DistillName.FontWeight = FontWeights.Bold;
- xaml_DistillGrid.Visibility = System.Windows.Visibility.Visible;
- }
- m_convertwin.Close();
- }
- return;
- }
-
- private void ExtractPages(object sender, RoutedEventArgs e)
- {
- if (!m_init_done || m_isXPS || m_isImage)
- return;
-
- if (m_extractwin == null || !m_extractwin.IsActive)
- {
- m_extractwin = new PageExtractSave(m_num_pages);
- m_extractwin.ExtractMain += new PageExtractSave.ExtractCallBackMain(ExtractReturn);
- m_extractwin.Activate();
- m_extractwin.Show();
- }
- }
-
- private void ExtractReturn(object sender)
- {
- if (m_extractwin.xaml_PageList.SelectedItems.Count == 0)
- {
- ShowMessage(NotifyType_t.MESS_STATUS, "No Pages Selected");
- return;
- }
-
- /* Go through the actual list not the selected items list. The
- * selected items list contains them in the order that the were
- * selected not the order graphically shown */
- List<SelectPage> pages = new List<SelectPage>(m_extractwin.xaml_PageList.SelectedItems.Count);
-
- for (int kk = 0; kk < m_extractwin.xaml_PageList.Items.Count; kk++)
- {
- var item = (m_extractwin.xaml_PageList.ItemContainerGenerator.ContainerFromIndex(kk)) as System.Windows.Controls.ListViewItem;
- if (item.IsSelected == true)
- {
- pages.Add((SelectPage) m_extractwin.Pages[kk]);
- }
- }
-
- /* Get a filename */
- System.Windows.Forms.SaveFileDialog dlg = new System.Windows.Forms.SaveFileDialog();
- dlg.Filter = "All files (*.pdf)|*.pdf";
- dlg.FilterIndex = 1;
- if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- mu_doc.PDFExtract(m_currfile, dlg.FileName, m_currpassword, m_currpassword != null,
- false, pages.Count, pages);
- m_extractwin.Close();
- }
- return;
- }
-
- private void GetPassword()
- {
- if (m_password == null)
- {
- m_password = new Password();
- m_password.PassUpdateMain += new Password.PassCallBackMain(PasswordReturn);
- m_password.Activate();
- m_password.Show();
- }
- }
-
- private void PasswordReturn(object sender)
- {
- if (mu_doc.ApplyPassword(m_password.xaml_Password.Password))
- {
- m_currpassword = m_password.xaml_Password.Password;
- m_password.Close();
- m_password = null;
- xaml_OpenProgressGrid.Visibility = System.Windows.Visibility.Visible;
- xaml_openfilestatus.Text = "Opening File";
- StartViewer();
- }
- else
- {
- xaml_OpenProgressGrid.Visibility = System.Windows.Visibility.Collapsed;
- ShowMessage(NotifyType_t.MESS_STATUS, "Password Incorrect");
- }
- }
-
- private void ShowInfo(object sender, RoutedEventArgs e)
- {
- String Message;
-
- if (m_file_open)
- {
- String filename;
-
- if (m_origfile != null && (m_document_type == DocumentTypes.PS ||
- m_document_type == DocumentTypes.EPS))
- filename = m_origfile;
- else
- filename = m_currfile;
-
- Message =
- " File: " + filename + "\n" +
- "Document Type: " + m_document_type + "\n" +
- " Pages: " + m_num_pages + "\n" +
- " Current Page: " + (m_currpage + 1) + "\n";
- if (m_infowindow == null || !(m_infowindow.IsActive))
- m_infowindow = new Info();
- m_infowindow.xaml_TextInfo.Text = Message;
- m_infowindow.FontFamily = new FontFamily("Courier New");
- m_infowindow.Show();
- }
- }
-
- #region Zoom Control
-
- /* Find out where the current page is */
- private double ComputeOffsetZoomOut(double old_zoom)
- {
- double y = 0;
- ScrollViewer viewer = FindScrollViewer(xaml_PageList);
- if (viewer != null)
- {
- /* Look at the offset and where it falls relative to the top of our current page */
- UIElement uiElement = (UIElement)xaml_PageList.ItemContainerGenerator.ContainerFromIndex(m_currpage);
- y = viewer.TranslatePoint(new System.Windows.Point(0, 0), uiElement).Y;
- }
- return y * m_doczoom / old_zoom;
- }
-
- private double ComputeOffsetZoomIn(double old_zoom, out int new_page)
- {
- double y = 0;
- ScrollViewer viewer = FindScrollViewer(xaml_PageList);
- new_page = m_currpage;
- if (viewer != null)
- {
- /* Look at the offset and where it falls relative to the top of our current page */
- UIElement uiElement = (UIElement)xaml_PageList.ItemContainerGenerator.ContainerFromIndex(m_currpage);
- y = viewer.TranslatePoint(new System.Windows.Point(0, 0), uiElement).Y;
-
- /* If we are zoomed out, we can be on a page that is not on the top boundry. See if we can find one
- * that is */
- if (y < 0)
- {
- new_page = m_currpage - 1;
- while (true)
- {
- if (new_page < 0)
- {
- new_page = 0;
- return 0;
- }
- uiElement = (UIElement)xaml_PageList.ItemContainerGenerator.ContainerFromIndex(new_page);
- y = viewer.TranslatePoint(new System.Windows.Point(0, 0), uiElement).Y;
- if (y >= 0)
- {
- return y * m_doczoom / old_zoom;
- }
- new_page = new_page - 1;
- }
- }
- }
- return y * m_doczoom / old_zoom;
- }
-
- private void ZoomOut(object sender, RoutedEventArgs e)
- {
- if (!m_init_done || m_doczoom <= Constants.ZOOM_MIN)
- return;
- double old_zoom = m_doczoom;
- m_doczoom = m_doczoom - Constants.ZOOM_STEP;
- if (m_doczoom < Constants.ZOOM_MIN)
- m_doczoom = Constants.ZOOM_MIN;
- xaml_ZoomSlider.Value = m_doczoom * 100.0;
- double offset = ComputeOffsetZoomOut(old_zoom);
- RenderRange(m_currpage, false, zoom_t.ZOOM_OUT, offset);
- }
-
- private void ZoomIn(object sender, RoutedEventArgs e)
- {
- if (!m_init_done || m_doczoom >= Constants.ZOOM_MAX)
- return;
- double old_zoom = m_doczoom;
- m_doczoom = m_doczoom + Constants.ZOOM_STEP;
- if (m_doczoom > Constants.ZOOM_MAX)
- m_doczoom = Constants.ZOOM_MAX;
- xaml_ZoomSlider.Value = m_doczoom * 100.0;
- int newpage;
- double offset = ComputeOffsetZoomIn(old_zoom, out newpage);
- RenderRange(newpage, false, zoom_t.ZOOM_IN, offset);
- }
-
- private void ActualSize(object sender, RoutedEventArgs e)
- {
- if (!m_init_done)
- return;
- double old_zoom = m_doczoom;
- m_doczoom = 1.0;
- xaml_ZoomSlider.Value = m_doczoom * 100.0;
- if (old_zoom < 1.0)
- {
- int new_page;
- double offset = ComputeOffsetZoomIn(old_zoom, out new_page);
- RenderRange(new_page, false, zoom_t.ZOOM_IN, offset);
- }
- else if (old_zoom > 1.0)
- {
- double offset = ComputeOffsetZoomOut(old_zoom);
- RenderRange(m_currpage, false, zoom_t.ZOOM_OUT, offset);
- }
- }
-
- private void ContScrollFill(object sender, RoutedEventArgs e)
- {
- if (!m_init_done)
- return;
- /* Scale our pages based upon the size of scrollviewer */
- ScrollViewer viewer = FindScrollViewer(xaml_PageList);
- if (viewer == null)
- return;
- double width = viewer.ViewportWidth;
- double page_width = m_thumbnails[m_currpage].NativeWidth;
- double scale = width / page_width;
- if (scale < Constants.ZOOM_MIN)
- scale = Constants.ZOOM_MIN;
- if (scale > Constants.ZOOM_MAX)
- scale = Constants.ZOOM_MAX;
- if (m_doczoom == scale)
- return;
- double old_zoom = m_doczoom;
- m_doczoom = scale;
- xaml_ZoomSlider.Value = m_doczoom * 100.0;
- if (old_zoom > m_doczoom)
- RenderRange(m_currpage, true, zoom_t.ZOOM_OUT, 0);
- else
- RenderRange(m_currpage, true, zoom_t.ZOOM_IN, 0);
- }
-
- private void ExpandFill(object sender, RoutedEventArgs e)
- {
- if (!m_init_done)
- return;
- /* Scale our pages based upon the size of scrollviewer */
- ScrollViewer viewer = FindScrollViewer(xaml_PageList);
- if (viewer == null)
- return;
- double height = viewer.ViewportHeight;
- double width = viewer.ViewportWidth;
- double page_height = m_thumbnails[m_currpage].NativeHeight;
- double page_width = m_thumbnails[m_currpage].NativeWidth;
- double height_scale = height / page_height;
- double width_scale = width / page_width;
- double scale = Math.Min(height_scale, width_scale);
- if (scale < Constants.ZOOM_MIN)
- scale = Constants.ZOOM_MIN;
- if (scale > Constants.ZOOM_MAX)
- scale = Constants.ZOOM_MAX;
- if (m_doczoom == scale)
- return;
- double old_zoom = m_doczoom;
- m_doczoom = scale;
- xaml_ZoomSlider.Value = m_doczoom * 100.0;
- if (old_zoom > m_doczoom)
- RenderRange(m_currpage, true, zoom_t.ZOOM_OUT, 0);
- else
- RenderRange(m_currpage, true, zoom_t.ZOOM_IN, 0);
- }
-
- private void ShowFooter(object sender, RoutedEventArgs e)
- {
- xaml_FooterControl.Visibility = System.Windows.Visibility.Visible;
- }
-
- private void HideFooter(object sender, RoutedEventArgs e)
- {
- xaml_FooterControl.Visibility = System.Windows.Visibility.Collapsed;
- }
-
- private void ZoomReleased(object sender, MouseButtonEventArgs e)
- {
- if (m_init_done)
- {
- double zoom = xaml_ZoomSlider.Value / 100.0;
- if (zoom > Constants.ZOOM_MAX)
- zoom = Constants.ZOOM_MAX;
- if (zoom < Constants.ZOOM_MIN)
- zoom = Constants.ZOOM_MIN;
- double old_zoom = zoom;
- m_doczoom = zoom;
- if (old_zoom > m_doczoom)
- {
- double offset = ComputeOffsetZoomOut(old_zoom);
- RenderRange(m_currpage, false, zoom_t.ZOOM_OUT, offset);
- }
- else
- {
- int new_page;
- double offset = ComputeOffsetZoomIn(old_zoom, out new_page);
- RenderRange(new_page, false, zoom_t.ZOOM_IN, offset);
- }
- }
- }
-
- /* If the zoom is not equalto 1 then set the zoom to 1 and scoll to this page */
- private void PageDoubleClick(object sender, MouseButtonEventArgs e)
- {
- return; /* Disable this for now */
- if (m_doczoom != 1.0)
- {
- double old_zoom = m_doczoom;
- m_doczoom = 1.0;
- xaml_Zoomsize.Text = "100";
- var item = ((FrameworkElement)e.OriginalSource).DataContext as DocPage;
- if (item != null)
- {
- if (old_zoom > m_doczoom)
- {
- double offset = ComputeOffsetZoomOut(old_zoom);
- RenderRange(m_currpage, false, zoom_t.ZOOM_OUT, offset);
- }
- else
- {
- int new_page;
- double offset = ComputeOffsetZoomIn(old_zoom, out new_page);
- RenderRange(new_page, false, zoom_t.ZOOM_IN, offset);
- }
- }
- }
- }
-
- private void ZoomEnterClicked(object sender, System.Windows.Input.KeyEventArgs e)
- {
- if (e.Key == Key.Return)
- {
- e.Handled = true;
- var desired_zoom = xaml_Zoomsize.Text;
- try
- {
- double zoom = (double)System.Convert.ToInt32(desired_zoom) / 100.0;
- if (zoom > Constants.ZOOM_MAX)
- zoom = Constants.ZOOM_MAX;
- if (zoom < Constants.ZOOM_MIN)
- zoom = Constants.ZOOM_MIN;
- double old_zoom = m_doczoom;
- m_doczoom = zoom;
- if (old_zoom > m_doczoom)
- {
- double offset = ComputeOffsetZoomOut(old_zoom);
- RenderRange(m_currpage, false, zoom_t.ZOOM_OUT, offset);
- }
- else
- {
- int new_page;
- double offset = ComputeOffsetZoomIn(old_zoom, out new_page);
- RenderRange(new_page, false, zoom_t.ZOOM_IN, offset);
- }
- }
- catch (FormatException e1)
- {
- Console.WriteLine("String is not a sequence of digits.");
- }
- catch (OverflowException e2)
- {
- Console.WriteLine("The number cannot fit in an Int32.");
- }
- }
- }
-
- /* Rescale the pages based upon the zoom value and the native size */
- private void UpdatePageSizes()
- {
- SetThumbwidth();
- for (int k = 0; k > m_num_pages; k++)
- {
- var thumbpage = m_thumbnails[k];
- var page = m_docPages[k];
-
- if (page.Zoom == m_doczoom)
- continue;
- int scale_zoom = (int)Math.Round((double)page.Height / (double)thumbpage.NativeHeight);
- if (scale_zoom != m_doczoom)
- {
- page.Height = (int)Math.Round(thumbpage.NativeHeight * m_doczoom);
- page.Width = (int)Math.Round(thumbpage.NativeWidth * m_doczoom);
- }
- }
- }
- #endregion Zoom Control
-
- #region Thumb Rendering
- void SetThumbInit(int page_num, Byte[] bitmap, Point ras_size, double zoom_in)
- {
- /* Three jobs. Store the thumb and possibly update the full page. Also
- add to collection of pages. Set up page geometry info (scale of
- 100 percent ) */
-
- DocPage doc_page = new DocPage();
- m_thumbnails.Add(doc_page);
-
- doc_page.Width = (int)ras_size.X;
-
- doc_page.Height = (int)ras_size.Y;
- doc_page.NativeWidth = (int)(ras_size.X / Constants.SCALE_THUMB);
- doc_page.NativeHeight = (int)(ras_size.Y / Constants.SCALE_THUMB);
- m_totalpageheight = m_totalpageheight + doc_page.NativeHeight;
-
- doc_page.Content = Page_Content_t.THUMBNAIL;
- doc_page.Zoom = zoom_in;
- int stride = doc_page.Width * 4;
- doc_page.BitMap = BitmapSource.Create(doc_page.Width, doc_page.Height,
- 72, 72, PixelFormats.Pbgra32, BitmapPalettes.Halftone256, bitmap, stride);
- doc_page.PageNum = page_num;
-
- /* Lets see if we need to set the main page */
- var doc = m_docPages[page_num];
- switch (doc.Content)
- {
- case Page_Content_t.FULL_RESOLUTION:
- case Page_Content_t.THUMBNAIL:
- return;
-
- case Page_Content_t.NOTSET:
- doc_page = InitDocPage();
- doc_page.Content = Page_Content_t.THUMBNAIL;
- doc_page.Zoom = zoom_in;
- doc_page.BitMap = m_thumbnails[page_num].BitMap;
- doc_page.Width = (int)(ras_size.X / Constants.SCALE_THUMB);
- doc_page.Height = (int)(ras_size.Y / Constants.SCALE_THUMB);
- doc_page.PageNum = page_num;
- this.m_docPages[page_num] = doc_page;
- break;
-
- case Page_Content_t.OLD_RESOLUTION:
- return;
- }
- }
-
- private void ThumbsWork(object sender, DoWorkEventArgs e)
- {
- Point ras_size;
- status_t code;
- double scale_factor = Constants.SCALE_THUMB;
- BackgroundWorker worker = sender as BackgroundWorker;
-
- Byte[] bitmap;
-
- for (int k = 0; k < m_num_pages; k++)
- {
- if (ComputePageSize(k, scale_factor, out ras_size) == status_t.S_ISOK)
- {
- try
- {
- bitmap = new byte[(int)ras_size.X * (int)ras_size.Y * 4];
- BlocksText charlist;
- Annotate_t annot;
- /* Synchronous call on our background thread */
- code = (status_t)mu_doc.RenderPage(k, bitmap, (int)ras_size.X,
- (int)ras_size.Y, scale_factor, false, false, false,
- out charlist, false, out annot);
- }
- catch (OutOfMemoryException em)
- {
- Console.WriteLine("Memory allocation failed thumb page " + k + em.Message + "\n");
- break;
- }
- /* Use thumb if we rendered ok */
- if (code == status_t.S_ISOK)
- {
- double percent = 100 * (double)(k + 1) / (double)m_num_pages;
- thumb_t curr_thumb = new thumb_t();
- curr_thumb.page_num = k;
- curr_thumb.bitmap = bitmap;
- curr_thumb.size = ras_size;
- worker.ReportProgress((int)percent, curr_thumb);
- }
- }
- if (worker.CancellationPending == true)
- {
- e.Cancel = true;
- break;
- }
- }
- }
-
- private void ThumbsCompleted(object sender, RunWorkerCompletedEventArgs e)
- {
- xaml_ProgressGrid.Visibility = System.Windows.Visibility.Collapsed;
- xaml_ThumbProgress.Value = 0;
- xaml_ThumbList.ItemsSource = m_thumbnails;
- m_have_thumbs = true;
- m_thumbworker = null;
- //xaml_CancelThumb.IsEnabled = true;
- xaml_ThumbList.Items.Refresh();
- xaml_VerticalScroll.Minimum = 0;
- xaml_VerticalScroll.Maximum = m_totalpageheight + 4 * m_num_pages;
- //thumbSize = (viewportSize/(maximum–minimum+viewportSize))×trackLength
- SetThumbwidth();
- //ScrollBarExtensions.SetThumbLength(xaml_VerticalScroll, 1);
- }
-
- private void ThumbsProgressChanged(object sender, ProgressChangedEventArgs e)
- {
- thumb_t thumb = (thumb_t)(e.UserState);
-
- xaml_ThumbProgress.Value = e.ProgressPercentage;
- SetThumbInit(thumb.page_num, thumb.bitmap, thumb.size, 1.0);
- }
-
- private void RenderThumbs()
- {
- /* Create background task for rendering the thumbnails. Allow
- this to be cancelled if we open a new doc while we are in loop
- rendering. Put the UI updates in the progress changed which will
- run on the main thread */
- try
- {
- m_thumbworker = new BackgroundWorker();
- m_thumbworker.WorkerReportsProgress = true;
- m_thumbworker.WorkerSupportsCancellation = true;
- m_thumbworker.DoWork += new DoWorkEventHandler(ThumbsWork);
- m_thumbworker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(ThumbsCompleted);
- m_thumbworker.ProgressChanged += new ProgressChangedEventHandler(ThumbsProgressChanged);
- xaml_ProgressGrid.Visibility = System.Windows.Visibility.Visible;
- m_thumbworker.RunWorkerAsync();
- }
- catch (OutOfMemoryException e)
- {
- Console.WriteLine("Memory allocation failed during thumb rendering\n");
- ShowMessage(NotifyType_t.MESS_ERROR, "Out of memory: " + e.Message);
- }
- }
- #endregion Thumb Rendering
-
- #region Copy Paste
- /* Copy the current page as a bmp to the clipboard this is done at the
- * current resolution */
- private void CopyPage(object sender, RoutedEventArgs e)
- {
- if (!m_init_done)
- return;
- var curr_page = m_docPages[m_currpage];
- System.Windows.Clipboard.SetImage(curr_page.BitMap);
- m_clipboardset = true;
- }
-
- /* Paste the page to various types supported by the windows encoder class */
- private void PastePage(object sender, RoutedEventArgs e)
- {
- var menu = (System.Windows.Controls.MenuItem)sender;
-
- String tag = (String)menu.Tag;
-
- if (!m_clipboardset || !System.Windows.Clipboard.ContainsImage() ||
- !m_init_done)
- return;
- var bitmap = System.Windows.Clipboard.GetImage();
-
- BitmapEncoder encoder;
- System.Windows.Forms.SaveFileDialog dlg = new System.Windows.Forms.SaveFileDialog();
- dlg.FilterIndex = 1;
-
- switch (tag)
- {
- case "PNG":
- dlg.Filter = "PNG Files(*.png)|*.png";
- encoder = new PngBitmapEncoder();
-
- break;
- case "JPG":
- dlg.Filter = "JPEG Files(*.jpg)|*.jpg";
- encoder = new JpegBitmapEncoder();
- break;
-
- case "WDP":
- dlg.Filter = "HDP Files(*.wdp)|*.wdp";
- encoder = new WmpBitmapEncoder();
- break;
-
- case "TIF":
- dlg.Filter = "TIFF Files(*.tif)|*.tif";
- encoder = new TiffBitmapEncoder();
- break;
-
- case "BMP":
- dlg.Filter = "BMP Files(*.bmp)|*.bmp";
- encoder = new BmpBitmapEncoder();
- break;
-
- case "GIF":
- dlg.Filter = "GIF Files(*.gif)|*.gif";
- encoder = new GifBitmapEncoder();
- break;
-
- default:
- return;
- }
-
- encoder.Frames.Add(BitmapFrame.Create(bitmap));
- if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- using (var stream = dlg.OpenFile())
- encoder.Save(stream);
- }
- }
- #endregion Copy Paste
-
- #region SaveAs
- String CreatePDFXA(Save_Type_t type)
- {
- Byte[] Resource;
- String Profile;
-
- switch (type)
- {
- case Save_Type_t.PDFA1_CMYK:
- case Save_Type_t.PDFA2_CMYK:
- Resource = Properties.Resources.PDFA_def;
- Profile = m_outputintents.cmyk_icc;
- break;
-
- case Save_Type_t.PDFA1_RGB:
- case Save_Type_t.PDFA2_RGB:
- Resource = Properties.Resources.PDFA_def;
- Profile = m_outputintents.rgb_icc;
- break;
-
- case Save_Type_t.PDFX3_CMYK:
- Resource = Properties.Resources.PDFX_def;
- Profile = m_outputintents.cmyk_icc;
- break;
-
- case Save_Type_t.PDFX3_GRAY:
- Resource = Properties.Resources.PDFX_def;
- Profile = m_outputintents.gray_icc;
- break;
-
- default:
- return null;
- }
-
- String Profile_new = Profile.Replace("\\", "/");
- String result = System.Text.Encoding.UTF8.GetString(Resource);
- String pdfx_cust = result.Replace("ICCPROFILE", Profile_new);
- var out_file = System.IO.Path.GetTempFileName();
- System.IO.File.WriteAllText(out_file, pdfx_cust);
- return out_file;
- }
-
- private void SaveFile(Save_Type_t type)
- {
- if (!m_file_open)
- return;
-
- System.Windows.Forms.SaveFileDialog dlg = new System.Windows.Forms.SaveFileDialog();
- dlg.FilterIndex = 1;
-
- /* PDF output types */
- if (type <= Save_Type_t.PDF)
- {
- dlg.Filter = "PDF Files(*.pdf)|*.pdf";
- if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- String options = null;
- bool use_gs = true;
- String init_file = CreatePDFXA(type);
-
- switch (type)
- {
- case Save_Type_t.PDF:
- /* All done. No need to use gs or mupdf */
- System.IO.File.Copy(m_currfile, dlg.FileName, true);
- use_gs = false;
- break;
- case Save_Type_t.LINEAR_PDF:
- mu_doc.PDFExtract(m_currfile, dlg.FileName, m_currpassword,
- m_currpassword != null, true, -1, null);
- use_gs = false;
- break;
- case Save_Type_t.PDF13:
- options = "-dCompatibilityLevel=1.3";
- break;
- case Save_Type_t.PDFA1_CMYK:
- options = "-dPDFA=1 -dNOOUTERSAVE -dPDFACompatibilityPolicy=1 -sProcessColorModel=DeviceCMYK -dColorConversionStrategy=/CMYK -sOutputICCProfile=" + m_outputintents.cmyk_icc;
- break;
- case Save_Type_t.PDFA1_RGB:
- options = "-dPDFA=1 -dNOOUTERSAVE -dPDFACompatibilityPolicy=1 -sProcessColorModel=DeviceRGB -dColorConversionStrategy=/RGB -sOutputICCProfile=" + m_outputintents.rgb_icc;
- break;
- case Save_Type_t.PDFA2_CMYK:
- options = "-dPDFA=2 -dNOOUTERSAVE -dPDFACompatibilityPolicy=1 -sProcessColorModel=DeviceCMYK -dColorConversionStrategy=/CMYK -sOutputICCProfile=" + m_outputintents.cmyk_icc;
- break;
- case Save_Type_t.PDFA2_RGB:
- options = "-dPDFA=2 -dNOOUTERSAVE -dPDFACompatibilityPolicy=1 -sProcessColorModel=DeviceRGB -dColorConversionStrategy=/RGB -sOutputICCProfile=" + m_outputintents.rgb_icc;
- break;
- case Save_Type_t.PDFX3_CMYK:
- options = "-dPDFX -dNOOUTERSAVE -dPDFACompatibilityPolicy=1 -sProcessColorModel=DeviceCMYK -dColorConversionStrategy=/CMYK -sOutputICCProfile=" + m_outputintents.cmyk_icc;
- break;
- case Save_Type_t.PDFX3_GRAY:
- options = "-dPDFX -dNOOUTERSAVE -dPDFACompatibilityPolicy=1 -sProcessColorModel=DeviceGray -dColorConversionStrategy=/Gray -sOutputICCProfile=" + m_outputintents.cmyk_icc;
- break;
-
- }
- if (use_gs)
- {
- xaml_DistillProgress.Value = 0;
- if (m_ghostscript.Convert(m_currfile, options,
- Enum.GetName(typeof(gsDevice_t), gsDevice_t.pdfwrite),
- dlg.FileName, m_num_pages, 300, false, null, -1, -1,
- init_file, null) == gsStatus.GS_BUSY)
- {
- ShowMessage(NotifyType_t.MESS_STATUS, "GS busy");
- return;
- }
- xaml_DistillName.Text = "Creating PDF";
- xaml_CancelDistill.Visibility = System.Windows.Visibility.Collapsed;
- xaml_DistillName.FontWeight = FontWeights.Bold;
- xaml_DistillGrid.Visibility = System.Windows.Visibility.Visible;
- }
- }
- }
- else
- {
- /* Non PDF output */
- gsDevice_t Device = gsDevice_t.xpswrite;
- bool use_mupdf = true;
- String Message = "";
- textout_t textout = textout_t.HTML;
- switch (type)
- {
- case Save_Type_t.HTML:
- dlg.Filter = "HTML (*.html)|*.html";
- Message = "HTML content written";
- break;
- case Save_Type_t.XML:
- dlg.Filter = "XML (*.xml)|*.xml";
- Message = "XML content written";
- textout = textout_t.XML;
- break;
- case Save_Type_t.TEXT:
- dlg.Filter = "Text (*.txt)|*.txt";
- Message = "Text content written";
- textout = textout_t.TEXT;
- break;
- case Save_Type_t.PCLXL:
- use_mupdf = false;
- dlg.Filter = "PCL-XL (*.bin)|*.bin";
- Device = gsDevice_t.pxlcolor;
- break;
- case Save_Type_t.XPS:
- use_mupdf = false;
- dlg.Filter = "XPS Files(*.xps)|*.xps";
- break;
- }
- if (!use_mupdf)
- {
- if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- if (m_ghostscript.Convert(m_currfile, "",
- Enum.GetName(typeof(gsDevice_t), Device),
- dlg.FileName, 1, 300, false, null, -1, -1,
- null, null) == gsStatus.GS_BUSY)
- {
- ShowMessage(NotifyType_t.MESS_STATUS, "GS busy");
- return;
- }
- }
- }
- else
- {
- if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- /* Write out first non null page then append the rest */
- int curr_page = 0;
- bool done = false;
-
- while (!done)
- {
- String output = null;
- output = mu_doc.GetText(curr_page, textout);
- if (output == null)
- {
- curr_page = curr_page + 1;
- if (curr_page == m_num_pages)
- {
- ShowMessage(NotifyType_t.MESS_STATUS, "No text found in file");
- return;
- }
- }
- else
- {
- System.IO.File.WriteAllText(dlg.FileName, output);
- done = true;
- }
- }
- curr_page = curr_page + 1;
-
- if (curr_page == m_num_pages)
- {
- ShowMessage(NotifyType_t.MESS_STATUS, Message);
- return;
- }
- done = false;
- while (!done)
- {
- String output = null;
- output = mu_doc.GetText(curr_page, textout);
- if (output != null)
- {
- System.IO.File.AppendAllText(dlg.FileName, output);
- }
- curr_page = curr_page + 1;
- if (curr_page == m_num_pages)
- {
- ShowMessage(NotifyType_t.MESS_STATUS, Message);
- return;
- }
- }
- }
- }
- }
- }
-
- private void SaveSVG(object sender, RoutedEventArgs e)
- {
- SaveFile(Save_Type_t.SVG);
- }
-
- private void SavePDF(object sender, RoutedEventArgs e)
- {
- SaveFile(Save_Type_t.PDF);
- }
-
- private void SaveText(object sender, RoutedEventArgs e)
- {
- SaveFile(Save_Type_t.TEXT);
- }
-
- private void SaveXML(object sender, RoutedEventArgs e)
- {
- SaveFile(Save_Type_t.XML);
- }
-
- private void SaveHTML(object sender, RoutedEventArgs e)
- {
- SaveFile(Save_Type_t.HTML);
- }
-
- private void Linearize(object sender, RoutedEventArgs e)
- {
- SaveFile(Save_Type_t.LINEAR_PDF);
- }
-
- private void SavePDF13(object sender, RoutedEventArgs e)
- {
- SaveFile(Save_Type_t.PDF13);
- }
-
- private void SavePDFX3_Gray(object sender, RoutedEventArgs e)
- {
- if (m_outputintents.gray_icc == null)
- {
- ShowMessage(NotifyType_t.MESS_STATUS, "Set Gray Output Intent ICC Profile");
- return;
- }
- SaveFile(Save_Type_t.PDFX3_GRAY);
- }
-
- private void SavePDFX3_CMYK(object sender, RoutedEventArgs e)
- {
- if (m_outputintents.cmyk_icc == null)
- {
- ShowMessage(NotifyType_t.MESS_STATUS, "Set CMYK Output Intent ICC Profile");
- return;
- }
- SaveFile(Save_Type_t.PDFX3_CMYK);
- }
-
- private void SavePDFA1_RGB(object sender, RoutedEventArgs e)
- {
- if (m_outputintents.rgb_icc == null)
- {
- ShowMessage(NotifyType_t.MESS_STATUS, "Set RGB Output Intent ICC Profile");
- return;
- }
- SaveFile(Save_Type_t.PDFA1_RGB);
- }
-
- private void SavePDFA1_CMYK(object sender, RoutedEventArgs e)
- {
- if (m_outputintents.cmyk_icc == null)
- {
- ShowMessage(NotifyType_t.MESS_STATUS, "Set CMYK Output Intent ICC Profile");
- return;
- }
- SaveFile(Save_Type_t.PDFA1_CMYK);
- }
-
- private void SavePDFA2_RGB(object sender, RoutedEventArgs e)
- {
- if (m_outputintents.rgb_icc == null)
- {
- ShowMessage(NotifyType_t.MESS_STATUS, "Set RGB Output Intent ICC Profile");
- return;
- }
- SaveFile(Save_Type_t.PDFA2_RGB);
- }
-
- private void SavePDFA2_CMYK(object sender, RoutedEventArgs e)
- {
- if (m_outputintents.cmyk_icc == null)
- {
- ShowMessage(NotifyType_t.MESS_STATUS, "Set CMYK Output Intent ICC Profile");
- return;
- }
- SaveFile(Save_Type_t.PDFA2_CMYK);
- }
-
- private void SavePCLXL(object sender, RoutedEventArgs e)
- {
- SaveFile(Save_Type_t.PCLXL);
- }
- private void SaveXPS(object sender, RoutedEventArgs e)
- {
- SaveFile(Save_Type_t.XPS);
- }
- #endregion SaveAs
-
- #region Extract
- private void Extract(Extract_Type_t type)
- {
- if (m_selection != null || !m_init_done)
- return;
-
- m_selection = new Selection(m_currpage + 1, m_doczoom, type);
- m_selection.UpdateMain += new Selection.CallBackMain(SelectionMade);
- m_selection.Show();
- m_selection.xaml_Image.Source = m_docPages[m_currpage].BitMap;
- m_selection.xaml_Image.Height = m_docPages[m_currpage].Height;
- m_selection.xaml_Image.Width = m_docPages[m_currpage].Width;
- }
-
- async private void SelectionZoom(int page_num, double zoom)
- {
- Point ras_size;
- if (ComputePageSize(page_num, zoom, out ras_size) == status_t.S_ISOK)
- {
- try
- {
- Byte[] bitmap = new byte[(int)ras_size.X * (int)ras_size.Y * 4];
- BlocksText charlist;
- Annotate_t annot;
-
- Task<int> ren_task =
- new Task<int>(() => mu_doc.RenderPage(page_num, bitmap,
- (int)ras_size.X, (int)ras_size.Y, zoom, false, true,
- false, out charlist, true, out annot));
- ren_task.Start();
- await ren_task.ContinueWith((antecedent) =>
- {
- status_t code = (status_t)ren_task.Result;
- if (code == status_t.S_ISOK)
- {
- if (m_selection != null)
- {
- int stride = (int)ras_size.X * 4;
- m_selection.xaml_Image.Source = BitmapSource.Create((int)ras_size.X, (int)ras_size.Y, 72, 72, PixelFormats.Pbgra32, BitmapPalettes.Halftone256, bitmap, stride);
- m_selection.xaml_Image.Height = (int)ras_size.Y;
- m_selection.xaml_Image.Width = (int)ras_size.X;
- m_selection.UpdateRect();
- m_selection.m_curr_state = SelectStatus_t.OK;
- }
- }
- }, TaskScheduler.FromCurrentSynchronizationContext());
- }
- catch (OutOfMemoryException e)
- {
- Console.WriteLine("Memory allocation failed page " + page_num + "\n");
- ShowMessage(NotifyType_t.MESS_ERROR, "Out of memory: " + e.Message);
- }
- }
- }
-
- private void SelectionMade(object gsObject, SelectEventArgs results)
- {
- switch (results.State)
- {
- case SelectStatus_t.CANCEL:
- case SelectStatus_t.CLOSE:
- m_selection = null;
- return;
- case SelectStatus_t.SELECT:
- /* Get the information we need */
- double zoom = results.ZoomFactor;
- Point start = results.TopLeft;
- Point size = results.Size;
- int page = results.PageNum;
- gsDevice_t Device = gsDevice_t.pdfwrite;
-
- start.X = start.X / zoom;
- start.Y = start.Y / zoom;
- size.X = size.X / zoom;
- size.Y = size.Y / zoom;
-
- /* Do the actual extraction */
- String options;
- System.Windows.Forms.SaveFileDialog dlg = new System.Windows.Forms.SaveFileDialog();
- dlg.FilterIndex = 1;
-
- /* Get us set up to do a fixed size */
- options = "-dFirstPage=" + page + " -dLastPage=" + page +
- " -dDEVICEWIDTHPOINTS=" + size.X + " -dDEVICEHEIGHTPOINTS=" +
- size.Y + " -dFIXEDMEDIA";
-
- /* Set up the translation */
- String init_string = "<</Install {-" + start.X + " -" +
- start.Y + " translate (testing) == flush}>> setpagedevice";
-
- switch (results.Type)
- {
- case Extract_Type_t.PDF:
- dlg.Filter = "PDF Files(*.pdf)|*.pdf";
- break;
- case Extract_Type_t.EPS:
- dlg.Filter = "EPS Files(*.eps)|*.eps";
- Device = gsDevice_t.eps2write;
- break;
- case Extract_Type_t.PS:
- dlg.Filter = "PostScript Files(*.ps)|*.ps";
- Device = gsDevice_t.ps2write;
- break;
- case Extract_Type_t.SVG:
- dlg.Filter = "SVG Files(*.svg)|*.svg";
- break;
- }
- if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- if (m_ghostscript.Convert(m_currfile, options,
- Enum.GetName(typeof(gsDevice_t), Device),
- dlg.FileName, 1, 300, false, null, page, page,
- null, init_string) == gsStatus.GS_BUSY)
- {
- ShowMessage(NotifyType_t.MESS_STATUS, "GS busy");
- return;
- }
- }
- m_selection.Close();
- break;
- case SelectStatus_t.ZOOMIN:
- /* Render new page at this resolution and hand it off */
- SelectionZoom(results.PageNum - 1, results.ZoomFactor);
- break;
- case SelectStatus_t.ZOOMOUT:
- /* Render new page at this resolution and hand it off */
- SelectionZoom(results.PageNum - 1, results.ZoomFactor);
- break;
- }
- }
-
- private void ExtractPDF(object sender, RoutedEventArgs e)
- {
- Extract(Extract_Type_t.PDF);
- }
- private void ExtractEPS(object sender, RoutedEventArgs e)
- {
- Extract(Extract_Type_t.EPS);
- }
- private void ExtractPS(object sender, RoutedEventArgs e)
- {
- Extract(Extract_Type_t.PS);
- }
- private void OutputIntents(object sender, RoutedEventArgs e)
- {
- m_outputintents.Show();
- }
- #endregion Extract
-
- #region Search
- /* Search related code */
- private void Search(object sender, RoutedEventArgs e)
- {
- if (!m_init_done || (m_textsearch != null && m_textsearch.IsBusy))
- return;
-
- m_textsearch = null; /* Start out fresh */
- if (xaml_SearchControl.Visibility == System.Windows.Visibility.Collapsed)
- xaml_SearchControl.Visibility = System.Windows.Visibility.Visible;
- else
- {
- xaml_SearchControl.Visibility = System.Windows.Visibility.Collapsed;
- xaml_SearchGrid.Visibility = System.Windows.Visibility.Collapsed;
- ClearTextSearch();
- }
- }
-
- private void OnSearchBackClick(object sender, RoutedEventArgs e)
- {
- String textToFind = xaml_SearchText.Text;
- TextSearchSetUp(-1, textToFind);
- }
-
- private void OnSearchForwardClick(object sender, RoutedEventArgs e)
- {
- String textToFind = xaml_SearchText.Text;
- TextSearchSetUp(1, textToFind);
- }
-
- /* The thread that is actually doing the search work */
- void SearchWork(object sender, DoWorkEventArgs e)
- {
- BackgroundWorker worker = sender as BackgroundWorker;
- List<object> genericlist = e.Argument as List<object>;
- int direction = (int)genericlist[0];
- String needle = (String)genericlist[1];
- /* To make sure we get the next page or current page during search */
- int in_search = (int)genericlist[2];
- m_searchpage = m_currpage + direction * in_search;
- searchResults_t results = new searchResults_t();
-
- /* Break if we find something, get to the end (or start of doc)
- * or if we have a cancel occur */
- while (true)
- {
- int box_count = mu_doc.TextSearchPage(m_searchpage, needle);
- int percent;
-
- if (direction == 1)
- percent = (int)(100.0 * ((double)m_searchpage + 1) / (double)m_num_pages);
- else
- percent = 100 - (int)(100.0 * ((double)m_searchpage) / (double)m_num_pages);
-
- if (box_count > 0)
- {
- /* This page has something lets go ahead and extract and
- * signal to the UI thread and end this thread */
- results.done = false;
- results.num_rects = box_count;
- results.page_found = m_searchpage;
- results.rectangles = new List<Rect>();
-
- for (int kk = 0; kk < box_count; kk++)
- {
- Point top_left;
- Size size;
- mu_doc.GetTextSearchItem(kk, out top_left, out size);
- var rect = new Rect(top_left, size);
- results.rectangles.Add(rect);
- }
- /* Reset global smart pointer once we have everything */
- mu_doc.ReleaseTextSearch();
- worker.ReportProgress(percent, results);
- break;
- }
- else
- {
- /* This page has nothing. Lets go ahead and just update
- * the progress bar */
- worker.ReportProgress(percent, null);
- if (percent >= 100)
- {
- results.done = true;
- results.needle = needle;
- break;
- }
- m_searchpage = m_searchpage + direction;
- }
- if (worker.CancellationPending == true)
- {
- e.Cancel = true;
- break;
- }
- }
- e.Result = results;
- }
-
- private void SearchProgressChanged(object sender, ProgressChangedEventArgs e)
- {
- if (e.UserState == null)
- {
- /* Nothing found */
- xaml_SearchProgress.Value = e.ProgressPercentage;
- }
- else
- {
- m_text_list = new List<RectList>();
- /* found something go to page and show results */
- searchResults_t results = (searchResults_t)e.UserState;
- xaml_SearchProgress.Value = e.ProgressPercentage;
- m_currpage = results.page_found;
- /* Add in the rectangles */
- for (int kk = 0; kk < results.num_rects; kk++)
- {
- var rect_item = new RectList();
- rect_item.Scale = m_doczoom;
- rect_item.Color = m_textsearchcolor;
- rect_item.Height = results.rectangles[kk].Height * m_doczoom;
- rect_item.Width = results.rectangles[kk].Width * m_doczoom;
- rect_item.X = results.rectangles[kk].X * m_doczoom;
- rect_item.Y = results.rectangles[kk].Y * m_doczoom;
- rect_item.Index = kk.ToString();
- m_text_list.Add(rect_item);
- }
- m_docPages[results.page_found].TextBox = m_text_list;
- m_doscroll = true;
- xaml_PageList.ScrollIntoView(m_docPages[results.page_found]);
- }
- }
-
- private void SearchCompleted(object sender, RunWorkerCompletedEventArgs e)
- {
- if (e.Cancelled == true)
- {
- xaml_SearchGrid.Visibility = System.Windows.Visibility.Collapsed;
- m_textsearch = null;
- }
- else
- {
- searchResults_t results = (searchResults_t)e.Result;
- if (results.done == true)
- {
- xaml_SearchGrid.Visibility = System.Windows.Visibility.Collapsed;
- m_textsearch = null;
- ShowMessage(NotifyType_t.MESS_STATUS, "End of document search for \"" + results.needle + "\"");
- }
- }
- }
-
- private void CancelSearchClick(object sender, RoutedEventArgs e)
- {
- if (m_textsearch != null && m_textsearch.IsBusy)
- m_textsearch.CancelAsync();
- xaml_SearchGrid.Visibility = System.Windows.Visibility.Collapsed;
- m_textsearch = null;
- ClearTextSearch();
- }
-
- private void ClearTextSearch()
- {
- for (int kk = 0; kk < m_num_pages; kk++)
- {
- var temp = m_docPages[kk].TextBox;
- if (temp != null)
- {
- m_docPages[kk].TextBox = null;
- }
- }
- }
-
- private void ScaleTextBox(int pagenum)
- {
- var temp = m_docPages[pagenum].TextBox;
- for (int kk = 0; kk < temp.Count; kk++)
- {
- var rect_item = temp[kk];
- double factor = m_doczoom / temp[kk].Scale;
-
- temp[kk].Height = temp[kk].Height * factor;
- temp[kk].Width = temp[kk].Width * factor;
- temp[kk].X = temp[kk].X * factor;
- temp[kk].Y = temp[kk].Y * factor;
-
- temp[kk].Scale = m_doczoom;
- temp[kk].PageRefresh();
- }
- m_docPages[pagenum].TextBox = temp;
- }
-
- private void TextSearchSetUp(int direction, String needle)
- {
- /* Create background task for performing text search. */
- try
- {
- int in_text_search = 0;
-
- if (m_textsearch != null && m_textsearch.IsBusy)
- return;
-
- if (m_textsearch != null)
- {
- in_text_search = 1;
- m_textsearch = null;
- }
- if (m_prevsearch != null && needle != m_prevsearch)
- {
- in_text_search = 0;
- ClearTextSearch();
- }
-
- if (m_textsearch == null)
- {
- m_prevsearch = needle;
- m_textsearch = new BackgroundWorker();
- m_textsearch.WorkerReportsProgress = true;
- m_textsearch.WorkerSupportsCancellation = true;
- var arguments = new List<object>();
- arguments.Add(direction);
- arguments.Add(needle);
- arguments.Add(in_text_search);
- m_textsearch.DoWork += new DoWorkEventHandler(SearchWork);
- m_textsearch.RunWorkerCompleted += new RunWorkerCompletedEventHandler(SearchCompleted);
- m_textsearch.ProgressChanged += new ProgressChangedEventHandler(SearchProgressChanged);
- xaml_SearchGrid.Visibility = System.Windows.Visibility.Visible;
- m_textsearch.RunWorkerAsync(arguments);
- }
- }
- catch (OutOfMemoryException e)
- {
- Console.WriteLine("Memory allocation failed during text search\n");
- ShowMessage(NotifyType_t.MESS_ERROR, "Out of memory: " + e.Message);
- }
- }
- #endregion Search
-
- #region Link
- private void LinksToggle(object sender, RoutedEventArgs e)
- {
- if (!m_init_done)
- return;
-
- m_links_on = !m_links_on;
-
- if (m_page_link_list == null)
- {
- if (m_linksearch != null && m_linksearch.IsBusy)
- return;
-
- m_page_link_list = new List<List<RectList>>();
- m_linksearch = new BackgroundWorker();
- m_linksearch.WorkerReportsProgress = false;
- m_linksearch.WorkerSupportsCancellation = true;
- m_linksearch.DoWork += new DoWorkEventHandler(LinkWork);
- m_linksearch.RunWorkerCompleted += new RunWorkerCompletedEventHandler(LinkCompleted);
- m_linksearch.RunWorkerAsync();
- }
- else
- {
- if (m_links_on)
- LinksOn();
- else
- LinksOff();
- }
- }
-
- private void LinkWork(object sender, DoWorkEventArgs e)
- {
- BackgroundWorker worker = sender as BackgroundWorker;
-
- for (int k = 0; k < m_num_pages; k++)
- {
- int box_count = mu_doc.GetLinksPage(k);
- List<RectList> links = new List<RectList>();
- if (box_count > 0)
- {
- for (int j = 0; j < box_count; j++)
- {
- Point top_left;
- Size size;
- String uri;
- int type;
- int topage;
-
- mu_doc.GetLinkItem(j, out top_left, out size, out uri,
- out topage, out type);
- var rectlist = new RectList();
- rectlist.Height = size.Height * m_doczoom;
- rectlist.Width = size.Width * m_doczoom;
- rectlist.X = top_left.X * m_doczoom;
- rectlist.Y = top_left.Y * m_doczoom;
- rectlist.Color = m_linkcolor;
- rectlist.Index = k.ToString() + "." + j.ToString();
- rectlist.PageNum = topage;
- rectlist.Scale = m_doczoom;
- if (uri != null)
- rectlist.Urilink = new Uri(uri);
- rectlist.Type = (Link_t)type;
- links.Add(rectlist);
- }
- }
- mu_doc.ReleaseLink();
- m_page_link_list.Add(links);
-
- if (worker.CancellationPending == true)
- {
- e.Cancel = true;
- break;
- }
- }
- }
-
- private void LinkCompleted(object sender, RunWorkerCompletedEventArgs e)
- {
- LinksOn();
- }
-
- private void ScaleLinkBox(int pagenum)
- {
- var temp = m_docPages[pagenum].LinkBox;
- for (int kk = 0; kk < temp.Count; kk++)
- {
- var rect_item = temp[kk];
- double factor = m_doczoom / temp[kk].Scale;
-
- temp[kk].Height = temp[kk].Height * factor;
- temp[kk].Width = temp[kk].Width * factor;
- temp[kk].X = temp[kk].X * factor;
- temp[kk].Y = temp[kk].Y * factor;
-
- temp[kk].Scale = m_doczoom;
- temp[kk].PageRefresh();
- }
- m_docPages[pagenum].LinkBox = temp;
- }
- /* Merge these */
- private void ScaleTextLines(int pagenum, double scale_factor)
- {
- var temp = m_lineptrs[pagenum];
- for (int kk = 0; kk < temp.Count; kk++)
- {
- var rect_item = temp[kk];
- double factor = scale_factor / temp[kk].Scale;
-
- temp[kk].Height = temp[kk].Height * factor;
- temp[kk].Width = temp[kk].Width * factor;
- temp[kk].X = temp[kk].X * factor;
- temp[kk].Y = temp[kk].Y * factor;
-
- temp[kk].Scale = scale_factor;
- }
- m_lineptrs[pagenum] = temp;
- }
-
- private void ScaleTextBlocks(int pagenum, double scale_factor)
- {
- var temp = m_textptrs[pagenum];
- for (int kk = 0; kk < temp.Count; kk++)
- {
- var rect_item = temp[kk];
- double factor = scale_factor / temp[kk].Scale;
-
- temp[kk].Height = temp[kk].Height * factor;
- temp[kk].Width = temp[kk].Width * factor;
- temp[kk].X = temp[kk].X * factor;
- temp[kk].Y = temp[kk].Y * factor;
-
- temp[kk].Scale = scale_factor;
- }
- m_textptrs[pagenum] = temp;
- }
-
- private int GetVisibleRange()
- {
- /* Need to figure out what pages are going to be visible */
- double bottom = this.ActualHeight;
- bool done = false;
- int final_page = m_currpage;
- double count = 0;
-
- while (!done)
- {
- count = count + m_thumbnails[final_page].NativeHeight * m_doczoom;
- final_page = final_page + 1;
- if (final_page == m_num_pages || count > bottom)
- done = true;
- }
- return final_page;
- }
-
- /* Only visible pages */
- private void LinksOff()
- {
- int final_page = GetVisibleRange();
- for (int kk = m_currpage - 1; kk <= final_page + 1; kk++)
- {
- var temp = m_docPages[kk].LinkBox;
- if (temp != null)
- {
- m_docPages[kk].LinkBox = null;
- }
- }
- }
-
- /* Only visible pages */
- private void LinksOn()
- {
- int final_page = GetVisibleRange();
- for (int kk = m_currpage - 1; kk <= final_page + 1; kk++)
- {
- if (!(kk < 0 || kk > m_num_pages - 1))
- {
- var temp = m_docPages[kk].LinkBox;
- if (temp == null)
- {
- m_docPages[kk].LinkBox = m_page_link_list[kk];
- }
- }
- }
- }
-
- private void LinkClick(object sender, MouseButtonEventArgs e)
- {
- var item = (Rectangle)sender;
-
- if (item == null)
- return;
-
- String tag = (String)item.Tag;
- int page = 0;
- int index = 0;
-
- if (tag == null || tag.Length < 3 || !(tag.Contains('.')))
- return;
-
- String[] parts = tag.Split('.');
- try
- {
- page = System.Convert.ToInt32(parts[0]);
- index = System.Convert.ToInt32(parts[1]);
-
- }
- catch (FormatException e1)
- {
- Console.WriteLine("String is not a sequence of digits.");
- }
- catch (OverflowException e2)
- {
- Console.WriteLine("The number cannot fit in an Int32.");
- }
-
- if (index >= 0 && index < m_num_pages && page >= 0 && page < m_num_pages)
- {
- var link_list = m_page_link_list[page];
- var link = link_list[index];
-
- if (link.Type == Link_t.LINK_GOTO)
- {
- if (m_currpage != link.PageNum && link.PageNum >= 0 &&
- link.PageNum < m_num_pages)
- RenderRange(link.PageNum, true, zoom_t.NO_ZOOM, 0);
- }
- else if (link.Type == Link_t.LINK_URI)
- System.Diagnostics.Process.Start(link.Urilink.AbsoluteUri);
- }
- }
- #endregion Link
-
- #region TextSelection
-
- /* Change cursor if we are over text block */
- private void ExitTextBlock(object sender, System.Windows.Input.MouseEventArgs e)
- {
- this.Cursor = System.Windows.Input.Cursors.Arrow;
- }
-
- private void EnterTextBlock(object sender, System.Windows.Input.MouseEventArgs e)
- {
- this.Cursor = System.Windows.Input.Cursors.IBeam;
- }
-
- private void ClearSelections()
- {
- for (int kk = 0; kk < m_textSelect.Count; kk++)
- {
- m_lineptrs[m_textSelect[kk].pagenum].Clear();
- if (m_docPages[m_textSelect[kk].pagenum].SelectedLines != null)
- m_docPages[m_textSelect[kk].pagenum].SelectedLines.Clear();
- }
- m_textSelect.Clear();
- m_textselected = false;
- m_selectall = false;
- SetSelectAll(m_blockcolor);
- }
-
- private void InitTextSelection(DocPage page)
- {
- if (m_textSelect != null)
- ClearSelections();
- else
- m_textSelect = new List<textSelectInfo_t>();
-
- m_intxtselect = true;
-
- textSelectInfo_t selinfo = new textSelectInfo_t();
- selinfo.pagenum = page.PageNum;
- selinfo.first_line_full = false;
- selinfo.last_line_full = false;
- m_textSelect.Add(selinfo);
- }
-
- private void PageMouseDown(object sender, MouseButtonEventArgs e)
- {
- if (this.Cursor != System.Windows.Input.Cursors.IBeam)
- return;
-
- var page = ((FrameworkElement)e.Source).DataContext as DocPage;
- Canvas can = ((FrameworkElement)e.Source).Parent as Canvas;
- if (page == null || can == null)
- return;
-
- InitTextSelection(page);
- var posit = e.GetPosition(can);
-
- page.SelX = posit.X;
- page.SelY = posit.Y;
- page.SelAnchorX = posit.X;
- page.SelAnchorY = posit.Y;
- page.SelColor = m_regionselect;
-
- /* Create new holder for lines highlighted */
- m_lineptrs[page.PageNum] = new LinesText();
- }
-
- private void PageMouseMove(object sender, System.Windows.Input.MouseEventArgs e)
- {
- if (e.LeftButton == MouseButtonState.Released || m_intxtselect == false)
- return;
-
- var page = ((FrameworkElement)e.Source).DataContext as DocPage;
- Canvas can = ((FrameworkElement)e.Source).Parent as Canvas;
- if (page == null || can == null)
- return;
- if (page.PageNum < 0)
- return;
- /* Store the location of our most recent page in case we exit window */
- var pos = e.GetPosition(can);
- m_lastY = pos.Y;
- m_maxY = can.Height;
- /* Don't allow the listview to maintain control of the mouse, we need
- * to detect if we leave the window */
- /* Make sure page is rendered */
- if (page.Content != Page_Content_t.FULL_RESOLUTION ||
- page.Zoom != m_doczoom)
- {
- RenderRange(page.PageNum, false, zoom_t.NO_ZOOM, 0);
- }
-
- UpdateSelection(pos, page);
- }
-
- /* Resize selection rect */
- private void UpdateSelection(System.Windows.Point pos, DocPage page)
- {
- bool new_page = true;
- TextLine start_line, end_line;
- double x = 0, y, w = 0, h;
- bool found_first = false;
- bool above_anchor = true;
- bool first_line_full = false;
- bool last_line_full = false;
-
- for (int kk = 0; kk < m_textSelect.Count; kk++)
- if (m_textSelect[kk].pagenum == page.PageNum)
- new_page = false;
-
- /* See if we have gone back to a previous page */
- if (!new_page && page.PageNum != m_textSelect[m_textSelect.Count - 1].pagenum)
- {
- DocPage curr_page = m_docPages[m_textSelect[m_textSelect.Count - 1].pagenum];
- curr_page.SelHeight = 0;
- curr_page.SelWidth = 0;
- m_textSelect.RemoveAt(m_textSelect.Count - 1);
- m_lineptrs[curr_page.PageNum].Clear();
- curr_page.SelectedLines.Clear();
- }
- if (new_page)
- {
- /* New page */
- page.SelX = pos.X;
- page.SelY = pos.Y;
- page.SelAnchorX = m_docPages[m_textSelect[m_textSelect.Count - 1].pagenum].SelAnchorX;
- if (m_textSelect[m_textSelect.Count - 1].pagenum > page.PageNum)
- {
- page.SelAnchorY = page.Height;
- }
- else
- {
- page.SelAnchorY = 0;
- }
- page.SelColor = m_regionselect;
- textSelectInfo_t info = new textSelectInfo_t();
- info.pagenum = page.PageNum;
- info.first_line_full = false;
- info.last_line_full = false;
- m_textSelect.Add(info);
- /* Create new holder for lines highlighted */
- m_lineptrs[page.PageNum] = new LinesText();
- }
-
- if (page.TextBlocks == null || page.TextBlocks.Count == 0)
- return;
-
- /* Width changes translate across the pages */
- for (int jj = 0; jj < m_textSelect.Count; jj++)
- {
- DocPage curr_page = m_docPages[m_textSelect[jj].pagenum];
- x = Math.Min(pos.X, curr_page.SelAnchorX);
- w = Math.Max(pos.X, curr_page.SelAnchorX) - x;
- curr_page.SelX = x;
- curr_page.SelWidth = w;
- }
- /* Height is just the current page */
- y = Math.Min(pos.Y, page.SelAnchorY);
- h = Math.Max(pos.Y, page.SelAnchorY) - y;
-
- /* Determine if we are going up or down */
- if (pos.Y > page.SelAnchorY)
- above_anchor = false;
- page.SelY = y;
- page.SelHeight = h;
-
- /* Clear out what we currently have */
- m_lineptrs[page.PageNum].Clear();
-
- /* Stuff already selected above us */
- if (m_textSelect.Count > 1)
- found_first = true;
- /* Moving backwards through pages */
- if (m_textSelect.Count > 1 && m_textSelect[m_textSelect.Count - 2].pagenum > page.PageNum)
- found_first = false;
-
- for (int jj = 0; jj < page.TextBlocks.Count; jj++)
- {
- /* Text blocks are already scaled. Lines are not */
- var intersect_blk = page.TextBlocks[jj].CheckIntersection(x, y, w, h);
- var lines = page.TextBlocks[jj].TextLines;
-
- if (intersect_blk == Intersection_t.FULL)
- {
- /* Just add all the lines for this block */
- for (int kk = 0; kk < lines.Count; kk++)
- m_lineptrs[page.PageNum].Add(lines[kk]);
- if (jj == 0)
- {
- first_line_full = true;
- found_first = true;
- }
- if (jj == page.TextBlocks.Count - 1)
- last_line_full = true;
- }
- else if (intersect_blk != Intersection_t.NONE)
- {
- /* Now go through the lines */
- for (int kk = 0; kk < lines.Count; kk++)
- {
- double scale = m_doczoom / lines[kk].Scale;
- //var intersect_line = lines[kk].CheckIntersection(x * scale, y * scale, w * scale, h * scale);
- var intersect_line = lines[kk].CheckIntersection(x / scale , y / scale , w / scale , h / scale);
- if (intersect_line == Intersection_t.FULL)
- {
- m_lineptrs[page.PageNum].Add(lines[kk]);
- found_first = true;
- if (jj == 0 && kk == 0)
- first_line_full = true;
- if (jj == page.TextBlocks.Count - 1 &&
- kk == lines.Count - 1)
- last_line_full = true;
-
- }
- else if (intersect_line == Intersection_t.PARTIAL)
- {
- double val;
- var lett = lines[kk].TextCharacters;
-
- /* Now go through the width. */
- if (found_first)
- {
- if (above_anchor)
- val = page.SelAnchorX;
- else
- val = pos.X;
-
- /* our second partial line */
- if (val > lines[kk].X * scale + lines[kk].Width * scale)
- m_lineptrs[page.PageNum].Add(lines[kk]);
- else
- {
- /* Use either anchor point or mouse pos */
- end_line = new TextLine();
- end_line.TextCharacters = new List<TextCharacter>();
- end_line.Height = 0;
- end_line.Scale = m_doczoom;
- for (int mm = 0; mm < lett.Count; mm++)
- {
- double letscale = m_doczoom / lett[mm].Scale;
- if (lett[mm].X * letscale < val)
- {
- /* Can set to special color for debug */
- end_line.Color = m_textselectcolor;
- /* special color for debug */
- //end_line.Color = "#4000FF00";
- end_line.Height = lines[kk].Height * scale;
- end_line.Width = lett[mm].X * letscale + lett[mm].Width * letscale - lines[kk].X * scale;
- end_line.Y = lines[kk].Y * scale;
- end_line.X = lines[kk].X * scale;
- end_line.TextCharacters.Add(lett[mm]);
- }
- else
- break;
- }
- if (end_line.Height != 0)
- m_lineptrs[page.PageNum].Add(end_line);
- }
- }
- else
- {
- if (!above_anchor)
- val = page.SelAnchorX;
- else
- val = pos.X;
-
- /* our first partial line */
- found_first = true;
- if (val < lines[kk].X * scale)
- m_lineptrs[page.PageNum].Add(lines[kk]);
- else
- {
- start_line = new TextLine();
- start_line.TextCharacters = new List<TextCharacter>();
- start_line.Height = 0;
- start_line.Scale = m_doczoom;
- /* Use either anchor point or mouse pos */
- bool highlight_done = false;
- for (int mm = 0; mm < lett.Count; mm++)
- {
- double letscale = m_doczoom / lett[mm].Scale;
- if (lett[mm].X * letscale + lett[mm].Width * letscale >= val)
- {
- /* In this case, we are done with the
- * highlight section as it only
- * depends upon the first character
- * we encounter and the line end.
- * But we must continue to add in
- * the selected characters */
- if (!highlight_done)
- {
- start_line.Color = m_textselectcolor;
- /* special color for debug */
- /* start_line.Color = "#40FF0000"; */
- start_line.Height = lines[kk].Height * scale;
- start_line.Width = lines[kk].X * scale + lines[kk].Width * scale - lett[mm].X * letscale;
- start_line.X = lett[mm].X * letscale;
- start_line.Y = lines[kk].Y * scale;
- highlight_done = true;
- }
- start_line.TextCharacters.Add(lett[mm]);
- }
- }
- if (start_line.Height > 0)
- m_lineptrs[page.PageNum].Add(start_line);
- }
- }
- }
- }
- }
- }
- var txtsel = m_textSelect[m_textSelect.Count - 1];
- txtsel.first_line_full = first_line_full;
- txtsel.last_line_full = last_line_full;
- m_textSelect[m_textSelect.Count - 1] = txtsel;
-
- /* Adjust for scale before assigning */
- var temp = m_lineptrs[page.PageNum];
- for (int kk = 0; kk < temp.Count; kk++)
- {
- var rect_item = temp[kk];
- double factor = m_doczoom / rect_item.Scale;
-
- temp[kk].Height = temp[kk].Height * factor;
- temp[kk].Width = temp[kk].Width * factor;
- temp[kk].X = temp[kk].X * factor;
- temp[kk].Y = temp[kk].Y * factor;
-
- temp[kk].Scale = m_doczoom;
- }
- page.SelectedLines = m_lineptrs[page.PageNum];
- }
-
- /* A fix for handling column cases TODO FIXME */
- private void UpdateSelectionCol(System.Windows.Point pos, DocPage page)
- {
- bool new_page = true;
- TextLine start_line, end_line;
- double x = 0, y, w = 0, h;
- bool found_first = false;
- bool above_anchor = true;
- bool first_line_full = false;
- bool last_line_full = false;
-
- for (int kk = 0; kk < m_textSelect.Count; kk++)
- if (m_textSelect[kk].pagenum == page.PageNum)
- new_page = false;
-
- /* See if we have gone back to a previous page */
- if (!new_page && page.PageNum != m_textSelect[m_textSelect.Count - 1].pagenum)
- {
- DocPage curr_page = m_docPages[m_textSelect[m_textSelect.Count - 1].pagenum];
- curr_page.SelHeight = 0;
- curr_page.SelWidth = 0;
- m_textSelect.RemoveAt(m_textSelect.Count - 1);
- m_lineptrs[curr_page.PageNum].Clear();
- curr_page.SelectedLines.Clear();
- }
- if (new_page)
- {
- /* New page */
- page.SelX = pos.X;
- page.SelY = pos.Y;
- page.SelAnchorX = m_docPages[m_textSelect[m_textSelect.Count - 1].pagenum].SelAnchorX;
- if (m_textSelect[m_textSelect.Count - 1].pagenum > page.PageNum)
- {
- page.SelAnchorY = page.Height;
- }
- else
- {
- page.SelAnchorY = 0;
- }
- page.SelColor = m_regionselect;
- textSelectInfo_t info = new textSelectInfo_t();
- info.pagenum = page.PageNum;
- info.first_line_full = false;
- info.last_line_full = false;
- m_textSelect.Add(info);
- /* Create new holder for lines highlighted */
- m_lineptrs[page.PageNum] = new LinesText();
- }
-
- if (page.TextBlocks == null || page.TextBlocks.Count == 0)
- return;
-
- /* Width changes translate across the pages */
- for (int jj = 0; jj < m_textSelect.Count; jj++)
- {
- DocPage curr_page = m_docPages[m_textSelect[jj].pagenum];
- x = Math.Min(pos.X, curr_page.SelAnchorX);
- w = Math.Max(pos.X, curr_page.SelAnchorX) - x;
- curr_page.SelX = x;
- curr_page.SelWidth = w;
- }
- /* Height is just the current page */
- y = Math.Min(pos.Y, page.SelAnchorY);
- h = Math.Max(pos.Y, page.SelAnchorY) - y;
-
- /* Determine if we are going up or down */
- if (pos.Y > page.SelAnchorY)
- above_anchor = false;
- page.SelY = y;
- page.SelHeight = h;
-
- /* Clear out what we currently have */
- m_lineptrs[page.PageNum].Clear();
-
- /* Stuff already selected above us */
- if (m_textSelect.Count > 1)
- found_first = true;
- /* Moving backwards through pages */
- if (m_textSelect.Count > 1 && m_textSelect[m_textSelect.Count - 2].pagenum > page.PageNum)
- found_first = false;
-
- /* To properly handle the multiple columns we have to find the last
- * line and make sure that all blocks between our first and last
- * line are included. To do this we do an initial step through the
- * blocks looking at our intersections */
- int first_block = -1;
- int last_block = -1;
- for (int jj = 0; jj < page.TextBlocks.Count; jj++ )
- {
- var intersect_blk = page.TextBlocks[jj].CheckIntersection(x, y, w, h);
- if (intersect_blk == Intersection_t.NONE && first_block != -1)
- {
- last_block = jj; /* NB: this is just past last block */
- break;
- }
- else if (intersect_blk != Intersection_t.NONE && first_block == -1)
- first_block = jj; /* NB: this is the first block */
- }
- if (first_block == -1)
- return;
- if (last_block == -1)
- {
- /* Only 1 block */
- last_block = first_block + 1;
- }
-
- for (int jj = first_block; jj < last_block; jj++)
- {
- /* Text blocks are already scaled. Lines are not */
- var intersect_blk = page.TextBlocks[jj].CheckIntersection(x, y, w, h);
- var lines = page.TextBlocks[jj].TextLines;
-
- if (jj == first_block || jj == last_block - 1)
- {
- /* Partial cases */
- if (intersect_blk == Intersection_t.FULL)
- {
- for (int kk = 0; kk < lines.Count; kk++)
- m_lineptrs[page.PageNum].Add(lines[kk]);
- if (jj == first_block)
- {
- first_line_full = true;
- found_first = true;
- }
- if (jj == last_block - 1)
- {
- last_line_full = true;
- }
- }
- else if (intersect_blk == Intersection_t.PARTIAL)
- {
- for (int kk = 0; kk < lines.Count; kk++)
- {
- double scale = m_doczoom / lines[kk].Scale;
- var intersect_line = lines[kk].CheckIntersection(x * scale, y * scale, w * scale, h * scale);
- if (intersect_line == Intersection_t.FULL)
- {
- m_lineptrs[page.PageNum].Add(lines[kk]);
- found_first = true;
- if (jj == 0 && kk == 0)
- first_line_full = true;
- if (jj == page.TextBlocks.Count - 1 &&
- kk == lines.Count - 1)
- last_line_full = true;
-
- }
- else if (intersect_line == Intersection_t.PARTIAL)
- {
- double val;
- var lett = lines[kk].TextCharacters;
-
- /* Now go through the width. */
- if (found_first)
- {
- if (above_anchor)
- val = page.SelAnchorX;
- else
- val = pos.X;
-
- /* our second partial line */
- if (val > lines[kk].X * scale + lines[kk].Width * scale)
- m_lineptrs[page.PageNum].Add(lines[kk]);
- else
- {
- /* Use either anchor point or mouse pos */
- end_line = new TextLine();
- end_line.TextCharacters = new List<TextCharacter>();
- end_line.Height = 0;
- end_line.Scale = m_doczoom;
- for (int mm = 0; mm < lett.Count; mm++)
- {
- double letscale = m_doczoom / lett[mm].Scale;
- if (lett[mm].X * letscale < val)
- {
- /* Can set to special color for debug */
- end_line.Color = m_textselectcolor;
- /* special color for debug */
- //end_line.Color = "#4000FF00";
- end_line.Height = lines[kk].Height * scale;
- end_line.Width = lett[mm].X * letscale + lett[mm].Width * letscale - lines[kk].X * scale;
- end_line.Y = lines[kk].Y * scale;
- end_line.X = lines[kk].X * scale;
- end_line.TextCharacters.Add(lett[mm]);
- }
- else
- break;
- }
- if (end_line.Height != 0)
- m_lineptrs[page.PageNum].Add(end_line);
- }
- }
- else
- {
- if (!above_anchor)
- val = page.SelAnchorX;
- else
- val = pos.X;
-
- /* our first partial line */
- found_first = true;
- if (val < lines[kk].X * scale)
- m_lineptrs[page.PageNum].Add(lines[kk]);
- else
- {
- start_line = new TextLine();
- start_line.TextCharacters = new List<TextCharacter>();
- start_line.Height = 0;
- start_line.Scale = m_doczoom;
- /* Use either anchor point or mouse pos */
- for (int mm = 0; mm < lett.Count; mm++)
- {
- double letscale = m_doczoom / lett[mm].Scale;
- if (lett[mm].X * letscale + lett[mm].Width * letscale >= val)
- {
- start_line.Color = m_textselectcolor;
- /* special color for debug */
- //start_line.Color = "#40FF0000";
- start_line.Height = lines[kk].Height * scale;
- start_line.Width = lines[kk].X * scale + lines[kk].Width * scale - lett[mm].X * letscale;
- start_line.X = lett[mm].X * letscale;
- start_line.Y = lines[kk].Y * scale;
- start_line.TextCharacters.Add(lett[mm]);
- break;
- }
- }
- if (start_line.Height > 0)
- m_lineptrs[page.PageNum].Add(start_line);
- }
- }
- }
- }
- }
- }
- else
- {
- /* Add all the lines for the blocks between the first and last */
- for (int kk = 0; kk < lines.Count; kk++)
- m_lineptrs[page.PageNum].Add(lines[kk]);
- }
- }
-
- var txtsel = m_textSelect[m_textSelect.Count - 1];
- txtsel.first_line_full = first_line_full;
- txtsel.last_line_full = last_line_full;
- m_textSelect[m_textSelect.Count - 1] = txtsel;
-
- /* Adjust for scale before assigning */
- var temp = m_lineptrs[page.PageNum];
- for (int kk = 0; kk < temp.Count; kk++)
- {
- var rect_item = temp[kk];
- double factor = m_doczoom / rect_item.Scale;
-
- temp[kk].Height = temp[kk].Height * factor;
- temp[kk].Width = temp[kk].Width * factor;
- temp[kk].X = temp[kk].X * factor;
- temp[kk].Y = temp[kk].Y * factor;
-
- temp[kk].Scale = m_doczoom;
- }
- page.SelectedLines = m_lineptrs[page.PageNum];
- }
-
- private void CheckIfSelected()
- {
- m_textselected = false;
-
- if (m_selectall)
- {
- SetSelectAll(m_blockcolor);
- m_selectall = false;
- }
- /* Check if anything was selected */
- for (int kk = 0; kk < m_lineptrs.Count; kk++)
- {
- if (m_lineptrs[kk].Count > 0)
- {
- m_textselected = true;
- break;
- }
- }
- }
-
- /* Rect should be removed */
- private void PageLeftClickUp(object sender, MouseButtonEventArgs e)
- {
- m_intxtselect = false;
- CheckIfSelected();
- }
-
- private void StepScroll(int stepsize)
- {
- ScrollViewer viewer = FindScrollViewer(xaml_PageList);
- if (viewer != null)
- {
- var scrollpos = viewer.VerticalOffset;
- viewer.ScrollToVerticalOffset(scrollpos + stepsize);
- }
- }
-
- private void ResetScroll()
- {
- ScrollViewer viewer = FindScrollViewer(xaml_PageList);
- if (viewer != null)
- viewer.ScrollToVerticalOffset(0);
- }
-
- /* Recursive call to find the scroll viewer */
- private ScrollViewer FindScrollViewer(DependencyObject d)
- {
- if (d is ScrollViewer)
- return d as ScrollViewer;
-
- for (int i = 0; i < VisualTreeHelper.GetChildrenCount(d); i++)
- {
- var sw = FindScrollViewer(VisualTreeHelper.GetChild(d, i));
- if (sw != null) return sw;
- }
- return null;
- }
-
- /* Only worry about cases where we are moving and left button is down */
- private void ListPreviewMouseMove(object sender, System.Windows.Input.MouseEventArgs e)
- {
- var relPoint = e.GetPosition(xaml_PageList);
- var absPoint = this.PointToScreen(relPoint);
- /* Console.Write("abs Y position = " + absPoint.Y + "\n");
- Console.Write("rel Y position = " + relPoint.Y + "\n");
- Console.Write("Height is = " + (this.Top + this.Height) + "\n"); */
-
- if (xaml_PageList.IsMouseCaptured == true)
- {
- if (!m_intxtselect)
- {
- xaml_PageList.ReleaseMouseCapture();
- e.Handled = true;
- return;
- }
-
- if (relPoint.Y < Constants.SCROLL_EDGE_BUFFER ||
- absPoint.Y > (this.Top + this.Height - Constants.SCROLL_EDGE_BUFFER))
- {
- if (m_dispatcherTimer == null)
- {
- m_dispatcherTimer = new System.Windows.Threading.DispatcherTimer();
- m_dispatcherTimer.Tick += new EventHandler(dispatcherTimerTick);
- m_dispatcherTimer.Interval = new TimeSpan(0, 0, 0, 0, Constants.DISPATCH_TIME);
- }
- if (m_dispatcherTimer.IsEnabled == false)
- m_dispatcherTimer.Start();
- e.Handled = true;
- }
-
- /* This is not desirable, but the scrollviewer behaves badly
- * when it has captured the mouse and we move beyond the
- * range. So we wont allow it */
- if (relPoint.Y < 0 ||
- absPoint.Y > (this.Top + this.Height) - Constants.SCROLL_EDGE_BUFFER / 2.0)
- {
- xaml_PageList.ReleaseMouseCapture();
- e.Handled = true;
- if (m_dispatcherTimer != null && m_dispatcherTimer.IsEnabled == true)
- m_dispatcherTimer.Stop();
- return;
- }
- }
- }
-
- private void ListPreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
- {
- if (m_dispatcherTimer != null && m_dispatcherTimer.IsEnabled)
- {
- m_dispatcherTimer.Stop();
- }
- }
-
- private void ListMouseLeave(object sender, System.Windows.Input.MouseEventArgs e)
- {
- if (m_dispatcherTimer != null && m_dispatcherTimer.IsEnabled)
- {
- m_dispatcherTimer.Stop();
- }
- if (xaml_PageList.IsMouseCaptured == true)
- xaml_PageList.ReleaseMouseCapture();
- }
-
- /* Get mouse position, update selection accordingly */
- private void dispatcherTimerTick(object sender, EventArgs e)
- {
- var position = this.PointToScreen(Mouse.GetPosition(xaml_PageList));
- /* Console.Write("Y position = " + position.Y + "\n");
- Console.Write("Top position = " + this.Top + "\n");
- Console.Write("Bottom position = " + (this.Top + this.Height) + "\n"); */
- DocPage page;
- int page_num;
-
- if (!xaml_PageList.IsMouseCaptured)
- {
- //Console.Write("Lost capture\n");
- return;
- }
- /*else
- {
- Console.Write("Have capture\n");
- } */
- /* Get our most recent page */
- var pageinfo = m_textSelect[m_textSelect.Count - 1];
- page_num = pageinfo.pagenum;
-
- /* Scrolling up */
- if (position.Y > this.Top + this.Height - Constants.SCROLL_EDGE_BUFFER)
- {
- /* See if we have the last line for this page */
- if (pageinfo.last_line_full)
- {
- page_num = page_num + 1;
- m_lastY = 0;
- if (page_num >= m_num_pages)
- return;
- }
- page = m_docPages[page_num];
- StepScroll(Constants.SCROLL_STEP);
- /* Set position for proper selection update */
- m_lastY = m_lastY + Constants.SCROLL_STEP;
- if (m_lastY > m_maxY)
- m_lastY = m_maxY;
- position.Y = m_lastY;
- UpdateSelection(position, page);
- }
- else if (position.Y < this.Top + Constants.SCROLL_EDGE_BUFFER)
- {
- /* See if we have the first line for this page */
- if (pageinfo.first_line_full)
- {
- if (page_num <= 0)
- return;
- page_num = page_num - 1;
- m_lastY = m_docPages[page_num].Height;
- }
- page = m_docPages[page_num];
- StepScroll(-Constants.SCROLL_STEP);
- /* Set position for proper selection update */
- m_lastY = m_lastY - Constants.SCROLL_STEP;
- if (m_lastY < 0)
- m_lastY = 0;
- position.Y = m_lastY;
- UpdateSelection(position, page);
- }
- }
-
- private void ListPreviewLeftButtonUp(object sender, MouseButtonEventArgs e)
- {
- if (m_dispatcherTimer != null && m_dispatcherTimer.IsEnabled)
- {
- m_dispatcherTimer.Stop();
- }
- }
-
- private void ShowContextMenu(object sender, MouseButtonEventArgs e)
- {
- if (this.Cursor != System.Windows.Input.Cursors.IBeam)
- return;
-
- var contextmenu = new System.Windows.Controls.ContextMenu();
- Canvas can = ((FrameworkElement)e.Source).Parent as Canvas;
- var page = ((FrameworkElement)e.Source).DataContext as DocPage;
- if (can == null || page == null)
- return;
-
- var posit = e.GetPosition(can);
- ContextMenu_t info = new ContextMenu_t();
- info.mouse_position = posit;
- info.page_num = page.PageNum;
- can.ContextMenu = contextmenu;
-
- if (m_textselected || m_selectall)
- {
- var m1 = new System.Windows.Controls.MenuItem();
- m1.Header = "Copy";
-
- /* amazing what I have to do here to get the icon out of the
- * resources into something that wpf can use */
- var iconres = Properties.Resources.copy;
- var bitmap = iconres.ToBitmap();
- using (MemoryStream memory = new MemoryStream())
- {
- bitmap.Save(memory, System.Drawing.Imaging.ImageFormat.Png);
- memory.Position = 0;
- BitmapImage bitmapImage = new BitmapImage();
- bitmapImage.BeginInit();
- bitmapImage.StreamSource = memory;
- bitmapImage.CacheOption = BitmapCacheOption.OnLoad;
- bitmapImage.EndInit();
- Image iconImage = new Image();
- iconImage.Source = bitmapImage;
- m1.Icon = iconImage;
- m1.Click += cntxMenuCopy;
- contextmenu.Items.Add(m1);
- }
-
- var m6 = new System.Windows.Controls.MenuItem();
- m6.Header = "Deselect All";
- m6.Click += cntxMenuDeselectAll;
- contextmenu.Items.Add(m6);
-
- /* Below to be enabled when we add annotations */
- /*
- var ma1 = new System.Windows.Controls.MenuItem();
- ma1.Header = "Highlight";
- ma1.Click += cntxMenuHighlight;
- contextmenu.Items.Add(ma1);
-
- var ma2 = new System.Windows.Controls.MenuItem();
- ma2.Header = "Underline";
- ma2.Click += cntxMenuUnderline;
- contextmenu.Items.Add(ma2);
-
- var ma3 = new System.Windows.Controls.MenuItem();
- ma3.Header = "Strikeout";
- ma3.Click += cntxMenuStrike;
- contextmenu.Items.Add(ma3);*/
-
- }
- var m2 = new System.Windows.Controls.MenuItem();
- m2.Header = "Select Line";
- m2.Click += cntxMenuSelectLine;
- m2.Tag = info;
- contextmenu.Items.Add(m2);
-
- var m3 = new System.Windows.Controls.MenuItem();
- m3.Header = "Select Block";
- m3.Click += cntxMenuSelectBlock;
- m3.Tag = info;
- contextmenu.Items.Add(m3);
-
- var m4 = new System.Windows.Controls.MenuItem();
- m4.Header = "Select Page";
- m4.Click += cntxMenuSelectPage;
- m4.Tag = info;
- contextmenu.Items.Add(m4);
-
- var m5 = new System.Windows.Controls.MenuItem();
- m5.Header = "Select All";
- m5.Click += cntxMenuSelectAll;
- contextmenu.Items.Add(m5);
- }
-
- private void CopyTextDone(object sender, RunWorkerCompletedEventArgs e)
- {
- String result = (String) e.Result;
- xaml_CopyTextProgress.Visibility = System.Windows.Visibility.Collapsed;
- xaml_CopyTextProgress.Value = 0;
-
- try
- {
- System.Windows.Clipboard.SetText(result);
- }
- catch
- {
- return;
- }
- }
-
- private void CopyTextWork(object sender, DoWorkEventArgs e)
- {
- String output = null;
- String fullstring = null;
- BackgroundWorker worker = sender as BackgroundWorker;
-
- for (int k = 0; k < m_num_pages; k++)
- {
- output = mu_doc.GetText(k, textout_t.TEXT);
- if (output != null)
- fullstring = fullstring + output;
-
- double percent = 100 * (double)(k + 1) / (double)m_num_pages;
- worker.ReportProgress((int)percent, output);
-
- if (worker.CancellationPending == true)
- {
- e.Cancel = true;
- break;
- }
- }
- e.Result = fullstring;
- }
-
- private void CopyTextProgress(object sender, ProgressChangedEventArgs e)
- {
- String output = (String)(e.UserState);
- xaml_CopyTextProgress.Value = e.ProgressPercentage;
- }
-
- private void cntxMenuCopy(object sender, RoutedEventArgs e)
- {
- if (m_selectall)
- {
- /* Start a thread to go through and copy the pages to the
- * clipboard */
- m_copytext = new BackgroundWorker();
- m_copytext.WorkerReportsProgress = true;
- m_copytext.WorkerSupportsCancellation = true;
- m_copytext.DoWork += new DoWorkEventHandler(CopyTextWork);
- m_copytext.RunWorkerCompleted += new RunWorkerCompletedEventHandler(CopyTextDone);
- m_copytext.ProgressChanged += new ProgressChangedEventHandler(CopyTextProgress);
- xaml_CopyTextProgress.Visibility = System.Windows.Visibility.Visible;
- m_copytext.RunWorkerAsync();
- return;
- }
-
- /* Go through and get each line of text */
- String result = null;
-
- for (int kk = 0; kk < m_textSelect.Count; kk++)
- {
- var lines = m_lineptrs[m_textSelect[kk].pagenum];
- for (int jj = 0; jj < lines.Count; jj++)
- {
- var text = lines[jj].TextCharacters;
- for (int mm = 0; mm < text.Count; mm++)
- {
- result += text[mm].character;
- }
- result += "\r\n";
- }
- }
- System.Windows.Clipboard.SetText(result);
- }
-
- private void cntxMenuSelectLine(object sender, RoutedEventArgs e)
- {
- var mi = sender as System.Windows.Controls.MenuItem;
- ContextMenu_t info = (ContextMenu_t)mi.Tag;
- var page = m_docPages[info.page_num];
-
- InitTextSelection(page);
-
- page.SelX = 0;
- page.SelY = info.mouse_position.Y - 1;
- page.SelAnchorX = 0;
- page.SelAnchorY = info.mouse_position.Y - 1;
- page.SelColor = m_regionselect;
-
- /* Create new holder for lines highlighted */
- m_lineptrs[page.PageNum] = new LinesText();
-
- Point pos = new Point();
- pos.X = page.Width;
- pos.Y += info.mouse_position.Y + 1;
-
- UpdateSelection(pos, page);
- CheckIfSelected();
- }
-
- /* This one requires its own special handling TODO FIXME */
- private void cntxMenuSelectBlock(object sender, RoutedEventArgs e)
- {
- var mi = sender as System.Windows.Controls.MenuItem;
- ContextMenu_t info = (ContextMenu_t)mi.Tag;
- var page = m_docPages[info.page_num];
- bool found = false;
- int jj;
-
- InitTextSelection(page);
-
- /* Find the block that we are in */
- for (jj = 0; jj < page.TextBlocks.Count; jj++)
- {
- var intersect_blk = page.TextBlocks[jj].CheckIntersection(info.mouse_position.X, info.mouse_position.Y, 1, 1);
- if (intersect_blk != Intersection_t.NONE)
- {
- found = true;
- break;
- }
- }
- if (found)
- {
- page.SelX = page.TextBlocks[jj].X;
- page.SelY = page.TextBlocks[jj].Y;
- page.SelAnchorX = page.TextBlocks[jj].X;
- page.SelAnchorY = page.TextBlocks[jj].Y;
- page.SelColor = m_regionselect;
-
- /* Create new holder for lines highlighted */
- m_lineptrs[page.PageNum] = new LinesText();
-
- Point pos = new Point();
- pos.X = page.TextBlocks[jj].X + page.TextBlocks[jj].Width;
- pos.Y = page.TextBlocks[jj].Y + page.TextBlocks[jj].Height;
-
- UpdateSelection(pos, page);
- CheckIfSelected();
- }
- else
- m_textselected = false;
- }
-
- private void SelectFullPage(int page_num)
- {
- var page = m_docPages[page_num];
-
- InitTextSelection(page);
-
- page.SelX = 0;
- page.SelY = 0;
- page.SelAnchorX = 0;
- page.SelAnchorY = 0;
- page.SelColor = m_regionselect;
-
- /* Create new holder for lines highlighted */
- m_lineptrs[page.PageNum] = new LinesText();
-
- Point pos = new Point();
- pos.X = page.Width;
- pos.Y = page.Height;
-
- UpdateSelection(pos, page);
- }
-
- private void cntxMenuSelectPage(object sender, RoutedEventArgs e)
- {
- var mi = sender as System.Windows.Controls.MenuItem;
- ContextMenu_t info = (ContextMenu_t)mi.Tag;
-
- SelectFullPage(info.page_num);
- CheckIfSelected();
- }
-
- private void cntxMenuSelectAll(object sender, RoutedEventArgs e)
- {
- var mi = sender as System.Windows.Controls.MenuItem;
- if (m_textSelect != null)
- ClearSelections();
- else
- m_textSelect = new List<textSelectInfo_t>();
-
- m_selectall = true;
- SetSelectAll(m_textselectcolor);
- }
-
- private void SetSelectAll(String color)
- {
- if (!m_init_done)
- return;
-
- for (int kk = 0; kk < m_num_pages; kk++)
- {
- if (m_docPages[kk] != null && m_docPages[kk].TextBlocks != null)
- {
- int num_blocks = m_docPages[kk].TextBlocks.Count;
- for (int jj = 0; jj < num_blocks; jj++)
- m_docPages[kk].TextBlocks[jj].Color = color;
- }
- }
- }
-
- private void cntxMenuDeselectAll(object sender, RoutedEventArgs e)
- {
- ClearSelections();
- }
-
- private void SelectAllCommand(object sender, ExecutedRoutedEventArgs e)
- {
- if (m_init_done)
- cntxMenuSelectAll(sender, e);
- }
-
- private void CopyCommand(object sender, ExecutedRoutedEventArgs e)
- {
- if (m_init_done)
- cntxMenuCopy(sender, e);
- }
-
- private void CancelCopyText(object sender, RoutedEventArgs e)
- {
- if (m_copytext != null && m_copytext.IsBusy)
- m_copytext.CancelAsync();
- }
-
- /* To add with annotation support */
- /*
- private void cntxMenuHighlight(object sender, RoutedEventArgs e)
- {
-
- }
-
- private void cntxMenuUnderline(object sender, RoutedEventArgs e)
- {
-
- }
-
- private void cntxMenuStrike(object sender, RoutedEventArgs e)
- {
-
- }
- */
- #endregion TextSelection
-
- private void OnAboutClick(object sender, RoutedEventArgs e)
- {
- String muversion;
- About about = new About(this);
- var desc_static = about.Description;
- String desc;
-
- /* Get our gs and mupdf version numbers to add to the description */
- mu_doc.GetVersion(out muversion);
- if (muversion == null)
- desc = desc_static + "\nMuPDF DLL: Not Found";
- else
- {
- if (mu_doc.is64bit)
- {
- desc = desc_static + "\nUsing MuPDF Version " + muversion + " 64 bit\n";
- }
- else
- {
- desc = desc_static + "\nUsing MuPDF Version " + muversion + " 32 bit\n";
- }
- }
- String gs_vers = m_ghostscript.GetVersion();
- if (gs_vers == null)
- desc = desc + "\nGhostscript DLL: Not Found";
- else
- if (mu_doc.is64bit)
- {
- desc = desc + "\nGhostscript DLL: " + gs_vers + " 64 bit\n";
- }
- else
- {
- desc = desc + "\nGhostscript DLL: " + gs_vers + " 64 bit\n";
- }
- about.description.Text = desc;
- about.ShowDialog();
- }
-
- private void HelpCommand(object sender, ExecutedRoutedEventArgs e)
- {
- OnHelpClick(sender, e);
- }
-
- private void OnHelpClick(object sender, RoutedEventArgs e)
- {
-
- }
-
- private void CloseFile(object sender, RoutedEventArgs e)
- {
- CleanUp();
- DimSelections();
- }
-
- private double GetTotalHeightZoom()
- {
- return m_totalpageheight * m_doczoom + (m_num_pages - 1) * Constants.PAGE_MARGIN;
- }
-
- private double GetTotalHeightNoZoom()
- {
- return m_totalpageheight + (m_num_pages - 1) * Constants.PAGE_MARGIN;
- }
-
- private double GetViewPortSize()
- {
- ScrollViewer viewer = FindScrollViewer(xaml_PageList);
- return viewer.ViewportHeight;
- }
-
- private void SetThumbwidth()
- {
- double percent = GetViewPortSize() / GetTotalHeightZoom();
- double range = xaml_VerticalScroll.Maximum - xaml_VerticalScroll.Minimum;
- xaml_VerticalScroll.SetThumbLength(percent * range);
- }
-
- private void AdjustScrollPercent(double percent)
- {
- double curr_value = xaml_VerticalScroll.Value;
- double range = xaml_VerticalScroll.Maximum;
- double step = range * percent;
-
- xaml_VerticalScroll.Value = curr_value + step;
- }
-
- /* Due to the scroll bar on the scroll viewer being wonky on its updating during zooming
- * we have to do this ourselves */
- private void VerticalScroll(object sender, System.Windows.Controls.Primitives.ScrollEventArgs e)
- {
- var mi = sender as System.Windows.Controls.Primitives.ScrollBar;
- ScrollViewer viewer = FindScrollViewer(xaml_PageList);
- if (viewer == null || mi == null)
- return;
-
- m_ScrolledChanged = true;
-
- if (e.ScrollEventType == System.Windows.Controls.Primitives.ScrollEventType.ThumbTrack)
- {
- OffsetScrollPercent(mi.Value / mi.Maximum);
- e.Handled = true;
- }
- else if (e.ScrollEventType == System.Windows.Controls.Primitives.ScrollEventType.First)
- {
- mi.Value = 0;
- viewer.ScrollToTop();
- }
- else if (e.ScrollEventType == System.Windows.Controls.Primitives.ScrollEventType.Last)
- {
- mi.Value = mi.Maximum;
- viewer.ScrollToBottom();
- }
- else if (e.ScrollEventType == System.Windows.Controls.Primitives.ScrollEventType.SmallDecrement)
- {
- OffsetScroll(-Constants.VERT_SCROLL_STEP * m_doczoom);
- }
- else if (e.ScrollEventType == System.Windows.Controls.Primitives.ScrollEventType.SmallIncrement)
- {
- OffsetScroll(Constants.VERT_SCROLL_STEP * m_doczoom);
- }
- else if (e.ScrollEventType == System.Windows.Controls.Primitives.ScrollEventType.LargeDecrement)
- {
- if (m_currpage == 0)
- {
- mi.Value = 0;
- viewer.ScrollToTop();
- }
- else
- OnBackPageClick(null, null);
- }
- else if (e.ScrollEventType == System.Windows.Controls.Primitives.ScrollEventType.LargeIncrement)
- {
- if (m_currpage == m_num_pages - 1)
- {
- mi.Value = mi.Maximum;
- viewer.ScrollToBottom();
- }
- else
- OnForwardPageClick(null, null);
- }
- else if (e.ScrollEventType == System.Windows.Controls.Primitives.ScrollEventType.ThumbPosition)
- {
- OffsetScrollPercent(e.NewValue / mi.Maximum);
- }
- }
-
- private void OnAAChecked(object sender, RoutedEventArgs e)
- {
- var control = sender as System.Windows.Controls.Control;
- string Name = control.Name;
-
- /* It would be nice to uncheck all and then recheck the one
- * that we want to avoid the repeated code below, but that puts
- * us in a infinite recursion with the call from the xaml Checked
- * call */
-
- switch (Name)
- {
- case "xaml_AA_High":
- m_AA = AA_t.HIGH;
- if (xaml_AA_MedHigh != null)
- xaml_AA_MedHigh.IsChecked = false;
- if (xaml_AA_Med != null)
- xaml_AA_Med.IsChecked = false;
- if (xaml_AA_Low != null)
- xaml_AA_Low.IsChecked = false;
- if (xaml_AA_None != null)
- xaml_AA_None.IsChecked = false;
- break;
- case "xaml_AA_MedHigh":
- m_AA = AA_t.MEDHIGH;
- if (xaml_AA_High != null)
- xaml_AA_High.IsChecked = false;
- if (xaml_AA_Med != null)
- xaml_AA_Med.IsChecked = false;
- if (xaml_AA_Low != null)
- xaml_AA_Low.IsChecked = false;
- if (xaml_AA_None != null)
- xaml_AA_None.IsChecked = false;
- break;
- case "xaml_AA_Med":
- m_AA = AA_t.MED;
- if (xaml_AA_High != null)
- xaml_AA_High.IsChecked = false;
- if (xaml_AA_MedHigh != null)
- xaml_AA_MedHigh.IsChecked = false;
- if (xaml_AA_Low != null)
- xaml_AA_Low.IsChecked = false;
- if (xaml_AA_None != null)
- xaml_AA_None.IsChecked = false;
- break;
- case "xaml_AA_Low":
- m_AA = AA_t.LOW;
- if (xaml_AA_High != null)
- xaml_AA_High.IsChecked = false;
- if (xaml_AA_MedHigh != null)
- xaml_AA_MedHigh.IsChecked = false;
- if (xaml_AA_Med != null)
- xaml_AA_Med.IsChecked = false;
- if (xaml_AA_None != null)
- xaml_AA_None.IsChecked = false;
- break;
- case "xaml_AA_None":
- m_AA = AA_t.NONE;
- if (xaml_AA_High != null)
- xaml_AA_High.IsChecked = false;
- if (xaml_AA_MedHigh != null)
- xaml_AA_MedHigh.IsChecked = false;
- if (xaml_AA_Med != null)
- xaml_AA_Med.IsChecked = false;
- if (xaml_AA_Low != null)
- xaml_AA_Low.IsChecked = false;
- break;
- }
- if (mu_doc != null)
- mu_doc.SetAA(m_AA);
- if (m_init_done)
- RenderRange(m_currpage, false, zoom_t.NO_ZOOM, 0);
- }
-
- private AA_t GetAA()
- {
- if (xaml_AA_High.IsChecked)
- return AA_t.HIGH;
- else if (xaml_AA_MedHigh.IsChecked)
- return AA_t.MEDHIGH;
- else if (xaml_AA_Med.IsChecked)
- return AA_t.MED;
- else if (xaml_AA_Low.IsChecked)
- return AA_t.LOW;
- else
- return AA_t.NONE;
- }
-
- private void SetAA(AA_t aa)
- {
- xaml_AA_High.IsChecked = false;
- xaml_AA_MedHigh.IsChecked = false;
- xaml_AA_Med.IsChecked = false;
- xaml_AA_Low.IsChecked = false;
- xaml_AA_None.IsChecked = false;
-
- switch (aa)
- {
- case AA_t.HIGH:
- xaml_AA_High.IsChecked = true;
- break;
- case AA_t.MEDHIGH:
- xaml_AA_MedHigh.IsChecked = true;
- break;
- case AA_t.MED:
- xaml_AA_High.IsChecked = true;
- break;
- case AA_t.LOW:
- xaml_AA_High.IsChecked = true;
- break;
- case AA_t.NONE:
- xaml_AA_High.IsChecked = true;
- break;
- }
- }
-
- private void AnnotationOn(object sender, RoutedEventArgs e)
- {
- if (!m_init_done)
- return;
- m_showannot = true;
- RenderRange(m_currpage, false, zoom_t.NO_ZOOM, 0);
- }
-
- private void AnnotationOff(object sender, RoutedEventArgs e)
- {
- if (!m_init_done)
- return;
- m_showannot = false;
- RenderRange(m_currpage, false, zoom_t.NO_ZOOM, 0);
- }
-
- /* Print preview rendering and control */
- private void RenderPrintPreview(object sender, DoWorkEventArgs e)
- {
- BackgroundWorker worker = sender as BackgroundWorker;
- List<object> genericlist = e.Argument as List<object>;
- int k = (int)genericlist[0];
- int desiredMax = Constants.MAX_PRINT_PREVIEW_LENGTH;
-
- Point ras_size;
- double scale_factor = 1.0;
- Byte[] bitmap;
- BlocksText charlist;
- status_t code;
- Annotate_t annot;
-
- if (ComputePageSize(k, scale_factor, out ras_size) == status_t.S_ISOK)
- {
- /* Adjust the scale factor to ensure max length is set as desired */
- int maxSize = Math.Max((int)ras_size.X, (int)ras_size.Y);
- scale_factor = (double)desiredMax / (double)maxSize;
- ComputePageSize(k, scale_factor, out ras_size);
- printPreviewPage_t result;
-
- try
- {
- bitmap = new byte[(int)ras_size.X * (int)ras_size.Y * 4];
- code = (status_t)mu_doc.RenderPage(k, bitmap, (int)ras_size.X,
- (int)ras_size.Y, scale_factor, false, true,
- false, out charlist, m_showannot, out annot);
- result.width = (int)ras_size.X;
- result.height = (int)ras_size.Y;
- result.bitmap = bitmap;
- ComputePageSize(k, 1.0, out ras_size);
- result.height_inches = ras_size.Y / 72.0;
- result.width_inches = ras_size.X / 72.0;
- e.Result = result;
- }
- catch (OutOfMemoryException em)
- {
- Console.WriteLine("Memory allocation failed print preview page " + k + em.Message + "\n");
- }
- }
- }
-
- private void RenderPrintPreviewCompleted(object sender, RunWorkerCompletedEventArgs e)
- {
- BitmapSource BitMapSrc;
- printPreviewPage_t Result = (printPreviewPage_t)e.Result;
-
- int stride = Result.width * 4;
- BitMapSrc = BitmapSource.Create(Result.width, Result.height,
- 72, 72, PixelFormats.Pbgra32, BitmapPalettes.Halftone256, Result.bitmap, stride);
-
- m_printcontrol.SetImage(BitMapSrc, Result.height_inches, Result.width_inches);
- }
-
- private bool PrintDiagUpdatePreview(object PrintDiag, PrintDiagEventArgs args)
- {
- try
- {
- m_printerpreview = new BackgroundWorker();
- m_printerpreview.WorkerReportsProgress = false;
- m_printerpreview.WorkerSupportsCancellation = false;
- m_printerpreview.DoWork += new DoWorkEventHandler(RenderPrintPreview);
- m_printerpreview.RunWorkerCompleted += new RunWorkerCompletedEventHandler(RenderPrintPreviewCompleted);
- var arguments = new List<object>();
- arguments.Add(args.m_page);
- m_printerpreview.RunWorkerAsync(arguments);
- }
- catch (OutOfMemoryException e)
- {
- Console.WriteLine("Memory allocation failed during printpreview render\n");
- ShowMessage(NotifyType_t.MESS_ERROR, "Out of memory: " + e.Message);
- }
- return true;
- }
-
- private void PrintDiagPrint(object PrintDiag)
- {
- /* If file is already xps then gs need not do this */
- if (!m_isXPS)
- {
- xaml_DistillProgress.Value = 0;
- if (m_ghostscript.CreateXPS(m_currfile, Constants.DEFAULT_GS_RES, m_num_pages, m_printcontrol) == gsStatus.GS_BUSY)
- {
- ShowMessage(NotifyType_t.MESS_STATUS, "GS currently busy");
- return;
- }
- else
- {
- xaml_CancelDistill.Visibility = System.Windows.Visibility.Collapsed;
- xaml_DistillName.Text = "Convert to XPS";
- xaml_DistillName.FontWeight = FontWeights.Bold;
- xaml_DistillGrid.Visibility = System.Windows.Visibility.Visible;
- }
- }
- else
- PrintXPS(m_currfile);
- }
- }
-} \ No newline at end of file
diff --git a/platform/windows/gsview/OutputIntent.xaml b/platform/windows/gsview/OutputIntent.xaml
deleted file mode 100644
index fdfb7e3c..00000000
--- a/platform/windows/gsview/OutputIntent.xaml
+++ /dev/null
@@ -1,50 +0,0 @@
-<Window x:Class="gsview.OutputIntent"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- Title="OutputIntent" Height="176" Width="338"
- SizeToContent="Width">
-
- <DockPanel LastChildFill="True" Margin="0,0,0,0">
-
- <Grid Background="DarkGray" DockPanel.Dock="Bottom" >
- <Button Width="50" Height="20" Click="ClickOK" Margin="0,5,0,5">
- <TextBlock>OK</TextBlock>
- </Button>
- </Grid>
-
- <Grid Background="DarkGray" DockPanel.Dock="Top" >
- <Grid Background="DarkGray" Grid.Row="0" Grid.Column="0" Margin="25,15,25,0">
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- </Grid.RowDefinitions>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="Auto" />
- </Grid.ColumnDefinitions>
-
- <Button Grid.Column="0" Grid.Row="0" Width="50" Height="20" Click="SelectGray" Margin="0,0,0,0">
- <TextBlock>Gray</TextBlock>
- </Button>
- <TextBox x:Name="xaml_gray" Grid.Column="1" Grid.Row="0" Background="DarkGray" Height="20" Margin="5,5,5,5" IsReadOnly="True" Text="Not Set" BorderBrush="Red"></TextBox>
-
- <Button Grid.Column="0" Grid.Row="1" Width="50" Height="20" Click="SelectRGB" Margin="0,0,0,0">
- <TextBlock>RGB</TextBlock>
- </Button>
- <TextBox x:Name="xaml_rgb" Grid.Column="1" Grid.Row="1" Background="DarkGray" Height="20" Margin="5,5,5,5" IsReadOnly="True" Text="Not Set" BorderBrush="Red"></TextBox>
-
- <Button Grid.Column="0" Grid.Row="2" Width="50" Height="20" Click="SelectCMYK" Margin="0,0,0,0">
- <TextBlock>CMYK</TextBlock>
- </Button>
- <TextBox x:Name="xaml_cmyk" Grid.Column="1" Grid.Row="2" Background="DarkGray" Height="20" Margin="5,5,5,5" IsReadOnly="True" Text="Not Set" BorderBrush="Red"></TextBox>
-
-
-
-
- </Grid>
- </Grid>
-
-
- </DockPanel>
-</Window>
diff --git a/platform/windows/gsview/OutputIntent.xaml.cs b/platform/windows/gsview/OutputIntent.xaml.cs
deleted file mode 100644
index eb11f0f6..00000000
--- a/platform/windows/gsview/OutputIntent.xaml.cs
+++ /dev/null
@@ -1,105 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-//using System.Threading.Tasks;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Shapes;
-using System.Windows.Forms;
-
-namespace gsview
-{
- public enum OutputIntent_t
- {
- GRAY,
- RGB,
- CMYK
- }
-
- /// <summary>
- /// Interaction logic for OutputIntent.xaml
- /// </summary>
- public partial class OutputIntent : Window
- {
- public String gray_icc;
- public String rgb_icc;
- public String cmyk_icc;
-
- public OutputIntent()
- {
- InitializeComponent();
- this.Closing += new System.ComponentModel.CancelEventHandler(FakeWindowClosing);
- gray_icc = null;
- rgb_icc = null;
- cmyk_icc = null;
- }
-
- void FakeWindowClosing(object sender, System.ComponentModel.CancelEventArgs e)
- {
- e.Cancel = true;
- this.Hide();
- }
-
- public void RealWindowClosing()
- {
- this.Closing -= new System.ComponentModel.CancelEventHandler(FakeWindowClosing);
- this.Close();
- }
-
- /* No error checking in here yet for making sure the profiles are of
- * the right type and are valid */
- private void SelectGray(object sender, RoutedEventArgs e)
- {
- SetIntent(OutputIntent_t.GRAY);
- }
-
- private void SelectRGB(object sender, RoutedEventArgs e)
- {
- SetIntent(OutputIntent_t.RGB);
- }
-
- private void SelectCMYK(object sender, RoutedEventArgs e)
- {
- SetIntent(OutputIntent_t.CMYK);
- }
-
- private void SetIntent(OutputIntent_t intent)
- {
- OpenFileDialog dlg = new OpenFileDialog();
- dlg.Filter = "ICC Profile Files(*.icc;*.icm)|*.icc;*.icm";
- dlg.FilterIndex = 1;
- if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- switch(intent)
- {
- case OutputIntent_t.GRAY:
- gray_icc = dlg.FileName;
- this.xaml_gray.Text = gray_icc;
- this.xaml_gray.BorderBrush = new SolidColorBrush(Colors.Green);
- break;
- case OutputIntent_t.RGB:
- rgb_icc = dlg.FileName;
- this.xaml_rgb.Text = rgb_icc;
- this.xaml_rgb.BorderBrush = new SolidColorBrush(Colors.Green);
- break;
- case OutputIntent_t.CMYK:
- cmyk_icc = dlg.FileName;
- this.xaml_cmyk.Text = cmyk_icc;
- this.xaml_cmyk.BorderBrush = new SolidColorBrush(Colors.Green);
- break;
- }
- }
- }
-
- private void ClickOK(object sender, RoutedEventArgs e)
- {
- this.Hide();
- }
- }
-}
diff --git a/platform/windows/gsview/PageExtractSave.xaml b/platform/windows/gsview/PageExtractSave.xaml
deleted file mode 100644
index 36f30324..00000000
--- a/platform/windows/gsview/PageExtractSave.xaml
+++ /dev/null
@@ -1,59 +0,0 @@
-<Window x:Class="gsview.PageExtractSave"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- Title="Extract/Rearrange Pages" Height="306" Width="282">
-
- <DockPanel LastChildFill="True">
- <Grid x:Name="xaml_PageGrid" Width="100" Background="DarkGray" DockPanel.Dock="Left" Visibility="Visible">
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="*" />
- </Grid.RowDefinitions>
- <TextBlock Grid.Column="0" Grid.Row="0" Margin="15,0,0,0">
- <Bold>Pages:</Bold>
- </TextBlock>
- <ListView Grid.Column="0" Grid.Row="1" x:Name="xaml_PageList" HorizontalAlignment="Stretch"
- ScrollViewer.CanContentScroll="False"
- Background="White" Margin="10,5,10,10"
- PreviewMouseLeftButtonDown="ExtractLeftButtonDown" PreviewMouseLeftButtonUp="ExtractLeftButtonUp"
- PreviewMouseMove="ExtractMouseMove" MouseLeave="ExtractMouseLeave" PreviewMouseRightButtonDown="RightButtonDown">
- <ListView.ItemTemplate>
- <DataTemplate>
- <StackPanel Margin="5,5,0,0" HorizontalAlignment="Left">
- <TextBlock TextWrapping="Wrap" Text="{Binding PageString}" FontFamily="Segoe UI" FontSize="11" />
- </StackPanel>
- </DataTemplate>
- </ListView.ItemTemplate>
- </ListView>
- </Grid>
-
- <Grid Background="DarkGray" Grid.Row="0" Grid.Column="1" Margin="0,0,0,0">
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- </Grid.RowDefinitions>
-
- <Button Grid.Column="0" Grid.Row="0" Width="70" Height="20" Name="xaml_AllPages" Click="AllPages" Margin="0,40,0,0">
- <TextBlock>All Pages</TextBlock>
- </Button>
- <Button Grid.Column="0" Grid.Row="1" Width="70" Height="20" Name="xaml_EvenPages" Click="EvenPages" Margin="0,5,0,0">
- <TextBlock>Even Pages</TextBlock>
- </Button>
- <Button Grid.Column="0" Grid.Row="2" Width="70" Height="20" Name="xaml_OddPages" Click="OddPages" Margin="0,5,0,0">
- <TextBlock>Odd Pages</TextBlock>
- </Button>
- <Button Grid.Column="0" Grid.Row="3" Width="70" Height="20" Name="xaml_ReversePages" Click="Reverse" Margin="0,5,0,0">
- <TextBlock>Reverse</TextBlock>
- </Button>
- <Button Grid.Column="0" Grid.Row="4" Width="70" Height="20" Name="xaml_Extract" Click="ExtractPages" Margin="0,20,0,0">
- <TextBlock>Extract</TextBlock>
- </Button>
- <TextBlock Grid.Column="0" Grid.Row="5" Margin="0,20,0,0"> Use drag/drop to rearrange. <LineBreak /> Right click to delete from list.
- <LineBreak /> Only selected pages extracted. </TextBlock>
- </Grid>
- </DockPanel>
-</Window>
diff --git a/platform/windows/gsview/PageExtractSave.xaml.cs b/platform/windows/gsview/PageExtractSave.xaml.cs
deleted file mode 100644
index e3985d17..00000000
--- a/platform/windows/gsview/PageExtractSave.xaml.cs
+++ /dev/null
@@ -1,213 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Shapes;
-using System.ComponentModel;
-using System.Collections.ObjectModel;
-
-namespace gsview
-{
- public partial class PageExtractSave : Window
- {
- public List<SelectPage> Pages;
- SelectPage selectedpage = null;
- int dropafterposition;
- bool putattop = false;
-
- /* Callback to Main */
- internal delegate void ExtractCallBackMain(object gsObject);
- internal event ExtractCallBackMain ExtractMain;
-
- public PageExtractSave(int num_pages)
- {
- InitializeComponent();
- Pages = new List<SelectPage>();
- SetPageList(num_pages);
- xaml_PageList.ItemsSource = Pages;
- }
-
- private void AllPages(object sender, RoutedEventArgs e)
- {
- xaml_PageList.SelectAll();
- }
-
- public void SetPageList(int num_pages)
- {
- for (int k = 1; k < num_pages + 1; k++)
- {
- SelectPage Spage = new SelectPage();
- Spage.Page = k;
- Spage.PageString = k;
- Pages.Add(Spage);
- }
- }
-
- private void EvenPages(object sender, RoutedEventArgs e)
- {
- /* First check if any are selected */
- var item = xaml_PageList.SelectedItem;
-
- /* If none are selected then get all the evens. otherwise just get
- * all the evens of the pages that have been selected */
- if (item == null)
- {
- /* Turn on the evens */
- for (int kk = 1; kk < Pages.Count; kk = kk + 2)
- (xaml_PageList.ItemContainerGenerator.ContainerFromIndex(kk) as ListViewItem).IsSelected = true;
- }
- else
- {
- /* Turn off any odds */
- for (int kk = 0; kk < Pages.Count; kk = kk + 2)
- (xaml_PageList.ItemContainerGenerator.ContainerFromIndex(kk) as ListViewItem).IsSelected = false;
- }
- }
-
- private void OddPages(object sender, RoutedEventArgs e)
- {
- /* First check if any are selected */
- var item = xaml_PageList.SelectedItem;
-
- /* If none are selected then get all the odds. otherwise just get
- all the odds of the pages that have been selected */
- if (item == null)
- {
- /* Turn on the odds */
- for (int kk = 0; kk < Pages.Count; kk = kk + 2)
- (xaml_PageList.ItemContainerGenerator.ContainerFromIndex(kk) as ListViewItem).IsSelected = true;
- }
- else
- {
- /* Turn off any evens */
- for (int kk = 1; kk < Pages.Count; kk = kk + 2)
- (xaml_PageList.ItemContainerGenerator.ContainerFromIndex(kk) as ListViewItem).IsSelected = false;
- }
- }
-
- private void ExtractPages(object sender, RoutedEventArgs e)
- {
- ExtractMain(this);
- }
-
- private void ExtractLeftButtonDown(object sender, MouseButtonEventArgs e)
- {
- int index = GetCurrentIndex();
- if (index > -1 && index < Pages.Count)
- selectedpage = Pages[index];
- }
-
- private void ExtractLeftButtonUp(object sender, MouseButtonEventArgs e)
- {
- /* Check if we have something selected */
- if (selectedpage == null)
- {
- Cursor = Cursors.Arrow;
- return;
- }
-
- Point posit = e.GetPosition(xaml_PageList);
- dropafterposition = GetCurrentIndex();
- putattop = false;
-
- if (dropafterposition < 0)
- {
- /* Check if we are above or below */
- if (posit.Y < 0)
- putattop = true;
- else
- dropafterposition = xaml_PageList.Items.Count - 1;
- }
- Cursor = Cursors.Arrow;
- MoveItem();
- selectedpage = null;
- }
-
- private void MoveItem()
- {
- if (putattop)
- {
- Pages.Remove(selectedpage);
- Pages.Insert(0, selectedpage);
- }
- else
- {
- Pages.Remove(selectedpage);
- Pages.Insert(dropafterposition, selectedpage);
- }
- xaml_PageList.Items.Refresh();
- }
-
- private void ExtractMouseMove(object sender, MouseEventArgs e)
- {
- if (Mouse.LeftButton == MouseButtonState.Pressed)
- Cursor = Cursors.Hand;
- }
-
- private void ExtractMouseLeave(object sender, MouseEventArgs e)
- {
- Cursor = Cursors.Arrow;
- }
-
- private void RightButtonDown(object sender, MouseButtonEventArgs e)
- {
- var contextmenu = new System.Windows.Controls.ContextMenu();
- this.ContextMenu = contextmenu;
-
- var m1 = new System.Windows.Controls.MenuItem();
- m1.Header = "Delete";
- m1.Click += cntxDeleteItem;
- contextmenu.Items.Add(m1);
- }
-
- /* Delete all selected items */
- private void cntxDeleteItem(object sender, RoutedEventArgs e)
- {
- /* Go backwards */
- var temp = xaml_PageList.SelectedItems;
- int max = temp.Count; ;
- for (int i = 0; i < max; i++)
- {
- var item = temp[i];
- Pages.Remove((SelectPage)item);
- }
- xaml_PageList.Items.Refresh();
- }
-
- int GetCurrentIndex()
- {
- int index = -1;
- for (int i = 0; i < this.xaml_PageList.Items.Count; ++i)
- {
- ListViewItem item = GetListViewItem(i);
- if (item.IsMouseOver)
- {
- index = i;
- break;
- }
- }
- return index;
- }
-
- ListViewItem GetListViewItem(int index)
- {
- if (this.xaml_PageList.ItemContainerGenerator.Status !=
- System.Windows.Controls.Primitives.GeneratorStatus.ContainersGenerated)
- return null;
- return this.xaml_PageList.ItemContainerGenerator.ContainerFromIndex(index) as ListViewItem;
- }
-
- private void Reverse(object sender, RoutedEventArgs e)
- {
- Pages.Reverse();
- xaml_PageList.Items.Refresh();
- }
- }
-}
diff --git a/platform/windows/gsview/Password.xaml b/platform/windows/gsview/Password.xaml
deleted file mode 100644
index 8692244f..00000000
--- a/platform/windows/gsview/Password.xaml
+++ /dev/null
@@ -1,15 +0,0 @@
-<Window x:Class="gsview.Password"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- Height="110" Width="306">
- <Grid Background="WhiteSmoke">
-
- <StackPanel>
- <Label Content="Password:" />
- <PasswordBox x:Name="xaml_Password" Width="150" />
- <Button Width="50" Height="20" Name="xaml_PasswordClick" Click="PasswordCheck" Margin="0,5,0,0" IsDefault="True">
- <TextBlock>OK</TextBlock>
- </Button>
- </StackPanel>
- </Grid>
-</Window>
diff --git a/platform/windows/gsview/Password.xaml.cs b/platform/windows/gsview/Password.xaml.cs
deleted file mode 100644
index 5c45200e..00000000
--- a/platform/windows/gsview/Password.xaml.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Shapes;
-
-namespace gsview
-{
- /// <summary>
- /// Interaction logic for Password.xaml
- /// </summary>
- public partial class Password : Window
- {
- /* Callback to Main */
- internal delegate void PassCallBackMain(object gsObject);
- internal event PassCallBackMain PassUpdateMain;
-
- public Password()
- {
- InitializeComponent();
- }
-
- private void PasswordCheck(object sender, RoutedEventArgs e)
- {
- PassUpdateMain(this);
- }
- }
-}
diff --git a/platform/windows/gsview/PrintControl.xaml b/platform/windows/gsview/PrintControl.xaml
deleted file mode 100644
index e89fe8b4..00000000
--- a/platform/windows/gsview/PrintControl.xaml
+++ /dev/null
@@ -1,247 +0,0 @@
-<Window x:Class="gsview.PrintControl"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- Title="gsview print" Height="650" Width="653"
- SizeToContent="WidthAndHeight" ResizeMode="NoResize">
-
-
- <Window.Resources>
- <Style x:Key="MySimpleScrollBar" TargetType="{x:Type ScrollBar}">
- <Setter Property="Stylus.IsFlicksEnabled" Value="false"/>
- <Setter Property="Width" Value="Auto"/>
- <Setter Property="MinHeight" Value="30"/>
- <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type ScrollBar}">
- <Border BorderThickness="1" BorderBrush="Gray">
- <Grid Margin="2">
- <Grid.ColumnDefinitions>
- <ColumnDefinition/>
- <ColumnDefinition />
- </Grid.ColumnDefinitions>
- <TextBox VerticalAlignment="Center" FontSize="12" MinWidth="25" Text="{Binding Value, RelativeSource={RelativeSource TemplatedParent}}"/>
- <Grid Grid.Column="1" x:Name="GridRoot" Width="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}" Background="{TemplateBinding Background}">
- <Grid.RowDefinitions>
- <RowDefinition MaxHeight="18"/>
- <RowDefinition Height="0.00001*"/>
- <RowDefinition MaxHeight="18"/>
- </Grid.RowDefinitions>
- <RepeatButton x:Name="DecreaseRepeat" Command="ScrollBar.LineDownCommand" Focusable="False">
- <Grid>
- <Path x:Name="DecreaseArrow" Stroke="{TemplateBinding Foreground}" StrokeThickness="1" Data="M 0 4 L 8 4 L 4 0 Z"/>
- </Grid>
- </RepeatButton>
- <RepeatButton Grid.Row="2" x:Name="IncreaseRepeat" Command="ScrollBar.LineUpCommand" Focusable="False">
- <Grid>
- <Path x:Name="IncreaseArrow" Stroke="{TemplateBinding Foreground}" StrokeThickness="1" Data="M 0 0 L 4 4 L 8 0 Z"/>
- </Grid>
- </RepeatButton>
- </Grid>
- </Grid>
- </Border>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- </Window.Resources>
-
- <DockPanel Background="WhiteSmoke" LastChildFill="False" Margin="0,0,0,0">
- <GroupBox Header="Printer" Height="100" Width="500" DockPanel.Dock="Top" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="15,15,0,0">
- <Grid Background="WhiteSmoke" Visibility="Visible" >
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="*" />
- <ColumnDefinition Width="Auto" />
- </Grid.ColumnDefinitions>
- <Grid Grid.Column="0" Grid.Row="0" Background="WhiteSmoke">
- <Grid.RowDefinitions>
- <RowDefinition Height="30" />
- <RowDefinition Height="30" />
- </Grid.RowDefinitions>
- <TextBox Grid.Column="0" Grid.Row="0" Text="Name:" FontSize="12" FontFamily="Segoe UI" Background="WhiteSmoke" BorderThickness="0" VerticalAlignment="Center"/>
- <TextBox Grid.Column="0" Grid.Row="1" Text="Status:" FontSize="12" FontFamily="Segoe UI" Background="WhiteSmoke" BorderThickness="0" VerticalAlignment="Center"/>
- </Grid>
- <Grid Grid.Column="1" Grid.Row="0" Background="WhiteSmoke">
- <Grid.RowDefinitions>
- <RowDefinition Height="30" />
- <RowDefinition Height="30" />
- </Grid.RowDefinitions>
- <ComboBox Grid.Column="0" Grid.Row="0" x:Name="xaml_selPrinter" SelectionChanged="selPrinterChanged" Width="225" HorizontalAlignment="Left" Margin="10,0,0,0" VerticalAlignment="Center" >
- <ComboBox.ItemTemplate>
- <DataTemplate>
- <StackPanel Orientation="Horizontal">
- <TextBlock FontSize="11" FontFamily="Segoe UI" Text="{Binding Name}" />
- </StackPanel>
- </DataTemplate>
- </ComboBox.ItemTemplate>
- </ComboBox>
- <TextBox Grid.Column="0" Grid.Row="1" x:Name="xaml_Status" FontSize="12" FontFamily="Segoe UI" Text="" Margin="105,92,497,301" Background="WhiteSmoke" BorderThickness="0"/>
- </Grid>
- <Grid Grid.Column="2" Grid.Row="0" Background="WhiteSmoke">
- <Grid.RowDefinitions>
- <RowDefinition Height="30" />
- </Grid.RowDefinitions>
- <Button Grid.Column="0" Grid.Row="0" Content="Properties" FontSize="12" FontFamily="Segoe UI" HorizontalAlignment="Center" Margin="0, 0, 30, 0" VerticalAlignment="Center" Width="75" Click="ShowProperties"/>
- </Grid>
- </Grid>
- </GroupBox>
- <Grid DockPanel.Dock="Left" Background="WhiteSmoke" Visibility="Visible">
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- </Grid.RowDefinitions>
- <GroupBox Grid.Column="0" Grid.Row="0" Header="Print Range" Height="150" Width="250" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="15,15,0,0">
- <Grid Background="WhiteSmoke" Visibility="Visible" >
- <Grid.RowDefinitions>
- <RowDefinition Height="30" />
- <RowDefinition Height="30" />
- <RowDefinition Height="30" />
- <RowDefinition Height="30" />
- </Grid.RowDefinitions>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="90" />
- <ColumnDefinition Width="Auto" />
- </Grid.ColumnDefinitions>
- <RadioButton Grid.Column="0" Grid.Row="0" Name="xaml_rbAll" VerticalAlignment="Center" GroupName="PageRange" Checked="AllPages">All</RadioButton>
- <RadioButton Grid.Column="0" Grid.Row="1" Name="xaml_rbCurrent" VerticalAlignment="Center" GroupName="PageRange" Checked="CurrentPage">Current page</RadioButton>
- <RadioButton Grid.Column="0" Grid.Row="2" Name="xaml_rbPages" VerticalAlignment="Center" GroupName="PageRange" Checked="PageRange">Pages</RadioButton>
-
- <TextBox x:Name="xaml_pagerange" Grid.Column="1" Grid.Row="2" Width="100" Height="20" VerticalScrollBarVisibility="Hidden" HorizontalAlignment="Left"
- HorizontalScrollBarVisibility="Hidden" VerticalAlignment="Center" FontSize="12" FontFamily="Segoe UI" Margin="0,0,0,0" PreviewKeyDown="PageNumberEnter"/>
-
- <TextBox x:Name="xaml_invalid" Grid.Column="1" Grid.Row="1" Width="Auto" Height="Auto" VerticalScrollBarVisibility="Hidden" HorizontalAlignment="Center" Background="WhiteSmoke" Visibility="Collapsed"
- HorizontalScrollBarVisibility="Hidden" VerticalAlignment="Center" Foreground="Red" Text="Invalid Range! (3-5, 7) e.g." FontSize="12" FontFamily="Segoe UI" Margin="0,0,0,0" PreviewKeyDown="PageNumberEnter"/>
-
-
- <TextBox Grid.Column="0" Grid.Row="3" VerticalAlignment="Center" Text="Subset:" FontSize="12" FontFamily="Segoe UI" Background="WhiteSmoke" BorderThickness="0"/>
- <ComboBox Grid.Column="1" Grid.Row="3" x:Name="xaml_Subset" SelectionChanged="Subset_SelectionChanged" Width="140" Height="Auto" VerticalAlignment="Center" HorizontalAlignment="Left">
- <ComboBoxItem Name="all" FontSize="11" FontFamily="Segoe UI">All pages in range</ComboBoxItem>
- <ComboBoxItem Name="odd" FontSize="11" FontFamily="Segoe UI">Odd pages only</ComboBoxItem>
- <ComboBoxItem Name="even" FontSize="11" FontFamily="Segoe UI">Even pages only</ComboBoxItem>
- </ComboBox>
- </Grid>
- </GroupBox>
-
- <GroupBox Grid.Column="0" Grid.Row="1" Header="Page Handling" Height="90" Width="250" Margin="15,15,0,0" DockPanel.Dock="Left" HorizontalAlignment="Center" VerticalAlignment="Center" >
- <Grid Background="WhiteSmoke" Visibility="Visible" Height="103" VerticalAlignment="Top">
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- </Grid.RowDefinitions>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="90" />
- <ColumnDefinition Width="Auto" />
- </Grid.ColumnDefinitions>
- <TextBox Grid.Column="0" Grid.Row="0" VerticalAlignment="Center" Text="Copies:" FontSize="12" FontFamily="Segoe UI" Background="WhiteSmoke" BorderThickness="0" />
- <ScrollBar Grid.Column="1" Grid.Row="0" x:Name="xaml_Copies" HorizontalAlignment="Left" Style="{DynamicResource MySimpleScrollBar}" VerticalAlignment="Top" Value="1" Maximum="999" SmallChange="1" Height="15" ValueChanged="xaml_Copies_ValueChanged"/>
- <CheckBox x:Name="xaml_autofit" Grid.Column="0" Grid.Row="2" Content="Auto-Fit" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Checked="AutoFit_Checked" Unchecked="AutoFit_Unchecked" Grid.ColumnSpan="2"/>
- </Grid>
- </GroupBox>
- </Grid>
-
-
- <GroupBox Header="Preview" Height="450" Width="350" DockPanel.Dock="Right" HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0,15,15,0">
- <Grid Background="WhiteSmoke" Visibility="Visible" >
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="*" />
- <RowDefinition Height="40" />
- <RowDefinition Height="40" />
- <RowDefinition Height="40" />
- <RowDefinition Height="40" />
- </Grid.RowDefinitions>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="*" />
- </Grid.ColumnDefinitions>
- <Canvas x:Name="xaml_TopArrowCanvas" Grid.Row="0" Grid.Column="1" VerticalAlignment="Bottom" HorizontalAlignment="Left" Margin="0,0,0,25" Height="0" Width="0" Visibility="Collapsed">
- <Grid Background="WhiteSmoke" HorizontalAlignment="Center">
- <Grid.RowDefinitions>
- <RowDefinition Height="*" />
- <RowDefinition Height="*" />
- </Grid.RowDefinitions>
- <Line x:Name="xaml_topsize" Grid.Row="1" Y1="0" X1="0" X2="100" Y2="0" Stroke="Black" StrokeThickness="1"/>
- <Line x:Name="xaml_topleftbottomarrow" Grid.Row="1" Y1="0" X1="0" X2="7" Y2="7" Stroke="Black" StrokeThickness="1" />
- <Line x:Name="xaml_toplefttoparrow" Grid.Row="1" Y1="0" X1="0" X2="7" Y2="-7" Stroke="Black" StrokeThickness="1" />
- <Line x:Name="xaml_toprighttoparrow" Grid.Row="1" Y1="-7" X1="93" X2="100" Y2="0" Stroke="Black" StrokeThickness="1" />
- <Line x:Name="xaml_toprightbottomarrow" Grid.Row="1" Y1="7" X1="93" X2="100" Y2="0" Stroke="Black" StrokeThickness="1" />
- <TextBlock x:Name="xaml_topsizevalue" Text="100" Grid.Row="0" HorizontalAlignment="Center"/>
- </Grid>
- </Canvas>
-
- <Canvas x:Name="xaml_LeftArrowCanvas" Grid.Row="1" Grid.Column="0" Height="Auto" Width="40" VerticalAlignment="Top" HorizontalAlignment="Center" Visibility="Collapsed">
- <Grid Background="WhiteSmoke" VerticalAlignment="Top" HorizontalAlignment="Center">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="*" />
- <ColumnDefinition Width="*" />
- </Grid.ColumnDefinitions>
- <Line x:Name="xaml_leftsize" Grid.Column="1" Y1="0" X1="0" X2="0" Y2="100" Stroke="Black" StrokeThickness="1" />
- <Line x:Name="xaml_lefttopleft" Grid.Column="1" Y1="0" X1="0" X2="-7" Y2="7" Stroke="Black" StrokeThickness="1" />
- <Line x:Name="xaml_lefttopright" Grid.Column="1" Y1="0" X1="0" X2="7" Y2="7" Stroke="Black" StrokeThickness="1" />
- <Line x:Name="xaml_leftbottomleft" Grid.Column="1" Y1="93" X1="-7" X2="0" Y2="100" Stroke="Black" StrokeThickness="1" />
- <Line x:Name="xaml_leftbottomright" Grid.Column="1" Y1="93" X1="7" X2="0" Y2="100" Stroke="Black" StrokeThickness="1" />
- <TextBlock x:Name="xaml_leftsizevalue" Text="100" Grid.Column="0" VerticalAlignment="Center" Margin="0,0,10,0"/>
- </Grid>
- </Canvas>
-
- <!-- Draw the white paper full size white -->
- <Rectangle x:Name="xaml_PreviewPaper" Visibility="Collapsed" Fill="White" Grid.Column="1" Grid.Row="1" Height="0" Width="0" VerticalAlignment="Top" HorizontalAlignment="Left"/>
-
- <!-- Draw the whole image -->
- <Rectangle x:Name="xaml_PreviewImageRect" Visibility="Collapsed" Stroke="Red" Grid.Column="1" Grid.Row="1" Height="0" Width="0" VerticalAlignment="Top" HorizontalAlignment="Left">
- <Rectangle.Fill>
- <ImageBrush x:Name="xaml_ImagePreview">
- </ImageBrush>
- </Rectangle.Fill>
- </Rectangle>
-
- <!-- Draw the gray shade over it -->
- <Rectangle x:Name="xaml_PreviewGrayRect" Visibility="Collapsed" Stroke="Green" Fill="#7f7f7f7f" Grid.Column="1" Grid.Row="1" Height="0" Width="0" VerticalAlignment="Top" HorizontalAlignment="Left"/>
-
- <!-- Redraw with clipping -->
- <Rectangle x:Name="xaml_PreviewImageRectClip" Visibility="Collapsed" Stroke="Blue" Grid.Column="1" Grid.Row="1" Height="0" Width="0" VerticalAlignment="Top" HorizontalAlignment="Left">
- <Rectangle.Fill>
- <ImageBrush x:Name="xaml_ImagePreviewClip">
- </ImageBrush>
- </Rectangle.Fill>
- <Rectangle.Clip>
- <RectangleGeometry x:Name="xaml_ImagePreviewClipGeom" Rect="0 0 50 100"/>
- </Rectangle.Clip>
- </Rectangle>
-
- <!-- Draw the final full black bounding rect for the paper-->
- <Rectangle x:Name="xaml_PreviewPaperOuterRect" Stroke="Black" Fill="#00000000" Grid.Column="1" Grid.Row="1" Height="0" Width="0" VerticalAlignment="Top" HorizontalAlignment="Left"/>
-
- <Grid Grid.Column="1" Grid.Row="2" Height="Auto">
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- </Grid.RowDefinitions>
- <TextBox Visibility="Collapsed" x:Name="xaml_pagesize" Grid.Column="0" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Left" FontSize="12" FontFamily="Segoe UI" Background="WhiteSmoke" BorderThickness="0" Height="16" Width="Auto" />
- <TextBox Visibility="Collapsed" x:Name="xaml_docsize" Grid.Column="0" Grid.Row="0" VerticalAlignment="Center" HorizontalAlignment="Left" FontSize="12" FontFamily="Segoe UI" Background="WhiteSmoke" BorderThickness="0" Height="16" Width="Auto" />
- </Grid>
-
- <TextBox x:Name="xaml_pagecount" Grid.Column="0" Grid.Row="3" VerticalAlignment="Center" HorizontalAlignment="Right" Text="1/1" FontSize="12" FontFamily="Segoe UI" Background="WhiteSmoke" BorderThickness="0" Height="16" Margin="0,12" Width="Auto" />
- <Slider x:Name="xaml_pageslider" IsSnapToTickEnabled="True" Grid.Column="1" Grid.Row="3" Maximum="100" VerticalAlignment="Center" Margin="15,11,36,11" Height="18" PreviewMouseUp="PageSelect_DragCompleted"/>
- <TextBox Grid.Column="0" Grid.Row="4" VerticalAlignment="Center" HorizontalAlignment="Right" Text="Units:" FontSize="12" FontFamily="Segoe UI" Background="WhiteSmoke" BorderThickness="0" Height="16" Margin="0,12" Width="Auto" />
- <Grid Grid.Column="1" Grid.Row="4">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="Auto" />
- </Grid.ColumnDefinitions>
- <RadioButton Grid.Column="0" Grid.Row="0" Name="xaml_inches" VerticalAlignment="Center" GroupName="units" Checked="Inches" Margin="5,0,0,0">inches</RadioButton>
- <RadioButton Grid.Column="1" Grid.Row="0" Name="xaml_cm" VerticalAlignment="Center" GroupName="units" Checked="Centimeters" Margin="5,0,0,0">cm</RadioButton>
- </Grid>
- <Grid Background="WhiteSmoke" Grid.Column="1" Grid.Row="5" Visibility="Visible" Margin="0, 0, 0, 0" HorizontalAlignment="Center">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="Auto" />
- </Grid.ColumnDefinitions>
- <Button Grid.Column="0" Grid.Row="0" Content="OK" FontSize="12" FontFamily="Segoe UI" HorizontalAlignment="Center" VerticalAlignment="Center" Width="74" Click="ClickOK" Margin="20,0,0,0"/>
- <Button Grid.Column="1" Grid.Row="0" Content="Cancel" FontSize="12" FontFamily="Segoe UI" HorizontalAlignment="Center" VerticalAlignment="Center" Width="74" Click="ClickCancel" Margin="40,0,0,0"/>
- </Grid>
- </Grid>
- </GroupBox>
- </DockPanel>
-</Window>
diff --git a/platform/windows/gsview/PrintControl.xaml.cs b/platform/windows/gsview/PrintControl.xaml.cs
deleted file mode 100644
index c24fad17..00000000
--- a/platform/windows/gsview/PrintControl.xaml.cs
+++ /dev/null
@@ -1,697 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Shapes;
-using System.Printing;
-using System.Drawing.Printing;
-using System.Runtime.InteropServices;
-using System.Windows.Interop;
-using System.Text.RegularExpressions;
-
-namespace gsview
-{
- /// <summary>
- /// Interaction logic for PrintControl.xaml
- /// </summary>
- ///
-
- static class NATIVEWIN
- {
- public const int IDOK = 1;
- public const int IDCANCEL = 2;
- public const int DM_OUT_BUFFER = 2;
- public const int DM_IN_BUFFER = 8;
- public const int DM_IN_PROMPT = 4;
- public const int DM_ORIENTATION = 1;
- public const int DM_PAPERSIZE = 2;
- public const int DM_PAPERLENGTH = 4;
- public const int DM_WIDTH = 8;
- public const int DMORIENT_PORTRAIT = 1;
- public const int DMORIENT_LANDSCAPE = 2;
- }
-
- public enum PrintPages_t
- {
- RANGE = 2,
- CURRENT = 1,
- ALL = 0
- }
-
- public enum PageSubset_t
- {
- ALL = 0,
- ODD = 1,
- EVEN = 2
- }
-
- public enum PageScale_t
- {
- NONE = 0,
- FIT = 1,
- }
-
- public enum Units_t
- {
- INCHES = 0,
- CM = 1
- }
-
- public class PrintDiagEventArgs : EventArgs
- {
- public int m_page;
-
- public PrintDiagEventArgs(int page)
- {
- m_page = page;
- }
- }
-
- public class PrintRanges
- {
- public List<bool> ToPrint;
- public bool HasEvens;
- public bool HasOdds;
- public int NumberPages;
-
- public PrintRanges(int number_pages)
- {
- ToPrint = new List<bool>(number_pages);
- NumberPages = 0;
- HasEvens = false;
- HasOdds = false;
- }
-
- public void InitRange(Match match)
- {
- NumberPages = 0;
- HasEvens = false;
- HasOdds = false;
-
- for (int k = 0; k < ToPrint.Count; k++)
- {
- if (CheckValue(match, k))
- {
- NumberPages = NumberPages + 1;
- ToPrint[k] = true;
- if ((k+1) % 2 != 0)
- HasOdds = true;
- else
- HasEvens = true;
- }
- else
- ToPrint[k] = false;
- }
- }
-
- private bool CheckValue(Match match, int k)
- {
- return false;
- }
- }
-
- public partial class PrintControl : Window
- {
- private LocalPrintServer m_printServer;
- public PrintQueue m_selectedPrinter = null;
- String m_status;
- PrintPages_t m_pages_setting;
- PageSubset_t m_page_subset;
- public double m_page_scale;
- Units_t m_units;
- int m_numpages;
- int m_currpage;
- PrintCapabilities m_printcap;
- public PageSettings m_pagedetails;
- TranslateTransform m_trans_pap;
- TranslateTransform m_trans_doc;
- double m_doc_height;
- double m_doc_width;
- public bool m_isrotated;
- PrintRanges m_range_pages;
- public int m_numcopies;
- bool m_initdone;
- bool m_is64bit;
-
- /* Callback to main to get preview images */
- internal delegate bool PrintDiagCallBackPreview(object gsObject, PrintDiagEventArgs info);
- internal event PrintDiagCallBackPreview PrintDiagUpdatePreview;
- /* Callback to perform printing */
- internal delegate void PrintDiagCallBackPrint(object gsObject);
- internal event PrintDiagCallBackPrint PrintDiagPrint;
- /* Callback to report problems */
- internal delegate void PrintDLLProblem(object gsObject, String mess);
- internal event PrintDLLProblem PrintDLLProblemMain;
-
- /* Helper for displaying the custom printer dialog settings */
- #region DLLInterface
- [DllImport("gsprint64.dll", EntryPoint = "ShowPropertiesDialog", CharSet = CharSet.Ansi,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int ShowPropertiesDialog64(IntPtr hwnd, IntPtr printername, bool show_diag );
- [DllImport("gsprint32.dll", EntryPoint = "ShowPropertiesDialog", CharSet = CharSet.Ansi,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int ShowPropertiesDialog32(IntPtr hwnd, IntPtr printername, bool show_diag);
-
- #endregion DLLInterface
-
- #region DLLErrorCatch
- /* In case the DLL is not found we need to wrap the methods up with
- * a try/catch. Also select 32 or 64 bit DLL at this time. This
- * C# code is compiled as ANYCPU type */
- private int tc_ShowPropertiesDialog(IntPtr hwnd, IntPtr printername, bool show_prop)
- {
- int code;
-
- try
- {
- if (m_is64bit)
- code = ShowPropertiesDialog64(hwnd, printername, show_prop);
- else
- code = ShowPropertiesDialog32(hwnd, printername, show_prop);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String output = "DllNotFoundException: gsprint DLL not found";
- PrintDLLProblemMain(this, output);
- return -1;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String output = "BadImageFormatException: Incorrect gsprint DLL";
- PrintDLLProblemMain(this, output);
- return -1;
- }
- return code;
- }
- #endregion DLLErrorCatch
-
- /* Populate the printers */
- private void InitPrinterList()
- {
- PrintQueueCollection printQueuesOnLocalServer =
- m_printServer.GetPrintQueues(new[] {EnumeratedPrintQueueTypes.Local, EnumeratedPrintQueueTypes.Connections});
-
- this.xaml_selPrinter.ItemsSource = printQueuesOnLocalServer;
- if (m_selectedPrinter != null)
- {
- foreach (PrintQueue pq in printQueuesOnLocalServer)
- {
- if (pq.FullName == m_selectedPrinter.FullName)
- {
- this.xaml_selPrinter.SelectedItem = pq;
- break;
- }
- }
- }
- }
-
- /* Initialize */
- public PrintControl(int num_pages, int curr_page)
- {
- PrinterSettings ps = new PrinterSettings();
-
- this.Closing += new System.ComponentModel.CancelEventHandler(FakeWindowClosing);
- InitializeComponent();
- m_printServer = new LocalPrintServer();
- m_selectedPrinter = LocalPrintServer.GetDefaultPrintQueue();
- InitPrinterList();
- ps.PrinterName = m_selectedPrinter.FullName;
- m_pagedetails = ps.DefaultPageSettings;
-
-
- xaml_rbAll.IsChecked = true;
- m_pages_setting = PrintPages_t.ALL;
- m_page_subset = PageSubset_t.ALL;
- xaml_Subset.SelectedIndex = (int) m_page_subset;
-
- xaml_autofit.IsChecked = false;
-
- xaml_inches.IsChecked = true;
- m_units = Units_t.INCHES;
-
- m_currpage = curr_page;
- m_numpages = num_pages;
- xaml_pagecount.Text = "1/" + num_pages;
- xaml_pageslider.Maximum = num_pages - 1;
-
- m_printcap = m_selectedPrinter.GetPrintCapabilities();
-
- m_trans_pap = new TranslateTransform(0, 0);
- m_trans_doc = new TranslateTransform(0, 0);
- m_isrotated = false;
-
- /* Data range case */
- m_range_pages = new PrintRanges(m_numpages);
- m_page_scale = 1.0;
-
- m_numcopies = 1;
- m_initdone = false;
- m_is64bit = Environment.Is64BitOperatingSystem &&
- Environment.Is64BitProcess;
- }
-
- void FakeWindowClosing(object sender, System.ComponentModel.CancelEventArgs e)
- {
- e.Cancel = true;
- this.Hide();
- }
-
- public void RealWindowClosing()
- {
- this.Closing -= new System.ComponentModel.CancelEventHandler(FakeWindowClosing);
- this.Close();
- }
-
- /* Displays and updates the custom printer dialog settings. One can
- * either do this with pinvoke of the various commands in winspool or
- * go ahead and handle it in our own dll, which is what I decided to
- * do. */
- private void ShowProperties(object sender, RoutedEventArgs e)
- {
- PrinterChanged(true);
- }
-
- private void PrinterChanged(bool show_prop)
- {
- if (m_selectedPrinter != null)
- {
- var ptrNameGC = new GCHandle();
- var temp = System.Text.Encoding.UTF8.GetBytes(m_selectedPrinter.FullName.ToCharArray());
- ptrNameGC = GCHandle.Alloc(temp, GCHandleType.Pinned);
- int res = tc_ShowPropertiesDialog(new WindowInteropHelper(this).Handle, ptrNameGC.AddrOfPinnedObject(), show_prop);
- ptrNameGC.Free();
- if (res >= 0)
- {
- PrinterSettings ps = new PrinterSettings();
- ps.PrinterName = m_selectedPrinter.FullName;
- m_pagedetails = ps.DefaultPageSettings;
- UpdateView();
- }
- }
- }
-
- /* Printer selection changed */
- private void selPrinterChanged(object sender, SelectionChangedEventArgs e)
- {
- m_selectedPrinter = this.xaml_selPrinter.SelectedItem as PrintQueue;
- GetPrinterStatus();
- if (m_initdone)
- PrinterChanged(false);
- }
-
- /* Printer Status */
- private void GetPrinterStatus()
- {
- if (m_selectedPrinter.IsBusy)
- m_status = "Busy";
- else if (m_selectedPrinter.IsNotAvailable)
- m_status = "Not Available";
- else if (m_selectedPrinter.IsOffline)
- m_status = "Offline";
- else if (m_selectedPrinter.IsOutOfMemory)
- m_status = "Out Of Memory";
- else if (m_selectedPrinter.IsOutOfPaper)
- m_status = "Out Of Paper";
- else if (m_selectedPrinter.IsOutputBinFull)
- m_status = "Output Bin Full";
- else if (m_selectedPrinter.IsPaperJammed)
- m_status = "Paper Jam";
- else if (m_selectedPrinter.IsPaused)
- m_status = "Paused";
- else if (m_selectedPrinter.IsPendingDeletion)
- m_status = "Paused";
- else if (m_selectedPrinter.IsPrinting)
- m_status = "Printing";
- else if (m_selectedPrinter.IsProcessing)
- m_status = "Processing";
- else if (m_selectedPrinter.IsWaiting)
- m_status = "Waiting";
- else if (m_selectedPrinter.IsWarmingUp)
- m_status = "Warming Up";
- else
- m_status = "Ready";
- xaml_Status.Text = m_status;
- }
-
- private void Subset_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- /* On current page, only All is allowed */
- m_page_subset = (PageSubset_t) xaml_Subset.SelectedIndex;
- if (m_pages_setting == PrintPages_t.CURRENT &&
- m_page_subset != PageSubset_t.ALL)
- xaml_Subset.SelectedIndex = (int) PageSubset_t.ALL;
-
- /* Only one page, can't use even */
- if (m_pages_setting == PrintPages_t.ALL &&
- m_page_subset == PageSubset_t.EVEN &&
- m_numpages == 1)
- xaml_Subset.SelectedIndex = (int)PageSubset_t.ALL;
- }
-
- private void AllPages(object sender, RoutedEventArgs e)
- {
- xaml_invalid.Visibility = System.Windows.Visibility.Collapsed;
- xaml_pageslider.Maximum = m_numpages - 1;
- xaml_pageslider.Value = m_currpage;
- xaml_pagecount.Text = (m_currpage + 1) + "/" + m_numpages;
- m_pages_setting = PrintPages_t.ALL;
- }
-
- private void CurrentPage(object sender, RoutedEventArgs e)
- {
- xaml_invalid.Visibility = System.Windows.Visibility.Collapsed;
- m_pages_setting = PrintPages_t.CURRENT;
- xaml_pagecount.Text = "1/1";
- xaml_pageslider.Maximum = 0;
- xaml_pageslider.Value = 0;
- PrintDiagEventArgs info = new PrintDiagEventArgs(m_currpage);
- PrintDiagUpdatePreview(this, info);
- }
-
- private void PageRange(object sender, RoutedEventArgs e)
- {
- xaml_invalid.Visibility = System.Windows.Visibility.Collapsed;
- m_pages_setting = PrintPages_t.RANGE;
- }
-
- private void UpdateScaleInfo()
- {
- /*
- if (m_page_scale_type == PageScale_t.NONE)
- {
- double temp_width_doc = Math.Truncate(m_doc_width * 100.0) / 100.0;
- double temp_height_doc = Math.Truncate(m_doc_height * 100.0) / 100.0;
- double temp_width_page = m_pagedetails.Bounds.Width / 100;
- double temp_height_page = m_pagedetails.Bounds.Height / 100;
-
- if (m_units == Units_t.CM)
- {
- temp_height_doc = (Math.Truncate(temp_height_doc * 2.54 * 100) / 100.0);
- temp_width_doc = (Math.Truncate(temp_width_doc * 2.54 * 100) / 100.0);
- temp_height_page = (Math.Truncate(temp_height_page * 2.54 * 100) / 100.0);
- temp_width_page = (Math.Truncate(temp_width_page * 2.54 * 100) / 100.0);
- }
- xaml_pagesize.Text = "Paper:\t\t" + temp_width_page + " x " + temp_height_page;
- xaml_docsize.Text = "Document:\t" + temp_width_doc + " x " + temp_height_doc; ;
- xaml_pagesize.Visibility = System.Windows.Visibility.Visible;
- xaml_docsize.Visibility = System.Windows.Visibility.Visible;
- }
- else
- {
- xaml_pagesize.Visibility = System.Windows.Visibility.Collapsed;
- xaml_docsize.Visibility = System.Windows.Visibility.Collapsed;
- }
- * */
- }
-
- private void Inches(object sender, RoutedEventArgs e)
- {
- m_units = Units_t.INCHES;
- UpdateUnits();
- UpdateScaleInfo();
- }
-
- private void Centimeters(object sender, RoutedEventArgs e)
- {
- m_units = Units_t.CM;
- UpdateUnits();
- UpdateScaleInfo();
- }
-
- public void SetImage(BitmapSource image_in, double doc_height_in,
- double doc_width_in)
- {
- xaml_PreviewImageRect.Visibility = System.Windows.Visibility.Collapsed;
- xaml_PreviewGrayRect.Visibility = System.Windows.Visibility.Collapsed;
- xaml_PreviewPaper.Visibility = System.Windows.Visibility.Collapsed;
-
- m_doc_width = doc_width_in;
- m_doc_height = doc_height_in;
- xaml_ImagePreview.ImageSource = image_in;
- xaml_ImagePreviewClip.ImageSource = image_in;
-
- UpdateView();
- }
-
- private void UpdateView()
- {
- /* For our display we compute the page size as well as the paper size */
- /* The max length sets our scaling of each component */
- /* We then determine if any additional scaling is needed or translation
- * based upon the settings of m_page_scale_type as well as the autofit
- * and scale setting */
- double page_height = m_pagedetails.Bounds.Height;
- double page_width = m_pagedetails.Bounds.Width;
- double doc_height = m_doc_height * 100;
- double doc_width = m_doc_width * 100;
- bool autofit = (xaml_autofit.IsChecked == true);
- bool center;
- /* bool center = (xaml_center.IsChecked == true); */
- double scale_height;
- double scale_width;
- double max_scale;
- double doc_offset_x = 0;
- double doc_offset_y = 0;
- double pap_offset_x = 0;
- double pap_offset_y = 0;
- Rect clip_rect;
-
- center = autofit; /* I may separate these later */
- m_page_scale = 1.0;
- m_isrotated = false;
- if (autofit &&
- ((m_pagedetails.Bounds.Height > m_pagedetails.Bounds.Width && doc_height < doc_width) ||
- (m_pagedetails.Bounds.Height < m_pagedetails.Bounds.Width && doc_height > doc_width)))
- {
- page_width = m_pagedetails.Bounds.Height;
- page_height = m_pagedetails.Bounds.Width;
- m_isrotated = true;
- }
-
- /* Scale page data if needed. */
-
- if (xaml_autofit.IsChecked == true)
- {
- scale_height = page_height / doc_height;
- scale_width = page_width / doc_width;
- max_scale = Math.Min(scale_height, scale_width);
-
- /* Adjust the doc size to fit in the page */
- doc_height = doc_height * max_scale;
- doc_width = doc_width * max_scale;
- m_page_scale = max_scale;
- }
-
- /* Now figure out our preview scaling to ensure everything fits
- * in the display window */
- double max_height = Math.Max(doc_height, page_height);
- double max_width = Math.Max(doc_width, page_width);
- double max_length = Math.Max(max_height, max_width);
- double previewscale = (double)Constants.MAX_PRINT_PREVIEW_LENGTH / max_length;
-
- /* Adjust size of everything */
- doc_height = doc_height * previewscale;
- doc_width = doc_width * previewscale;
- page_height = page_height * previewscale;
- page_width = page_width * previewscale;
-
- xaml_PreviewImageRect.Visibility = System.Windows.Visibility.Collapsed;
- xaml_PreviewGrayRect.Visibility = System.Windows.Visibility.Collapsed;
- xaml_PreviewPaper.Visibility = System.Windows.Visibility.Collapsed;
-
- /* Compute any offsets if needed due to centering */
- if (center)
- {
- if (doc_height > page_height)
- pap_offset_y = (doc_height - page_height) / 2.0;
- else
- doc_offset_y = (page_height - doc_height) / 2.0;
- if (doc_width > page_width)
- pap_offset_x = (doc_width - page_width) / 2.0;
- else
- doc_offset_x = (page_width - doc_width) / 2.0;
- }
-
- double offset_y = 0;
-
- if (!autofit)
- offset_y = doc_height - page_height;
-
- /* See if the paper needs to translate */
- if (page_height < doc_height)
- m_trans_pap = new TranslateTransform(pap_offset_x, pap_offset_y + offset_y);
- else
- m_trans_pap = new TranslateTransform(pap_offset_x, pap_offset_y);
-
- /* See if the doc needs to translate */
- if (page_height > doc_height)
- m_trans_doc = new TranslateTransform(doc_offset_x, doc_offset_y - offset_y);
- else
- m_trans_doc = new TranslateTransform(doc_offset_x, doc_offset_y);
-
- /* Page black outer rect */
- xaml_PreviewPaperOuterRect.RenderTransform = m_trans_pap;
- xaml_PreviewPaperOuterRect.Height = page_height;
- xaml_PreviewPaperOuterRect.Width = page_width;
- xaml_PreviewPaperOuterRect.Visibility = System.Windows.Visibility.Visible;
-
- /* Paper white fill */
- xaml_PreviewPaper.RenderTransform = m_trans_pap;
- xaml_PreviewPaper.Height = page_height;
- xaml_PreviewPaper.Width = page_width;
- xaml_PreviewPaper.Visibility = System.Windows.Visibility.Visible;
-
- /* The image */
- xaml_PreviewImageRect.RenderTransform = m_trans_doc;
- xaml_PreviewImageRect.Height = doc_height;
- xaml_PreviewImageRect.Width = doc_width;
- xaml_PreviewImageRect.Visibility = System.Windows.Visibility.Visible;
-
- /* The gray fill (not visible) */
- xaml_PreviewGrayRect.RenderTransform = m_trans_doc;
- xaml_PreviewGrayRect.Height = doc_height;
- xaml_PreviewGrayRect.Width = doc_width;
- xaml_PreviewGrayRect.Visibility = System.Windows.Visibility.Visible;
-
- /* The visible portion */
- xaml_PreviewImageRectClip.RenderTransform = m_trans_doc;
- xaml_PreviewImageRectClip.Height = doc_height;
- xaml_PreviewImageRectClip.Width = doc_width;
- clip_rect = new Rect(pap_offset_x, pap_offset_y + offset_y, page_width, page_height);
- xaml_ImagePreviewClipGeom.Rect = clip_rect;
- xaml_PreviewImageRectClip.Visibility = System.Windows.Visibility.Visible;
- UpdateSizes();
- UpdateScaleInfo();
- m_initdone = true;
- }
-
- private void PageSelect_DragCompleted(object sender, MouseButtonEventArgs e)
- {
- if (m_pages_setting == PrintPages_t.CURRENT)
- return;
-
- /* Get the current page view */
- int page = (int) xaml_pageslider.Value;
- PrintDiagEventArgs info = new PrintDiagEventArgs(page);
- PrintDiagUpdatePreview(this, info);
- page = page + 1;
- xaml_pagecount.Text = page + "/" + m_numpages;
- }
-
- private void AdjustPageSize()
- {
- m_printcap = m_selectedPrinter.GetPrintCapabilities();
- }
-
- private void UpdateSizes()
- {
- xaml_TopArrowCanvas.RenderTransform = new TranslateTransform(m_trans_pap.X, 0);
- xaml_topsize.X2 = xaml_PreviewPaper.Width;
- xaml_toprighttoparrow.X1 = xaml_PreviewPaper.Width - 7;
- xaml_toprighttoparrow.X2 = xaml_PreviewPaper.Width;
- xaml_toprightbottomarrow.X1 = xaml_PreviewPaper.Width - 7;
- xaml_toprightbottomarrow.X2 = xaml_PreviewPaper.Width;
-
- xaml_LeftArrowCanvas.RenderTransform = new TranslateTransform(0, m_trans_pap.Y);
- xaml_leftsize.Y2 = xaml_PreviewPaper.Height;
- xaml_leftbottomleft.Y1 = xaml_PreviewPaper.Height - 7;
- xaml_leftbottomleft.Y2 = xaml_PreviewPaper.Height;
- xaml_leftbottomright.Y1 = xaml_PreviewPaper.Height - 7;
- xaml_leftbottomright.Y2 = xaml_PreviewPaper.Height;
-
- xaml_LeftArrowCanvas.Visibility = System.Windows.Visibility.Visible;
- xaml_TopArrowCanvas.Visibility = System.Windows.Visibility.Visible;
-
- UpdateUnits();
- }
-
- private void UpdateUnits()
- {
-
- double valHeight = m_pagedetails.Bounds.Height;
- double valWidth = m_pagedetails.Bounds.Width;
-
- if (m_units == Units_t.INCHES)
- {
- if (m_isrotated)
- {
- xaml_topsizevalue.Text = (Math.Truncate(valHeight) / 100.0).ToString();
- xaml_leftsizevalue.Text = (Math.Truncate(valWidth) / 100.0).ToString();
- }
- else
- {
- xaml_leftsizevalue.Text = (Math.Truncate(valHeight) / 100.0).ToString();
- xaml_topsizevalue.Text = (Math.Truncate(valWidth) / 100.0).ToString();
- }
- }
- else
- {
- if (m_isrotated)
- {
- xaml_topsizevalue.Text = (Math.Truncate(valHeight * 2.54) / 100.0).ToString();
- xaml_leftsizevalue.Text = (Math.Truncate(valWidth * 2.54) / 100.0).ToString();
- }
- else
- {
- xaml_leftsizevalue.Text = (Math.Truncate(valHeight * 2.54) / 100.0).ToString();
- xaml_topsizevalue.Text = (Math.Truncate(valWidth * 2.54) / 100.0).ToString();
- }
- }
- }
-
- private void PageNumberEnter(object sender, KeyEventArgs e)
- {
- if (e.Key == Key.Return)
- {
- e.Handled = true;
- string desired_page = xaml_pagerange.Text;
-
- Regex rangePattern = new Regex(@"^\s*\d+\s*(\-\s*\d+\s*)?(\,\s*\d+\s*(\-\s*\d+\s*)?)*$");
-
- Match m = rangePattern.Match(desired_page);
- if (!m.Success)
- xaml_invalid.Visibility = System.Windows.Visibility.Visible;
- else
- {
- xaml_invalid.Visibility = System.Windows.Visibility.Collapsed;
- }
- }
- }
-
- private void ClickOK(object sender, RoutedEventArgs e)
- {
- PrintDiagPrint(this);
- this.Hide();
- }
-
- private void ClickCancel(object sender, RoutedEventArgs e)
- {
- this.Hide();
- }
-
- private void xaml_Copies_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
- {
- m_numcopies = (int) e.NewValue;
- }
-
- private void AutoFit_Checked(object sender, RoutedEventArgs e)
- {
- UpdateView();
- }
-
- private void AutoFit_Unchecked(object sender, RoutedEventArgs e)
- {
- UpdateView();
- }
- }
-}
diff --git a/platform/windows/gsview/Properties/AssemblyInfo.cs b/platform/windows/gsview/Properties/AssemblyInfo.cs
deleted file mode 100644
index 8bd14cda..00000000
--- a/platform/windows/gsview/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-using System.Reflection;
-using System.Resources;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-using System.Windows;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("GSview")]
-[assembly: AssemblyDescription("GSview is a PDF, XPS, PS, and CBZ document viewer. It makes use of the MuPDF and Ghostscript rendering libraries to provide a number of features including conversion to other file formats. GSview was created and is maintained by Artifex Software Incorporated.\n")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("Artifex Software Incorporated")]
-[assembly: AssemblyProduct("GSview")]
-[assembly: AssemblyCopyright("Copyright © 2014")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-//In order to begin building localizable applications, set
-//<UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file
-//inside a <PropertyGroup>. For example, if you are using US english
-//in your source files, set the <UICulture> to en-US. Then uncomment
-//the NeutralResourceLanguage attribute below. Update the "en-US" in
-//the line below to match the UICulture setting in the project file.
-
-//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
-
-
-[assembly: ThemeInfo(
- ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
- //(used if a resource is not found in the page,
- // or application resource dictionaries)
- ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
- //(used if a resource is not found in the page,
- // app, or any theme specific resource dictionaries)
-)]
-
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("6.0.0.0")]
-[assembly: AssemblyFileVersion("6.0.0.0")]
diff --git a/platform/windows/gsview/Properties/Resources.Designer.cs b/platform/windows/gsview/Properties/Resources.Designer.cs
deleted file mode 100644
index 4fdb3c91..00000000
--- a/platform/windows/gsview/Properties/Resources.Designer.cs
+++ /dev/null
@@ -1,153 +0,0 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.34014
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace gsview.Properties {
- using System;
-
-
- /// <summary>
- /// A strongly-typed resource class, for looking up localized strings, etc.
- /// </summary>
- // This class was auto-generated by the StronglyTypedResourceBuilder
- // class via a tool like ResGen or Visual Studio.
- // To add or remove a member, edit your .ResX file then rerun ResGen
- // with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- public class Resources {
-
- private static global::System.Resources.ResourceManager resourceMan;
-
- private static global::System.Globalization.CultureInfo resourceCulture;
-
- [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resources() {
- }
-
- /// <summary>
- /// Returns the cached ResourceManager instance used by this class.
- /// </summary>
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- public static global::System.Resources.ResourceManager ResourceManager {
- get {
- if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("gsview.Properties.Resources", typeof(Resources).Assembly);
- resourceMan = temp;
- }
- return resourceMan;
- }
- }
-
- /// <summary>
- /// Overrides the current thread's CurrentUICulture property for all
- /// resource lookups using this strongly typed resource class.
- /// </summary>
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- public static global::System.Globalization.CultureInfo Culture {
- get {
- return resourceCulture;
- }
- set {
- resourceCulture = value;
- }
- }
-
- /// <summary>
- /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
- /// </summary>
- public static System.Drawing.Icon Close {
- get {
- object obj = ResourceManager.GetObject("Close", resourceCulture);
- return ((System.Drawing.Icon)(obj));
- }
- }
-
- /// <summary>
- /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
- /// </summary>
- public static System.Drawing.Icon copy {
- get {
- object obj = ResourceManager.GetObject("copy", resourceCulture);
- return ((System.Drawing.Icon)(obj));
- }
- }
-
- /// <summary>
- /// Looks up a localized resource of type System.Drawing.Bitmap.
- /// </summary>
- public static System.Drawing.Bitmap info {
- get {
- object obj = ResourceManager.GetObject("info", resourceCulture);
- return ((System.Drawing.Bitmap)(obj));
- }
- }
-
- /// <summary>
- /// Looks up a localized resource of type System.Drawing.Bitmap.
- /// </summary>
- public static System.Drawing.Bitmap Message {
- get {
- object obj = ResourceManager.GetObject("Message", resourceCulture);
- return ((System.Drawing.Bitmap)(obj));
- }
- }
-
- /// <summary>
- /// Looks up a localized resource of type System.Drawing.Bitmap.
- /// </summary>
- public static System.Drawing.Bitmap OpenFile {
- get {
- object obj = ResourceManager.GetObject("OpenFile", resourceCulture);
- return ((System.Drawing.Bitmap)(obj));
- }
- }
-
- /// <summary>
- /// Looks up a localized resource of type System.Byte[].
- /// </summary>
- public static byte[] PDFA_def {
- get {
- object obj = ResourceManager.GetObject("PDFA_def", resourceCulture);
- return ((byte[])(obj));
- }
- }
-
- /// <summary>
- /// Looks up a localized resource of type System.Byte[].
- /// </summary>
- public static byte[] PDFX_def {
- get {
- object obj = ResourceManager.GetObject("PDFX_def", resourceCulture);
- return ((byte[])(obj));
- }
- }
-
- /// <summary>
- /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
- /// </summary>
- public static System.Drawing.Icon printer {
- get {
- object obj = ResourceManager.GetObject("printer", resourceCulture);
- return ((System.Drawing.Icon)(obj));
- }
- }
-
- /// <summary>
- /// Looks up a localized resource of type System.Drawing.Bitmap.
- /// </summary>
- public static System.Drawing.Bitmap saveHS {
- get {
- object obj = ResourceManager.GetObject("saveHS", resourceCulture);
- return ((System.Drawing.Bitmap)(obj));
- }
- }
- }
-}
diff --git a/platform/windows/gsview/Properties/Resources.resx b/platform/windows/gsview/Properties/Resources.resx
deleted file mode 100644
index b87e9f79..00000000
--- a/platform/windows/gsview/Properties/Resources.resx
+++ /dev/null
@@ -1,148 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
- <!--
- Microsoft ResX Schema
-
- Version 2.0
-
- The primary goals of this format is to allow a simple XML format
- that is mostly human readable. The generation and parsing of the
- various data types are done through the TypeConverter classes
- associated with the data types.
-
- Example:
-
- ... ado.net/XML headers & schema ...
- <resheader name="resmimetype">text/microsoft-resx</resheader>
- <resheader name="version">2.0</resheader>
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
- <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
- <value>[base64 mime encoded serialized .NET Framework object]</value>
- </data>
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
- <comment>This is a comment</comment>
- </data>
-
- There are any number of "resheader" rows that contain simple
- name/value pairs.
-
- Each data row contains a name, and value. The row also contains a
- type or mimetype. Type corresponds to a .NET class that support
- text/value conversion through the TypeConverter architecture.
- Classes that don't support this are serialized and stored with the
- mimetype set.
-
- The mimetype is used for serialized objects, and tells the
- ResXResourceReader how to depersist the object. This is currently not
- extensible. For a given mimetype the value must be set accordingly:
-
- Note - application/x-microsoft.net.object.binary.base64 is the format
- that the ResXResourceWriter will generate, however the reader can
- read any of the formats listed below.
-
- mimetype: application/x-microsoft.net.object.binary.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.soap.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.bytearray.base64
- value : The object must be serialized into a byte array
- : using a System.ComponentModel.TypeConverter
- : and then encoded with base64 encoding.
- -->
- <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
- <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
- <xsd:element name="root" msdata:IsDataSet="true">
- <xsd:complexType>
- <xsd:choice maxOccurs="unbounded">
- <xsd:element name="metadata">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" />
- </xsd:sequence>
- <xsd:attribute name="name" use="required" type="xsd:string" />
- <xsd:attribute name="type" type="xsd:string" />
- <xsd:attribute name="mimetype" type="xsd:string" />
- <xsd:attribute ref="xml:space" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="assembly">
- <xsd:complexType>
- <xsd:attribute name="alias" type="xsd:string" />
- <xsd:attribute name="name" type="xsd:string" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="data">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
- <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
- <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
- <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
- <xsd:attribute ref="xml:space" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="resheader">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required" />
- </xsd:complexType>
- </xsd:element>
- </xsd:choice>
- </xsd:complexType>
- </xsd:element>
- </xsd:schema>
- <resheader name="resmimetype">
- <value>text/microsoft-resx</value>
- </resheader>
- <resheader name="version">
- <value>2.0</value>
- </resheader>
- <resheader name="reader">
- <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </resheader>
- <resheader name="writer">
- <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </resheader>
- <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <data name="Close" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\resources\close.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
- </data>
- <data name="info" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\resources\info.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
- </data>
- <data name="Message" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\resources\message.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
- </data>
- <data name="OpenFile" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\resources\openfile.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
- </data>
- <data name="printer" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\resources\printer.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
- </data>
- <data name="saveHS" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\resources\savehs.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
- </data>
- <data name="PDFA_def" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>pdfa_def.ps;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="PDFX_def" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>pdfx_def.ps;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </data>
- <data name="copy" type="System.Resources.ResXFileRef, System.Windows.Forms">
- <value>..\Resources\copy.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
- </data>
-</root> \ No newline at end of file
diff --git a/platform/windows/gsview/Properties/Settings.Designer.cs b/platform/windows/gsview/Properties/Settings.Designer.cs
deleted file mode 100644
index aec7d913..00000000
--- a/platform/windows/gsview/Properties/Settings.Designer.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.34014
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace gsview.Properties {
-
-
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")]
- internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
-
- private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
-
- public static Settings Default {
- get {
- return defaultInstance;
- }
- }
- }
-}
diff --git a/platform/windows/gsview/Properties/Settings.settings b/platform/windows/gsview/Properties/Settings.settings
deleted file mode 100644
index 033d7a5e..00000000
--- a/platform/windows/gsview/Properties/Settings.settings
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version='1.0' encoding='utf-8'?>
-<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
- <Profiles>
- <Profile Name="(Default)" />
- </Profiles>
- <Settings />
-</SettingsFile> \ No newline at end of file
diff --git a/platform/windows/gsview/Properties/pdfa_def.ps b/platform/windows/gsview/Properties/pdfa_def.ps
deleted file mode 100644
index 5d242d56..00000000
--- a/platform/windows/gsview/Properties/pdfa_def.ps
+++ /dev/null
@@ -1,40 +0,0 @@
-%!
-% This is a sample prefix file for creating a PDF/A document.
-% Feel free to modify entries marked with "Customize".
-% This assumes an ICC profile to reside in the file (ICCPROFILE),
-% unless the user modifies the corresponding line below.
-
-% Define entries in the document Info dictionary :
-/ICCProfile (ICCPROFILE) % Customize
-def
-
-[ /Title (TITLE) % Customize
- /DOCINFO pdfmark
-
-% Define an ICC profile :
-
-[/_objdef {icc_PDFA} /type /stream /OBJ pdfmark
-[{icc_PDFA}
-<<
- /N currentpagedevice /ProcessColorModel known {
- currentpagedevice /ProcessColorModel get dup /DeviceGray eq
- {pop 1} {
- /DeviceRGB eq
- {3}{4} ifelse
- } ifelse
- } {
- (ERROR, unable to determine ProcessColorModel) == flush
- } ifelse
->> /PUT pdfmark
-[{icc_PDFA} ICCProfile (r) file /PUT pdfmark
-
-% Define the output intent dictionary :
-
-[/_objdef {OutputIntent_PDFA} /type /dict /OBJ pdfmark
-[{OutputIntent_PDFA} <<
- /Type /OutputIntent % Must be so (the standard requires).
- /S /GTS_PDFA1 % Must be so (the standard requires).
- /DestOutputProfile {icc_PDFA} % Must be so (see above).
- /OutputConditionIdentifier (ICC Profile) % A string describing output intent
->> /PUT pdfmark
-[{Catalog} <</OutputIntents [ {OutputIntent_PDFA} ]>> /PUT pdfmark
diff --git a/platform/windows/gsview/Properties/pdfx_def.ps b/platform/windows/gsview/Properties/pdfx_def.ps
deleted file mode 100644
index a2bd0108..00000000
--- a/platform/windows/gsview/Properties/pdfx_def.ps
+++ /dev/null
@@ -1,48 +0,0 @@
-%!
-% This is a sample prefix file for creating a PDF/X-3 document.
-% Feel free to modify entries marked with "Customize".
-
-% This assumes an ICC profile to reside in the file (ICCPROFILE),
-% unless the user modifies the corresponding line below.
-
-systemdict /ProcessColorModel known {
- systemdict /ProcessColorModel get dup /DeviceGray ne exch /DeviceCMYK ne and
-} {
- true
-} ifelse
-{ (ERROR: ProcessColorModel must be /DeviceGray or DeviceCMYK.)=
- /ProcessColorModel cvx /rangecheck signalerror
-} if
-
-% Define entries to the document Info dictionary :
-
-/ICCProfile (ICCPROFILE) def % Customize or remove.
-
-[ /GTS_PDFXVersion (PDF/X-3:2002) % Must be so (the standard requires).
- /Title (TITLE) % Customize.
- /Trapped /False % Must be so (Ghostscript doesn't provide other).
- /DOCINFO pdfmark
-
-% Define an ICC profile :
-
-currentdict /ICCProfile known {
- [/_objdef {icc_PDFX} /type /stream /OBJ pdfmark
- [{icc_PDFX} <</N systemdict /ProcessColorModel get /DeviceGray eq {1} {4} ifelse >> /PUT pdfmark
- [{icc_PDFX} ICCProfile (r) file /PUT pdfmark
-} if
-
-% Define the output intent dictionary :
-
-[/_objdef {OutputIntent_PDFX} /type /dict /OBJ pdfmark
-[{OutputIntent_PDFX} <<
- /Type /OutputIntent % Must be so (the standard requires).
- /S /GTS_PDFX % Must be so (the standard requires).
- /OutputCondition (Created using ghostscript) % Customize
- /Info (Through gsview) % Customize
- /OutputConditionIdentifier (ICC Profile) % Customize
- /RegistryName (http://www.color.org) % Must be so (the standard requires).
- currentdict /ICCProfile known {
- /DestOutputProfile {icc_PDFX} % Must be so (see above).
- } if
->> /PUT pdfmark
-[{Catalog} <</OutputIntents [ {OutputIntent_PDFX} ]>> /PUT pdfmark
diff --git a/platform/windows/gsview/README.txt b/platform/windows/gsview/README.txt
deleted file mode 100644
index 35593bce..00000000
--- a/platform/windows/gsview/README.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-Note building the projects in this solution requires VS 2013
-To build the installer projects you will need the extension:
-
-Microsoft Visual Studio Installer Projects
-
-located at
-
-http://visualstudiogallery.msdn.microsoft.com/9abe329c-9bba-44a1-be59-0fbf6151054d \ No newline at end of file
diff --git a/platform/windows/gsview/RectList.cs b/platform/windows/gsview/RectList.cs
deleted file mode 100644
index ecbc013a..00000000
--- a/platform/windows/gsview/RectList.cs
+++ /dev/null
@@ -1,99 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.ComponentModel;
-
-namespace gsview
-{
- public enum Link_t
- {
- LINK_GOTO,
- LINK_URI,
- TEXTBOX,
- NOT_SET
- };
-
- public class RectList : INotifyPropertyChanged
- {
- public String Character
- {
- get;
- set;
- }
-
- public String Index
- {
- get;
- set;
- }
-
- public String Color
- {
- get;
- set;
- }
-
- public double Height
- {
- get;
- set;
- }
-
- public double Width
- {
- get;
- set;
- }
-
- public double X
- {
- get;
- set;
- }
-
- public double Y
- {
- get;
- set;
- }
-
- public double Scale
- {
- get;
- set;
- }
-
- public Link_t Type
- {
- get;
- set;
- }
-
- public int PageNum
- {
- get;
- set;
- }
-
- public Uri Urilink
- {
- get;
- set;
- }
-
- public event PropertyChangedEventHandler PropertyChanged;
-
- public void PageRefresh()
- {
- if (PropertyChanged != null)
- {
- PropertyChanged(this, new PropertyChangedEventArgs("X"));
- PropertyChanged(this, new PropertyChangedEventArgs("Height"));
- PropertyChanged(this, new PropertyChangedEventArgs("Width"));
- PropertyChanged(this, new PropertyChangedEventArgs("Y"));
- PropertyChanged(this, new PropertyChangedEventArgs("Color"));
- }
- }
- }
-}
diff --git a/platform/windows/gsview/Resources/ActualSize48.png b/platform/windows/gsview/Resources/ActualSize48.png
deleted file mode 100644
index 4c6e990f..00000000
--- a/platform/windows/gsview/Resources/ActualSize48.png
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Resources/Close.ico b/platform/windows/gsview/Resources/Close.ico
deleted file mode 100644
index 131dcf0c..00000000
--- a/platform/windows/gsview/Resources/Close.ico
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Resources/ContScrollFill48.png b/platform/windows/gsview/Resources/ContScrollFill48.png
deleted file mode 100644
index 2ebf672f..00000000
--- a/platform/windows/gsview/Resources/ContScrollFill48.png
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Resources/ExpandFill48.png b/platform/windows/gsview/Resources/ExpandFill48.png
deleted file mode 100644
index 9df8e512..00000000
--- a/platform/windows/gsview/Resources/ExpandFill48.png
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Resources/FloppyDisk.ico b/platform/windows/gsview/Resources/FloppyDisk.ico
deleted file mode 100644
index c50273e2..00000000
--- a/platform/windows/gsview/Resources/FloppyDisk.ico
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Resources/Left.ico b/platform/windows/gsview/Resources/Left.ico
deleted file mode 100644
index b2507e31..00000000
--- a/platform/windows/gsview/Resources/Left.ico
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Resources/Message.png b/platform/windows/gsview/Resources/Message.png
deleted file mode 100644
index 7746354e..00000000
--- a/platform/windows/gsview/Resources/Message.png
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Resources/OpenFile.png b/platform/windows/gsview/Resources/OpenFile.png
deleted file mode 100644
index 99262d52..00000000
--- a/platform/windows/gsview/Resources/OpenFile.png
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Resources/Right.ico b/platform/windows/gsview/Resources/Right.ico
deleted file mode 100644
index c2f9238f..00000000
--- a/platform/windows/gsview/Resources/Right.ico
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Resources/banner.png b/platform/windows/gsview/Resources/banner.png
deleted file mode 100644
index 60ec5ea0..00000000
--- a/platform/windows/gsview/Resources/banner.png
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Resources/contents.ico b/platform/windows/gsview/Resources/contents.ico
deleted file mode 100644
index 97a12dd8..00000000
--- a/platform/windows/gsview/Resources/contents.ico
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Resources/copy.ico b/platform/windows/gsview/Resources/copy.ico
deleted file mode 100644
index 7c8600f9..00000000
--- a/platform/windows/gsview/Resources/copy.ico
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Resources/folder_open.ico b/platform/windows/gsview/Resources/folder_open.ico
deleted file mode 100644
index ef6ac424..00000000
--- a/platform/windows/gsview/Resources/folder_open.ico
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Resources/gsview_app.ico b/platform/windows/gsview/Resources/gsview_app.ico
deleted file mode 100644
index 29c5ca50..00000000
--- a/platform/windows/gsview/Resources/gsview_app.ico
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Resources/hyperlink.png b/platform/windows/gsview/Resources/hyperlink.png
deleted file mode 100644
index 6ea0d798..00000000
--- a/platform/windows/gsview/Resources/hyperlink.png
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Resources/info.png b/platform/windows/gsview/Resources/info.png
deleted file mode 100644
index 172d23c3..00000000
--- a/platform/windows/gsview/Resources/info.png
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Resources/pageCBZ.ico b/platform/windows/gsview/Resources/pageCBZ.ico
deleted file mode 100644
index 42a0f829..00000000
--- a/platform/windows/gsview/Resources/pageCBZ.ico
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Resources/pageEPS.ico b/platform/windows/gsview/Resources/pageEPS.ico
deleted file mode 100644
index 3acc64d3..00000000
--- a/platform/windows/gsview/Resources/pageEPS.ico
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Resources/pageJPG.ico b/platform/windows/gsview/Resources/pageJPG.ico
deleted file mode 100644
index d1b6b885..00000000
--- a/platform/windows/gsview/Resources/pageJPG.ico
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Resources/pageOXPS.ico b/platform/windows/gsview/Resources/pageOXPS.ico
deleted file mode 100644
index 8a79ffa9..00000000
--- a/platform/windows/gsview/Resources/pageOXPS.ico
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Resources/pagePDF.ico b/platform/windows/gsview/Resources/pagePDF.ico
deleted file mode 100644
index 74423969..00000000
--- a/platform/windows/gsview/Resources/pagePDF.ico
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Resources/pagePNG.ico b/platform/windows/gsview/Resources/pagePNG.ico
deleted file mode 100644
index dad4bb15..00000000
--- a/platform/windows/gsview/Resources/pagePNG.ico
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Resources/pagePS.ico b/platform/windows/gsview/Resources/pagePS.ico
deleted file mode 100644
index 2ddcfe05..00000000
--- a/platform/windows/gsview/Resources/pagePS.ico
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Resources/pageXPS.ico b/platform/windows/gsview/Resources/pageXPS.ico
deleted file mode 100644
index e30ec2a7..00000000
--- a/platform/windows/gsview/Resources/pageXPS.ico
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Resources/printer.ico b/platform/windows/gsview/Resources/printer.ico
deleted file mode 100644
index c03d9853..00000000
--- a/platform/windows/gsview/Resources/printer.ico
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Resources/saveHS.png b/platform/windows/gsview/Resources/saveHS.png
deleted file mode 100644
index 5ca4d106..00000000
--- a/platform/windows/gsview/Resources/saveHS.png
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Resources/search.ico b/platform/windows/gsview/Resources/search.ico
deleted file mode 100644
index 2841a637..00000000
--- a/platform/windows/gsview/Resources/search.ico
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Resources/search.png b/platform/windows/gsview/Resources/search.png
deleted file mode 100644
index 9bbb2255..00000000
--- a/platform/windows/gsview/Resources/search.png
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Resources/thumbnail.ico b/platform/windows/gsview/Resources/thumbnail.ico
deleted file mode 100644
index 71d38e97..00000000
--- a/platform/windows/gsview/Resources/thumbnail.ico
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Resources/zoom_in.ico b/platform/windows/gsview/Resources/zoom_in.ico
deleted file mode 100644
index b0ca2ead..00000000
--- a/platform/windows/gsview/Resources/zoom_in.ico
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Resources/zoom_out.ico b/platform/windows/gsview/Resources/zoom_out.ico
deleted file mode 100644
index a31d6c8b..00000000
--- a/platform/windows/gsview/Resources/zoom_out.ico
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/Selection.xaml b/platform/windows/gsview/Selection.xaml
deleted file mode 100644
index af67b2d5..00000000
--- a/platform/windows/gsview/Selection.xaml
+++ /dev/null
@@ -1,49 +0,0 @@
-<Window x:Class="gsview.Selection"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- Title="Selection" Height="524" Width="452">
-
- <DockPanel LastChildFill="True">
- <Menu IsMainMenu="True" DockPanel.Dock="Top">
- <MenuItem Header="OK" Click="ClickOK"/>
- <MenuItem Header="Exit" Click="ClickExit"/>
- <MenuItem Header="Clear" Click="ClickClear"/>
- </Menu>
-
- <StackPanel Orientation="Horizontal" DockPanel.Dock="Top" Background="WhiteSmoke">
- <Button Margin="10 0 0 0" Width="20" Height="20" Click="ZoomIn" Background="Transparent" BorderBrush="Transparent">
- <Button.Template>
- <ControlTemplate TargetType="{x:Type Button}">
- <Grid>
- <Ellipse>
- <Ellipse.Fill >
- <ImageBrush ImageSource="Resources/zoom_in.ico"/>
- </Ellipse.Fill>
- </Ellipse>
- <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
- </Grid>
- </ControlTemplate>
- </Button.Template>
- </Button>
- <Button Margin="10 0 0 0" Width="20" Height="20" Click="ZoomOut" Background="Transparent" BorderBrush="Transparent">
- <Button.Template>
- <ControlTemplate TargetType="{x:Type Button}">
- <Grid>
- <Ellipse>
- <Ellipse.Fill >
- <ImageBrush ImageSource="Resources/zoom_out.ico"/>
- </Ellipse.Fill>
- </Ellipse>
- <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
- </Grid>
- </ControlTemplate>
- </Button.Template>
- </Button>
- </StackPanel>
- <ScrollViewer VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Visible" HorizontalAlignment="Stretch" Background="DarkGray" DockPanel.Dock="Left">
- <Canvas x:Name="xaml_Canvas" MouseDown="Canvas_MouseDown" MouseMove="Canvas_MouseMove" Background="Transparent" Width="{Binding ActualWidth, ElementName=xaml_Image}" Height="{Binding ActualHeight, ElementName=xaml_Image}">
- <Image x:Name="xaml_Image" Width="{Binding Width}" Height="{Binding Height}" Stretch="Fill" HorizontalAlignment="Center" Source="{Binding BitMap}"/>
- </Canvas>
- </ScrollViewer>
- </DockPanel>
-</Window>
diff --git a/platform/windows/gsview/Selection.xaml.cs b/platform/windows/gsview/Selection.xaml.cs
deleted file mode 100644
index 1fe76fd1..00000000
--- a/platform/windows/gsview/Selection.xaml.cs
+++ /dev/null
@@ -1,235 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Shapes;
-
-namespace gsview
-{
- /// <summary>
- /// Interaction logic for Selection.xaml
- /// </summary>
- ///
-
- public enum SelectStatus_t
- {
- OK,
- CANCEL,
- SELECT,
- CLOSE,
- ZOOMIN,
- ZOOMOUT
- }
-
- public class SelectEventArgs : EventArgs
- {
- Point m_topleft, m_size;
- double m_zoomFactor;
- SelectStatus_t m_state;
- int m_page_num;
- Extract_Type_t m_type;
-
- public Point TopLeft
- {
- get { return m_topleft; }
- }
-
- public Point Size
- {
- get { return m_size; }
- }
-
- public double ZoomFactor
- {
- get { return m_zoomFactor; }
- }
-
- public int PageNum
- {
- get { return m_page_num; }
- }
-
- public SelectStatus_t State
- {
- get { return m_state; }
- }
-
- public Extract_Type_t Type
- {
- get { return m_type; }
- }
-
- public SelectEventArgs(Point start, Point size, double zoom,
- SelectStatus_t state, int page, Extract_Type_t type)
- {
- m_topleft = start;
- m_size = size;
- m_zoomFactor = zoom;
- m_state = state;
- m_page_num = page;
- m_type = type;
- }
- }
-
- public partial class Selection : Window
- {
- private Point m_startPoint, m_topleft;
- private Point m_size;
- public SelectStatus_t m_curr_state;
- double m_zoom;
- double m_old_zoom;
- int m_page_num;
- private Rectangle m_rect;
- Extract_Type_t m_type;
- internal delegate void CallBackMain(object gsObject, SelectEventArgs info);
- internal event CallBackMain UpdateMain;
-
- public Selection(int page, double init_zoom, Extract_Type_t type)
- {
- InitializeComponent();
- this.Closing += new System.ComponentModel.CancelEventHandler(WindowClosing);
- m_page_num = page;
- m_zoom = init_zoom;
- m_curr_state = SelectStatus_t.OK;
- m_type = type;
- m_rect = null;
- }
-
- void WindowClosing(object sender, System.ComponentModel.CancelEventArgs e)
- {
- var result = new SelectEventArgs(m_topleft, m_size, m_zoom,
- SelectStatus_t.CANCEL, m_page_num, m_type);
- UpdateMain(this, result);
- }
-
- private void ClickOK(object sender, RoutedEventArgs e)
- {
- if (m_curr_state != SelectStatus_t.OK)
- return;
- if (m_rect == null)
- Close();
- else
- {
- m_size.X = m_rect.Width;
- m_size.Y = m_rect.Height;
- m_topleft.Y = xaml_Image.Height - m_topleft.Y - m_size.Y;
- var result = new SelectEventArgs(m_topleft, m_size, m_zoom,
- SelectStatus_t.SELECT, m_page_num, m_type);
- UpdateMain(this, result);
- }
- }
-
- private void ClickExit(object sender, RoutedEventArgs e)
- {
- var result = new SelectEventArgs(m_topleft, m_size, m_zoom,
- SelectStatus_t.CANCEL, m_page_num, m_type);
- UpdateMain(this, result);
- Close();
- }
-
- private void ClickClear(object sender, RoutedEventArgs e)
- {
- if (m_rect != null)
- {
- xaml_Canvas.Children.Remove(m_rect);
- m_rect = null;
- }
- }
-
- private void ZoomIn(object sender, RoutedEventArgs e)
- {
- if (m_curr_state != SelectStatus_t.OK || m_zoom >= Constants.ZOOM_MAX)
- return;
- m_old_zoom = m_zoom;
- m_zoom = m_zoom + Constants.ZOOM_STEP;
- if (m_zoom > Constants.ZOOM_MAX)
- {
- m_zoom = Constants.ZOOM_MAX;
- return;
- }
- m_curr_state = SelectStatus_t.ZOOMIN;
- var result = new SelectEventArgs(m_startPoint, m_size, m_zoom,
- SelectStatus_t.ZOOMIN, m_page_num, m_type);
- UpdateMain(this, result);
- }
-
- private void ZoomOut(object sender, RoutedEventArgs e)
- {
- if (m_curr_state != SelectStatus_t.OK || m_zoom <= Constants.ZOOM_MIN)
- return;
- m_old_zoom = m_zoom;
- m_zoom = m_zoom - Constants.ZOOM_STEP;
- if (m_zoom < Constants.ZOOM_MIN)
- {
- m_zoom = Constants.ZOOM_MIN;
- return;
- }
- m_curr_state = SelectStatus_t.ZOOMOUT;
- var result = new SelectEventArgs(m_startPoint, m_size, m_zoom,
- SelectStatus_t.ZOOMOUT, m_page_num, m_type);
- UpdateMain(this, result);
- }
-
- /* Called when we have had a zoom change */
- public void UpdateRect()
- {
- if (m_rect != null)
- {
- double left = Canvas.GetLeft(m_rect);
- double top = Canvas.GetTop(m_rect);
- Canvas.SetLeft(m_rect, left * m_zoom / m_old_zoom);
- Canvas.SetTop(m_rect, top * m_zoom / m_old_zoom);
- m_rect.Width = m_rect.Width * m_zoom / m_old_zoom;
- m_rect.Height = m_rect.Height * m_zoom / m_old_zoom;
- }
- }
-
- private void Canvas_MouseDown(object sender, MouseButtonEventArgs e)
- {
- if (m_rect != null)
- {
- xaml_Canvas.Children.Remove(m_rect);
- }
-
- m_startPoint = e.GetPosition(xaml_Canvas);
-
- m_rect = new Rectangle
- {
- Stroke = Brushes.Red,
- StrokeThickness = 2
- };
- Canvas.SetLeft(m_rect, m_startPoint.X);
- Canvas.SetTop(m_rect, m_startPoint.X);
- xaml_Canvas.Children.Add(m_rect);
- }
-
- private void Canvas_MouseMove(object sender, MouseEventArgs e)
- {
- if (e.LeftButton == MouseButtonState.Released || m_rect == null)
- return;
-
- var pos = e.GetPosition(xaml_Canvas);
-
- var x = Math.Min(pos.X, m_startPoint.X);
- var y = Math.Min(pos.Y, m_startPoint.Y);
-
- var w = Math.Max(pos.X, m_startPoint.X) - x;
- var h = Math.Max(pos.Y, m_startPoint.Y) - y;
-
- m_rect.Width = w;
- m_rect.Height = h;
-
- m_topleft.X = x;
- m_topleft.Y = y;
- Canvas.SetLeft(m_rect, x);
- Canvas.SetTop(m_rect, y);
- }
- }
-}
diff --git a/platform/windows/gsview/Strings/en-US/Messages.Designer.cs b/platform/windows/gsview/Strings/en-US/Messages.Designer.cs
deleted file mode 100644
index 1c34b901..00000000
--- a/platform/windows/gsview/Strings/en-US/Messages.Designer.cs
+++ /dev/null
@@ -1,63 +0,0 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.34014
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace gsview.Strings.en_US {
- using System;
-
-
- /// <summary>
- /// A strongly-typed resource class, for looking up localized strings, etc.
- /// </summary>
- // This class was auto-generated by the StronglyTypedResourceBuilder
- // class via a tool like ResGen or Visual Studio.
- // To add or remove a member, edit your .ResX file then rerun ResGen
- // with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Messages {
-
- private static global::System.Resources.ResourceManager resourceMan;
-
- private static global::System.Globalization.CultureInfo resourceCulture;
-
- [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Messages() {
- }
-
- /// <summary>
- /// Returns the cached ResourceManager instance used by this class.
- /// </summary>
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager {
- get {
- if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("gsview.Strings.en_US.Messages", typeof(Messages).Assembly);
- resourceMan = temp;
- }
- return resourceMan;
- }
- }
-
- /// <summary>
- /// Overrides the current thread's CurrentUICulture property for all
- /// resource lookups using this strongly typed resource class.
- /// </summary>
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture {
- get {
- return resourceCulture;
- }
- set {
- resourceCulture = value;
- }
- }
- }
-}
diff --git a/platform/windows/gsview/Strings/en-US/Messages.resx b/platform/windows/gsview/Strings/en-US/Messages.resx
deleted file mode 100644
index 4fdb1b6a..00000000
--- a/platform/windows/gsview/Strings/en-US/Messages.resx
+++ /dev/null
@@ -1,101 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
- <!--
- Microsoft ResX Schema
-
- Version 1.3
-
- The primary goals of this format is to allow a simple XML format
- that is mostly human readable. The generation and parsing of the
- various data types are done through the TypeConverter classes
- associated with the data types.
-
- Example:
-
- ... ado.net/XML headers & schema ...
- <resheader name="resmimetype">text/microsoft-resx</resheader>
- <resheader name="version">1.3</resheader>
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
- <data name="Name1">this is my long string</data>
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
- [base64 mime encoded serialized .NET Framework object]
- </data>
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- [base64 mime encoded string representing a byte array form of the .NET Framework object]
- </data>
-
- There are any number of "resheader" rows that contain simple
- name/value pairs.
-
- Each data row contains a name, and value. The row also contains a
- type or mimetype. Type corresponds to a .NET class that support
- text/value conversion through the TypeConverter architecture.
- Classes that don't support this are serialized and stored with the
- mimetype set.
-
- The mimetype is used for serialized objects, and tells the
- ResXResourceReader how to depersist the object. This is currently not
- extensible. For a given mimetype the value must be set accordingly:
-
- Note - application/x-microsoft.net.object.binary.base64 is the format
- that the ResXResourceWriter will generate, however the reader can
- read any of the formats listed below.
-
- mimetype: application/x-microsoft.net.object.binary.base64
- value : The object must be serialized with
- : System.Serialization.Formatters.Binary.BinaryFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.soap.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.bytearray.base64
- value : The object must be serialized into a byte array
- : using a System.ComponentModel.TypeConverter
- : and then encoded with base64 encoding.
- -->
-
- <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
- <xsd:element name="root" msdata:IsDataSet="true">
- <xsd:complexType>
- <xsd:choice maxOccurs="unbounded">
- <xsd:element name="data">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
- <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
- <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
- <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="resheader">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required" />
- </xsd:complexType>
- </xsd:element>
- </xsd:choice>
- </xsd:complexType>
- </xsd:element>
- </xsd:schema>
- <resheader name="resmimetype">
- <value>text/microsoft-resx</value>
- </resheader>
- <resheader name="version">
- <value>1.3</value>
- </resheader>
- <resheader name="reader">
- <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </resheader>
- <resheader name="writer">
- <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </resheader>
-</root> \ No newline at end of file
diff --git a/platform/windows/gsview/TextBlock.cs b/platform/windows/gsview/TextBlock.cs
deleted file mode 100644
index 55d3e744..00000000
--- a/platform/windows/gsview/TextBlock.cs
+++ /dev/null
@@ -1,121 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.ComponentModel;
-using System.Collections.ObjectModel;
-
-namespace gsview
-{
- public class TextBlock : INotifyPropertyChanged
- {
- double height;
- double width;
- double x;
- double y;
- double scale;
- String color;
- int page_number;
-
- public List<TextLine> TextLines;
-
- /* Determine intersection case of block with selection rectangle */
- public Intersection_t CheckIntersection(double rect_x, double rect_y, double rect_w, double rect_h)
- {
- if (rect_h == 0 || rect_y > y + height || rect_y + rect_h < y ||
- rect_x + rect_w < x || rect_x > x + width)
- return Intersection_t.NONE;
-
- if (rect_y < y && y + height < rect_y + rect_h)
- return Intersection_t.FULL;
-
- return Intersection_t.PARTIAL;
- }
-
- public double Height
- {
- get { return height; }
- set
- {
- height = value;
- OnPropertyChanged("Height");
- }
- }
-
- public double Width
- {
- get { return width; }
- set
- {
- width = value;
- OnPropertyChanged("Width");
- }
- }
-
- public double X
- {
- get { return x; }
- set
- {
- x = value;
- OnPropertyChanged("X");
- }
- }
-
- public double Y
- {
- get { return y; }
- set
- {
- y = value;
- OnPropertyChanged("Y");
- }
- }
- public double Scale
- {
- get { return scale; }
- set { scale = value;}
- }
-
- public int PageNumber
- {
- get { return page_number; }
- set { page_number = value; }
- }
-
- public String Color
- {
- get { return color; }
- set
- {
- color = value;
- OnPropertyChanged("Color");
- }
- }
-
- public int GetNumberLines()
- {
- return TextLines.Count;
- }
-
- public event PropertyChangedEventHandler PropertyChanged;
-
- // Create the OnPropertyChanged method to raise the event
- protected void OnPropertyChanged(string name)
- {
- PropertyChangedEventHandler handler = PropertyChanged;
- if (handler != null)
- {
- handler(this, new PropertyChangedEventArgs(name));
- }
- }
- }
-
- public class BlocksText : ObservableCollection<TextBlock>
- {
- public BlocksText()
- : base()
- {
- }
- }
-}
diff --git a/platform/windows/gsview/TextCharacter.cs b/platform/windows/gsview/TextCharacter.cs
deleted file mode 100644
index b69cfbff..00000000
--- a/platform/windows/gsview/TextCharacter.cs
+++ /dev/null
@@ -1,79 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-//using System.Threading.Tasks;
-using System.ComponentModel;
-
-namespace gsview
-{
- public class TextCharacter
- {
- public String character;
-
- public double Height
- {
- get;
- set;
- }
-
- public double Width
- {
- get;
- set;
- }
-
- public double X
- {
- get;
- set;
- }
-
- public double Y
- {
- get;
- set;
- }
-
- public double Scale
- {
- get;
- set;
- }
-
- public String Color
- {
- get;
- set;
- }
-
- /* Here we only worry about intersection in the x direction TODO */
- public Intersection_t CheckIntersection(double rect_x, double rect_y, double rect_w, double rect_h)
- {
- if (rect_w == 0 || rect_x > X + Width || rect_x + rect_w < X)
- return Intersection_t.NONE;
-
- if (rect_x <= X && X + Width <= rect_x + rect_w)
- return Intersection_t.FULL;
-
- return Intersection_t.PARTIAL;
- }
-
-
- //public event PropertyChangedEventHandler PropertyChanged;
-
- /*
- public void CharRefresh()
- {
- if (PropertyChanged != null)
- {
- PropertyChanged(this, new PropertyChangedEventArgs("X"));
- PropertyChanged(this, new PropertyChangedEventArgs("Height"));
- PropertyChanged(this, new PropertyChangedEventArgs("Width"));
- PropertyChanged(this, new PropertyChangedEventArgs("Y"));
- PropertyChanged(this, new PropertyChangedEventArgs("Color"));
- }
- }
- * */
- }
-}
diff --git a/platform/windows/gsview/TextLine.cs b/platform/windows/gsview/TextLine.cs
deleted file mode 100644
index c37f604b..00000000
--- a/platform/windows/gsview/TextLine.cs
+++ /dev/null
@@ -1,121 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-//using System.Threading.Tasks;
-using System.ComponentModel;
-using System.Collections.ObjectModel;
-
-namespace gsview
-{
- public enum Intersection_t
- {
- NONE,
- PARTIAL,
- FULL
- };
-
- public class TextLine : INotifyPropertyChanged
- {
- public List<TextCharacter> TextCharacters;
- double height;
- double width;
- double x;
- double y;
- double scale;
- String color;
- int page_number;
-
- /* Determine intersection case of line with selection rectangle */
- public Intersection_t CheckIntersection(double rect_x, double rect_y, double rect_w, double rect_h)
- {
- if (rect_h == 0 || rect_y > y + height || rect_y + rect_h < y)
- return Intersection_t.NONE;
-
- if (rect_y <= y && y + height <= rect_y + rect_h)
- return Intersection_t.FULL;
-
- return Intersection_t.PARTIAL;
- }
-
- public double Height
- {
- get { return height; }
- set
- {
- height = value;
- OnPropertyChanged("Height");
- }
- }
-
- public double Width
- {
- get { return width; }
- set
- {
- width = value;
- OnPropertyChanged("Width");
- }
- }
-
- public double X
- {
- get { return x; }
- set
- {
- x = value;
- OnPropertyChanged("X");
- }
- }
-
- public double Y
- {
- get { return y; }
- set
- {
- y = value;
- OnPropertyChanged("Y");
- }
- }
- public double Scale
- {
- get { return scale; }
- set { scale = value;}
- }
-
- public int PageNumber
- {
- get { return page_number; }
- set { page_number = value; }
- }
-
- public String Color
- {
- get { return color; }
- set
- {
- color = value;
- //OnPropertyChanged("Color");
- }
- }
- public event PropertyChangedEventHandler PropertyChanged;
-
- // Create the OnPropertyChanged method to raise the event
- protected void OnPropertyChanged(string name)
- {
- PropertyChangedEventHandler handler = PropertyChanged;
- if (handler != null)
- {
- handler(this, new PropertyChangedEventArgs(name));
- }
- }
- }
-
- public class LinesText : ObservableCollection<TextLine>
- {
- public LinesText()
- : base()
- {
- }
- }
-}
diff --git a/platform/windows/gsview/ghostsharp.cs b/platform/windows/gsview/ghostsharp.cs
deleted file mode 100644
index 099239e9..00000000
--- a/platform/windows/gsview/ghostsharp.cs
+++ /dev/null
@@ -1,1178 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading;
-//using System.Threading.Tasks;
-using System.Runtime.InteropServices;
-using System.IO;
-using System.Security;
-using System.ComponentModel;
-
-namespace gsview
-{
- /* Warning. This list is in a particular order. The devices before
- * psdrgb do not support multiple pages. Those including psdrgb do
- * support multiple pages. This is used in the conversion process.
- * Also note that mupdf devices go at the beginning of the list */
- public enum gsDevice_t
- {
- svg,
- pnm,
- pclbitmap,
- pwg,
- bmp16, /* Add mupdf devices before this one */
- bmp16m,
- bmp256,
- bmp32b,
- bmpgray,
- bmpmono,
- eps2write,
- jpeg,
- jpegcmyk,
- jpeggray,
- pamcmyk32,
- pamcmyk4,
- pbm,
- pgm,
- png16,
- png16m,
- png256,
- pngalpha,
- pnggray,
- pngmono,
- psdcmyk,
- psdrgb, /* Add single page gs devices before this device */
- pdfwrite,
- ps2write,
- pxlcolor,
- pxlmono,
- tiff12nc,
- tiff24nc,
- tiff32nc,
- tiff64nc,
- tiffcrle,
- tiffg3,
- tiffg32d,
- tiffg4,
- tiffgray,
- tifflzw,
- tiffpack,
- tiffsep,
- txtwrite,
- xpswrite
- };
-
- public enum GS_Task_t
- {
- PS_DISTILL,
- CREATE_XPS,
- SAVE_RESULT
- }
-
- public enum GS_Result_t
- {
- gsOK,
- gsFAILED,
- gsCANCELLED
- }
-
- /* Parameters */
- public struct gsParams_t
- {
- public String init_string;
- public String init_file;
- public int resolution;
- public gsDevice_t device;
- public String devicename;
- public String outputfile;
- public String inputfile;
- public GS_Task_t task;
- public GS_Result_t result;
- public int num_pages;
- public String options;
- public bool need_multi_page;
- public System.Collections.IList pages;
- public int firstpage;
- public int lastpage;
- public int currpage; /* valid only when pages != null */
- };
-
- public class gsEventArgs : EventArgs
- {
- private bool m_completed;
- private int m_progress;
- private gsParams_t m_param;
-
- public bool Completed
- {
- get { return m_completed; }
- }
-
- public gsParams_t Params
- {
- get { return m_param; }
- }
-
- public int Progress
- {
- get { return m_progress; }
- }
-
- public gsEventArgs(bool completed, int progress, gsParams_t param)
- {
- m_completed = completed;
- m_progress = progress;
- m_param = param;
- }
- }
-
- /* from gs */
- public struct gsapi_revision_t
- {
- public IntPtr product;
- public IntPtr copyright;
- public int revision;
- public int revisiondate;
- }
-
- public enum gsEncoding {
- GS_ARG_ENCODING_LOCAL = 0,
- GS_ARG_ENCODING_UTF8 = 1,
- GS_ARG_ENCODING_UTF16LE = 2
- };
-
- public enum gsStatus
- {
- GS_READY,
- GS_BUSY,
- GS_ERROR
- };
-
- static class gsConstants
- {
- public const int E_QUIT = -101;
- public const int GS_READ_BUFFER = 32768;
- }
-
- [SuppressUnmanagedCodeSecurity]
- class ghostsharp
- {
- /* Callback proto for stdio */
- public delegate int gsStdIOHandler(IntPtr caller_handle, IntPtr buffer,
- int len);
-
- #region DLLInterface
- /* Ghostscript API */
- [DllImport("gsdll64.dll", EntryPoint = "gsapi_revision", CharSet = CharSet.Ansi,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int gsapi_revision64(ref gsapi_revision_t vers, int size);
-
- [DllImport("gsdll64.dll", EntryPoint="gsapi_new_instance", CharSet = CharSet.Ansi,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int gsapi_new_instance64(out IntPtr pinstance,
- IntPtr caller_handle);
-
- [DllImport("gsdll64.dll", EntryPoint = "gsapi_delete_instance", CharSet = CharSet.Ansi,
- CallingConvention = CallingConvention.StdCall)]
- private static extern void gsapi_delete_instance64(IntPtr instance);
-
- [DllImport("gsdll64.dll", EntryPoint = "gsapi_init_with_args", CharSet = CharSet.Ansi,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int gsapi_init_with_args64(IntPtr instance, int argc,
- IntPtr argv);
-
- [DllImport("gsdll64.dll", EntryPoint = "gsapi_exit", CharSet = CharSet.Ansi,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int gsapi_exit64(IntPtr instance);
-
- [DllImport("gsdll64.dll", EntryPoint = "gsapi_set_arg_encoding", CharSet = CharSet.Ansi,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int gsapi_set_arg_encoding64(IntPtr instance,
- int encoding);
-
- [DllImport("gsdll64.dll", EntryPoint = "gsapi_set_stdio", CharSet = CharSet.Ansi,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int gsapi_set_stdio64(IntPtr instance,
- gsStdIOHandler stdin, gsStdIOHandler stdout, gsStdIOHandler stderr);
-
- [DllImport("gsdll64.dll", EntryPoint = "gsapi_run_string_begin", CharSet = CharSet.Ansi,
- CallingConvention = CallingConvention.StdCall)]
- private static extern void gsapi_run_string_begin64(IntPtr instance,
- int usererr, ref int exitcode);
-
- [DllImport("gsdll64.dll", EntryPoint = "gsapi_run_string_continue", CharSet = CharSet.Ansi,
- CallingConvention = CallingConvention.StdCall)]
- private static extern void gsapi_run_string_continue64(IntPtr instance,
- IntPtr command, int count, int usererr, ref int exitcode);
-
- [DllImport("gsdll64.dll", EntryPoint = "gsapi_run_string_end", CharSet = CharSet.Ansi,
- CallingConvention = CallingConvention.StdCall)]
- private static extern void gsapi_run_string_end64(IntPtr instance,
- int usererr, ref int exitcode);
-
- /* 32 Bit DLL */
- [DllImport("gsdll32.dll", EntryPoint = "gsapi_revision", CharSet = CharSet.Ansi,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int gsapi_revision32(ref gsapi_revision_t vers, int size);
-
- [DllImport("gsdll32.dll", EntryPoint = "gsapi_new_instance", CharSet = CharSet.Ansi,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int gsapi_new_instance32(out IntPtr pinstance,
- IntPtr caller_handle);
-
- [DllImport("gsdll32.dll", EntryPoint = "gsapi_delete_instance", CharSet = CharSet.Ansi,
- CallingConvention = CallingConvention.StdCall)]
- private static extern void gsapi_delete_instance32(IntPtr instance);
-
- [DllImport("gsdll32.dll", EntryPoint = "gsapi_init_with_args", CharSet = CharSet.Ansi,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int gsapi_init_with_args32(IntPtr instance, int argc,
- IntPtr argv);
-
- [DllImport("gsdll32.dll", EntryPoint = "gsapi_exit", CharSet = CharSet.Ansi,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int gsapi_exit32(IntPtr instance);
-
- [DllImport("gsdll32.dll", EntryPoint = "gsapi_set_arg_encoding", CharSet = CharSet.Ansi,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int gsapi_set_arg_encoding32(IntPtr instance,
- int encoding);
-
- [DllImport("gsdll32.dll", EntryPoint = "gsapi_set_stdio", CharSet = CharSet.Ansi,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int gsapi_set_stdio32(IntPtr instance,
- gsStdIOHandler stdin, gsStdIOHandler stdout, gsStdIOHandler stderr);
-
- [DllImport("gsdll32.dll", EntryPoint = "gsapi_run_string_begin", CharSet = CharSet.Ansi,
- CallingConvention = CallingConvention.StdCall)]
- private static extern void gsapi_run_string_begin32(IntPtr instance,
- int usererr, ref int exitcode);
-
- [DllImport("gsdll32.dll", EntryPoint = "gsapi_run_string_continue", CharSet = CharSet.Ansi,
- CallingConvention = CallingConvention.StdCall)]
- private static extern void gsapi_run_string_continue32(IntPtr instance,
- IntPtr command, int count, int usererr, ref int exitcode);
-
- [DllImport("gsdll32.dll", EntryPoint = "gsapi_run_string_end", CharSet = CharSet.Ansi,
- CallingConvention = CallingConvention.StdCall)]
- private static extern void gsapi_run_string_end32(IntPtr instance,
- int usererr, ref int exitcode);
- #endregion DLLInterface
-
- #region DLLErrorCatch
- /* In case the DLL is not found we need to wrap the methods up with
- * a try/catch. Also select 32 or 64 bit DLL at this time. This
- * C# code is compiled as ANYCPU type */
- private int tc_gsapi_revision(ref gsapi_revision_t vers, int size)
- {
- int code = 0;
- try
- {
- if (is64bit)
- code = gsapi_revision64(ref vers, size);
- else
- code = gsapi_revision32(ref vers, size);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String output = "DllNotFoundException: Ghostscript DLL not found";
- gsDLLProblemMain(this, output);
- return -1;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String output = "BadImageFormatException: Incorrect Ghostscript DLL";
- gsDLLProblemMain(this, output);
- return -1;
- }
- return code;
- }
-
- private int tc_gsapi_new_instance(out IntPtr pinstance, IntPtr caller_handle)
- {
- int code = 0;
- pinstance = IntPtr.Zero;
- try
- {
- if (is64bit)
- code = gsapi_new_instance64(out pinstance, caller_handle);
- else
- code = gsapi_new_instance32(out pinstance, caller_handle);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String output = "DllNotFoundException: Ghostscript DLL not found";
- gsDLLProblemMain(this, output);
- return -1;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String output = "BadImageFormatException: Incorrect Ghostscript DLL";
- gsDLLProblemMain(this, output);
- return -1;
- }
- return code;
- }
-
- private int tc_gsapi_delete_instance(IntPtr instance)
- {
- try
- {
- if (is64bit)
- gsapi_delete_instance64(instance);
- else
- gsapi_delete_instance32(instance);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String output = "DllNotFoundException: Ghostscript DLL not found";
- gsDLLProblemMain(this, output);
- return -1;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String output = "BadImageFormatException: Incorrect Ghostscript DLL";
- gsDLLProblemMain(this, output);
- return -1;
- }
- return 0;
- }
-
- private int tc_gsapi_init_with_args(IntPtr instance, int argc, IntPtr argv)
- {
- int code;
-
- try
- {
- if (is64bit)
- code = gsapi_init_with_args64(instance, argc, argv);
- else
- code = gsapi_init_with_args32(instance, argc, argv);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String output = "DllNotFoundException: Ghostscript DLL not found";
- gsDLLProblemMain(this, output);
- return -1;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String output = "BadImageFormatException: Incorrect Ghostscript DLL";
- gsDLLProblemMain(this, output);
- return -1;
- }
- catch(System.Reflection.TargetInvocationException ee)
- {
- String output = "TargetInvocationException";
- gsDLLProblemMain(this, output);
- return -1;
- }
-
- return code;
- }
-
- private int tc_gsapi_exit(IntPtr instance)
- {
- int code;
- try
- {
- if (is64bit)
- code = gsapi_exit64(instance);
- else
- code = gsapi_exit32(instance);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String output = "DllNotFoundException: Ghostscript DLL not found";
- gsDLLProblemMain(this, output);
- return -1;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String output = "BadImageFormatException: Incorrect Ghostscript DLL";
- gsDLLProblemMain(this, output);
- return -1;
- }
- return code;
- }
-
- private int tc_gsapi_set_arg_encoding(IntPtr instance, int encoding)
- {
- int code;
- try
- {
- if (is64bit)
- code = gsapi_set_arg_encoding64(instance, encoding);
- else
- code = gsapi_set_arg_encoding32(instance, encoding);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String output = "DllNotFoundException: Ghostscript DLL not found";
- gsDLLProblemMain(this, output);
- return -1;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String output = "BadImageFormatException: Incorrect Ghostscript DLL";
- gsDLLProblemMain(this, output);
- return -1;
- }
- return code;
- }
-
- private int tc_gsapi_set_stdio(IntPtr instance, gsStdIOHandler stdin,
- gsStdIOHandler stdout, gsStdIOHandler stderr)
- {
- int code;
- try
- {
- if (is64bit)
- code = gsapi_set_stdio64(instance, stdin, stdout, stderr);
- else
- code = gsapi_set_stdio32(instance, stdin, stdout, stderr);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String output = "DllNotFoundException: Ghostscript DLL not found";
- gsDLLProblemMain(this, output);
- return -1;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String output = "BadImageFormatException: Incorrect Ghostscript DLL";
- gsDLLProblemMain(this, output);
- return -1;
- }
- return code;
- }
-
- private int tc_gsapi_run_string_begin(IntPtr instance, int usererr,
- ref int exitcode)
- {
- try
- {
- if (is64bit)
- gsapi_run_string_begin64(instance, usererr, ref exitcode);
- else
- gsapi_run_string_begin32(instance, usererr, ref exitcode);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String output = "DllNotFoundException: Ghostscript DLL not found";
- gsDLLProblemMain(this, output);
- return -1;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String output = "BadImageFormatException: Incorrect Ghostscript DLL";
- gsDLLProblemMain(this, output);
- return -1;
- }
- return 0;
- }
-
- private int tc_gsapi_run_string_continue(IntPtr instance, IntPtr command,
- int count, int usererr, ref int exitcode)
- {
- try
- {
- if (is64bit)
- gsapi_run_string_continue64(instance, command, count, usererr,
- ref exitcode);
- else
- gsapi_run_string_continue32(instance, command, count, usererr,
- ref exitcode);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String output = "DllNotFoundException: Ghostscript DLL not found";
- gsDLLProblemMain(this, output);
- return -1;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String output = "BadImageFormatException: Incorrect Ghostscript DLL";
- gsDLLProblemMain(this, output);
- return -1;
- }
- return 0;
- }
-
- private int tc_gsapi_run_string_end(IntPtr instance, int usererr,
- ref int exitcode)
- {
- try
- {
- if (is64bit)
- gsapi_run_string_end64(instance, usererr, ref exitcode);
- else
- gsapi_run_string_end32(instance, usererr, ref exitcode);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String output = "DllNotFoundException: Ghostscript DLL not found";
- gsDLLProblemMain(this, output);
- return -1;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String output = "BadImageFormatException: Incorrect Ghostscript DLL";
- gsDLLProblemMain(this, output);
- return -1;
- }
- return 0;
- }
- #endregion DLLErrorCatch
-
- private int StdInCallback(IntPtr handle, IntPtr pointer, int count)
- {
- String output = Marshal.PtrToStringAnsi(pointer);
- return count;
- }
-
- private int StdOutCallback(IntPtr handle, IntPtr pointer, int count)
- {
- String output = Marshal.PtrToStringAnsi(pointer);
- gsIOUpdateMain(this, output, count);
- if (m_params.task != GS_Task_t.PS_DISTILL)
- {
- /* See if we have a page number */
- if (count >= 7 && output.Substring(0, 4) == "Page")
- {
- String page = output.Substring(5, count - 6);
- int numVal;
- try
- {
- double perc = 0.0;
- numVal = System.Convert.ToInt32(page);
- if (m_params.firstpage == -1 && m_params.lastpage == -1 &&
- m_params.pages == null)
- {
- /* Doing full document */
- perc = 100.0 * (double)numVal / (double)m_params.num_pages;
- }
- else
- {
- if (m_params.pages != null)
- {
- perc = 100.0 * ((double)numVal - m_params.currpage) / (double)m_params.num_pages;
- m_params.currpage = m_params.currpage + 1;
- }
- else
- {
- /* continugous set of pages */
- perc = 100.0 * ((double)numVal - m_params.firstpage + 1) / (double)m_params.num_pages;
- }
- }
- m_worker.ReportProgress((int)perc);
- }
- catch (FormatException e)
- {
- Console.WriteLine("XPSPrint Error: Input string is not a sequence of digits.");
- }
- catch (OverflowException e)
- {
- Console.WriteLine("XPSPrint Error: The number cannot fit in an Int32.");
- }
-
- }
- }
- return count;
- }
-
- private int StdErrCallback(IntPtr handle, IntPtr pointer, int count)
- {
- String output = Marshal.PtrToStringAnsi(pointer);
- gsIOUpdateMain(this, output, count);
- return count;
- }
-
- IntPtr gsInstance;
- BackgroundWorker m_worker;
- bool is64bit;
- gsParams_t m_params;
- /* Callbacks to Main */
- internal delegate void gsDLLProblem(object gsObject, String mess);
- internal event gsDLLProblem gsDLLProblemMain;
- internal delegate void gsIOCallBackMain(object gsObject, String mess, int len);
- internal event gsIOCallBackMain gsIOUpdateMain;
- internal delegate void gsCallBackMain(object gsObject, gsEventArgs info);
- internal event gsCallBackMain gsUpdateMain;
- /* These need to be declared as members, to keep a reference and avoid GC
- * You do not pin delegates */
- gsStdIOHandler RaiseStdInCallback;
- gsStdIOHandler RaiseStdOutCallback;
- gsStdIOHandler RaiseStdErrCallback;
-
- public ghostsharp()
- {
- /* Determine now if we are 64 or 32 bit */
- is64bit = Environment.Is64BitOperatingSystem &&
- Environment.Is64BitProcess;
- m_worker = null;
- gsInstance = IntPtr.Zero;
-
- /* Go ahead and do the assignment here */
- RaiseStdInCallback = StdInCallback;
- RaiseStdOutCallback = StdOutCallback;
- RaiseStdErrCallback = StdErrCallback;
- }
-
- private List<String> GetOptions(String options)
- {
- List<String> optionlist = new List<String>();
-
- if (options != "")
- {
- string[] words = options.Split(' ');
- for (int k = 0; k < words.Length; k++)
- {
- if (words[k].Length > 0)
- {
- optionlist.Add(words[k]);
- }
- }
- }
- return optionlist;
- }
-
- /* A standard command line approach to using gs API */
- private void gsWork1(object sender, DoWorkEventArgs e)
- {
- gsParams_t gsparams = (gsParams_t) e.Argument;
- String out_file = gsparams.outputfile;
- String in_file = gsparams.inputfile;
- int num_params = 8; /* base number */
- int rend_count = 1;
- String options;
- int count;
- List<String> optionlist;
-
- optionlist = GetOptions(gsparams.options);
- num_params = num_params + optionlist.Count;
- if (gsparams.pages != null)
- {
- rend_count = gsparams.pages.Count;
- num_params = num_params + 2;
- }
- if (gsparams.init_file != null)
- num_params = num_params + 1;
- if (gsparams.init_string != null)
- num_params = num_params + 2;
-
- var argParam = new GCHandle[num_params];
- var argPtrs = new IntPtr[num_params];
- String[] strParams = new String[num_params];
- List<byte[]> CharacterArray = new List<byte[]>(num_params);
- GCHandle argPtrsStable;
-
- /* New instance */
- int code = tc_gsapi_new_instance(out gsInstance, IntPtr.Zero);
- if (code < 0)
- {
- gsparams.result = GS_Result_t.gsFAILED;
- e.Result = gsparams;
- return;
- }
-
- code = tc_gsapi_set_stdio(gsInstance, RaiseStdInCallback,
- RaiseStdOutCallback, RaiseStdErrCallback);
- code = tc_gsapi_set_arg_encoding(gsInstance, (int)gsEncoding.GS_ARG_ENCODING_UTF8);
-
- if (code == 0)
- {
- for (int jj = 0; jj < rend_count; jj++)
- {
- strParams[0] = "gs"; /* This does not matter */
- strParams[1] = "-dNOPAUSE";
- strParams[2] = "-dBATCH";
- if (gsparams.devicename != null)
- {
- strParams[3] = "-sDEVICE=" + gsparams.devicename;
- }
- else
- {
- strParams[3] = "-sDEVICE=" + Enum.GetName(typeof(gsDevice_t), gsparams.device);
- }
- strParams[4] = "-r" + gsparams.resolution;
- /* Create temp file if file not specified */
- if (out_file == null)
- {
- out_file = Path.GetTempFileName();
- gsparams.outputfile = out_file;
- }
- count = 5;
- /* Add in the options */
- for (int kk = 0; kk < optionlist.Count; kk++)
- {
- strParams[count] = optionlist[kk];
- count++;
- }
- /* We have discontinuous page selection */
- if (gsparams.pages != null)
- {
- String firstpage, lastpage;
- options = gsparams.options;
- SelectPage curr_page = (SelectPage)(gsparams.pages[jj]);
- firstpage = "-dFirstPage=" + curr_page.Page;
- lastpage = "-dLastPage=" + curr_page.Page;
- strParams[count] = firstpage;
- count++;
- strParams[count] = lastpage;
- count++;
- /* Look for file extension. */
- string extension = System.IO.Path.GetExtension(out_file);
- int len = extension.Length;
- String new_out_file = out_file.Substring(0, out_file.Length - len);
- strParams[count] = "-o" + new_out_file + "_page" + curr_page.Page + extension;
- }
- else
- {
- if (gsparams.need_multi_page)
- {
- /* Look for file extension. */
- string extension = System.IO.Path.GetExtension(out_file);
- int len = extension.Length;
- String new_out_file = out_file.Substring(0, out_file.Length - len);
- strParams[count] = "-o" + new_out_file + "_page%d" + extension;
- }
- else
- strParams[count] = "-o" + out_file;
- }
- if (gsparams.init_string != null)
- {
- count++;
- strParams[count] = "-c";
- count++;
- strParams[count] = gsparams.init_string;
- }
- count++;
- strParams[count] = "-f";
- if (gsparams.init_file != null)
- {
- count++;
- strParams[count] = gsparams.init_file;
- }
- count++;
- strParams[count] = in_file;
-
- /* Now convert our Strings to char* and get pinned handles to these.
- * This keeps the c# GC from moving stuff around on us */
- for (int k = 0; k < num_params; k++)
- {
- CharacterArray.Add(System.Text.Encoding.UTF8.GetBytes(strParams[k].ToCharArray()));
- argParam[k] = GCHandle.Alloc(CharacterArray[k], GCHandleType.Pinned);
- argPtrs[k] = argParam[k].AddrOfPinnedObject();
- }
- /* Also stick the array of pointers into memory that will not be GCd */
- argPtrsStable = GCHandle.Alloc(argPtrs, GCHandleType.Pinned);
-
- code = tc_gsapi_init_with_args(gsInstance, num_params, argPtrsStable.AddrOfPinnedObject());
- /* All the pinned items need to be freed so the GC can do its job */
- for (int k = 0; k < num_params; k++)
- {
- argParam[k].Free();
- }
- argPtrsStable.Free();
- /* Free the character array list in case we have multiple runs */
- CharacterArray.Clear();
-
- if (code < 0)
- break;
- }
- }
-
- int code1 = tc_gsapi_exit(gsInstance);
- if ((code == 0) || (code == gsConstants.E_QUIT))
- code = code1;
-
- tc_gsapi_delete_instance(gsInstance);
- if ((code == 0) || (code == gsConstants.E_QUIT))
- {
- gsparams.result = GS_Result_t.gsOK;
- e.Result = gsparams;
- return;
- }
-
- gsparams.result = GS_Result_t.gsFAILED;
- e.Result = gsparams;
- return;
- }
-
- /* Feeding gs piecemeal so that we can have some progress callback */
- /* Used only for PS Distill */
- private void gsWork2(object sender, DoWorkEventArgs e)
- {
- gsParams_t Params = (gsParams_t)e.Argument;
- String out_file = Params.outputfile;
- String in_file = Params.inputfile;
- int num_params = 6;
- if (Params.options.Length > 0)
- num_params = num_params + 1;
-
- int exitcode = 0;
- var argParam = new GCHandle[num_params];
- var argPtrs = new IntPtr[num_params];
- var Feed = new GCHandle();
- var FeedPtr = new IntPtr();
- String[] strParams = new String[num_params];
- List<byte[]> CharacterArray = new List<byte[]>(num_params);
- GCHandle argPtrsStable;
- Byte[] Buffer = new Byte[gsConstants.GS_READ_BUFFER];
- BackgroundWorker worker = sender as BackgroundWorker;
-
- /* Open the file */
- var fs = new FileStream(in_file, FileMode.Open);
- var len = (int) fs.Length;
- /* New instance */
- int code = tc_gsapi_new_instance(out gsInstance, IntPtr.Zero);
- if (code < 0)
- {
- Params.result = GS_Result_t.gsFAILED;
- e.Result = Params;
- return;
- }
-
- code = tc_gsapi_set_stdio(gsInstance, RaiseStdInCallback,
- RaiseStdOutCallback, RaiseStdErrCallback);
- code = tc_gsapi_set_arg_encoding(gsInstance, (int)gsEncoding.GS_ARG_ENCODING_UTF8);
-
- if (code == 0)
- {
- strParams[0] = "gs"; /* This does not matter */
- strParams[1] = "-dNOPAUSE";
- strParams[2] = "-dBATCH";
- if (Params.devicename != null)
- {
- strParams[3] = "-sDEVICE=" + Params.devicename;
- }
- else
- {
- strParams[3] = "-sDEVICE=" + Enum.GetName(typeof(gsDevice_t), Params.device);
- }
- strParams[4] = "-r" + Params.resolution;
- /* Create temp file if file not specified */
- if (out_file == null)
- {
- out_file = Path.GetTempFileName();
- Params.outputfile = out_file;
- }
- if (Params.options.Length > 0)
- {
- strParams[5] = Params.options;
- strParams[6] = "-o" + out_file;
- } else
- strParams[5] = "-o" + out_file;
-
- /* Now convert our Strings to char* and get pinned handles to these.
- * This keeps the c# GC from moving stuff around on us */
- for (int k = 0; k < num_params; k++)
- {
- CharacterArray.Add(System.Text.Encoding.UTF8.GetBytes(strParams[k].ToCharArray()));
- argParam[k] = GCHandle.Alloc(CharacterArray[k], GCHandleType.Pinned);
- argPtrs[k] = argParam[k].AddrOfPinnedObject();
- }
- /* Also stick the array of pointers into memory that will not be GCd */
- argPtrsStable = GCHandle.Alloc(argPtrs, GCHandleType.Pinned);
-
- code = tc_gsapi_init_with_args(gsInstance, num_params, argPtrsStable.AddrOfPinnedObject());
-
- /* First pin the data buffer */
- Feed = GCHandle.Alloc(Buffer, GCHandleType.Pinned);
- FeedPtr = Feed.AddrOfPinnedObject();
-
- /* Now start feeding the input piece meal and do a call back
- * with our progress */
- if (code == 0)
- {
- int count;
- double perc;
- int total = 0;
-
- tc_gsapi_run_string_begin(gsInstance, 0, ref exitcode);
- while ((count = fs.Read(Buffer, 0, gsConstants.GS_READ_BUFFER)) > 0)
- {
- tc_gsapi_run_string_continue(gsInstance, FeedPtr, count, 0, ref exitcode);
- if (exitcode < 0)
- {
- code = exitcode;
- break;
- }
- total = total + count;
- perc = 100.0 * (double) total / (double) len;
- worker.ReportProgress((int)perc);
- if (worker.CancellationPending == true)
- {
- e.Cancel = true;
- break;
- }
- }
- tc_gsapi_run_string_end(gsInstance, 0, ref exitcode);
- if (code == 0)
- code = exitcode;
- }
-
- /* All the pinned items need to be freed so the GC can do its job */
- for (int k = 0; k < num_params; k++)
- {
- argParam[k].Free();
- }
- argPtrsStable.Free();
- Feed.Free();
- }
-
- int code1 = tc_gsapi_exit(gsInstance);
- if ((code == 0) || (code == gsConstants.E_QUIT))
- code = code1;
-
- tc_gsapi_delete_instance(gsInstance);
- if ((code == 0) || (code == gsConstants.E_QUIT))
- {
- Params.result = GS_Result_t.gsOK;
- e.Result = Params;
- return;
- }
- Params.result = GS_Result_t.gsFAILED;
- e.Result = Params;
- return;
- }
-
- /* Callback */
- private void gsCompleted(object sender, RunWorkerCompletedEventArgs e)
- {
- gsParams_t Value;
- gsEventArgs info;
- gsParams_t Params;
-
- try
- {
- Params = (gsParams_t)e.Result;
- }
- catch(System.Reflection.TargetInvocationException ee)
- {
- /* Something went VERY wrong with GS */
- /* Following is to help debug these issues */
- /* var inner = ee.InnerException;
- var message = ee.Message;
- var inner_message = inner.Message;
- String bound = "\n************\n";
- gsIOUpdateMain(this, bound, bound.Length);
- gsIOUpdateMain(this, message, message.Length);
- gsIOUpdateMain(this, bound, bound.Length);
- gsIOUpdateMain(this, inner_message, inner_message.Length);
- gsIOUpdateMain(this, bound, bound.Length);
- var temp = inner.Source;
- gsIOUpdateMain(this, bound, bound.Length);
- gsIOUpdateMain(this, temp, temp.Length);
- var method = inner.TargetSite;
- gsIOUpdateMain(this, bound, bound.Length);
- var method_name = method.Name;
- gsIOUpdateMain(this, method_name, method_name.Length);
- var stack = inner.StackTrace;
- gsIOUpdateMain(this, bound, bound.Length);
- gsIOUpdateMain(this, stack, stack.Length); */
- String output = "Ghostscript DLL Invalid Access.";
- gsDLLProblemMain(this, output);
- return;
- }
-
- if (Params.task == GS_Task_t.PS_DISTILL)
- m_worker.DoWork -= new DoWorkEventHandler(gsWork2);
- else
- m_worker.DoWork -= new DoWorkEventHandler(gsWork1);
-
- if (e.Cancelled)
- {
- Value = new gsParams_t();
- Value.result = GS_Result_t.gsCANCELLED;
- info = new gsEventArgs(true, 100, Value);
- }
- else
- {
- Value = (gsParams_t)e.Result;
- info = new gsEventArgs(true, 100, Value);
- }
- gsUpdateMain(this, info);
- }
-
- private void gsProgressChanged(object sender, ProgressChangedEventArgs e)
- {
- /* Callback with progress */
- gsParams_t Value = new gsParams_t();
- gsEventArgs info = new gsEventArgs(false, e.ProgressPercentage, Value);
- gsUpdateMain(this, info);
- }
-
- public gsStatus DistillPS(String fileName, int resolution)
- {
- gsParams_t gsparams = new gsParams_t(); ;
-
- gsparams.init_file = null;
- gsparams.init_string = null;
- gsparams.device = gsDevice_t.pdfwrite;
- gsparams.devicename = null;
- gsparams.outputfile = null;
- gsparams.resolution = resolution;
- gsparams.inputfile = fileName;
- gsparams.num_pages = -1;
- gsparams.task = GS_Task_t.PS_DISTILL;
- gsparams.options = "";
- gsparams.need_multi_page = false;
- gsparams.pages = null;
- gsparams.firstpage = -1;
- gsparams.lastpage = -1;
- gsparams.currpage = -1;
- return RunGhostscript(gsparams);
- }
-
- public gsStatus CreateXPS(String fileName, int resolution, int num_pages,
- PrintControl printsettings)
- {
- gsParams_t gsparams = new gsParams_t();
- gsparams.init_file = null;
- gsparams.init_string = null;
- gsparams.device = gsDevice_t.xpswrite;
- gsparams.outputfile = null;
- gsparams.resolution = resolution;
- gsparams.inputfile = fileName;
- gsparams.task = GS_Task_t.CREATE_XPS;
- gsparams.num_pages = num_pages;
- gsparams.options = "-dNOCACHE";
- gsparams.need_multi_page = false;
- gsparams.pages = null;
- gsparams.firstpage = -1;
- gsparams.lastpage = -1;
- gsparams.currpage = -1;
-
- if (printsettings != null)
- {
- double paperheight = printsettings.m_pagedetails.PaperSize.Height;
- double paperwidth = printsettings.m_pagedetails.PaperSize.Width;
- double width = paperwidth * 72.0 / 100.0;
- double height = paperheight * 72.0 / 100.0;
- String temp = " -dDEVICEWIDTHPOINTS=" + width + " -dDEVICEHEIGHTPOINTS=" + height + " -dFIXEDMEDIA";
- /* Scale and translate and rotate if needed */
- if (printsettings.xaml_autofit.IsChecked == true)
- temp = temp + " -dFitPage";
- gsparams.options = gsparams.options + temp;
- }
- return RunGhostscript(gsparams);
- }
-
- public gsStatus Convert(String fileName, String options, String device,
- String outputFile, int num_pages, int resolution,
- bool multi_page_needed, System.Collections.IList pages,
- int firstpage, int lastpage, String init_file, String init_string)
- {
- gsParams_t gsparams = new gsParams_t();
-
- gsparams.init_file = init_file;
- gsparams.init_string = init_string;
- gsparams.devicename = device;
- gsparams.outputfile = outputFile;
- gsparams.inputfile = fileName;
- gsparams.task = GS_Task_t.SAVE_RESULT;
- gsparams.num_pages = num_pages;
- gsparams.options = options;
- gsparams.resolution = resolution;
- gsparams.need_multi_page = multi_page_needed;
- gsparams.pages = pages;
- gsparams.firstpage = firstpage;
- gsparams.lastpage = lastpage;
- gsparams.currpage = 1;
- return RunGhostscript(gsparams);
- }
-
- public gsStatus GetStatus()
- {
- if (m_worker != null && m_worker.IsBusy)
- return gsStatus.GS_BUSY;
- else
- return gsStatus.GS_READY;
- }
-
- public String GetVersion()
- {
- gsapi_revision_t vers;
- vers.copyright = IntPtr.Zero;
- vers.product = IntPtr.Zero;
- vers.revision = 0;
- vers.revisiondate = 0;
- int size = System.Runtime.InteropServices.Marshal.SizeOf(vers);
-
- if (tc_gsapi_revision(ref vers, size) == 0)
- {
- String product = Marshal.PtrToStringAnsi(vers.product);
- String output;
- int major = vers.revision / 100;
- int minor = vers.revision - major * 100;
- String versnum = major + "." + minor;
- output = product + " " + versnum;
- return output;
- }
- else
- return null;
- }
-
- private gsStatus RunGhostscript(gsParams_t Params)
- {
- try
- {
- if (m_worker != null && m_worker.IsBusy)
- {
- m_worker.CancelAsync();
- return gsStatus.GS_BUSY;
- }
- if (m_worker == null)
- {
- m_worker = new BackgroundWorker();
- m_worker.WorkerReportsProgress = true;
- m_worker.WorkerSupportsCancellation = true;
- m_worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(gsCompleted);
- m_worker.ProgressChanged += new ProgressChangedEventHandler(gsProgressChanged);
- }
-
- if (Params.task == GS_Task_t.PS_DISTILL)
- m_worker.DoWork += new DoWorkEventHandler(gsWork2);
- else
- m_worker.DoWork += new DoWorkEventHandler(gsWork1);
-
- m_params = Params;
- m_worker.RunWorkerAsync(Params);
- return gsStatus.GS_READY;
- }
- catch (OutOfMemoryException e)
- {
- Console.WriteLine("Memory allocation failed during gs rendering\n");
- return gsStatus.GS_ERROR;
- }
- }
-
- public void Cancel()
- {
- m_worker.CancelAsync();
- }
- }
-}
diff --git a/platform/windows/gsview/gsIO.cs b/platform/windows/gsview/gsIO.cs
deleted file mode 100644
index 82e47be6..00000000
--- a/platform/windows/gsview/gsIO.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.ComponentModel;
-
-namespace gsview
-{
- class gsIO : INotifyPropertyChanged
- {
- public String gsIOString
- {
- get;
- set;
- }
-
- public event PropertyChangedEventHandler PropertyChanged;
-
- public void PageRefresh()
- {
- if (PropertyChanged != null)
- {
- PropertyChanged(this, new PropertyChangedEventArgs("gsIOString"));
- }
- }
-
- public gsIO()
- {
- this.gsIOString = "";
- }
- }
-}
diff --git a/platform/windows/gsview/gsOutput.xaml b/platform/windows/gsview/gsOutput.xaml
deleted file mode 100644
index 0c69461c..00000000
--- a/platform/windows/gsview/gsOutput.xaml
+++ /dev/null
@@ -1,51 +0,0 @@
-<Window x:Class="gsview.gsOutput"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- Title="Ghostscript Messages" Height="500" Width="500">
-
- <DockPanel LastChildFill="True">
- <Grid DockPanel.Dock="Bottom" Visibility="Visible" Background="WhiteSmoke">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="*" />
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition Width="Auto" />
- </Grid.ColumnDefinitions>
- <Button Grid.Row="0" Grid.Column="1" Width="50" Height="20" Click="ClearContents" Background="Transparent" BorderBrush="Transparent" Margin="5,0,15,0">
- <Button.Template>
- <ControlTemplate TargetType="{x:Type Button}">
- <Grid>
- <Rectangle Height="Auto" RadiusX="5" RadiusY="5">
- <Rectangle.Fill >
- <SolidColorBrush Color="LightSlateGray"></SolidColorBrush>
- </Rectangle.Fill>
- </Rectangle>
- <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
- </Grid>
- </ControlTemplate>
- </Button.Template>
- <TextBlock><Bold>Clear</Bold></TextBlock>
- </Button>
- <Button Grid.Row="0" Grid.Column="2" Width="50" Height="20" Click="HideWindow" Background="Transparent" BorderBrush="Transparent" Margin="5,0,15,0">
- <Button.Template>
- <ControlTemplate TargetType="{x:Type Button}">
- <Grid>
- <Rectangle Height="Auto" RadiusX="5" RadiusY="5">
- <Rectangle.Fill >
- <SolidColorBrush Color="LightSlateGray"></SolidColorBrush>
- </Rectangle.Fill>
- </Rectangle>
- <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
- </Grid>
- </ControlTemplate>
- </Button.Template>
- <TextBlock><Bold>OK</Bold></TextBlock>
- </Button>
- </Grid>
-
- <!-- Pages are last child fill. This goes in the center of our dock panel -->
- <Grid HorizontalAlignment="Stretch" Background="DarkGray">
- <TextBox x:Name="xaml_gsText" Margin="1, 1, 1, 1" VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Visible" Text="{Binding gsIOString}" IsReadOnly="True"/>
- </Grid>
-
- </DockPanel>
-</Window>
diff --git a/platform/windows/gsview/gsOutput.xaml.cs b/platform/windows/gsview/gsOutput.xaml.cs
deleted file mode 100644
index c2aa9375..00000000
--- a/platform/windows/gsview/gsOutput.xaml.cs
+++ /dev/null
@@ -1,60 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-//using System.Threading.Tasks;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Shapes;
-
-namespace gsview
-{
- /// <summary>
- /// Interaction logic for gsOutput.xaml
- /// </summary>
- public partial class gsOutput : Window
- {
- gsIO m_gsIO;
- public gsOutput()
- {
- InitializeComponent();
- this.Closing += new System.ComponentModel.CancelEventHandler(FakeWindowClosing);
- m_gsIO = new gsIO();
- xaml_gsText.DataContext = m_gsIO;
- }
-
- void FakeWindowClosing(object sender, System.ComponentModel.CancelEventArgs e)
- {
- e.Cancel = true;
- this.Hide();
- }
-
- private void HideWindow(object sender, RoutedEventArgs e)
- {
- this.Hide();
- }
-
- public void RealWindowClosing()
- {
- this.Closing -= new System.ComponentModel.CancelEventHandler(FakeWindowClosing);
- this.Close();
- }
-
- public void Update(String newstring, int len)
- {
- m_gsIO.gsIOString += newstring.Substring(0, len);
- m_gsIO.PageRefresh();
- }
-
- private void ClearContents(object sender, RoutedEventArgs e)
- {
- m_gsIO.gsIOString = null;
- m_gsIO.PageRefresh();
- }
- }
-}
diff --git a/platform/windows/gsview/gsprint.cs b/platform/windows/gsview/gsprint.cs
deleted file mode 100644
index 7d7c68fd..00000000
--- a/platform/windows/gsview/gsprint.cs
+++ /dev/null
@@ -1,452 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.IO.Packaging;
-using System.Printing;
-using System.Windows.Controls;
-using System.Windows.Documents;
-using System.Windows.Documents.Serialization;
-using System.Windows.Media;
-using System.Windows.Xps;
-using System.Windows.Xps.Packaging;
-using System.Windows.Xps.Serialization;
-using System.Drawing.Printing;
-
-namespace gsview
-{
- public enum PrintStatus_t
- {
- PRINT_READY,
- PRINT_BUSY,
- PRINT_ERROR,
- PRINT_CANCELLED
- };
-
- /* Class for handling async print progress callback */
- public class gsPrintEventArgs : EventArgs
- {
- private PrintStatus_t m_status;
- private bool m_completed;
- private int m_page;
-
- public PrintStatus_t Status
- {
- get { return m_status; }
- }
-
- public bool Completed
- {
- get { return m_completed; }
- }
-
- public int Page
- {
- get { return m_page; }
- }
-
- public gsPrintEventArgs(PrintStatus_t status, bool completed, int page)
- {
- m_completed = completed;
- m_status = status;
- m_page = page;
- }
- }
-
- public class gsprint
- {
- private XpsDocumentWriter m_docWriter = null;
- internal delegate void AsyncPrintCallBack(object printObject, gsPrintEventArgs info);
- internal event AsyncPrintCallBack PrintUpdate;
- private bool m_busy;
-
- public bool IsBusy()
- {
- return m_busy;
- }
-
- public gsprint()
- {
- m_busy = false;
- }
-
- /* Show std. print dialog */
- public PrintDialog GetPrintDialog()
- {
- PrintDialog dlg = new PrintDialog();
- /* Current page and page ranges is going to require a little work */
- dlg.PageRangeSelection = PageRangeSelection.AllPages;
- dlg.UserPageRangeEnabled = true;
- dlg.CurrentPageEnabled = true;
- dlg.SelectedPagesEnabled = false;
- m_busy = false;
- if (dlg.ShowDialog() == true)
- return dlg;
- return null;
- }
-
- /* Main print entry point */
- public void Print(PrintQueue queu, FixedDocumentSequence fixdoc, PrintControl printcontrol)
- {
- XpsDocumentWriter docwrite;
- PrintTicket Ticket = SetUpTicket(queu, printcontrol, fixdoc);
- docwrite = GetDocWriter(queu);
- m_busy = true;
-#if DISABLED_FOR_NOW
- docwrite.WritingPrintTicketRequired +=
- new WritingPrintTicketRequiredEventHandler(PrintTicket);
-#endif
- PrintPages(docwrite, fixdoc, Ticket);
- }
-
- /* Set up the print ticket */
- private PrintTicket SetUpTicket(PrintQueue queue, PrintControl printcontrol, FixedDocumentSequence fixdoc)
- {
- PrintTicket Ticket = new PrintTicket();
-
- PageMediaSizeName name = PaperKindToPageMediaSize(printcontrol.m_pagedetails.PaperSize.Kind);
- PageMediaSize mediasize = new PageMediaSize(name, printcontrol.m_pagedetails.PaperSize.Width, printcontrol.m_pagedetails.PaperSize.Height);
-
- /* Media size */
- Ticket.PageMediaSize = mediasize;
- /* Scale to fit */
- Ticket.PageScalingFactor = (int)Math.Round(printcontrol.m_page_scale * 100.0);
-
- System.Windows.Size page_size = new System.Windows.Size(mediasize.Width.Value, mediasize.Height.Value);
- DocumentPaginator paginator = fixdoc.DocumentPaginator;
- paginator.PageSize = page_size;
-
- /* Copy Count */
- Ticket.CopyCount = printcontrol.m_numcopies;
-
- /* Orientation */
- if (printcontrol.m_isrotated)
- if (printcontrol.m_pagedetails.Landscape)
- Ticket.PageOrientation = PageOrientation.Portrait;
- else
- Ticket.PageOrientation = PageOrientation.Landscape;
- else
- if (printcontrol.m_pagedetails.Landscape)
- Ticket.PageOrientation = PageOrientation.Landscape;
- else
- Ticket.PageOrientation = PageOrientation.Portrait;
-
- System.Printing.ValidationResult result = queue.MergeAndValidatePrintTicket(queue.UserPrintTicket, Ticket);
- queue.UserPrintTicket = result.ValidatedPrintTicket;
- queue.Commit();
- return result.ValidatedPrintTicket;
- }
-
- /* Send it */
- private void PrintPages(XpsDocumentWriter xpsdw, FixedDocumentSequence fixdoc, PrintTicket Ticket)
- {
- m_docWriter = xpsdw;
- xpsdw.WritingCompleted +=
- new WritingCompletedEventHandler(AsyncCompleted);
- xpsdw.WritingProgressChanged +=
- new WritingProgressChangedEventHandler(AsyncProgress);
- xpsdw.WriteAsync(fixdoc, Ticket);
- }
-
- public void CancelAsync()
- {
- /* ick. This does not work in windows 8. causes crash. */
- /* https://connect.microsoft.com/VisualStudio/feedback/details/778145/xpsdocumentwriter-cancelasync-cause-crash-in-win8 */
- m_docWriter.CancelAsync();
- }
-
- /* Done */
- private void AsyncCompleted(object sender, WritingCompletedEventArgs e)
- {
- PrintStatus_t status;
-
- if (e.Cancelled)
- status = PrintStatus_t.PRINT_CANCELLED;
- else if (e.Error != null)
- status = PrintStatus_t.PRINT_ERROR;
- else
- status = PrintStatus_t.PRINT_READY;
-
- if (PrintUpdate != null)
- {
- gsPrintEventArgs info = new gsPrintEventArgs(status, true, 0);
- PrintUpdate(this, info);
- }
- m_busy = false;
- }
-
- /* Do this update with each fixed document (page) that is handled */
- private void AsyncProgress(object sender, WritingProgressChangedEventArgs e)
- {
- if (PrintUpdate != null)
- {
- gsPrintEventArgs info = new gsPrintEventArgs(PrintStatus_t.PRINT_BUSY,
- false, e.Number);
- PrintUpdate(this, info);
- }
- }
-#if DISABLED_FOR_NOW
- /* Print ticket handling. You can customize for PrintTicketLevel at
- FixedDocumentSequencePrintTicket, FixedDocumentPrintTicket,
- or FixedPagePrintTicket. We may want to play around with this some */
- private void PrintTicket(Object sender, WritingPrintTicketRequiredEventArgs e)
- {
- if (e.CurrentPrintTicketLevel ==
- PrintTicketLevel.FixedDocumentSequencePrintTicket)
- {
- PrintTicket pts = new PrintTicket();
- e.CurrentPrintTicket = pts;
- }
- }
-#endif
- /* Create the document write */
- private XpsDocumentWriter GetDocWriter(PrintQueue pq)
- {
- XpsDocumentWriter xpsdw = PrintQueue.CreateXpsDocumentWriter(pq);
- return xpsdw;
- }
-
- /* Two paths for designating printing = a pain in the ass.*/
- static PageMediaSizeName PaperKindToPageMediaSize(PaperKind paperKind)
- {
- switch (paperKind)
- {
- case PaperKind.Custom:
- return PageMediaSizeName.Unknown;
- case PaperKind.Letter:
- return PageMediaSizeName.NorthAmericaLetter;
- case PaperKind.Legal:
- return PageMediaSizeName.NorthAmericaLegal;
- case PaperKind.A4:
- return PageMediaSizeName.ISOA4;
- case PaperKind.CSheet:
- return PageMediaSizeName.NorthAmericaCSheet;
- case PaperKind.DSheet:
- return PageMediaSizeName.NorthAmericaDSheet;
- case PaperKind.ESheet:
- return PageMediaSizeName.NorthAmericaESheet;
- case PaperKind.LetterSmall:
- return PageMediaSizeName.Unknown;
- case PaperKind.Tabloid:
- return PageMediaSizeName.NorthAmericaTabloid;
- case PaperKind.Ledger:
- return PageMediaSizeName.Unknown;
- case PaperKind.Statement:
- return PageMediaSizeName.NorthAmericaStatement;
- case PaperKind.Executive:
- return PageMediaSizeName.NorthAmericaExecutive;
- case PaperKind.A3:
- return PageMediaSizeName.ISOA3;
- case PaperKind.A4Small:
- return PageMediaSizeName.Unknown;
- case PaperKind.A5:
- return PageMediaSizeName.ISOA5;
- case PaperKind.B4:
- return PageMediaSizeName.ISOB4;
- case PaperKind.B5:
- return PageMediaSizeName.Unknown;
- case PaperKind.Folio:
- return PageMediaSizeName.OtherMetricFolio;
- case PaperKind.Quarto:
- return PageMediaSizeName.NorthAmericaQuarto;
- case PaperKind.Standard10x14:
- return PageMediaSizeName.Unknown;
- case PaperKind.Standard11x17:
- return PageMediaSizeName.Unknown;
- case PaperKind.Note:
- return PageMediaSizeName.NorthAmericaNote;
- case PaperKind.Number9Envelope:
- return PageMediaSizeName.NorthAmericaNumber9Envelope;
- case PaperKind.Number10Envelope:
- return PageMediaSizeName.NorthAmericaNumber10Envelope;
- case PaperKind.Number11Envelope:
- return PageMediaSizeName.NorthAmericaNumber11Envelope;
- case PaperKind.Number12Envelope:
- return PageMediaSizeName.NorthAmericaNumber12Envelope;
- case PaperKind.Number14Envelope:
- return PageMediaSizeName.NorthAmericaNumber14Envelope;
- case PaperKind.DLEnvelope:
- return PageMediaSizeName.ISODLEnvelope;
- case PaperKind.C5Envelope:
- return PageMediaSizeName.ISOC5Envelope;
- case PaperKind.C3Envelope:
- return PageMediaSizeName.ISOC3Envelope;
- case PaperKind.C4Envelope:
- return PageMediaSizeName.ISOC4Envelope;
- case PaperKind.C6Envelope:
- return PageMediaSizeName.ISOC6Envelope;
- case PaperKind.C65Envelope:
- return PageMediaSizeName.ISOC6C5Envelope;
- case PaperKind.B4Envelope:
- return PageMediaSizeName.ISOB4Envelope;
- case PaperKind.B5Envelope:
- return PageMediaSizeName.ISOB5Envelope;
- case PaperKind.B6Envelope:
- return PageMediaSizeName.Unknown;
- case PaperKind.ItalyEnvelope:
- return PageMediaSizeName.OtherMetricItalianEnvelope;
- case PaperKind.MonarchEnvelope:
- return PageMediaSizeName.NorthAmericaMonarchEnvelope;
- case PaperKind.PersonalEnvelope:
- return PageMediaSizeName.NorthAmericaPersonalEnvelope;
- case PaperKind.USStandardFanfold:
- return PageMediaSizeName.Unknown;
- case PaperKind.GermanStandardFanfold:
- return PageMediaSizeName.NorthAmericaGermanStandardFanfold;
- case PaperKind.GermanLegalFanfold:
- return PageMediaSizeName.NorthAmericaGermanLegalFanfold;
- case PaperKind.IsoB4:
- return PageMediaSizeName.ISOB4;
- case PaperKind.JapanesePostcard:
- return PageMediaSizeName.JapanHagakiPostcard;
- case PaperKind.Standard9x11:
- return PageMediaSizeName.Unknown;
- case PaperKind.Standard10x11:
- return PageMediaSizeName.Unknown;
- case PaperKind.Standard15x11:
- return PageMediaSizeName.Unknown;
- case PaperKind.InviteEnvelope:
- return PageMediaSizeName.OtherMetricInviteEnvelope;
- case PaperKind.LetterExtra:
- return PageMediaSizeName.NorthAmericaLetterExtra;
- case PaperKind.LegalExtra:
- return PageMediaSizeName.NorthAmericaLegalExtra;
- case PaperKind.TabloidExtra:
- return PageMediaSizeName.NorthAmericaTabloidExtra;
- case PaperKind.A4Extra:
- return PageMediaSizeName.ISOA4Extra;
- case PaperKind.LetterTransverse:
- return PageMediaSizeName.Unknown;
- case PaperKind.A4Transverse:
- return PageMediaSizeName.Unknown;
- case PaperKind.LetterExtraTransverse:
- return PageMediaSizeName.Unknown;
- case PaperKind.APlus:
- return PageMediaSizeName.Unknown;
- case PaperKind.BPlus:
- return PageMediaSizeName.Unknown;
- case PaperKind.LetterPlus:
- return PageMediaSizeName.NorthAmericaLetterPlus;
- case PaperKind.A4Plus:
- return PageMediaSizeName.OtherMetricA4Plus;
- case PaperKind.A5Transverse:
- return PageMediaSizeName.Unknown;
- case PaperKind.B5Transverse:
- return PageMediaSizeName.Unknown;
- case PaperKind.A3Extra:
- return PageMediaSizeName.ISOA3Extra;
- case PaperKind.A5Extra:
- return PageMediaSizeName.ISOA5Extra;
- case PaperKind.B5Extra:
- return PageMediaSizeName.ISOB5Extra;
- case PaperKind.A2:
- return PageMediaSizeName.ISOA2;
- case PaperKind.A3Transverse:
- return PageMediaSizeName.Unknown;
- case PaperKind.A3ExtraTransverse:
- return PageMediaSizeName.Unknown;
- case PaperKind.JapaneseDoublePostcard:
- return PageMediaSizeName.JapanDoubleHagakiPostcard;
- case PaperKind.A6:
- return PageMediaSizeName.ISOA6;
- case PaperKind.JapaneseEnvelopeKakuNumber2:
- return PageMediaSizeName.JapanKaku2Envelope;
- case PaperKind.JapaneseEnvelopeKakuNumber3:
- return PageMediaSizeName.JapanKaku3Envelope;
- case PaperKind.JapaneseEnvelopeChouNumber3:
- return PageMediaSizeName.JapanChou3Envelope;
- case PaperKind.JapaneseEnvelopeChouNumber4:
- return PageMediaSizeName.JapanChou4Envelope;
- case PaperKind.LetterRotated:
- return PageMediaSizeName.NorthAmericaLetterRotated;
- case PaperKind.A3Rotated:
- return PageMediaSizeName.ISOA3Rotated;
- case PaperKind.A4Rotated:
- return PageMediaSizeName.ISOA4Rotated;
- case PaperKind.A5Rotated:
- return PageMediaSizeName.ISOA5Rotated;
- case PaperKind.B4JisRotated:
- return PageMediaSizeName.JISB4Rotated;
- case PaperKind.B5JisRotated:
- return PageMediaSizeName.JISB5Rotated;
- case PaperKind.JapanesePostcardRotated:
- return PageMediaSizeName.JapanHagakiPostcardRotated;
- case PaperKind.JapaneseDoublePostcardRotated:
- return PageMediaSizeName.JapanHagakiPostcardRotated;
- case PaperKind.A6Rotated:
- return PageMediaSizeName.ISOA6Rotated;
- case PaperKind.JapaneseEnvelopeKakuNumber2Rotated:
- return PageMediaSizeName.JapanKaku2EnvelopeRotated;
- case PaperKind.JapaneseEnvelopeKakuNumber3Rotated:
- return PageMediaSizeName.JapanKaku3EnvelopeRotated;
- case PaperKind.JapaneseEnvelopeChouNumber3Rotated:
- return PageMediaSizeName.JapanChou3EnvelopeRotated;
- case PaperKind.JapaneseEnvelopeChouNumber4Rotated:
- return PageMediaSizeName.JapanChou4EnvelopeRotated;
- case PaperKind.B6Jis:
- return PageMediaSizeName.JISB6;
- case PaperKind.B6JisRotated:
- return PageMediaSizeName.JISB6Rotated;
- case PaperKind.Standard12x11:
- return PageMediaSizeName.Unknown;
- case PaperKind.JapaneseEnvelopeYouNumber4:
- return PageMediaSizeName.JapanYou4Envelope;
- case PaperKind.JapaneseEnvelopeYouNumber4Rotated:
- return PageMediaSizeName.JapanYou4EnvelopeRotated;
- case PaperKind.Prc16K:
- return PageMediaSizeName.PRC16K;
- case PaperKind.Prc32K:
- return PageMediaSizeName.PRC32K;
- case PaperKind.Prc32KBig:
- return PageMediaSizeName.PRC32KBig;
- case PaperKind.PrcEnvelopeNumber1:
- return PageMediaSizeName.PRC1Envelope;
- case PaperKind.PrcEnvelopeNumber2:
- return PageMediaSizeName.PRC2Envelope;
- case PaperKind.PrcEnvelopeNumber3:
- return PageMediaSizeName.PRC3Envelope;
- case PaperKind.PrcEnvelopeNumber4:
- return PageMediaSizeName.PRC4Envelope;
- case PaperKind.PrcEnvelopeNumber5:
- return PageMediaSizeName.PRC5Envelope;
- case PaperKind.PrcEnvelopeNumber6:
- return PageMediaSizeName.PRC6Envelope;
- case PaperKind.PrcEnvelopeNumber7:
- return PageMediaSizeName.PRC7Envelope;
- case PaperKind.PrcEnvelopeNumber8:
- return PageMediaSizeName.PRC8Envelope;
- case PaperKind.PrcEnvelopeNumber9:
- return PageMediaSizeName.PRC9Envelope;
- case PaperKind.PrcEnvelopeNumber10:
- return PageMediaSizeName.PRC10Envelope;
- case PaperKind.Prc16KRotated:
- return PageMediaSizeName.PRC16KRotated;
- case PaperKind.Prc32KRotated:
- return PageMediaSizeName.PRC32KRotated;
- case PaperKind.Prc32KBigRotated:
- return PageMediaSizeName.Unknown;
- case PaperKind.PrcEnvelopeNumber1Rotated:
- return PageMediaSizeName.PRC1EnvelopeRotated;
- case PaperKind.PrcEnvelopeNumber2Rotated:
- return PageMediaSizeName.PRC2EnvelopeRotated;
- case PaperKind.PrcEnvelopeNumber3Rotated:
- return PageMediaSizeName.PRC3EnvelopeRotated;
- case PaperKind.PrcEnvelopeNumber4Rotated:
- return PageMediaSizeName.PRC4EnvelopeRotated;
- case PaperKind.PrcEnvelopeNumber5Rotated:
- return PageMediaSizeName.PRC5EnvelopeRotated;
- case PaperKind.PrcEnvelopeNumber6Rotated:
- return PageMediaSizeName.PRC6EnvelopeRotated;
- case PaperKind.PrcEnvelopeNumber7Rotated:
- return PageMediaSizeName.PRC7EnvelopeRotated;
- case PaperKind.PrcEnvelopeNumber8Rotated:
- return PageMediaSizeName.PRC8EnvelopeRotated;
- case PaperKind.PrcEnvelopeNumber9Rotated:
- return PageMediaSizeName.PRC9EnvelopeRotated;
- case PaperKind.PrcEnvelopeNumber10Rotated:
- return PageMediaSizeName.PRC10EnvelopeRotated;
- default:
- throw new ArgumentOutOfRangeException("paperKind");
- }
- }
- }
-}
diff --git a/platform/windows/gsview/gsprintbg.cs b/platform/windows/gsview/gsprintbg.cs
deleted file mode 100644
index 199258e3..00000000
--- a/platform/windows/gsview/gsprintbg.cs
+++ /dev/null
@@ -1,261 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.ComponentModel;
-using System.IO;
-using System.IO.Packaging;
-using System.Printing;
-using System.Windows.Controls;
-using System.Windows.Documents;
-using System.Windows.Documents.Serialization;
-using System.Windows.Media;
-using System.Windows.Xps;
-using System.Windows.Xps.Packaging;
-using System.Windows.Xps.Serialization;
-using System.Threading;
-
-namespace gsview
-{
- public enum PrintStatus_t
- {
- PRINT_READY,
- PRINT_BUSY,
- PRINT_ERROR
- };
-
- public enum PrintResult_t
- {
- PrintOK,
- PrintFAILED,
- PrintCANCELLED,
- PrintCOMPLETED
- }
-
- public struct PrintParams_t
- {
- public int num_pages;
- public int start_page;
- public int end_page;
- public PrintQueue queu;
- public FixedDocumentSequence fixdoc;
- public PrintResult_t result;
- public PrintStatus_t status;
-
- };
-
- public class PrintEventArgs : EventArgs
- {
- private PrintStatus_t m_status;
- private PrintResult_t m_result;
- private int m_percentdone;
-
- public PrintStatus_t Status
- {
- get { return m_status; }
- }
-
- public PrintResult_t Result
- {
- get { return m_result; }
- }
-
- public int Percent
- {
- get { return m_percentdone; }
- }
-
- public PrintEventArgs(PrintStatus_t status, PrintResult_t completed, int percent)
- {
- m_status = status;
- m_result = completed;
- m_percentdone = percent;
- }
- }
-
- public class gsprintbg
- {
- BackgroundWorker m_worker;
- private XpsDocumentWriter m_docWriter = null;
- PrintParams_t m_pparams;
-
- internal delegate void PrintCallBackMain(object gsObject, PrintEventArgs info);
- internal event PrintCallBackMain PrintUpdateMain;
-
- private void PrintProgressChanged(object sender, ProgressChangedEventArgs e)
- {
- /* Callback with progress */
- PrintEventArgs info = new PrintEventArgs(m_pparams.status, m_pparams.result, e.ProgressPercentage);
- if (PrintUpdateMain != null)
- PrintUpdateMain(this, info);
- }
-
- /* Callback */
- private void PrintCompleted(object sender, RunWorkerCompletedEventArgs e)
- {
- PrintParams_t Value;
- PrintEventArgs info;
- PrintParams_t Params = (PrintParams_t)e.Result;
-
- if (e.Cancelled)
- {
- info = new PrintEventArgs(PrintStatus_t.PRINT_READY, PrintResult_t.PrintCANCELLED, 100);
- }
- else
- {
- Value = (PrintParams_t)e.Result;
- info = new PrintEventArgs(PrintStatus_t.PRINT_READY, PrintResult_t.PrintCOMPLETED, 100);
- }
- PrintUpdateMain(this, info);
- }
-
-
- /* Show std. print dialog */
- public PrintDialog GetPrintDialog()
- {
- PrintDialog dlg = new PrintDialog();
- /* Current page and page ranges is going to require a little work */
- dlg.PageRangeSelection = PageRangeSelection.AllPages;
- //dlg.UserPageRangeEnabled = true;
- //dlg.CurrentPageEnabled = true;
- dlg.SelectedPagesEnabled = false;
- if (dlg.ShowDialog() == true)
- return dlg;
- return null;
- }
-
- /* Main print entry point */
- private void Print(PrintParams_t pparams)
- {
- XpsDocumentWriter docwrite = GetDocWriter(pparams.queu);
- docwrite.WritingPrintTicketRequired +=
- new WritingPrintTicketRequiredEventHandler(PrintTicket);
- PrintPages(docwrite, pparams.fixdoc);
- }
-
- /* Send it */
- private void PrintPages(XpsDocumentWriter xpsdw, FixedDocumentSequence fixdoc)
- {
- m_docWriter = xpsdw;
- xpsdw.WritingCompleted +=
- new WritingCompletedEventHandler(AsyncCompleted);
- xpsdw.WritingProgressChanged +=
- new WritingProgressChangedEventHandler(AsyncProgress);
- xpsdw.WriteAsync(fixdoc);
- }
-
- private void CancelAsync()
- {
- /* ick. This does not work in windows 8. causes crash */
- /* https://connect.microsoft.com/VisualStudio/feedback/details/778145/xpsdocumentwriter-cancelasync-cause-crash-in-win8 */
- m_docWriter.CancelAsync();
- }
-
- /* Done */
- private void AsyncCompleted(object sender, WritingCompletedEventArgs e)
- {
- if (e.Cancelled)
- m_pparams.result = PrintResult_t.PrintCANCELLED;
- else if (e.Error != null)
- m_pparams.result = PrintResult_t.PrintFAILED;
- else
- m_pparams.result = PrintResult_t.PrintCOMPLETED;
- m_worker.ReportProgress(100);
- }
-
- /* Do this update with each fixed document (page) that is handled */
- private void AsyncProgress(object sender, WritingProgressChangedEventArgs e)
- {
- double perc = 100.0 * (double) e.Number / (double) m_pparams.num_pages;
- m_worker.ReportProgress((int) perc);
- }
-
- /* Print ticket handling. You can customize for PrintTicketLevel at
- FixedDocumentSequencePrintTicket, FixedDocumentPrintTicket,
- or FixedPagePrintTicket. We may want to play around with this some */
- private void PrintTicket(Object sender, WritingPrintTicketRequiredEventArgs e)
- {
- if (e.CurrentPrintTicketLevel ==
- PrintTicketLevel.FixedDocumentSequencePrintTicket)
- {
- PrintTicket pts = new PrintTicket();
- pts.PageOrientation = PageOrientation.Portrait;
- e.CurrentPrintTicket = pts;
- }
- }
-
- /* Create the document write */
- private XpsDocumentWriter GetDocWriter(PrintQueue pq)
- {
- XpsDocumentWriter xpsdw = PrintQueue.CreateXpsDocumentWriter(pq);
- return xpsdw;
- }
-
-
- private void PrintWork(object sender, DoWorkEventArgs e)
- {
- PrintParams_t PParams = (PrintParams_t)e.Argument;
- BackgroundWorker worker = sender as BackgroundWorker;
-
- Print(PParams);
- }
-
- public bool IsBusy()
- {
- if (m_worker != null)
- return m_worker.IsBusy;
- else
- return false;
- }
-
- public void PrintWorkThread(object data)
- {
- PrintParams_t PParams = (PrintParams_t) data;
- Print(PParams);
- }
-
- public PrintStatus_t StartPrint(PrintParams_t pparams)
- {
- try
- {
- if (m_worker != null && m_worker.IsBusy)
- {
- m_worker.CancelAsync();
- return PrintStatus_t.PRINT_BUSY;
- }
-
- if (m_worker == null)
- {
-
- Thread asyncThread = new Thread(PrintWorkThread);
- asyncThread.SetApartmentState(ApartmentState.STA);
- asyncThread.Start(pparams);
-
- /* m_worker = new BackgroundWorker();
- m_worker.WorkerReportsProgress = true;
- m_worker.WorkerSupportsCancellation = true;
- m_worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(PrintCompleted);
- m_worker.ProgressChanged += new ProgressChangedEventHandler(PrintProgressChanged);
- m_worker.DoWork += new DoWorkEventHandler(PrintWork);*/
- }
-
- ////m_pparams = pparams;
- //m_worker.RunWorkerAsync(pparams);
- pparams.status = PrintStatus_t.PRINT_BUSY;
- return PrintStatus_t.PRINT_READY;
- }
- catch (OutOfMemoryException e)
- {
- Console.WriteLine("Memory allocation failed during printing\n");
- return PrintStatus_t.PRINT_ERROR;
- }
- }
-
-
- public void Cancel()
- {
- m_worker.CancelAsync();
- }
- }
-}
diff --git a/platform/windows/gsview/gsview.csproj b/platform/windows/gsview/gsview.csproj
deleted file mode 100644
index b57c86f0..00000000
--- a/platform/windows/gsview/gsview.csproj
+++ /dev/null
@@ -1,288 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProjectGuid>{5DA0ECC9-4026-4427-862F-E3226EFEFEB1}</ProjectGuid>
- <OutputType>WinExe</OutputType>
- <AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>gsview</RootNamespace>
- <AssemblyName>gsview</AssemblyName>
- <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
- <FileAlignment>512</FileAlignment>
- <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
- <WarningLevel>4</WarningLevel>
- <IsWebBootstrapper>false</IsWebBootstrapper>
- <TargetFrameworkProfile />
- <PublishUrl>publish\</PublishUrl>
- <Install>true</Install>
- <InstallFrom>Disk</InstallFrom>
- <UpdateEnabled>false</UpdateEnabled>
- <UpdateMode>Foreground</UpdateMode>
- <UpdateInterval>7</UpdateInterval>
- <UpdateIntervalUnits>Days</UpdateIntervalUnits>
- <UpdatePeriodically>false</UpdatePeriodically>
- <UpdateRequired>false</UpdateRequired>
- <MapFileExtensions>true</MapFileExtensions>
- <ApplicationRevision>0</ApplicationRevision>
- <ApplicationVersion>6.0.0.%2a</ApplicationVersion>
- <UseApplicationTrust>false</UseApplicationTrust>
- <BootstrapperEnabled>true</BootstrapperEnabled>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <PlatformTarget>AnyCPU</PlatformTarget>
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <OutputPath>bin\Debug\</OutputPath>
- <DefineConstants>TRACE;DEBUG</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
- <Prefer32Bit>false</Prefer32Bit>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <PlatformTarget>AnyCPU</PlatformTarget>
- <DebugType>pdbonly</DebugType>
- <Optimize>true</Optimize>
- <OutputPath>bin\Release\</OutputPath>
- <DefineConstants>TRACE</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- <Prefer32Bit>false</Prefer32Bit>
- </PropertyGroup>
- <PropertyGroup>
- <StartupObject />
- </PropertyGroup>
- <PropertyGroup>
- <ApplicationIcon>gsview_app.ico</ApplicationIcon>
- </PropertyGroup>
- <ItemGroup>
- <Reference Include="ReachFramework" />
- <Reference Include="System" />
- <Reference Include="System.Data" />
- <Reference Include="System.Data.DataSetExtensions" />
- <Reference Include="System.Drawing" />
- <Reference Include="System.Printing" />
- <Reference Include="System.Windows.Forms" />
- <Reference Include="System.Xml" />
- <Reference Include="System.Xaml">
- <RequiredTargetFramework>4.0</RequiredTargetFramework>
- </Reference>
- <Reference Include="System.Xml.Linq" />
- <Reference Include="UIAutomationProvider" />
- <Reference Include="UIAutomationTypes" />
- <Reference Include="WindowsBase" />
- <Reference Include="PresentationCore" />
- <Reference Include="PresentationFramework" />
- </ItemGroup>
- <ItemGroup>
- <ApplicationDefinition Include="App.xaml">
- <Generator>MSBuild:Compile</Generator>
- <SubType>Designer</SubType>
- </ApplicationDefinition>
- <Compile Include="About.xaml.cs">
- <DependentUpon>About.xaml</DependentUpon>
- </Compile>
- <Compile Include="ContentEntry.cs" />
- <Compile Include="ContentItem.cs" />
- <Compile Include="Convert.xaml.cs">
- <DependentUpon>Convert.xaml</DependentUpon>
- </Compile>
- <Compile Include="DocPage.cs" />
- <Compile Include="ghostsharp.cs" />
- <Compile Include="gsIO.cs" />
- <Compile Include="gsOutput.xaml.cs">
- <DependentUpon>gsOutput.xaml</DependentUpon>
- </Compile>
- <Compile Include="gsprint.cs" />
- <Compile Include="Info.xaml.cs">
- <DependentUpon>Info.xaml</DependentUpon>
- </Compile>
- <Compile Include="Links.cs" />
- <Compile Include="mudocument.cs" />
- <Compile Include="OutputIntent.xaml.cs">
- <DependentUpon>OutputIntent.xaml</DependentUpon>
- </Compile>
- <Compile Include="PageExtractSave.xaml.cs">
- <DependentUpon>PageExtractSave.xaml</DependentUpon>
- </Compile>
- <Compile Include="Password.xaml.cs">
- <DependentUpon>Password.xaml</DependentUpon>
- </Compile>
- <Compile Include="PrintControl.xaml.cs">
- <DependentUpon>PrintControl.xaml</DependentUpon>
- </Compile>
- <Compile Include="RectList.cs" />
- <Compile Include="Selection.xaml.cs">
- <DependentUpon>Selection.xaml</DependentUpon>
- </Compile>
- <Compile Include="Strings\en-US\Messages.Designer.cs">
- <AutoGen>True</AutoGen>
- <DesignTime>True</DesignTime>
- <DependentUpon>Messages.resx</DependentUpon>
- </Compile>
- <Compile Include="TextBlock.cs" />
- <Compile Include="TextCharacter.cs" />
- <Compile Include="TextLine.cs" />
- <Page Include="About.xaml">
- <SubType>Designer</SubType>
- <Generator>MSBuild:Compile</Generator>
- </Page>
- <Page Include="Convert.xaml">
- <SubType>Designer</SubType>
- <Generator>MSBuild:Compile</Generator>
- </Page>
- <Page Include="gsOutput.xaml">
- <SubType>Designer</SubType>
- <Generator>MSBuild:Compile</Generator>
- </Page>
- <Page Include="Info.xaml">
- <SubType>Designer</SubType>
- <Generator>MSBuild:Compile</Generator>
- </Page>
- <Page Include="MainWindow.xaml">
- <Generator>MSBuild:Compile</Generator>
- <SubType>Designer</SubType>
- </Page>
- <Compile Include="App.xaml.cs">
- <DependentUpon>App.xaml</DependentUpon>
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="MainWindow.xaml.cs">
- <DependentUpon>MainWindow.xaml</DependentUpon>
- <SubType>Code</SubType>
- </Compile>
- <Page Include="OutputIntent.xaml">
- <SubType>Designer</SubType>
- <Generator>MSBuild:Compile</Generator>
- </Page>
- <Page Include="PageExtractSave.xaml">
- <SubType>Designer</SubType>
- <Generator>MSBuild:Compile</Generator>
- </Page>
- <Page Include="Password.xaml">
- <SubType>Designer</SubType>
- <Generator>MSBuild:Compile</Generator>
- </Page>
- <Page Include="PrintControl.xaml">
- <SubType>Designer</SubType>
- <Generator>MSBuild:Compile</Generator>
- </Page>
- <Page Include="Selection.xaml">
- <SubType>Designer</SubType>
- <Generator>MSBuild:Compile</Generator>
- </Page>
- </ItemGroup>
- <ItemGroup>
- <Compile Include="Properties\AssemblyInfo.cs">
- <SubType>Code</SubType>
- </Compile>
- <Compile Include="Properties\Resources.Designer.cs">
- <AutoGen>True</AutoGen>
- <DesignTime>True</DesignTime>
- <DependentUpon>Resources.resx</DependentUpon>
- </Compile>
- <Compile Include="Properties\Settings.Designer.cs">
- <AutoGen>True</AutoGen>
- <DependentUpon>Settings.settings</DependentUpon>
- <DesignTimeSharedInput>True</DesignTimeSharedInput>
- </Compile>
- <EmbeddedResource Include="Properties\Resources.resx">
- <Generator>PublicResXFileCodeGenerator</Generator>
- <LastGenOutput>Resources.Designer.cs</LastGenOutput>
- </EmbeddedResource>
- <EmbeddedResource Include="Strings\en-US\Messages.resx">
- <Generator>ResXFileCodeGenerator</Generator>
- <LastGenOutput>Messages.Designer.cs</LastGenOutput>
- </EmbeddedResource>
- <None Include="Properties\Settings.settings">
- <Generator>SettingsSingleFileGenerator</Generator>
- <LastGenOutput>Settings.Designer.cs</LastGenOutput>
- </None>
- <AppDesigner Include="Properties\" />
- </ItemGroup>
- <ItemGroup>
- <None Include="App.config" />
- </ItemGroup>
- <ItemGroup>
- <Resource Include="Resources\ActualSize48.png" />
- <Resource Include="Resources\Close.ico" />
- <Resource Include="Resources\ContScrollFill48.png" />
- <Resource Include="Resources\ExpandFill48.png" />
- <Resource Include="Resources\info.png" />
- <Resource Include="Resources\Message.png" />
- <Resource Include="Resources\OpenFile.png" />
- <Resource Include="Resources\printer.ico" />
- <Resource Include="Resources\saveHS.png" />
- </ItemGroup>
- <ItemGroup>
- <BootstrapperPackage Include=".NETFramework,Version=v4.5">
- <Visible>False</Visible>
- <ProductName>Microsoft .NET Framework 4.5 %28x86 and x64%29</ProductName>
- <Install>true</Install>
- </BootstrapperPackage>
- <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
- <Visible>False</Visible>
- <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
- <Install>false</Install>
- </BootstrapperPackage>
- <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
- <Visible>False</Visible>
- <ProductName>.NET Framework 3.5 SP1</ProductName>
- <Install>false</Install>
- </BootstrapperPackage>
- </ItemGroup>
- <ItemGroup>
- <Resource Include="Resources\Left.ico" />
- <Resource Include="Resources\Right.ico" />
- </ItemGroup>
- <ItemGroup>
- <Resource Include="Resources\thumbnail.ico" />
- </ItemGroup>
- <ItemGroup>
- <Resource Include="Resources\hyperlink.png" />
- <Resource Include="Resources\search.ico" />
- <Resource Include="Resources\zoom_in.ico" />
- <Resource Include="Resources\zoom_out.ico" />
- </ItemGroup>
- <ItemGroup>
- <Resource Include="Resources\search.png" />
- </ItemGroup>
- <ItemGroup>
- <Resource Include="Resources\contents.ico" />
- </ItemGroup>
- <ItemGroup>
- <Resource Include="Resources\folder_open.ico" />
- </ItemGroup>
- <ItemGroup>
- <Resource Include="Resources\FloppyDisk.ico" />
- </ItemGroup>
- <ItemGroup>
- <None Include="Resources\copy.ico" />
- </ItemGroup>
- <ItemGroup>
- <WCFMetadata Include="Service References\" />
- </ItemGroup>
- <ItemGroup>
- <Resource Include="Resources\banner.png" />
- </ItemGroup>
- <ItemGroup>
- <Resource Include="Resources\gsview_app.ico" />
- </ItemGroup>
- <ItemGroup>
- <None Include="Resources\PDF.bmp" />
- </ItemGroup>
- <ItemGroup>
- <Resource Include="gsview_app.ico" />
- </ItemGroup>
- <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
- <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
- Other similar extension points exist, see Microsoft.Common.targets.
- <Target Name="BeforeBuild">
- </Target>
- <Target Name="AfterBuild">
- </Target>
- -->
-</Project> \ No newline at end of file
diff --git a/platform/windows/gsview/gsview.visualelementsmanifest.xml b/platform/windows/gsview/gsview.visualelementsmanifest.xml
deleted file mode 100644
index 865a37fc..00000000
--- a/platform/windows/gsview/gsview.visualelementsmanifest.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<Application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <VisualElements
- BackgroundColor="#FFFFFF"
- ShowNameOnSquare150x150Logo="on"
- ForegroundText="dark"
- />
-</Application> \ No newline at end of file
diff --git a/platform/windows/gsview/gsview_app.ico b/platform/windows/gsview/gsview_app.ico
deleted file mode 100644
index 29c5ca50..00000000
--- a/platform/windows/gsview/gsview_app.ico
+++ /dev/null
Binary files differ
diff --git a/platform/windows/gsview/mudocument.cs b/platform/windows/gsview/mudocument.cs
deleted file mode 100644
index eb7afac6..00000000
--- a/platform/windows/gsview/mudocument.cs
+++ /dev/null
@@ -1,1795 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-//using System.Threading.Tasks;
-using System.Threading;
-using System.Runtime.InteropServices;
-using System.Security;
-using System.Windows;
-using System.ComponentModel;
-using System.Windows.Forms;
-
-/* This file contains the interface between the muctx cpp class, which
- implements the mupdf calls and the .net managed code */
-
-namespace gsview
-{
- /* Parameters for conversion */
- public struct ConvertParams_t
- {
- public int resolution;
- public gsDevice_t device;
- public String outputfile;
- public int num_pages;
- public System.Collections.IList pages;
- public int currpage;
- public GS_Result_t result;
- };
-
- /* Must match enum in muctx.h */
- enum mudevice_t
- {
- SVG_OUT,
- PNM_OUT,
- PCL_OUT,
- PWG_OUT,
- };
-
- public class muPDFEventArgs : EventArgs
- {
- private bool m_completed;
- private int m_progress;
- private ConvertParams_t m_param;
-
- public bool Completed
- {
- get { return m_completed; }
- }
-
- public ConvertParams_t Params
- {
- get { return m_param; }
- }
-
- public int Progress
- {
- get { return m_progress; }
- }
-
- public muPDFEventArgs(bool completed, int progress, ConvertParams_t param)
- {
- m_completed = completed;
- m_progress = progress;
- m_param = param;
- }
- }
-
- public struct content_s
- {
- public int page;
- public IntPtr string_margin;
- }
-
- [SuppressUnmanagedCodeSecurity]
- class mudocument
- {
- public bool is64bit;
- IntPtr mu_object;
- BackgroundWorker m_worker;
- ConvertParams_t m_params;
- /* Callbacks to Main */
- internal delegate void mupdfDLLProblem(object muObject, String mess);
- internal event mupdfDLLProblem mupdfDLLProblemMain;
- internal delegate void mupdfCallBackMain(object muObject, muPDFEventArgs info);
- internal event mupdfCallBackMain mupdfUpdateMain;
-
- private System.Object m_lock = new System.Object();
- public List<ContentItem> contents;
-
- #region DLLInterface
- /* The list of functions that we use to call into C interface of muctx.
- * Calling into C++ code from managed code is complex. Since CLR
- * compiling is needed and that does not support mutex. Hence the C
- * interface */
- [DllImport("mupdfnet64.dll", EntryPoint = "mInitialize", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern IntPtr mInitialize64();
-
- [DllImport("mupdfnet64.dll", EntryPoint = "mOpenDocument", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern status_t mOpenDocument64(IntPtr ctx, string filename);
-
- [DllImport("mupdfnet64.dll", EntryPoint = "mCleanUp", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern void mCleanUp64(IntPtr ctx);
-
- [DllImport("mupdfnet64.dll", EntryPoint = "mGetPageCount", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int mGetPageCount64(IntPtr ctx);
-
- [DllImport("mupdfnet64.dll", EntryPoint = "mRequiresPassword", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern bool mRequiresPassword64(IntPtr ctx);
-
- [DllImport("mupdfnet64.dll", EntryPoint = "mApplyPassword", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern bool mApplyPassword64(IntPtr ctx, string password);
-
- [DllImport("mupdfnet64.dll", EntryPoint = "mRenderPage", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int mRenderPage64(IntPtr ctx, int page_num,
- Byte[] bmp_data, int bmp_width, int bmp_height, double scale,
- bool flipy);
-
- [DllImport("mupdfnet64.dll", EntryPoint = "mMeasurePage", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int mMeasurePage64(IntPtr ctx, int page_num,
- ref double width, ref double height);
-
- [DllImport("mupdfnet64.dll", EntryPoint = "mGetContents", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int mGetContents64(IntPtr ctx);
-
- [DllImport("mupdfnet64.dll", EntryPoint = "mReleaseContents", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern void mReleaseContents64();
-
- [DllImport("mupdfnet64.dll", EntryPoint = "mSetAA", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern void mSetAA64(IntPtr ctx, int level);
-
- /* The managed code Marshal actually releases the allocated string from C */
- [DllImport("mupdfnet64.dll", EntryPoint = "mGetContentsItem", CharSet = CharSet.Ansi,
- CallingConvention = CallingConvention.StdCall)]
- [return: MarshalAs(UnmanagedType.LPStr)]
- private static extern string mGetContentsItem64(int k, ref int len, ref int page);
-
- [DllImport("mupdfnet64.dll", EntryPoint = "mCreateDisplayList", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern IntPtr mCreateDisplayList64(IntPtr ctx, int page_num,
- ref int page_width, ref int page_height);
-
- [DllImport("mupdfnet64.dll", EntryPoint = "mCreateDisplayListAnnot",
- CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
- private static extern IntPtr mCreateDisplayListAnnot64(IntPtr ctx, int page_num);
-
- [DllImport("mupdfnet64.dll", EntryPoint = "mCreateDisplayListText", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern IntPtr mCreateDisplayListText64(IntPtr ctx, int page_num,
- ref int page_width, ref int page_height, ref IntPtr text, ref int length);
-
- [DllImport("mupdfnet64.dll", EntryPoint = "mReleaseLists", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern void mReleaseLists64(IntPtr ctx, IntPtr dlist,
- IntPtr annot_dlist);
-
- [DllImport("mupdfnet64.dll", EntryPoint = "mRenderPageMT", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int mRenderPageMT64(IntPtr ctx, IntPtr dlist,
- IntPtr annot_dlist, int page_width, int page_height, Byte[] bmp_data,
- int bmp_width, int bmp_height, double scale, bool flipy);
-
- [DllImport("mupdfnet64.dll", EntryPoint = "mTextSearchPage", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int mTextSearchPage64(IntPtr ctx, int page_num,
- string needle);
-
- [DllImport("mupdfnet64.dll", EntryPoint = "mGetTextSearchItem", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern bool mGetTextSearchItem64(int item_num, ref double top_x,
- ref double top_y, ref double height, ref double width);
-
- [DllImport("mupdfnet64.dll", EntryPoint = "mReleaseTextSearch", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern void mReleaseTextSearch64();
-
- [DllImport("mupdfnet64.dll", EntryPoint = "mGetLinksPage", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int mGetLinksPage64(IntPtr ctx, int page_num);
-
- /* The managed code Marshal actually releases the allocated string from C */
- [DllImport("mupdfnet64.dll", EntryPoint = "mGetLinkItem", CharSet = CharSet.Ansi,
- CallingConvention = CallingConvention.StdCall)]
- [return: MarshalAs(UnmanagedType.LPStr)]
- private static extern string mGetLinkItem64(int item_num, ref double top_x,
- ref double top_y, ref double height, ref double width, ref int topage,
- ref int type);
-
- [DllImport("mupdfnet64.dll", EntryPoint = "mReleaseLink", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern void mReleaseLink64();
-
- [DllImport("mupdfnet64.dll", EntryPoint = "mReleaseText", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern void mReleaseText64(IntPtr ctx, IntPtr textpage);
-
- [DllImport("mupdfnet64.dll", EntryPoint = "mGetTextBlock", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int mGetTextBlock64(IntPtr textpage, int block_num,
- ref double top_x,ref double top_y, ref double height, ref double width);
-
- [DllImport("mupdfnet64.dll", EntryPoint = "mGetTextLine", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int mGetTextLine64(IntPtr textpage, int block_num,
- int line_num, ref double top_x, ref double top_y, ref double height,
- ref double width);
-
- [DllImport("mupdfnet64.dll", EntryPoint = "mGetTextCharacter", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int mGetTextCharacter64(IntPtr ctx, IntPtr textpage,
- int block_num, int line_num, int item_num, ref double top_x,
- ref double top_y, ref double height, ref double width);
-
- [DllImport("mupdfnet64.dll", EntryPoint = "mExtractPages", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int mExtractPages64(String infile, String outfile,
- String password, bool has_password, bool linearize, int num_pages,
- IntPtr pages);
-
- [DllImport("mupdfnet64.dll", EntryPoint = "mSavePage", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int mSavePage64(IntPtr ctx, String outfile,
- int page_num, int res, int type, bool append);
-
- /* The managed code Marshal actually releases the allocated string from C */
- [DllImport("mupdfnet64.dll", EntryPoint = "mGetVers", CharSet = CharSet.Ansi,
- CallingConvention = CallingConvention.StdCall)]
- [return: MarshalAs(UnmanagedType.LPStr)]
- private static extern string mGetVers64();
-
- /* The managed code Marshal actually releases the allocated string from C */
- [DllImport("mupdfnet64.dll", EntryPoint = "mGetText", CharSet = CharSet.Ansi,
- CallingConvention = CallingConvention.StdCall)]
- [return: MarshalAs(UnmanagedType.LPStr)]
- private static extern string mGetText64(IntPtr ctx, int pagenum, int type);
-
- /* And the 32bit version */
- [DllImport("mupdfnet32.dll", EntryPoint = "mInitialize", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern IntPtr mInitialize32();
-
- [DllImport("mupdfnet32.dll", EntryPoint = "mOpenDocument", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern status_t mOpenDocument32(IntPtr ctx, string filename);
-
- [DllImport("mupdfnet32.dll", EntryPoint = "mCleanUp", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern void mCleanUp32(IntPtr ctx);
-
- [DllImport("mupdfnet32.dll", EntryPoint = "mGetPageCount", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int mGetPageCount32(IntPtr ctx);
-
- [DllImport("mupdfnet32.dll", EntryPoint = "mRequiresPassword", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern bool mRequiresPassword32(IntPtr ctx);
-
- [DllImport("mupdfnet32.dll", EntryPoint = "mApplyPassword", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern bool mApplyPassword32(IntPtr ctx, string password);
-
- [DllImport("mupdfnet32.dll", EntryPoint = "mRenderPage", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int mRenderPage32(IntPtr ctx, int page_num,
- Byte[] bmp_data, int bmp_width, int bmp_height, double scale,
- bool flipy);
-
- [DllImport("mupdfnet32.dll", EntryPoint = "mMeasurePage", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int mMeasurePage32(IntPtr ctx, int page_num,
- ref double width, ref double height);
-
- [DllImport("mupdfnet32.dll", EntryPoint = "mGetContents", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int mGetContents32(IntPtr ctx);
-
- [DllImport("mupdfnet32.dll", EntryPoint = "mReleaseContents", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern void mReleaseContents32();
-
- [DllImport("mupdfnet32.dll", EntryPoint = "mSetAA", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern void mSetAA32(IntPtr ctx, int level);
-
- /* The managed code Marshal actually releases the allocated string from C */
- [DllImport("mupdfnet32.dll", EntryPoint = "mGetContentsItem", CharSet = CharSet.Ansi,
- CallingConvention = CallingConvention.StdCall)]
- [return: MarshalAs(UnmanagedType.LPStr)]
- private static extern string mGetContentsItem32(int k, ref int len, ref int page);
-
- [DllImport("mupdfnet32.dll", EntryPoint = "mCreateDisplayList", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern IntPtr mCreateDisplayList32(IntPtr ctx, int page_num,
- ref int page_width, ref int page_height);
-
- [DllImport("mupdfnet32.dll", EntryPoint = "mCreateDisplayListAnnot",
- CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
- private static extern IntPtr mCreateDisplayListAnnot32(IntPtr ctx, int page_num);
-
-
- [DllImport("mupdfnet32.dll", EntryPoint = "mCreateDisplayListText", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern IntPtr mCreateDisplayListText32(IntPtr ctx, int page_num,
- ref int page_width, ref int page_height, ref IntPtr text, ref int length);
-
- [DllImport("mupdfnet32.dll", EntryPoint = "mReleaseLists", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern void mReleaseLists32(IntPtr ctx, IntPtr dlist,
- IntPtr annot_dlist);
-
- [DllImport("mupdfnet32.dll", EntryPoint = "mRenderPageMT", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int mRenderPageMT32(IntPtr ctx, IntPtr dlist,
- IntPtr annot_dlist, int page_width, int page_height, Byte[] bmp_data,
- int bmp_width, int bmp_height, double scale, bool flipy);
-
- [DllImport("mupdfnet32.dll", EntryPoint = "mTextSearchPage", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int mTextSearchPage32(IntPtr ctx, int page_num,
- string needle);
-
- [DllImport("mupdfnet32.dll", EntryPoint = "mGetTextSearchItem", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern bool mGetTextSearchItem32(int item_num, ref double top_x,
- ref double top_y, ref double height, ref double width);
-
- [DllImport("mupdfnet32.dll", EntryPoint = "mReleaseTextSearch", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern void mReleaseTextSearch32();
-
- [DllImport("mupdfnet32.dll", EntryPoint = "mGetLinksPage", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int mGetLinksPage32(IntPtr ctx, int page_num);
-
- /* The managed code Marshal actually releases the allocated string from C */
- [DllImport("mupdfnet32.dll", EntryPoint = "mGetLinkItem", CharSet = CharSet.Ansi,
- CallingConvention = CallingConvention.StdCall)]
- [return: MarshalAs(UnmanagedType.LPStr)]
- private static extern string mGetLinkItem32(int item_num, ref double top_x,
- ref double top_y, ref double height, ref double width, ref int topage,
- ref int type);
-
- [DllImport("mupdfnet32.dll", EntryPoint = "mReleaseLink", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern void mReleaseLink32();
-
- [DllImport("mupdfnet32.dll", EntryPoint = "mReleaseText", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern void mReleaseText32(IntPtr ctx, IntPtr textpage);
-
- [DllImport("mupdfnet32.dll", EntryPoint = "mGetTextBlock", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int mGetTextBlock32(IntPtr textpage, int block_num,
- ref double top_x, ref double top_y, ref double height, ref double width);
-
- [DllImport("mupdfnet32.dll", EntryPoint = "mGetTextLine", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int mGetTextLine32(IntPtr textpage, int block_num,
- int line_num, ref double top_x, ref double top_y, ref double height,
- ref double width);
-
- [DllImport("mupdfnet32.dll", EntryPoint = "mGetTextCharacter", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int mGetTextCharacter32(IntPtr ctx, IntPtr textpage,
- int block_num, int line_num, int item_num, ref double top_x,
- ref double top_y, ref double height, ref double width);
-
- [DllImport("mupdfnet32.dll", EntryPoint = "mExtractPages", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int mExtractPages32(String infile, String outfile,
- String password, bool has_password, bool linearize, int num_pages,
- IntPtr pages);
-
- [DllImport("mupdfnet32.dll", EntryPoint = "mSavePage", CharSet = CharSet.Auto,
- CallingConvention = CallingConvention.StdCall)]
- private static extern int mSavePage32(IntPtr ctx, String outfile,
- int page_num, int res, int type, bool append);
-
- /* The managed code Marshal actually releases the allocated string from C */
- [DllImport("mupdfnet32.dll", EntryPoint = "mGetVers", CharSet = CharSet.Ansi,
- CallingConvention = CallingConvention.StdCall)]
- [return: MarshalAs(UnmanagedType.LPStr)]
- private static extern string mGetVers32();
-
- /* The managed code Marshal actually releases the allocated string from C */
- [DllImport("mupdfnet32.dll", EntryPoint = "mGetText", CharSet = CharSet.Ansi,
- CallingConvention = CallingConvention.StdCall)]
- [return: MarshalAs(UnmanagedType.LPStr)]
- private static extern string mGetText32(IntPtr ctx, int pagenum, int type);
-
- #endregion DLLInterface
-
- #region DLLErrorTrap
- /* And make sure we can catch any issues in finding the DLL or if we have
- * a 32bit 64bit issue */
- private IntPtr tc_mInitialize()
- {
- IntPtr output;
- try
- {
- if (is64bit)
- output = mInitialize64();
- else
- output = mInitialize32();
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 1";
- mupdfDLLProblemMain(this, err);
- return IntPtr.Zero;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return IntPtr.Zero;
- }
- return output;
- }
-
- private status_t tc_mOpenDocument(IntPtr ctx, string filename)
- {
- status_t output;
- try
- {
- if (is64bit)
- output = mOpenDocument64(ctx, filename);
- else
- output = mOpenDocument32(ctx, filename);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 2";
- mupdfDLLProblemMain(this, err);
- return status_t.E_FAILURE;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return status_t.E_FAILURE;
- }
- return output;
- }
-
- private int tc_mCleanUp(IntPtr ctx)
- {
- try
- {
- if (is64bit)
- mCleanUp64(ctx);
- else
- mCleanUp32(ctx);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 3";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- return 0;
- }
-
- private int tc_mGetPageCount(IntPtr ctx)
- {
- int output;
- try
- {
- if (is64bit)
- output = mGetPageCount64(ctx);
- else
- output = mGetPageCount32(ctx);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 4";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- return output;
- }
-
- private bool tc_mRequiresPassword(IntPtr ctx)
- {
- bool output;
- try
- {
- if (is64bit)
- output = mRequiresPassword64(ctx);
- else
- output = mRequiresPassword32(ctx);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 5";
- mupdfDLLProblemMain(this, err);
- return false;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return false;
- }
- return output;
- }
-
- private bool tc_mApplyPassword(IntPtr ctx, string password)
- {
- bool output;
- try
- {
- if (is64bit)
- output = mApplyPassword64(ctx, password);
- else
- output = mApplyPassword32(ctx, password);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 6";
- mupdfDLLProblemMain(this, err);
- return false;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return false;
- }
- return output;
- }
-
- private int tc_mRenderPage(IntPtr ctx, int page_num, Byte[] bmp_data,
- int bmp_width, int bmp_height, double scale, bool flipy)
- {
- int output;
- try
- {
- if (is64bit)
- output = mRenderPage64(ctx, page_num, bmp_data, bmp_width,
- bmp_height, scale, flipy);
- else
- output = mRenderPage32(ctx, page_num, bmp_data, bmp_width,
- bmp_height, scale, flipy);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 7";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- return output;
- }
-
- private int tc_mMeasurePage(IntPtr ctx, int page_num, ref double width,
- ref double height)
- {
- int output;
- try
- {
- if (is64bit)
- output = mMeasurePage64(ctx, page_num, ref width, ref height);
- else
- output = mMeasurePage32(ctx, page_num, ref width, ref height);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 8";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- return output;
- }
-
- private int tc_mGetContents(IntPtr ctx)
- {
- int output;
- try
- {
- if (is64bit)
- output = mGetContents64(ctx);
- else
- output = mGetContents32(ctx);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 9";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- return output;
- }
-
- private int tc_mReleaseContents()
- {
- try
- {
- if (is64bit)
- mReleaseContents64();
- else
- mReleaseContents32();
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 10";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- return 0;
- }
-
- private string tc_mGetContentsItem(int k, ref int len, ref int page)
- {
- String output;
- try
- {
- if (is64bit)
- output = mGetContentsItem64(k, ref len, ref page);
- else
- output = mGetContentsItem32(k, ref len, ref page);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 11";
- mupdfDLLProblemMain(this, err);
- return null;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return null;
- }
- return output;
- }
-
- private IntPtr tc_mCreateDisplayListAnnot(IntPtr ctx, int page_num)
- {
- IntPtr output;
- try
- {
- if (is64bit)
- output = mCreateDisplayListAnnot64(ctx, page_num);
- else
- output = mCreateDisplayListAnnot32(ctx, page_num);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 12";
- mupdfDLLProblemMain(this, err);
- return IntPtr.Zero;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return IntPtr.Zero;
- }
- return output;
- }
-
- private IntPtr tc_mCreateDisplayList(IntPtr ctx, int page_num,
- ref int page_width, ref int page_height)
- {
- IntPtr output;
- try
- {
- if (is64bit)
- output = mCreateDisplayList64(ctx, page_num, ref page_width,
- ref page_height);
- else
- output = mCreateDisplayList32(ctx, page_num, ref page_width,
- ref page_height);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 13";
- mupdfDLLProblemMain(this, err);
- return IntPtr.Zero;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return IntPtr.Zero;
- }
- return output;
- }
-
- private int tc_mSetAA(IntPtr ctx, int level)
- {
- try
- {
- if (is64bit)
- mSetAA64(ctx, level);
- else
- mSetAA32(ctx, level);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 14";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- return 0;
- }
-
- private IntPtr tc_mCreateDisplayListText(IntPtr ctx, int page_num,
- ref int page_width, ref int page_height, ref IntPtr text, ref int length)
- {
- IntPtr output;
- try
- {
- if (is64bit)
- output = mCreateDisplayListText64(ctx, page_num, ref page_width,
- ref page_height, ref text, ref length);
- else
- output = mCreateDisplayListText32(ctx, page_num, ref page_width,
- ref page_height, ref text, ref length);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 15";
- mupdfDLLProblemMain(this, err);
- return IntPtr.Zero;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return IntPtr.Zero;
- }
- return output;
- }
-
- private void tc_mReleaseLists(IntPtr ctx, IntPtr dlist, IntPtr annot_dlist)
- {
- int output;
- try
- {
- if (is64bit)
- mReleaseLists64(ctx, dlist, annot_dlist);
- else
- mReleaseLists32(ctx, dlist, annot_dlist);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 16";
- mupdfDLLProblemMain(this, err);
- return;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return;
- }
- return;
- }
-
- private int tc_mRenderPageMT(IntPtr ctx, IntPtr dlist, IntPtr annot_dlist,
- int page_width, int page_height, Byte[] bmp_data, int bmp_width,
- int bmp_height, double scale, bool flipy)
- {
- int output;
- try
- {
- if (is64bit)
- output = mRenderPageMT64(ctx, dlist, annot_dlist, page_width,
- page_height, bmp_data, bmp_width, bmp_height, scale, flipy);
- else
- output = mRenderPageMT32(ctx, dlist, annot_dlist, page_width,
- page_height, bmp_data, bmp_width, bmp_height, scale, flipy);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 16";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- return output;
- }
-
- private int tc_mTextSearchPage(IntPtr ctx, int page_num, string needle)
- {
- int output;
- try
- {
- if (is64bit)
- output = mTextSearchPage64(ctx, page_num, needle);
- else
- output = mTextSearchPage32(ctx, page_num, needle);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 17";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- return output;
- }
-
- private bool tc_mGetTextSearchItem(int item_num, ref double top_x,
- ref double top_y, ref double height, ref double width)
- {
- bool output;
- try
- {
- if (is64bit)
- output = mGetTextSearchItem64(item_num, ref top_x, ref top_y,
- ref height, ref width);
- else
- output = mGetTextSearchItem32(item_num, ref top_x, ref top_y,
- ref height, ref width);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 18";
- mupdfDLLProblemMain(this, err);
- return false;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return false;
- }
- return output;
- }
-
- private int tc_mReleaseTextSearch()
- {
- try
- {
- if (is64bit)
- mReleaseTextSearch64();
- else
- mReleaseTextSearch32();
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 18";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- return 0;
- }
-
- private int tc_mGetLinksPage(IntPtr ctx, int page_num)
- {
- int output;
- try
- {
- if (is64bit)
- output = mGetLinksPage64(ctx, page_num);
- else
- output = mGetLinksPage32(ctx, page_num);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 19";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- return output;
- }
-
- private string tc_mGetLinkItem(int item_num, ref double top_x,
- ref double top_y, ref double height, ref double width, ref int topage,
- ref int type)
- {
- String output;
- try
- {
- if (is64bit)
- output = mGetLinkItem64(item_num, ref top_x, ref top_y, ref height,
- ref width, ref topage, ref type);
- else
- output = mGetLinkItem32(item_num, ref top_x, ref top_y, ref height,
- ref width, ref topage, ref type);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 20";
- mupdfDLLProblemMain(this, err);
- return null;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return null;
- }
- return output;
- }
-
- private int tc_mReleaseLink()
- {
- try
- {
- if (is64bit)
- mReleaseLink64();
- else
- mReleaseLink32();
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 21";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- return 0;
- }
-
- private int tc_mReleaseText(IntPtr ctx, IntPtr textpage)
- {
- try
- {
- if (is64bit)
- mReleaseText64(ctx, textpage);
- else
- mReleaseText32(ctx, textpage);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 22";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- return 0;
- }
-
- private int tc_mGetTextBlock(IntPtr textpage, int block_num,
- ref double top_x, ref double top_y, ref double height, ref double width)
- {
- int output;
- try
- {
- if (is64bit)
- output = mGetTextBlock64(textpage, block_num, ref top_x,
- ref top_y, ref height, ref width);
- else
- output = mGetTextBlock32(textpage, block_num, ref top_x,
- ref top_y, ref height, ref width);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 23";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- return output;
- }
-
- private int tc_mGetTextLine(IntPtr textpage, int block_num,
- int line_num, ref double top_x, ref double top_y, ref double height,
- ref double width)
- {
- int output;
- try
- {
- if (is64bit)
- output = mGetTextLine64(textpage, block_num, line_num,
- ref top_x, ref top_y, ref height, ref width);
- else
- output = mGetTextLine32(textpage, block_num, line_num,
- ref top_x, ref top_y, ref height, ref width);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 24";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- return output;
- }
-
- private int tc_mGetTextCharacter(IntPtr ctx, IntPtr textpage, int block_num,
- int line_num, int item_num, ref double top_x,
- ref double top_y, ref double height, ref double width)
- {
- int output;
- try
- {
- if (is64bit)
- output = mGetTextCharacter64(ctx, textpage, block_num, line_num,
- item_num, ref top_x, ref top_y, ref height, ref width);
- else
- output = mGetTextCharacter32(ctx, textpage, block_num, line_num,
- item_num, ref top_x, ref top_y, ref height, ref width);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 25";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- return output;
- }
-
- private int tc_mExtractPages(String infile, String outfile,
- String password, bool has_password, bool linearize, int num_pages,
- IntPtr pages)
- {
- int output;
- try
- {
- if (is64bit)
- output = mExtractPages64(infile, outfile, password, has_password,
- linearize, num_pages, pages);
- else
- output = mExtractPages32(infile, outfile, password, has_password,
- linearize, num_pages, pages);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 26";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- return output;
- }
-
- private string tc_mGetVers()
- {
- String output;
- try
- {
- if (is64bit)
- output = mGetVers64();
- else
- output = mGetVers32();
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 27";
- mupdfDLLProblemMain(this, err);
- return null;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return null;
- }
- return output;
- }
-
- private string tc_mGetText(IntPtr ctx, int pagenum, textout_t type)
- {
- String output;
- try
- {
- if (is64bit)
- output = mGetText64(ctx, pagenum, (int) type);
- else
- output = mGetText32(ctx, pagenum, (int) type);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 28";
- mupdfDLLProblemMain(this, err);
- return null;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return null;
- }
- return output;
- }
-
- private int tc_mSavePage(IntPtr ctx, String outfile, int page_num,
- int res, int type, bool append)
- {
- int output;
- try
- {
- if (is64bit)
- output = mSavePage64(ctx, outfile, page_num, res, type, append);
- else
- output = mSavePage32(ctx, outfile, page_num, res, type, append);
- }
- catch (DllNotFoundException)
- {
- /* DLL not found */
- String err = "DllNotFoundException: MuPDF DLL not found 29";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- catch (BadImageFormatException)
- {
- /* Using 32 bit with 64 or vice versa */
- String err = "BadImageFormatException: Incorrect MuPDF DLL";
- mupdfDLLProblemMain(this, err);
- return -1;
- }
- return output;
- }
- #endregion DLLErrorTrap
-
- /* Now the actual code that does some work */
- public status_t Initialize()
- {
- is64bit = Environment.Is64BitOperatingSystem &&
- Environment.Is64BitProcess;
-
- mu_object = tc_mInitialize();
- if (mu_object == null)
- return status_t.E_FAILURE;
- else
- return status_t.S_ISOK;
- }
-
- public void CleanUp()
- {
- if (mu_object != null)
- {
- lock(m_lock)
- tc_mCleanUp(mu_object);
- }
- }
-
- public String GetText(int page_num, textout_t type)
- {
- return tc_mGetText(mu_object, page_num, type);
- }
-
- public void GetVersion(out String vers)
- {
- vers = tc_mGetVers();
- }
-
- public int GetPageCount()
- {
- return tc_mGetPageCount(mu_object);
- }
-
- public bool RequiresPassword()
- {
- return tc_mRequiresPassword(mu_object);
- }
-
- public bool ApplyPassword(String password)
- {
- return tc_mApplyPassword(mu_object, password);
- }
-
- public void SetAA(AA_t AAlevel)
- {
- lock (m_lock)
- {
- tc_mSetAA(mu_object, (int)AAlevel);
- }
- }
-
- public int RenderPage(int page_num, Byte[] bmp_data, int bmp_width,
- int bmp_height, double scale, bool flipy, bool use_dlist, bool
- get_text, out BlocksText blocks, bool annotation,
- out Annotate_t annot_type)
- {
- int code;
- blocks = null;
- String blockcolor = "#00FFFFFF";
- String linecolor = "#402572AC";
- /* Debug */
- //blockcolor = "#20FFFF00";
-
- annot_type = Annotate_t.UNKNOWN;
- if (use_dlist)
- {
- IntPtr dlist = IntPtr.Zero;
- IntPtr annot_dlist = IntPtr.Zero;
- IntPtr text = IntPtr.Zero;
- int num_blocks = 0;
-
- int page_height = 0;
- int page_width = 0;
-
- if (get_text)
- {
- lock (m_lock)
- {
- dlist = tc_mCreateDisplayListText(mu_object, page_num,
- ref page_width, ref page_height, ref text, ref num_blocks);
- }
- /* If we have some text go ahead and get the bounding boxes
- * now. There is likely a better way to do this with passing
- * a structure across the boundary in a single call. ToDO */
- /* Length here is the number of blocks. mupdf splits block
- * into lines (spans) and then these into text characters
- * Our goal here is to get them into a structure that we
- * can rapidly use in our ui display. Maintaining the block
- * and span stucture so that we can minimize the number of
- * rects that are introduced */
- if (num_blocks > 0)
- {
- blocks = new BlocksText();
- for (int kk = 0; kk < num_blocks; kk++)
- {
- double top_x = 0, top_y = 0, height = 0, width = 0;
- var block = new TextBlock();
-
- int num_lines = tc_mGetTextBlock(text, kk, ref top_x,
- ref top_y, ref height, ref width);
-
- block.X = top_x;
- block.Y = top_y;
- block.Width = width;
- block.Height = height;
- block.Color = blockcolor;
- block.Scale = 1.0;
- block.PageNumber = page_num;
- blocks.Add(block);
-
- blocks[kk].TextLines = new List<TextLine>();
- for (int jj = 0; jj < num_lines; jj++)
- {
- var line = new TextLine();
- int num_chars = tc_mGetTextLine(text, kk, jj, ref top_x,
- ref top_y, ref height, ref width);
- line.X = top_x;
- line.Y = top_y;
- line.Width = width;
- line.Height = height;
- line.Scale = 1.0;
- line.Color = linecolor;
- blocks[kk].TextLines.Add(line);
-
- blocks[kk].TextLines[jj].TextCharacters = new List<TextCharacter>();
- for (int mm = 0; mm < num_chars; mm++)
- {
- var textchars = new TextCharacter();
- int character = tc_mGetTextCharacter(mu_object,
- text, kk, jj, mm, ref top_x,
- ref top_y, ref height, ref width);
- textchars.X = top_x;
- textchars.Y = top_y;
- textchars.Width = width;
- textchars.Height = height;
- textchars.Scale = 1.0;
- textchars.Color = linecolor;
- try
- {
- textchars.character = System.Convert.ToChar(character).ToString();
- }
- catch (OverflowException)
- {
- textchars.character = " "; /* Something went wrong here. Use blank space */
- Console.WriteLine("{0} is outside the range of the Char data type.", character);
- }
- blocks[kk].TextLines[jj].TextCharacters.Add(textchars);
- }
- }
- }
- /* We are done with the text object */
- tc_mReleaseText(mu_object, text);
- }
- }
- else
- lock (m_lock)
- {
- dlist = tc_mCreateDisplayList(mu_object, page_num,
- ref page_width, ref page_height);
- }
- if (annotation)
- {
- lock (m_lock)
- {
- annot_dlist = tc_mCreateDisplayListAnnot(mu_object, page_num);
- if (annot_dlist == IntPtr.Zero)
- annot_type = Annotate_t.NO_ANNOTATE;
- else
- annot_type = Annotate_t.HAS_ANNOTATE;
- }
- }
-
- /* Rendering of display list can occur with other threads so unlock */
- if (dlist == null)
- {
- return (int) status_t.E_FAILURE;
- }
- code = tc_mRenderPageMT(mu_object, dlist, annot_dlist, page_width,
- page_height, bmp_data, bmp_width, bmp_height, scale, flipy);
- /* We are done with the display lists */
- tc_mReleaseLists(mu_object, dlist, annot_dlist);
- }
- else
- {
- lock(m_lock)
- {
- code = tc_mRenderPage(mu_object, page_num, bmp_data, bmp_width,
- bmp_height, scale, flipy);
- }
- }
- return code;
- }
-
- public status_t OpenFile(string filename)
- {
- return tc_mOpenDocument(mu_object, filename);
- }
-
- public int GetPageSize(int page_num, out Point size_out)
- {
- int code;
- double height = 0, width = 0;
-
- size_out = new Point();
-
- lock(m_lock)
- {
- code = tc_mMeasurePage(mu_object, page_num, ref width, ref height);
- }
-
- size_out.X = width;
- size_out.Y = height;
- return code;
- }
-
- public int ComputeContents()
- {
- int num_items;
- int len = 0, page = 0;
-
- lock(m_lock)
- {
- num_items = tc_mGetContents(mu_object);
- }
-
- if (contents == null)
- contents = new List<ContentItem>();
-
- for (int k = 0; k < num_items; k++)
- {
- ContentItem item = new ContentItem();
- item.StringMargin = tc_mGetContentsItem(k, ref len, ref page);
- item.Page = page;
- contents.Add(item);
- }
- return num_items;
- }
-
- public void ReleaseContents()
- {
- tc_mReleaseContents();
- }
-
- public int TextSearchPage(int page_num, String needle)
- {
- int num_found;
- lock (m_lock)
- {
- num_found = tc_mTextSearchPage(mu_object, page_num, needle);
- }
- return num_found;
- }
-
- public bool GetTextSearchItem(int k, out Point top_left, out Size size_rect)
- {
- double top_x = 0, top_y = 0 , height = 0, width = 0;
- bool found = tc_mGetTextSearchItem(k, ref top_x, ref top_y, ref height, ref width);
-
- top_left = new Point();
- size_rect = new Size();
-
- top_left.X = top_x;
- top_left.Y = top_y;
- size_rect.Width = width;
- size_rect.Height = height;
-
- return found;
- }
-
- public void ReleaseTextSearch()
- {
- tc_mReleaseTextSearch();
- }
-
- public int GetLinksPage(int page_num)
- {
- int num_found;
- lock (m_lock)
- {
- num_found = tc_mGetLinksPage(mu_object, page_num);
- }
- return num_found;
- }
-
- public void GetLinkItem(int k, out Point top_left, out Size size_rect,
- out String uri, out int topage, out int typea)
- {
- double top_x = 0, top_y = 0, height = 0, width = 0;
- int typeb = 0;
- int linkpage = 0;
-
- uri = tc_mGetLinkItem(k, ref top_x, ref top_y, ref height, ref width,
- ref linkpage, ref typeb);
-
- topage = linkpage;
- typea = typeb;
- top_left = new Point();
- size_rect = new Size();
-
- top_left.X = top_x;
- top_left.Y = top_y;
- size_rect.Width = width;
- size_rect.Height = height;
- }
-
- public void ReleaseLink()
- {
- tc_mReleaseLink();
- }
-
- public void ReleaseText(IntPtr textpage)
- {
- tc_mReleaseText(mu_object, textpage);
- }
-
- public void HTMLSaveAs(String infile, String outfile, String password,
- bool has_password, bool linearize, int num_pages, System.Collections.IList pages)
- {
- if (num_pages > 0)
- {
- /* We need to do an allocation for our array of page numbers and
- * perform pinning to avoid GC while in the c++ code */
- GCHandle pagesPtrStable;
- int[] page_list;
- page_list = new int[pages.Count];
-
- for (int kk = 0; kk < pages.Count; kk++)
- {
- SelectPage currpage = (SelectPage)pages[kk];
- page_list[kk] = currpage.Page;
- }
- pagesPtrStable = GCHandle.Alloc(page_list, GCHandleType.Pinned);
- tc_mExtractPages(infile, outfile, password, has_password, linearize,
- num_pages, pagesPtrStable.AddrOfPinnedObject());
- pagesPtrStable.Free();
- }
- else
- {
- tc_mExtractPages(infile, outfile, password, has_password, linearize,
- num_pages, IntPtr.Zero);
- }
- }
-
- public void PDFExtract(String infile, String outfile, String password,
- bool has_password, bool linearize, int num_pages, System.Collections.IList pages)
- {
- if (num_pages > 0)
- {
- /* We need to do an allocation for our array of page numbers and
- * perform pinning to avoid GC while in the c++ code */
- GCHandle pagesPtrStable;
- int[] page_list;
- page_list = new int[pages.Count];
-
- for (int kk = 0; kk < pages.Count; kk++)
- {
- SelectPage currpage = (SelectPage)pages[kk];
- page_list[kk] = currpage.Page;
- }
- pagesPtrStable = GCHandle.Alloc(page_list, GCHandleType.Pinned);
- tc_mExtractPages(infile, outfile, password, has_password, linearize,
- num_pages, pagesPtrStable.AddrOfPinnedObject());
- pagesPtrStable.Free();
- }
- else
- {
- tc_mExtractPages(infile, outfile, password, has_password, linearize,
- num_pages, IntPtr.Zero);
- }
- }
-
- public gsStatus ConvertSave(gsDevice_t device, String outputFile, int num_pages,
- System.Collections.IList pages, int resolution)
- {
- ConvertParams_t convertparams = new ConvertParams_t();
-
- convertparams.device = device;
- convertparams.outputfile = outputFile;
- convertparams.num_pages = num_pages;
- convertparams.resolution = resolution;
- convertparams.pages = pages;
- convertparams.currpage = 1;
- return ConvertMuPDF(convertparams);
- }
-
- /* Render page by page in background with progress call back */
- private gsStatus ConvertMuPDF(ConvertParams_t Params)
- {
- try
- {
- if (m_worker != null && m_worker.IsBusy)
- {
- m_worker.CancelAsync();
- return gsStatus.GS_BUSY;
- }
- if (m_worker == null)
- {
- m_worker = new BackgroundWorker();
- m_worker.WorkerReportsProgress = true;
- m_worker.WorkerSupportsCancellation = true;
- m_worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(MuPDFCompleted);
- m_worker.ProgressChanged += new ProgressChangedEventHandler(MuPDFProgressChanged);
- m_worker.DoWork += new DoWorkEventHandler(MuPDFWork);
- }
-
- m_params = Params;
- m_worker.RunWorkerAsync(Params);
- return gsStatus.GS_READY;
- }
- catch (OutOfMemoryException e)
- {
- Console.WriteLine("Memory allocation failed during mupdf rendering\n");
- return gsStatus.GS_ERROR;
- }
- }
-
- private void MuPDFCompleted(object sender, RunWorkerCompletedEventArgs e)
- {
- ConvertParams_t Value;
- muPDFEventArgs info;
-
- if (e.Cancelled)
- {
- Value = new ConvertParams_t();
- Value.result = GS_Result_t.gsCANCELLED;
- info = new muPDFEventArgs(true, 100, Value);
- }
- else
- {
- Value = (ConvertParams_t)e.Result;
- info = new muPDFEventArgs(true, 100, Value);
- }
- mupdfUpdateMain(this, info);
- }
-
- private void MuPDFProgressChanged(object sender, ProgressChangedEventArgs e)
- {
- /* Callback with progress */
- ConvertParams_t Value = new ConvertParams_t();
- muPDFEventArgs info = new muPDFEventArgs(false, e.ProgressPercentage, Value);
- mupdfUpdateMain(this, info);
- }
-
- public void Cancel()
- {
- m_worker.CancelAsync();
- }
-
- /* ToDo: do we report pages that failed? or just push on */
- private void MuPDFWork(object sender, DoWorkEventArgs e)
- {
- ConvertParams_t muparams = (ConvertParams_t)e.Argument;
- String out_file = muparams.outputfile;
- int num_pages = muparams.num_pages;
- int resolution = muparams.resolution;
- var pages = muparams.pages;
- BackgroundWorker worker = sender as BackgroundWorker;
-
- muparams.result = GS_Result_t.gsOK;
-
- int result;
-
- for (int kk = 0; kk < num_pages; kk++)
- {
- SelectPage curr_page = (SelectPage)pages[kk];
- int page_num = curr_page.Page;
- bool append = (kk != 0);
-
- /* Look for file extension. */
- string extension = System.IO.Path.GetExtension(out_file);
- int len = extension.Length;
- String new_out_file = out_file.Substring(0, out_file.Length - len);
- String out_file_name = new_out_file + "_" + page_num + extension;
-
- /* Question: is lock valid when done from this worker thread? */
- switch (muparams.device)
- {
- case gsDevice_t.svg:
- lock (this.m_lock) /* Single-page format */
- result = tc_mSavePage(mu_object, out_file_name,
- page_num - 1, resolution, (int) mudevice_t.SVG_OUT,
- false);
- break;
- case gsDevice_t.pnm:
- lock (this.m_lock) /* Single-page format */
- result = tc_mSavePage(mu_object, out_file_name,
- page_num - 1, resolution, (int)mudevice_t.PNM_OUT,
- false);
- break;
- case gsDevice_t.pclbitmap: /* Multi-page format */
- lock (this.m_lock)
- result = tc_mSavePage(mu_object, out_file,
- page_num - 1, resolution, (int)mudevice_t.PCL_OUT,
- append);
- break;
- case gsDevice_t.pwg: /* Multi-page format */
- lock (this.m_lock)
- result = tc_mSavePage(mu_object, out_file,
- page_num - 1, resolution, (int)mudevice_t.PWG_OUT,
- append);
- break;
- }
- double prog = (double) (kk+1.0)/((double) num_pages) * 100.0;
- worker.ReportProgress((int)prog);
-
- if (worker.CancellationPending == true)
- {
- e.Cancel = true;
- muparams.result = GS_Result_t.gsCANCELLED;
- break;
- }
- }
- e.Result = muparams;
- return;
- }
- }
-}
diff --git a/platform/windows/gsview/nsis/gsview.nsi b/platform/windows/gsview/nsis/gsview.nsi
deleted file mode 100644
index f2bba6e9..00000000
--- a/platform/windows/gsview/nsis/gsview.nsi
+++ /dev/null
@@ -1,552 +0,0 @@
-; Copyright (C) 2015 Artifex Software, Inc.
-; All Rights Reserved.
-;
-; This software is provided AS-IS with no warranty, either express or
-; implied.
-;
-; This software is distributed under license and may not be copied,
-; modified or distributed except as expressly authorized under the terms
-; of the license contained in the file LICENSE in this distribution.
-;
-; Refer to licensing information at http://www.artifex.com or contact
-; Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-; CA 94903, U.S.A., +1(415)492-9861, for further information.
-;
-
-; This script should be compiled with :
-; makensis -NOCD nsis/gsview.nsi
-
-!ifndef TARGET
-!define TARGET gsview_setup
-!endif
-
-!ifndef VERSION
-!define VERSION 6.0
-!endif
-
-!ifndef PRODUCT_NAME
-!define PRODUCT_NAME gsview
-!endif
-
-SetCompressor /SOLID /FINAL lzma
-XPStyle on
-CRCCheck on
-
-!include "nsDialogs.nsh"
-; modern user interface
-!include "MUI2.nsh"
-; for logic marcos that occur at run time. Not compile time
-!include "LogicLib.nsh"
-; for detecting if running on x64 machine.
-!include "x64.nsh"
-
-; Macros for file association.
-; to make sure that we update the proper locations (user vs root for example
-; as well as changes needed for Windows 8.x)
-!macro APP_ASSOCIATE EXT FILECLASS DESCRIPTION ICON COMMANDTEXT COMMAND TOAST SETDEFAULT
- ; Backup the previously associated file class
-
- ${If} ${SETDEFAULT} == "1"
- ;DetailPrint "ReadRegStr HKCU Software\Classes\ $R0"
- ReadRegStr $R0 HKCU "Software\Classes\.${EXT}" ""
-
- ;DetailPrint "WriteRegStr of backup in HKCU"
- WriteRegStr HKCU "Software\Classes\.${EXT}" "${FILECLASS}_backup" "$R0"
-
- ;DetailPrint "WriteRegStr of fileclass in HKCU"
- WriteRegStr HKCU "Software\Classes\.${EXT}" "" "${FILECLASS}"
-
- ; If this key is present (as it in windows 8) then we need to do this to get the
- ; proper file type icon rather than just the application icon for the file type.
- ${If} ${TOAST} == '1'
- WriteRegDWORD HKCU "Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts\" "${FILECLASS}_" 0
- ${EndIf}
- ${EndIf}
-
- ; The icon mapping should not go in HKCR but in HKLM per MS best practices
- WriteRegStr HKLM "Software\Classes\${FILECLASS}" "" `${DESCRIPTION}`
- WriteRegStr HKLM "Software\Classes\${FILECLASS}\DefaultIcon" "" `${ICON}`
- WriteRegStr HKLM "Software\Classes\${FILECLASS}\shell" "" "open"
- WriteRegStr HKLM "Software\Classes\${FILECLASS}\shell\open" "" `${COMMANDTEXT}`
- WriteRegStr HKLM "Software\Classes\${FILECLASS}\shell\open\command" "" `${COMMAND}`
-!macroend
-
-!macro APP_UNASSOCIATE EXT FILECLASS TOAST
- ; Get the previously associated file class
- ReadRegStr $R0 HKCU "Software\Classes\.${EXT}" `${FILECLASS}_backup`
- WriteRegStr HKCU "Software\Classes\.${EXT}" "" "$R0"
-
- ; Delete backup value
- DeleteRegValue HKCU "Software\Classes\.${EXT}" "${FILECLASS}_backup"
-
- ; If this key is present (as it in windows 8) then attempt to clean up. System
- ; seems to add in other entries here that I did not do depending upon what the
- ; type of associations the user has done.
- ${If} ${TOAST} == '1'
- DeleteRegValue HKCU "Software\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts\" "${FILECLASS}_"
- ${EndIf}
-
- ; Remove icon mapping
- DeleteRegKey HKLM `Software\Classes\${FILECLASS}`
-!macroend
-
-; defines for use with SHChangeNotify
-!ifdef SHCNE_ASSOCCHANGED
-!undef SHCNE_ASSOCCHANGED
-!endif
-!define SHCNE_ASSOCCHANGED 0x08000000
-!ifdef SHCNF_FLUSH
-!undef SHCNF_FLUSH
-!endif
-!define SHCNF_FLUSH 0x1000
-
-!macro UPDATEFILEASSOC
- System::Call "shell32::SHChangeNotify(i,i,i,i) (${SHCNE_ASSOCCHANGED}, ${SHCNF_FLUSH}, 0, 0)"
-!macroend
-
-!define MUI_FINISHPAGE_RUN "$INSTDIR\bin\gsview.exe"
-!define MUI_FINISHPAGE_LINK "Visit the Ghostscript web site"
-!define MUI_FINISHPAGE_LINK_LOCATION http://www.ghostscript.com/
-
-; Order of page appearance
-!insertmacro MUI_PAGE_WELCOME
-!insertmacro MUI_PAGE_LICENSE "LICENSE"
-!insertmacro MUI_PAGE_DIRECTORY
-Page custom fnc_association_Show fnc_association_Done
-!insertmacro MUI_PAGE_INSTFILES
-!insertmacro MUI_PAGE_FINISH
-
-!insertmacro MUI_LANGUAGE "English"
-
-!searchparse /ignorecase /noerrors "${TARGET}" w WINTYPE
-!echo "Building ${WINTYPE}-bit installer"
-
-Name "gsview"
-OutFile "${TARGET}_${VERSION}.exe"
-Icon Resources\gsview_app.ico
-UninstallIcon Resources\gsview_app.ico
-
-; We need to have then run this as an adminstrator. Otherwise there are
-; issues with the icons for the various file types and getting the "Open With.."
-; items populated
-
-RequestExecutionLevel admin
-
-; Some default compiler settings (uncomment and change at will):
-; SetCompress auto ; (can be off or force)
-; SetDatablockOptimize on ; (can be off)
-; CRCCheck on ; (can be off)
-; AutoCloseWindow false ; (can be true for the window go away automatically at end)
-; ShowInstDetails hide ; (can be show to have them shown, or nevershow to disable)
-; SetDateSave off ; (can be on to have files restored to their orginal date)
-
-BrandingText "Artifex Software Inc."
-LicenseText "You must agree to this license before installing."
-LicenseData "LICENSE"
-
-; It is OK to use $PROGRAMFILES64 on x86
-; you can use $PROGRAMFILES64 for all platforms. It will go to default
-InstallDir "$PROGRAMFILES64\Artifex Software\gsview${VERSION}"
-
-DirText "Select the directory to install gsview in:"
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;
-; Association dialog: Partially created with CoolSoft NSIS Dialog Designer.
-;
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-Var hCtl_association
-Var hCtl_association_jpg
-Var hCtl_association_png
-Var hCtl_association_xps
-Var hCtl_association_oxps
-Var hCtl_association_eps
-Var hCtl_association_ps
-Var hCtl_association_cbz
-Var hCtl_association_pdf
-Var jpg
-Var png
-Var xps
-Var oxps
-Var eps
-Var ps
-Var cbz
-Var pdf
-
-; dialog create function
-Function fnc_association_Create
-
- ; === association (type: Dialog) ===
- nsDialogs::Create 1018
- Pop $hCtl_association
- ${If} $hCtl_association == error
- Abort
- ${EndIf}
- !insertmacro MUI_HEADER_TEXT "File Type Associations" "Select.."
-
- ; === jpg (type: Checkbox) ===
- ${NSD_CreateCheckbox} 192.2u 57.85u 78.99u 23.38u "jpg"
- Pop $hCtl_association_jpg
- ${NSD_Check} $hCtl_association_jpg
-
- ; === png (type: Checkbox) ===
- ${NSD_CreateCheckbox} 192.2u 43.69u 68.46u 14.77u "png"
- Pop $hCtl_association_png
- ${NSD_Check} $hCtl_association_png
-
- ; === xps (type: Checkbox) ===
- ${NSD_CreateCheckbox} 123.09u 45.54u 70.43u 11.69u "xps"
- Pop $hCtl_association_xps
- ${NSD_Check} $hCtl_association_xps
-
- ; === oxps (type: Checkbox) ===
- ${NSD_CreateCheckbox} 123.09u 57.85u 73.06u 23.38u "oxps"
- Pop $hCtl_association_oxps
- ${NSD_Check} $hCtl_association_oxps
-
- ; === eps (type: Checkbox) ===
- ${NSD_CreateCheckbox} 50.68u 80.62u 68.46u 14.77u "eps"
- Pop $hCtl_association_eps
- ${NSD_Check} $hCtl_association_eps
-
- ; === ps (type: Checkbox) ===
- ${NSD_CreateCheckbox} 50.68u 62.15u 62.53u 14.77u "ps"
- Pop $hCtl_association_ps
- ${NSD_Check} $hCtl_association_ps
-
- ; === cbz (type: Checkbox) ===
- ${NSD_CreateCheckbox} 192.2u 80.62u 68.46u 14.77u "cbz"
- Pop $hCtl_association_cbz
- ${NSD_Check} $hCtl_association_cbz
-
- ; === pdf (type: Checkbox) ===
- ${NSD_CreateCheckbox} 50.68u 43.69u 68.46u 14.77u "pdf"
- Pop $hCtl_association_pdf
- ${NSD_Check} $hCtl_association_pdf
-
-FunctionEnd
-
-; Association dialog show function
-Function fnc_association_Show
- Call fnc_association_Create
- nsDialogs::Show $hCtl_association
-FunctionEnd
-
-; Association dialog done function
-Function fnc_association_Done
- ${NSD_GetState} $hCtl_association_jpg $0
- ${If} $0 <> 0
- StrCpy $jpg "1"
- ${Else}
- StrCpy $jpg "0"
- ${EndIf}
-
- ${NSD_GetState} $hCtl_association_xps $0
- ${If} $0 <> 0
- StrCpy $xps "1"
- ${Else}
- StrCpy $xps "0"
- ${EndIf}
-
- ${NSD_GetState} $hCtl_association_oxps $0
- ${If} $0 <> 0
- StrCpy $oxps "1"
- ${Else}
- StrCpy $oxps "0"
- ${EndIf}
-
- ${NSD_GetState} $hCtl_association_png $0
- ${If} $0 <> 0
- StrCpy $png "1"
- ${Else}
- StrCpy $png "0"
- ${EndIf}
-
- ${NSD_GetState} $hCtl_association_eps $0
- ${If} $0 <> 0
- StrCpy $eps "1"
- ${Else}
- StrCpy $eps "0"
- ${EndIf}
-
- ${NSD_GetState} $hCtl_association_ps $0
- ${If} $0 <> 0
- StrCpy $ps "1"
- ${Else}
- StrCpy $ps "0"
- ${EndIf}
-
- ${NSD_GetState} $hCtl_association_cbz $0
- ${If} $0 <> 0
- StrCpy $cbz "1"
- ${Else}
- StrCpy $cbz "0"
- ${EndIf}
-
- ${NSD_GetState} $hCtl_association_pdf $0
- ${If} $0 <> 0
- StrCpy $pdf "1"
- ${Else}
- StrCpy $pdf "0"
- ${EndIf}
-
-FunctionEnd
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;
-; Main Install Section
-;
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-Section "" ; (default section)
-
- ; First check if we have the proper .net installed
- Call CheckAndDownloadDotNet45
-
- SetOutPath "$INSTDIR"
- CreateDirectory "$INSTDIR\bin"
- CreateDirectory "$INSTDIR\resources"
- ; add files / whatever that need to be installed here.
- ${If} ${RunningX64}
- File /oname=bin\gsprint64.dll .\bin\Release\gsprint64.dll
- File /oname=bin\mupdfnet64.dll .\bin\Release\mupdfnet64.dll
- File /oname=bin\gsdll64.dll .\gslib\gsdll64.dll
- ${Else}
- File /oname=bin\gsprint32.dll .\bin\Release\gsprint32.dll
- File /oname=bin\mupdfnet32.dll .\bin\Release\mupdfnet32.dll
- File /oname=bin\gsdll32.dll .\gslib\gsdll32.dll
- ${EndIf}
- File /oname=bin\gsview.exe .\bin\Release\gsview.exe
- File /oname=resources\pageCBZ.ico .\Resources\pageCBZ.ico
- File /oname=resources\pageEPS.ico .\Resources\pageEPS.ico
- File /oname=resources\pagePS.ico .\Resources\pagePS.ico
- File /oname=resources\pagePDF.ico .\Resources\pagePDF.ico
- File /oname=resources\pageXPS.ico .\Resources\pageXPS.ico
- File /oname=resources\pageOXPS.ico .\Resources\pageOXPS.ico
- File /oname=resources\pagePNG.ico .\Resources\pagePNG.ico
- File /oname=resources\pageJPG.ico .\Resources\pageJPG.ico
-
- ${If} ${RunningX64}
- SetRegView 64
- ${EndIf}
- WriteRegStr HKEY_LOCAL_MACHINE "Software\Artifex Software\gsview\${VERSION}" "" "$INSTDIR"
- WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\gsview ${VERSION}" "DisplayName" "gsview"
- WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\gsview ${VERSION}" "UninstallString" '"$INSTDIR\uninstgsview.exe"'
- WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\gsview ${VERSION}" "Publisher" "Artifex Software Inc."
- WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\gsview ${VERSION}" "HelpLink" "http://www.ghostscript.com/"
- WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\gsview ${VERSION}" "URLInfoAbout" "http://www.ghostscript.com/"
- WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\gsview ${VERSION}" "DisplayVersion" "${VERSION}"
- WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\gsview ${VERSION}" "NoRepair" "1"
-
- ; Check if Toast directory is present before doing the associations
- StrCpy $0 0
- StrCpy $2 0
- ${Do}
- EnumRegKey $1 HKCU Software\Microsoft\Windows\CurrentVersion $0
- ${If} $1 == 'ApplicationAssociationToasts'
- StrCpy $2 1
- StrCpy $1 "" ; End it now as we have found the entry
- ${EndIf}
- IntOp $0 $0 + 1
- ${LoopUntil} $1 == ""
-
- ; The file associations
- !insertmacro APP_ASSOCIATE "pdf" "gsview.pdf" "PDF Document" "$INSTDIR\resources\pagePDF.ico" "Open" "$INSTDIR\bin\gsview.exe $\"%1$\"" $2 $pdf
- !insertmacro APP_ASSOCIATE "ps" "gsview.ps" "Postscript Document" "$INSTDIR\resources\pagePS.ico" "Open" "$INSTDIR\bin\gsview.exe $\"%1$\"" $2 $ps
- !insertmacro APP_ASSOCIATE "xps" "gsview.xps" "XPS Document" "$INSTDIR\resources\pageXPS.ico" "Open" "$INSTDIR\bin\gsview.exe $\"%1$\"" $2 $xps
- !insertmacro APP_ASSOCIATE "oxps" "gsview.oxps" "Open XPS Document" "$INSTDIR\resources\pageOXPS.ico" "Open" "$INSTDIR\bin\gsview.exe $\"%1$\"" $2 $oxps
- !insertmacro APP_ASSOCIATE "cbz" "gsview.cbz" "CBZ Document" "$INSTDIR\resources\pageCBZ.ico" "Open" "$INSTDIR\bin\gsview.exe $\"%1$\"" $2 $cbz
- !insertmacro APP_ASSOCIATE "jpg" "gsview.jpg" "JPG Image" "$INSTDIR\resources\pageJPG.ico" "Open" "$INSTDIR\bin\gsview.exe $\"%1$\"" $2 $jpg
- !insertmacro APP_ASSOCIATE "png" "gsview.png" "PNG Image" "$INSTDIR\resources\pagePNG.ico" "Open" "$INSTDIR\bin\gsview.exe $\"%1$\"" $2 $png
- !insertmacro APP_ASSOCIATE "eps" "gsview.eps" "Encapsulated Postscript" "$INSTDIR\resources\pageEPS.ico" "Open" "$INSTDIR\bin\gsview.exe $\"%1$\"" $2 $eps
- !insertmacro UPDATEFILEASSOC
-
- ; write out uninstaller
- WriteUninstaller "$INSTDIR\uninstgsview.exe"
-SectionEnd ; end of default section
-
-Function .onInstSuccess
- SetShellVarContext all
- CreateDirectory "$SMPROGRAMS\gsview"
- CreateShortCut "$SMPROGRAMS\gsview\gsview ${VERSION}.LNK" "$INSTDIR\bin\gsview.exe"
- CreateShortCut "$SMPROGRAMS\gsview\Uninstall gsview ${VERSION}.LNK" "$INSTDIR\uninstgsview.exe"
-FunctionEnd
-
-Function .onInit
- ; Again, check that we they are doing a run as administrator
- UserInfo::GetAccountType
- pop $0
- ${If} $0 != "admin" ;Require admin rights
- MessageBox mb_iconstop "Administrator rights required!"
- SetErrorLevel 740 ;ERROR_ELEVATION_REQUIRED
- Quit
- ${EndIf}
-
- System::Call 'kernel32::CreateMutexA(i 0, i 0, t "GhostscriptInstaller") i .r1 ?e'
- Pop $R0
- StrCmp $R0 0 +3
- MessageBox MB_OK "The gsview installer is already running." /SD IDOK
- Abort
-FunctionEnd
-
-Function Un.onInit
- ${If} ${RunningX64}
- SetRegView 64
- ${EndIf}
-FunctionEnd
-
-; begin uninstall settings/section
-UninstallText "This will uninstall gsview from your system"
-
-Section Uninstall
- ; add delete commands to delete whatever files/registry keys/etc you installed here.
- SetShellVarContext all
- Delete "$SMPROGRAMS\gsview\gsview ${VERSION}.LNK"
- Delete "$SMPROGRAMS\gsview\Uninstall gsview ${VERSION}.LNK"
- RMDir "$SMPROGRAMS\gsview"
- Delete "$INSTDIR\uninstgsview.exe"
-
- ${If} ${RunningX64}
- SetRegView 64
- ${EndIf}
- ; Check if Toast directory is present before doing the unassociations
- StrCpy $0 0
- StrCpy $2 0
- ${Do}
- EnumRegKey $1 HKCU Software\Microsoft\Windows\CurrentVersion $0
- ${If} $1 == 'ApplicationAssociationToasts'
- StrCpy $2 1
- StrCpy $1 ""
- ${EndIf}
- IntOp $0 $0 + 1
- ${LoopUntil} $1 == ""
-
- !insertmacro APP_UNASSOCIATE "pdf" "gsview.pdf" $2
- !insertmacro APP_UNASSOCIATE "ps" "gsview.ps" $2
- !insertmacro APP_UNASSOCIATE "xps" "gsview.xps" $2
- !insertmacro APP_UNASSOCIATE "oxps" "gsview.oxps" $2
- !insertmacro APP_UNASSOCIATE "cbz" "gsview.cbz" $2
- !insertmacro APP_UNASSOCIATE "jpg" "gsview.jpg" $2
- !insertmacro APP_UNASSOCIATE "png" "gsview.png" $2
-
- DeleteRegKey HKEY_CURRENT_USER "Software\Artifex Software\GSview ${Version}"
-
- DeleteRegKey HKEY_LOCAL_MACHINE "SOFTWARE\Artifex Software\gsview\${VERSION}"
- DeleteRegKey HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\gsview ${VERSION}"
- DeleteRegKey HKEY_LOCAL_MACHINE "Software\gsview\${VERSION}"
- RMDir /r "$INSTDIR\doc"
- Delete "$INSTDIR\bin\gsprint${WINTYPE}.dll"
- Delete "$INSTDIR\bin\mupdfnet{WINTYPE}.dll"
- Delete "$INSTDIR\bin\gsdll${WINTYPE}.dll"
- Delete "$INSTDIR\bin\gsview.exe"
- Delete "$INSTDIR\resources\pageCBZ.ico"
- Delete "$INSTDIR\resources\pageEPS.ico"
- Delete "$INSTDIR\resources\pageJPG.ico"
- Delete "$INSTDIR\resources\pageOXPS.ico"
- Delete "$INSTDIR\resources\pagePDF.ico"
- Delete "$INSTDIR\resources\pagePS.ico"
- Delete "$INSTDIR\resources\pageXPS.ico"
- Delete "$INSTDIR\resources\pagePNG.ico"
- RMDir "$INSTDIR\resources"
- RMDir "$INSTDIR\bin"
- RMDir "$INSTDIR"
-SectionEnd ; end of uninstall section
-
-; From http://nsis.sourceforge.net/Download_and_Install_dotNET_45
-Function CheckAndDownloadDotNet45
- # Let's see if the user has the .NET Framework 4.5 installed on their system or not
- # Remember: you need Vista SP2 or 7 SP1. It is built in to Windows 8, and not needed
- # In case you're wondering, running this code on Windows 8 will correctly return is_equal
- # or is_greater (maybe Microsoft releases .NET 4.5 SP1 for example)
-
- # Set up our Variables
- Var /GLOBAL dotNET45IsThere
- Var /GLOBAL dotNET_CMD_LINE
- Var /GLOBAL EXIT_CODE
-
- # We are reading a version release DWORD that Microsoft says is the documented
- # way to determine if .NET Framework 4.5 is installed
- ReadRegDWORD $dotNET45IsThere HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" "Release"
- IntCmp $dotNET45IsThere 378389 is_equal is_less is_greater
-
- is_equal:
- Goto done_compare_not_needed
- is_greater:
- # Useful if, for example, Microsoft releases .NET 4.5 SP1
- # We want to be able to simply skip install since it's not
- # needed on this system
- Goto done_compare_not_needed
- is_less:
- Goto done_compare_needed
-
- done_compare_needed:
- #.NET Framework 4.5 install is *NEEDED*
-
- # Microsoft Download Center EXE:
- # Web Bootstrapper: http://go.microsoft.com/fwlink/?LinkId=225704
- # Full Download: http://go.microsoft.com/fwlink/?LinkId=225702
-
- # Setup looks for components\dotNET45Full.exe relative to the install EXE location
- # This allows the installer to be placed on a USB stick (for computers without internet connections)
- # If the .NET Framework 4.5 installer is *NOT* found, Setup will connect to Microsoft's website
- # and download it for you
-
- # Reboot Required with these Exit Codes:
- # 1641 or 3010
-
- # Command Line Switches:
- # /showrmui /passive /norestart
-
- # Silent Command Line Switches:
- # /q /norestart
-
- # Let's see if the user is doing a Silent install or not
- IfSilent is_quiet is_not_quiet
-
- is_quiet:
- StrCpy $dotNET_CMD_LINE "/q /norestart"
- Goto LookForLocalFile
- is_not_quiet:
- StrCpy $dotNET_CMD_LINE "/showrmui /passive /norestart"
- Goto LookForLocalFile
-
- LookForLocalFile:
- # Let's see if the user stored the Full Installer
- IfFileExists "$EXEPATH\components\dotNET45Full.exe" do_local_install do_network_install
-
- do_local_install:
- # .NET Framework found on the local disk. Use this copy
- ExecWait '"$EXEPATH\components\dotNET45Full.exe" $dotNET_CMD_LINE' $EXIT_CODE
- Goto is_reboot_requested
- # Now, let's Download the .NET
-
- do_network_install:
- Var /GLOBAL dotNetDidDownload
- NSISdl::download "http://go.microsoft.com/fwlink/?LinkId=225704" "$TEMP\dotNET45Web.exe" $dotNetDidDownload
- StrCmp $dotNetDidDownload success fail
-
- success:
- ExecWait '"$TEMP\dotNET45Web.exe" $dotNET_CMD_LINE' $EXIT_CODE
- Goto is_reboot_requested
-
- fail:
- MessageBox MB_OK|MB_ICONEXCLAMATION "Unable to download .NET Framework. ${PRODUCT_NAME} will be installed, but will not function without the Framework!"
- Goto done_dotNET_function
-
- # $EXIT_CODE contains the return codes. 1641 and 3010 means a Reboot has been requested
- is_reboot_requested:
- ${If} $EXIT_CODE = 1641
- ${OrIf} $EXIT_CODE = 3010
- SetRebootFlag true
- ${EndIf}
-
- done_compare_not_needed:
- # Done dotNET Install
- Goto done_dotNET_function
-
- #exit the function
- done_dotNET_function:
-
- FunctionEnd
-; eof
diff --git a/platform/windows/libmupdf-nov8_winRT.vcxproj b/platform/windows/libmupdf-nov8_winRT.vcxproj
deleted file mode 100644
index 373999a6..00000000
--- a/platform/windows/libmupdf-nov8_winRT.vcxproj
+++ /dev/null
@@ -1,299 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|ARM">
- <Configuration>Debug</Configuration>
- <Platform>ARM</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Memento|ARM">
- <Configuration>Memento</Configuration>
- <Platform>ARM</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Memento|Win32">
- <Configuration>Memento</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Memento|x64">
- <Configuration>Memento</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|ARM">
- <Configuration>Release</Configuration>
- <Platform>ARM</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>
- <ItemGroup>
- <ClCompile Include="..\..\source\pdf\js\pdf-js-none.c" />
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{5affe821-c5c8-45fb-b834-10fed76e49a7}</ProjectGuid>
- <Keyword>Win32Proj</Keyword>
- <ProjectName>libmupdf-nov8_winRT</ProjectName>
- <RootNamespace>libmupdf_nov8_winRT</RootNamespace>
- <DefaultLanguage>en-US</DefaultLanguage>
- <MinimumVisualStudioVersion>12.0</MinimumVisualStudioVersion>
- <AppContainerApplication>true</AppContainerApplication>
- <ApplicationType>Windows Store</ApplicationType>
- <ApplicationTypeRevision>8.1</ApplicationTypeRevision>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|ARM'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Memento|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Memento|ARM'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Memento|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <GenerateManifest>false</GenerateManifest>
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- <OutDir>$(Platform)\$(Configuration)\</OutDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|Win32'">
- <GenerateManifest>false</GenerateManifest>
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- <OutDir>$(Platform)\$(Configuration)\</OutDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <GenerateManifest>false</GenerateManifest>
- <OutDir>$(Platform)\$(Configuration)\</OutDir>
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
- <GenerateManifest>false</GenerateManifest>
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- <OutDir>$(Platform)\$(Configuration)\</OutDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|ARM'">
- <GenerateManifest>false</GenerateManifest>
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- <OutDir>$(Platform)\$(Configuration)\</OutDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
- <GenerateManifest>false</GenerateManifest>
- <OutDir>$(Platform)\$(Configuration)\</OutDir>
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <GenerateManifest>false</GenerateManifest>
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- <OutDir>$(Platform)\$(Configuration)\</OutDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|x64'">
- <GenerateManifest>false</GenerateManifest>
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- <OutDir>$(Platform)\$(Configuration)\</OutDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <GenerateManifest>false</GenerateManifest>
- <OutDir>$(Platform)\$(Configuration)\</OutDir>
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <CompileAsWinRT>false</CompileAsWinRT>
- <SDLCheck>false</SDLCheck>
- <AdditionalIncludeDirectories>..\..\scripts\freetype;..\..\scripts\jpeg;..\..\scripts\openjpeg;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\include;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Memento|Win32'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <CompileAsWinRT>false</CompileAsWinRT>
- <SDLCheck>false</SDLCheck>
- <AdditionalIncludeDirectories>..\..\scripts\freetype;..\..\scripts\jpeg;..\..\scripts\openjpeg;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\include;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <CompileAsWinRT>false</CompileAsWinRT>
- <SDLCheck>false</SDLCheck>
- <AdditionalIncludeDirectories>..\..\scripts\freetype;..\..\scripts\jpeg;..\..\scripts\openjpeg;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\include;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|arm'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <CompileAsWinRT>false</CompileAsWinRT>
- <SDLCheck>false</SDLCheck>
- <AdditionalIncludeDirectories>..\..\scripts\freetype;..\..\scripts\jpeg;..\..\scripts\openjpeg;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\include;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Memento|arm'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <CompileAsWinRT>false</CompileAsWinRT>
- <SDLCheck>false</SDLCheck>
- <AdditionalIncludeDirectories>..\..\scripts\freetype;..\..\scripts\jpeg;..\..\scripts\openjpeg;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\include;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|arm'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <CompileAsWinRT>false</CompileAsWinRT>
- <SDLCheck>false</SDLCheck>
- <AdditionalIncludeDirectories>..\..\scripts\freetype;..\..\scripts\jpeg;..\..\scripts\openjpeg;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\include;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <CompileAsWinRT>false</CompileAsWinRT>
- <SDLCheck>false</SDLCheck>
- <AdditionalIncludeDirectories>..\..\scripts\freetype;..\..\scripts\jpeg;..\..\scripts\openjpeg;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\include;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Memento|x64'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <CompileAsWinRT>false</CompileAsWinRT>
- <SDLCheck>false</SDLCheck>
- <AdditionalIncludeDirectories>..\..\scripts\freetype;..\..\scripts\jpeg;..\..\scripts\openjpeg;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\include;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <CompileAsWinRT>false</CompileAsWinRT>
- <SDLCheck>false</SDLCheck>
- <AdditionalIncludeDirectories>..\..\scripts\freetype;..\..\scripts\jpeg;..\..\scripts\openjpeg;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\include;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
- </Link>
- </ItemDefinitionGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project> \ No newline at end of file
diff --git a/platform/windows/libmupdf-nov8_winRT.vcxproj.filters b/platform/windows/libmupdf-nov8_winRT.vcxproj.filters
deleted file mode 100644
index 7e73bfa6..00000000
--- a/platform/windows/libmupdf-nov8_winRT.vcxproj.filters
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <ClCompile Include="..\..\source\pdf\js\pdf-js-none.c" />
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/platform/windows/libmupdf/libmupdf.vcxproj b/platform/windows/libmupdf/libmupdf.vcxproj
deleted file mode 100644
index cfea7582..00000000
--- a/platform/windows/libmupdf/libmupdf.vcxproj
+++ /dev/null
@@ -1,372 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.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>
- <ItemGroup>
- <ClInclude Include="..\..\..\include\mupdf\fitz.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\annotation.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\bitmap.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\buffer.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\colorspace.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\compressed-buffer.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\context.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\crypt.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\device.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\display-list.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\document.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\filter.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\font.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\function.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\getopt.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\glyph-cache.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\hash.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\image.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\link.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\math.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\meta.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\outline.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\output-pcl.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\output-png.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\output-pnm.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\output-pwg.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\output-svg.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\output.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\path.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\pixmap.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\shade.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\store.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\stream.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\string.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\structured-text.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\system.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\text.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\transition.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\unzip.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\write-document.h" />
- <ClInclude Include="..\..\..\include\mupdf\fitz\xml.h" />
- <ClInclude Include="..\..\..\include\mupdf\html.h" />
- <ClInclude Include="..\..\..\include\mupdf\memento.h" />
- <ClInclude Include="..\..\..\include\mupdf\pdf-tools.h" />
- <ClInclude Include="..\..\..\include\mupdf\pdf.h" />
- <ClInclude Include="..\..\..\include\mupdf\pdf\annot.h" />
- <ClInclude Include="..\..\..\include\mupdf\pdf\appearance.h" />
- <ClInclude Include="..\..\..\include\mupdf\pdf\cmap.h" />
- <ClInclude Include="..\..\..\include\mupdf\pdf\crypt.h" />
- <ClInclude Include="..\..\..\include\mupdf\pdf\document.h" />
- <ClInclude Include="..\..\..\include\mupdf\pdf\event.h" />
- <ClInclude Include="..\..\..\include\mupdf\pdf\field.h" />
- <ClInclude Include="..\..\..\include\mupdf\pdf\font.h" />
- <ClInclude Include="..\..\..\include\mupdf\pdf\javascript.h" />
- <ClInclude Include="..\..\..\include\mupdf\pdf\object.h" />
- <ClInclude Include="..\..\..\include\mupdf\pdf\output-pdf.h" />
- <ClInclude Include="..\..\..\include\mupdf\pdf\page.h" />
- <ClInclude Include="..\..\..\include\mupdf\pdf\parse.h" />
- <ClInclude Include="..\..\..\include\mupdf\pdf\resource.h" />
- <ClInclude Include="..\..\..\include\mupdf\pdf\widget.h" />
- <ClInclude Include="..\..\..\include\mupdf\pdf\xref.h" />
- <ClInclude Include="..\..\..\include\mupdf\xps.h" />
- <ClInclude Include="..\..\..\source\fitz\draw-imp.h" />
- <ClInclude Include="..\..\..\source\fitz\ucdn.h" />
- <ClInclude Include="..\..\..\source\fitz\unicodedata_db.h" />
- <ClInclude Include="..\..\..\source\pdf\pdf-encodings.h" />
- <ClInclude Include="..\..\..\source\pdf\pdf-glyphlist.h" />
- <ClInclude Include="..\..\..\source\pdf\pdf-interpret-imp.h" />
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="..\..\..\source\cbz\mucbz.c" />
- <ClCompile Include="..\..\..\source\cbz\muimg.c" />
- <ClCompile Include="..\..\..\source\cbz\mutiff.c" />
- <ClCompile Include="..\..\..\source\fitz\bbox-device.c" />
- <ClCompile Include="..\..\..\source\fitz\bitmap.c" />
- <ClCompile Include="..\..\..\source\fitz\buffer.c" />
- <ClCompile Include="..\..\..\source\fitz\colorspace.c" />
- <ClCompile Include="..\..\..\source\fitz\compressed-buffer.c" />
- <ClCompile Include="..\..\..\source\fitz\context.c" />
- <ClCompile Include="..\..\..\source\fitz\crypt-aes.c" />
- <ClCompile Include="..\..\..\source\fitz\crypt-arc4.c" />
- <ClCompile Include="..\..\..\source\fitz\crypt-md5.c" />
- <ClCompile Include="..\..\..\source\fitz\crypt-sha2.c" />
- <ClCompile Include="..\..\..\source\fitz\device.c" />
- <ClCompile Include="..\..\..\source\fitz\document-all.c" />
- <ClCompile Include="..\..\..\source\fitz\document-no-run.c" />
- <ClCompile Include="..\..\..\source\fitz\document.c" />
- <ClCompile Include="..\..\..\source\fitz\draw-affine.c" />
- <ClCompile Include="..\..\..\source\fitz\draw-blend.c" />
- <ClCompile Include="..\..\..\source\fitz\draw-device.c" />
- <ClCompile Include="..\..\..\source\fitz\draw-edge.c" />
- <ClCompile Include="..\..\..\source\fitz\draw-glyph.c" />
- <ClCompile Include="..\..\..\source\fitz\draw-mesh.c" />
- <ClCompile Include="..\..\..\source\fitz\draw-paint.c" />
- <ClCompile Include="..\..\..\source\fitz\draw-path.c" />
- <ClCompile Include="..\..\..\source\fitz\draw-scale-simple.c" />
- <ClCompile Include="..\..\..\source\fitz\draw-unpack.c" />
- <ClCompile Include="..\..\..\source\fitz\error.c" />
- <ClCompile Include="..\..\..\source\fitz\filter-basic.c" />
- <ClCompile Include="..\..\..\source\fitz\filter-dct.c" />
- <ClCompile Include="..\..\..\source\fitz\filter-fax.c" />
- <ClCompile Include="..\..\..\source\fitz\filter-flate.c" />
- <ClCompile Include="..\..\..\source\fitz\filter-jbig2.c" />
- <ClCompile Include="..\..\..\source\fitz\filter-leech.c" />
- <ClCompile Include="..\..\..\source\fitz\filter-lzw.c" />
- <ClCompile Include="..\..\..\source\fitz\filter-predict.c" />
- <ClCompile Include="..\..\..\source\fitz\font.c" />
- <ClCompile Include="..\..\..\source\fitz\ftoa.c" />
- <ClCompile Include="..\..\..\source\fitz\function.c" />
- <ClCompile Include="..\..\..\source\fitz\geometry.c" />
- <ClCompile Include="..\..\..\source\fitz\getopt.c" />
- <ClCompile Include="..\..\..\source\fitz\glyph.c" />
- <ClCompile Include="..\..\..\source\fitz\halftone.c" />
- <ClCompile Include="..\..\..\source\fitz\hash.c" />
- <ClCompile Include="..\..\..\source\fitz\image.c" />
- <ClCompile Include="..\..\..\source\fitz\jmemcust.c" />
- <ClCompile Include="..\..\..\source\fitz\link.c" />
- <ClCompile Include="..\..\..\source\fitz\list-device.c" />
- <ClCompile Include="..\..\..\source\fitz\load-jpeg.c" />
- <ClCompile Include="..\..\..\source\fitz\load-jpx.c" />
- <ClCompile Include="..\..\..\source\fitz\load-jxr.c" />
- <ClCompile Include="..\..\..\source\fitz\load-png.c" />
- <ClCompile Include="..\..\..\source\fitz\load-tiff.c" />
- <ClCompile Include="..\..\..\source\fitz\memento.c" />
- <ClCompile Include="..\..\..\source\fitz\memory.c" />
- <ClCompile Include="..\..\..\source\fitz\outline.c" />
- <ClCompile Include="..\..\..\source\fitz\output-pcl.c" />
- <ClCompile Include="..\..\..\source\fitz\output-pwg.c" />
- <ClCompile Include="..\..\..\source\fitz\output.c" />
- <ClCompile Include="..\..\..\source\fitz\path.c" />
- <ClCompile Include="..\..\..\source\fitz\pixmap.c" />
- <ClCompile Include="..\..\..\source\fitz\printf.c" />
- <ClCompile Include="..\..\..\source\fitz\shade.c" />
- <ClCompile Include="..\..\..\source\fitz\stext-device.c" />
- <ClCompile Include="..\..\..\source\fitz\stext-output.c" />
- <ClCompile Include="..\..\..\source\fitz\stext-paragraph.c" />
- <ClCompile Include="..\..\..\source\fitz\stext-search.c" />
- <ClCompile Include="..\..\..\source\fitz\store.c" />
- <ClCompile Include="..\..\..\source\fitz\stream-open.c" />
- <ClCompile Include="..\..\..\source\fitz\stream-prog.c" />
- <ClCompile Include="..\..\..\source\fitz\stream-read.c" />
- <ClCompile Include="..\..\..\source\fitz\string.c" />
- <ClCompile Include="..\..\..\source\fitz\strtod.c" />
- <ClCompile Include="..\..\..\source\fitz\svg-device.c" />
- <ClCompile Include="..\..\..\source\fitz\test-device.c" />
- <ClCompile Include="..\..\..\source\fitz\text.c" />
- <ClCompile Include="..\..\..\source\fitz\time.c" />
- <ClCompile Include="..\..\..\source\fitz\trace-device.c" />
- <ClCompile Include="..\..\..\source\fitz\transition.c" />
- <ClCompile Include="..\..\..\source\fitz\tree.c" />
- <ClCompile Include="..\..\..\source\fitz\ucdn.c" />
- <ClCompile Include="..\..\..\source\fitz\unzip.c" />
- <ClCompile Include="..\..\..\source\fitz\xml.c" />
- <ClCompile Include="..\..\..\source\html\css-apply.c" />
- <ClCompile Include="..\..\..\source\html\css-parse.c" />
- <ClCompile Include="..\..\..\source\html\epub-doc.c" />
- <ClCompile Include="..\..\..\source\html\html-doc.c" />
- <ClCompile Include="..\..\..\source\html\html-font.c" />
- <ClCompile Include="..\..\..\source\html\html-layout.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-annot-edit.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-annot.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-appearance.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-clean.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-cmap-load.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-cmap-parse.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-cmap-table.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-cmap.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-colorspace.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-crypt.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-device.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-encoding.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-event.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-field.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-font.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-fontfile.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-form.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-function.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-image.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-interpret.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-lex.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-metrics.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-nametree.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-object.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-op-buffer.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-op-filter.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-op-run.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-outline.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-page.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-parse.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-pattern.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-pkcs7.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-repair.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-run.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-shade.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-store.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-stream.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-type3.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-unicode.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-write.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-xobject.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-xref-aux.c" />
- <ClCompile Include="..\..\..\source\pdf\pdf-xref.c" />
- <ClCompile Include="..\..\..\source\tools\pdfclean.c" />
- <ClCompile Include="..\..\..\source\xps\xps-common.c" />
- <ClCompile Include="..\..\..\source\xps\xps-doc.c" />
- <ClCompile Include="..\..\..\source\xps\xps-glyphs.c" />
- <ClCompile Include="..\..\..\source\xps\xps-gradient.c" />
- <ClCompile Include="..\..\..\source\xps\xps-image.c" />
- <ClCompile Include="..\..\..\source\xps\xps-outline.c" />
- <ClCompile Include="..\..\..\source\xps\xps-path.c" />
- <ClCompile Include="..\..\..\source\xps\xps-resource.c" />
- <ClCompile Include="..\..\..\source\xps\xps-tile.c" />
- <ClCompile Include="..\..\..\source\xps\xps-util.c" />
- <ClCompile Include="..\..\..\source\xps\xps-zip.c" />
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}</ProjectGuid>
- <Keyword>Win32Proj</Keyword>
- <RootNamespace>libmupdf</RootNamespace>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </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" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </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" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <OutDir>..\$(Platform)\$(Configuration)\</OutDir>
- <IntDir>\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <OutDir>..\$(Platform)\$(Configuration)\</OutDir>
- <IntDir>\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <OutDir>..\$(Platform)\$(Configuration)\</OutDir>
- <IntDir>\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <OutDir>..\$(Platform)\$(Configuration)\</OutDir>
- <IntDir>\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;USE_OUTPUT_DEBUG_STRING;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>..\..\..\scripts\freetype;..\..\..\scripts\jpeg;..\..\..\scripts\openjpeg;..\..\..\ucdn;..\..\..\include;..\..\..\generated;..\..\..\thirdparty\jbig2dec;..\..\..\thirdparty\jpeg;..\..\..\thirdparty\openjpeg\libopenjpeg;..\..\..\thirdparty\zlib;..\..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- </ClCompile>
- <Link>
- <SubSystem>Windows</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;USE_OUTPUT_DEBUG_STRING;USE_OUTPUT_DEBUG_STRING;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>..\..\..\scripts\freetype;..\..\..\scripts\jpeg;..\..\..\scripts\openjpeg;..\..\..\ucdn;..\..\..\include;..\..\..\generated;..\..\..\thirdparty\jbig2dec;..\..\..\thirdparty\jpeg;..\..\..\thirdparty\openjpeg\libopenjpeg;..\..\..\thirdparty\zlib;..\..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- </ClCompile>
- <Link>
- <SubSystem>Windows</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <Optimization>MaxSpeed</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>..\..\..\scripts\freetype;..\..\..\scripts\jpeg;..\..\..\scripts\openjpeg;..\..\..\ucdn;..\..\..\include;..\..\..\generated;..\..\..\thirdparty\jbig2dec;..\..\..\thirdparty\jpeg;..\..\..\thirdparty\openjpeg\libopenjpeg;..\..\..\thirdparty\zlib;..\..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
- </ClCompile>
- <Link>
- <SubSystem>Windows</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <Optimization>MaxSpeed</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>..\..\..\scripts\freetype;..\..\..\scripts\jpeg;..\..\..\scripts\openjpeg;..\..\..\ucdn;..\..\..\include;..\..\..\generated;..\..\..\thirdparty\jbig2dec;..\..\..\thirdparty\jpeg;..\..\..\thirdparty\openjpeg\libopenjpeg;..\..\..\thirdparty\zlib;..\..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
- </ClCompile>
- <Link>
- <SubSystem>Windows</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- </Link>
- </ItemDefinitionGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project> \ No newline at end of file
diff --git a/platform/windows/libmupdf/libmupdf.vcxproj.filters b/platform/windows/libmupdf/libmupdf.vcxproj.filters
deleted file mode 100644
index e08a9dfd..00000000
--- a/platform/windows/libmupdf/libmupdf.vcxproj.filters
+++ /dev/null
@@ -1,672 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="!include">
- <UniqueIdentifier>{c6eab433-084b-4c58-9f22-6f44c89a0289}</UniqueIdentifier>
- </Filter>
- <Filter Include="!include\fitz">
- <UniqueIdentifier>{96f21f10-5d0b-4f6e-ad70-fc8866054290}</UniqueIdentifier>
- </Filter>
- <Filter Include="!include\pdf">
- <UniqueIdentifier>{e379667f-718b-49ad-b312-9f60a08f0941}</UniqueIdentifier>
- </Filter>
- <Filter Include="cbz">
- <UniqueIdentifier>{82abb70b-aa89-4767-972f-d52c819f1fb4}</UniqueIdentifier>
- </Filter>
- <Filter Include="fitz">
- <UniqueIdentifier>{71d27c79-d67f-4b0e-8a5c-ad2355c905b1}</UniqueIdentifier>
- </Filter>
- <Filter Include="pdf">
- <UniqueIdentifier>{766fb080-9cd3-4755-a074-a20a7f1748b8}</UniqueIdentifier>
- </Filter>
- <Filter Include="tools">
- <UniqueIdentifier>{92cc8877-4351-49e6-8a73-9696779675ed}</UniqueIdentifier>
- </Filter>
- <Filter Include="xps">
- <UniqueIdentifier>{6350172f-767f-4cdd-8c14-3a9e5af8d4c4}</UniqueIdentifier>
- </Filter>
- <Filter Include="html">
- <UniqueIdentifier>{cb023422-71c6-4ca1-beb1-28a9e92764fc}</UniqueIdentifier>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="..\..\..\include\mupdf\fitz.h">
- <Filter>!include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\memento.h">
- <Filter>!include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\pdf-tools.h">
- <Filter>!include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\pdf.h">
- <Filter>!include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\xps.h">
- <Filter>!include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\annotation.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\bitmap.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\buffer.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\colorspace.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\compressed-buffer.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\context.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\crypt.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\device.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\display-list.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\document.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\filter.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\font.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\function.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\getopt.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\glyph-cache.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\hash.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\image.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\link.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\math.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\meta.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\outline.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\output-pcl.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\output-png.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\output-pnm.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\output-pwg.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\output-svg.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\output.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\path.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\pixmap.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\shade.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\store.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\stream.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\string.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\structured-text.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\system.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\text.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\transition.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\write-document.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\xml.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\pdf\annot.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\pdf\appearance.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\pdf\cmap.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\pdf\crypt.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\pdf\document.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\pdf\event.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\pdf\field.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\pdf\font.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\pdf\javascript.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\pdf\object.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\pdf\output-pdf.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\pdf\page.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\pdf\parse.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\pdf\resource.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\pdf\widget.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\pdf\xref.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\source\fitz\draw-imp.h">
- <Filter>fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\source\fitz\ucdn.h">
- <Filter>fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\source\fitz\unicodedata_db.h">
- <Filter>fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\source\pdf\pdf-encodings.h">
- <Filter>pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\source\pdf\pdf-glyphlist.h">
- <Filter>pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\source\pdf\pdf-interpret-imp.h">
- <Filter>pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\html.h">
- <Filter>!include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\include\mupdf\fitz\unzip.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="..\..\..\source\fitz\document-no-run.c">
- <Filter>!include\fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\cbz\mucbz.c">
- <Filter>cbz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\bbox-device.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\bitmap.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\buffer.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\colorspace.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\compressed-buffer.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\context.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\crypt-aes.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\crypt-arc4.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\crypt-md5.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\crypt-sha2.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\device.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\document-all.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\document.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\draw-affine.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\draw-blend.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\draw-device.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\draw-edge.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\draw-glyph.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\draw-mesh.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\draw-paint.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\draw-path.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\draw-scale-simple.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\draw-unpack.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\error.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\filter-basic.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\filter-dct.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\filter-fax.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\filter-flate.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\filter-jbig2.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\filter-leech.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\filter-lzw.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\filter-predict.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\font.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\function.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\geometry.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\getopt.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\glyph.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\halftone.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\hash.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\image.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\link.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\list-device.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\load-jpeg.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\load-jpx.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\load-jxr.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\load-png.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\load-tiff.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\memento.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\memory.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\outline.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\output-pcl.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\output-pwg.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\output.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\path.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\pixmap.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\printf.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\shade.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\stext-device.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\stext-output.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\stext-paragraph.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\stext-search.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\store.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\stream-open.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\stream-read.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\string.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\svg-device.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\text.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\time.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\trace-device.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\transition.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\ucdn.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\xml.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\jmemcust.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-annot.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-appearance.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-clean.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-cmap-load.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-cmap-parse.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-cmap-table.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-cmap.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-colorspace.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-crypt.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-device.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-encoding.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-event.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-field.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-font.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-fontfile.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-form.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-function.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-image.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-interpret.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-lex.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-metrics.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-nametree.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-object.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-op-buffer.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-op-filter.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-op-run.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-outline.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-page.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-parse.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-pattern.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-pkcs7.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-repair.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-run.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-shade.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-store.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-stream.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-type3.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-unicode.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-write.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-xobject.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-xref-aux.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-xref.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\tools\pdfclean.c">
- <Filter>tools</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\xps\xps-common.c">
- <Filter>xps</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\xps\xps-doc.c">
- <Filter>xps</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\xps\xps-glyphs.c">
- <Filter>xps</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\xps\xps-gradient.c">
- <Filter>xps</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\xps\xps-image.c">
- <Filter>xps</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\xps\xps-outline.c">
- <Filter>xps</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\xps\xps-path.c">
- <Filter>xps</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\xps\xps-resource.c">
- <Filter>xps</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\xps\xps-tile.c">
- <Filter>xps</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\xps\xps-util.c">
- <Filter>xps</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\xps\xps-zip.c">
- <Filter>xps</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\unzip.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\ftoa.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\strtod.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\pdf\pdf-annot-edit.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\html\css-apply.c">
- <Filter>html</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\html\css-parse.c">
- <Filter>html</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\html\epub-doc.c">
- <Filter>html</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\html\html-doc.c">
- <Filter>html</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\html\html-font.c">
- <Filter>html</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\html\html-layout.c">
- <Filter>html</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\stream-prog.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\test-device.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\fitz\tree.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\cbz\mutiff.c">
- <Filter>cbz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\source\cbz\muimg.c">
- <Filter>cbz</Filter>
- </ClCompile>
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/platform/windows/libmupdf_winRT.vcxproj b/platform/windows/libmupdf_winRT.vcxproj
deleted file mode 100644
index b29c66b4..00000000
--- a/platform/windows/libmupdf_winRT.vcxproj
+++ /dev/null
@@ -1,529 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|ARM">
- <Configuration>Debug</Configuration>
- <Platform>ARM</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Memento|ARM">
- <Configuration>Memento</Configuration>
- <Platform>ARM</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Memento|Win32">
- <Configuration>Memento</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Memento|x64">
- <Configuration>Memento</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|ARM">
- <Configuration>Release</Configuration>
- <Platform>ARM</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>
- <ItemGroup>
- <ClCompile Include="..\..\source\cbz\mucbz.c" />
- <ClCompile Include="..\..\source\cbz\muimg.c" />
- <ClCompile Include="..\..\source\cbz\mutiff.c" />
- <ClCompile Include="..\..\source\fitz\bbox-device.c" />
- <ClCompile Include="..\..\source\fitz\bitmap.c" />
- <ClCompile Include="..\..\source\fitz\buffer.c" />
- <ClCompile Include="..\..\source\fitz\colorspace.c" />
- <ClCompile Include="..\..\source\fitz\compressed-buffer.c" />
- <ClCompile Include="..\..\source\fitz\context.c" />
- <ClCompile Include="..\..\source\fitz\crypt-aes.c" />
- <ClCompile Include="..\..\source\fitz\crypt-arc4.c" />
- <ClCompile Include="..\..\source\fitz\crypt-md5.c" />
- <ClCompile Include="..\..\source\fitz\crypt-sha2.c" />
- <ClCompile Include="..\..\source\fitz\device.c" />
- <ClCompile Include="..\..\source\fitz\document-all.c" />
- <ClCompile Include="..\..\source\fitz\document-no-run.c" />
- <ClCompile Include="..\..\source\fitz\document.c" />
- <ClCompile Include="..\..\source\fitz\draw-affine.c" />
- <ClCompile Include="..\..\source\fitz\draw-blend.c" />
- <ClCompile Include="..\..\source\fitz\draw-device.c" />
- <ClCompile Include="..\..\source\fitz\draw-edge.c" />
- <ClCompile Include="..\..\source\fitz\draw-glyph.c" />
- <ClCompile Include="..\..\source\fitz\draw-mesh.c" />
- <ClCompile Include="..\..\source\fitz\draw-paint.c" />
- <ClCompile Include="..\..\source\fitz\draw-path.c" />
- <ClCompile Include="..\..\source\fitz\draw-scale-simple.c" />
- <ClCompile Include="..\..\source\fitz\draw-unpack.c" />
- <ClCompile Include="..\..\source\fitz\error.c" />
- <ClCompile Include="..\..\source\fitz\filter-basic.c" />
- <ClCompile Include="..\..\source\fitz\filter-dct.c" />
- <ClCompile Include="..\..\source\fitz\filter-fax.c" />
- <ClCompile Include="..\..\source\fitz\filter-flate.c" />
- <ClCompile Include="..\..\source\fitz\filter-jbig2.c" />
- <ClCompile Include="..\..\source\fitz\filter-leech.c" />
- <ClCompile Include="..\..\source\fitz\filter-lzw.c" />
- <ClCompile Include="..\..\source\fitz\filter-predict.c" />
- <ClCompile Include="..\..\source\fitz\font.c" />
- <ClCompile Include="..\..\source\fitz\ftoa.c" />
- <ClCompile Include="..\..\source\fitz\function.c" />
- <ClCompile Include="..\..\source\fitz\geometry.c" />
- <ClCompile Include="..\..\source\fitz\getopt.c" />
- <ClCompile Include="..\..\source\fitz\glyph.c" />
- <ClCompile Include="..\..\source\fitz\halftone.c" />
- <ClCompile Include="..\..\source\fitz\hash.c" />
- <ClCompile Include="..\..\source\fitz\image.c" />
- <ClCompile Include="..\..\source\fitz\jmemcust.c" />
- <ClCompile Include="..\..\source\fitz\link.c" />
- <ClCompile Include="..\..\source\fitz\list-device.c" />
- <ClCompile Include="..\..\source\fitz\load-jpeg.c" />
- <ClCompile Include="..\..\source\fitz\load-jpx.c" />
- <ClCompile Include="..\..\source\fitz\load-jxr.c" />
- <ClCompile Include="..\..\source\fitz\load-png.c" />
- <ClCompile Include="..\..\source\fitz\load-tiff.c" />
- <ClCompile Include="..\..\source\fitz\memento.c" />
- <ClCompile Include="..\..\source\fitz\memory.c" />
- <ClCompile Include="..\..\source\fitz\outline.c" />
- <ClCompile Include="..\..\source\fitz\output-pcl.c" />
- <ClCompile Include="..\..\source\fitz\output-pwg.c" />
- <ClCompile Include="..\..\source\fitz\output.c" />
- <ClCompile Include="..\..\source\fitz\path.c" />
- <ClCompile Include="..\..\source\fitz\pixmap.c" />
- <ClCompile Include="..\..\source\fitz\printf.c" />
- <ClCompile Include="..\..\source\fitz\shade.c" />
- <ClCompile Include="..\..\source\fitz\stext-device.c" />
- <ClCompile Include="..\..\source\fitz\stext-output.c" />
- <ClCompile Include="..\..\source\fitz\stext-paragraph.c" />
- <ClCompile Include="..\..\source\fitz\stext-search.c" />
- <ClCompile Include="..\..\source\fitz\store.c" />
- <ClCompile Include="..\..\source\fitz\stream-open.c" />
- <ClCompile Include="..\..\source\fitz\stream-prog.c" />
- <ClCompile Include="..\..\source\fitz\stream-read.c" />
- <ClCompile Include="..\..\source\fitz\string.c" />
- <ClCompile Include="..\..\source\fitz\strtod.c" />
- <ClCompile Include="..\..\source\fitz\svg-device.c" />
- <ClCompile Include="..\..\source\fitz\test-device.c" />
- <ClCompile Include="..\..\source\fitz\text.c" />
- <ClCompile Include="..\..\source\fitz\time.c" />
- <ClCompile Include="..\..\source\fitz\trace-device.c" />
- <ClCompile Include="..\..\source\fitz\transition.c" />
- <ClCompile Include="..\..\source\fitz\tree.c" />
- <ClCompile Include="..\..\source\fitz\ucdn.c" />
- <ClCompile Include="..\..\source\fitz\unzip.c" />
- <ClCompile Include="..\..\source\fitz\xml.c" />
- <ClCompile Include="..\..\source\html\css-apply.c" />
- <ClCompile Include="..\..\source\html\css-parse.c" />
- <ClCompile Include="..\..\source\html\epub-doc.c" />
- <ClCompile Include="..\..\source\html\html-doc.c" />
- <ClCompile Include="..\..\source\html\html-font.c" />
- <ClCompile Include="..\..\source\html\html-layout.c" />
- <ClCompile Include="..\..\source\pdf\pdf-annot-edit.c" />
- <ClCompile Include="..\..\source\pdf\pdf-annot.c" />
- <ClCompile Include="..\..\source\pdf\pdf-appearance.c" />
- <ClCompile Include="..\..\source\pdf\pdf-clean.c" />
- <ClCompile Include="..\..\source\pdf\pdf-cmap-load.c" />
- <ClCompile Include="..\..\source\pdf\pdf-cmap-parse.c" />
- <ClCompile Include="..\..\source\pdf\pdf-cmap-table.c" />
- <ClCompile Include="..\..\source\pdf\pdf-cmap.c" />
- <ClCompile Include="..\..\source\pdf\pdf-colorspace.c" />
- <ClCompile Include="..\..\source\pdf\pdf-crypt.c" />
- <ClCompile Include="..\..\source\pdf\pdf-device.c" />
- <ClCompile Include="..\..\source\pdf\pdf-encoding.c" />
- <ClCompile Include="..\..\source\pdf\pdf-event.c" />
- <ClCompile Include="..\..\source\pdf\pdf-field.c" />
- <ClCompile Include="..\..\source\pdf\pdf-font.c" />
- <ClCompile Include="..\..\source\pdf\pdf-fontfile.c" />
- <ClCompile Include="..\..\source\pdf\pdf-form.c" />
- <ClCompile Include="..\..\source\pdf\pdf-function.c" />
- <ClCompile Include="..\..\source\pdf\pdf-image.c" />
- <ClCompile Include="..\..\source\pdf\pdf-interpret.c" />
- <ClCompile Include="..\..\source\pdf\pdf-lex.c" />
- <ClCompile Include="..\..\source\pdf\pdf-metrics.c" />
- <ClCompile Include="..\..\source\pdf\pdf-nametree.c" />
- <ClCompile Include="..\..\source\pdf\pdf-object.c" />
- <ClCompile Include="..\..\source\pdf\pdf-op-buffer.c" />
- <ClCompile Include="..\..\source\pdf\pdf-op-filter.c" />
- <ClCompile Include="..\..\source\pdf\pdf-op-run.c" />
- <ClCompile Include="..\..\source\pdf\pdf-outline.c" />
- <ClCompile Include="..\..\source\pdf\pdf-page.c" />
- <ClCompile Include="..\..\source\pdf\pdf-parse.c" />
- <ClCompile Include="..\..\source\pdf\pdf-pattern.c" />
- <ClCompile Include="..\..\source\pdf\pdf-pkcs7.c" />
- <ClCompile Include="..\..\source\pdf\pdf-repair.c" />
- <ClCompile Include="..\..\source\pdf\pdf-run.c" />
- <ClCompile Include="..\..\source\pdf\pdf-shade.c" />
- <ClCompile Include="..\..\source\pdf\pdf-store.c" />
- <ClCompile Include="..\..\source\pdf\pdf-stream.c" />
- <ClCompile Include="..\..\source\pdf\pdf-type3.c" />
- <ClCompile Include="..\..\source\pdf\pdf-unicode.c" />
- <ClCompile Include="..\..\source\pdf\pdf-write.c" />
- <ClCompile Include="..\..\source\pdf\pdf-xobject.c" />
- <ClCompile Include="..\..\source\pdf\pdf-xref-aux.c" />
- <ClCompile Include="..\..\source\pdf\pdf-xref.c" />
- <ClCompile Include="..\..\source\tools\pdfclean.c" />
- <ClCompile Include="..\..\source\xps\xps-common.c" />
- <ClCompile Include="..\..\source\xps\xps-doc.c" />
- <ClCompile Include="..\..\source\xps\xps-glyphs.c" />
- <ClCompile Include="..\..\source\xps\xps-gradient.c" />
- <ClCompile Include="..\..\source\xps\xps-image.c" />
- <ClCompile Include="..\..\source\xps\xps-outline.c" />
- <ClCompile Include="..\..\source\xps\xps-path.c" />
- <ClCompile Include="..\..\source\xps\xps-resource.c" />
- <ClCompile Include="..\..\source\xps\xps-tile.c" />
- <ClCompile Include="..\..\source\xps\xps-util.c" />
- <ClCompile Include="..\..\source\xps\xps-zip.c" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="..\..\include\mupdf\cbz.h" />
- <ClInclude Include="..\..\include\mupdf\fitz.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\annotation.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\bitmap.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\buffer.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\colorspace.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\compressed-buffer.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\context.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\crypt.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\device.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\display-list.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\document.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\filter.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\font.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\function.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\getopt.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\glyph-cache.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\glyph.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\hash.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\image.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\link.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\math.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\meta.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\outline.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\output-pcl.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\output-png.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\output-pnm.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\output-pwg.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\output-svg.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\output-tga.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\output.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\path.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\pixmap.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\shade.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\store.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\stream.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\string.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\structured-text.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\system.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\text.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\transition.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\tree.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\unzip.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\version.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\write-document.h" />
- <ClInclude Include="..\..\include\mupdf\fitz\xml.h" />
- <ClInclude Include="..\..\include\mupdf\html.h" />
- <ClInclude Include="..\..\include\mupdf\memento.h" />
- <ClInclude Include="..\..\include\mupdf\pdf-tools.h" />
- <ClInclude Include="..\..\include\mupdf\pdf.h" />
- <ClInclude Include="..\..\include\mupdf\pdf\annot.h" />
- <ClInclude Include="..\..\include\mupdf\pdf\appearance.h" />
- <ClInclude Include="..\..\include\mupdf\pdf\cmap.h" />
- <ClInclude Include="..\..\include\mupdf\pdf\crypt.h" />
- <ClInclude Include="..\..\include\mupdf\pdf\document.h" />
- <ClInclude Include="..\..\include\mupdf\pdf\event.h" />
- <ClInclude Include="..\..\include\mupdf\pdf\field.h" />
- <ClInclude Include="..\..\include\mupdf\pdf\font.h" />
- <ClInclude Include="..\..\include\mupdf\pdf\javascript.h" />
- <ClInclude Include="..\..\include\mupdf\pdf\object.h" />
- <ClInclude Include="..\..\include\mupdf\pdf\output-pdf.h" />
- <ClInclude Include="..\..\include\mupdf\pdf\page.h" />
- <ClInclude Include="..\..\include\mupdf\pdf\parse.h" />
- <ClInclude Include="..\..\include\mupdf\pdf\resource.h" />
- <ClInclude Include="..\..\include\mupdf\pdf\widget.h" />
- <ClInclude Include="..\..\include\mupdf\pdf\xref.h" />
- <ClInclude Include="..\..\include\mupdf\xps.h" />
- <ClInclude Include="..\..\source\fitz\draw-imp.h" />
- <ClInclude Include="..\..\source\fitz\jmemcust.h" />
- <ClInclude Include="..\..\source\fitz\ucdn.h" />
- <ClInclude Include="..\..\source\fitz\unicodedata_db.h" />
- <ClInclude Include="..\..\source\pdf\pdf-encodings.h" />
- <ClInclude Include="..\..\source\pdf\pdf-glyphlist.h" />
- <ClInclude Include="..\..\source\pdf\pdf-interpret-imp.h" />
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{0715f3cf-5d1b-4617-a331-6527371365b7}</ProjectGuid>
- <Keyword>Win32Proj</Keyword>
- <ProjectName>libmupdf_winRT</ProjectName>
- <RootNamespace>libmupdf_winRT</RootNamespace>
- <DefaultLanguage>en-US</DefaultLanguage>
- <MinimumVisualStudioVersion>12.0</MinimumVisualStudioVersion>
- <AppContainerApplication>true</AppContainerApplication>
- <ApplicationType>Windows Store</ApplicationType>
- <ApplicationTypeRevision>8.1</ApplicationTypeRevision>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|ARM'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Memento|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Memento|ARM'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Memento|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <GenerateManifest>false</GenerateManifest>
- <OutDir>$(Platform)\$(Configuration)\</OutDir>
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|Win32'">
- <GenerateManifest>false</GenerateManifest>
- <OutDir>$(Platform)\$(Configuration)\</OutDir>
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <GenerateManifest>false</GenerateManifest>
- <OutDir>$(Platform)\$(Configuration)\</OutDir>
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
- <GenerateManifest>false</GenerateManifest>
- <OutDir>$(Platform)\$(Configuration)\</OutDir>
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|ARM'">
- <GenerateManifest>false</GenerateManifest>
- <OutDir>$(Platform)\$(Configuration)\</OutDir>
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
- <GenerateManifest>false</GenerateManifest>
- <OutDir>$(Platform)\$(Configuration)\</OutDir>
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <GenerateManifest>false</GenerateManifest>
- <OutDir>$(Platform)\$(Configuration)\</OutDir>
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|x64'">
- <GenerateManifest>false</GenerateManifest>
- <OutDir>$(Platform)\$(Configuration)\</OutDir>
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <GenerateManifest>false</GenerateManifest>
- <OutDir>$(Platform)\$(Configuration)\</OutDir>
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <CompileAsWinRT>false</CompileAsWinRT>
- <SDLCheck>false</SDLCheck>
- <AdditionalIncludeDirectories>..\..\scripts\freetype;..\..\scripts\jpeg;..\..\scripts\openjpeg;..\..\ucdn;..\..\include;..\..\generated;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>DEBUG=1;_WINRT;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Memento|Win32'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <CompileAsWinRT>false</CompileAsWinRT>
- <SDLCheck>false</SDLCheck>
- <AdditionalIncludeDirectories>..\..\scripts\freetype;..\..\scripts\jpeg;..\..\scripts\openjpeg;..\..\ucdn;..\..\include;..\..\generated;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>MEMENTO=1;DEBUG=1;_WINRT;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <CompileAsWinRT>false</CompileAsWinRT>
- <SDLCheck>false</SDLCheck>
- <AdditionalIncludeDirectories>..\..\scripts\freetype;..\..\scripts\jpeg;..\..\scripts\openjpeg;..\..\ucdn;..\..\include;..\..\generated;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>NDEBUG;_WINRT;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|arm'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <CompileAsWinRT>false</CompileAsWinRT>
- <SDLCheck>false</SDLCheck>
- <PreprocessorDefinitions>DEBUG=1;_WINRT;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>..\..\scripts\freetype;..\..\scripts\jpeg;..\..\scripts\openjpeg;..\..\ucdn;..\..\include;..\..\generated;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Memento|arm'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <CompileAsWinRT>false</CompileAsWinRT>
- <SDLCheck>false</SDLCheck>
- <PreprocessorDefinitions>MEMENTO=1;DEBUG=1;_WINRT;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>..\..\scripts\freetype;..\..\scripts\jpeg;..\..\scripts\openjpeg;..\..\ucdn;..\..\include;..\..\generated;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|arm'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <CompileAsWinRT>false</CompileAsWinRT>
- <SDLCheck>false</SDLCheck>
- <AdditionalIncludeDirectories>..\..\scripts\freetype;..\..\scripts\jpeg;..\..\scripts\openjpeg;..\..\ucdn;..\..\include;..\..\generated;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>NDEBUG;_WINRT;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <CompileAsWinRT>false</CompileAsWinRT>
- <SDLCheck>false</SDLCheck>
- <AdditionalIncludeDirectories>..\..\scripts\freetype;..\..\scripts\jpeg;..\..\scripts\openjpeg;..\..\ucdn;..\..\include;..\..\generated;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>DEBUG=1;_WINRT;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Memento|x64'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <CompileAsWinRT>false</CompileAsWinRT>
- <SDLCheck>false</SDLCheck>
- <AdditionalIncludeDirectories>..\..\scripts\freetype;..\..\scripts\jpeg;..\..\scripts\openjpeg;..\..\ucdn;..\..\include;..\..\generated;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>MEMENTO=1;DEBUG=1;_WINRT;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <CompileAsWinRT>false</CompileAsWinRT>
- <SDLCheck>false</SDLCheck>
- <AdditionalIncludeDirectories>..\..\scripts\freetype;..\..\scripts\jpeg;..\..\scripts\openjpeg;..\..\ucdn;..\..\include;..\..\generated;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>NDEBUG;_WINRT;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
- </Link>
- </ItemDefinitionGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project> \ No newline at end of file
diff --git a/platform/windows/libmupdf_winRT.vcxproj.filters b/platform/windows/libmupdf_winRT.vcxproj.filters
deleted file mode 100644
index d964561c..00000000
--- a/platform/windows/libmupdf_winRT.vcxproj.filters
+++ /dev/null
@@ -1,693 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="!include">
- <UniqueIdentifier>{89ff37a6-fa19-4690-b07f-1fb91f4b5803}</UniqueIdentifier>
- </Filter>
- <Filter Include="!include\fitz">
- <UniqueIdentifier>{a3eb732e-eaea-4b44-b168-6384494ab2cf}</UniqueIdentifier>
- </Filter>
- <Filter Include="!include\pdf">
- <UniqueIdentifier>{7b0f7938-a977-4cd9-a8bc-aeef816ae84c}</UniqueIdentifier>
- </Filter>
- <Filter Include="cbz">
- <UniqueIdentifier>{8de280a7-9403-401a-8ab5-bf7f0ce3a27f}</UniqueIdentifier>
- </Filter>
- <Filter Include="fitz">
- <UniqueIdentifier>{ebee942a-03ff-4a0b-8e41-1ffa2a16d448}</UniqueIdentifier>
- </Filter>
- <Filter Include="pdf">
- <UniqueIdentifier>{ec1b8208-f4f4-4c3f-a071-dcecc79bbd72}</UniqueIdentifier>
- </Filter>
- <Filter Include="tiff">
- <UniqueIdentifier>{f541a6f9-ea8e-472e-b23f-079c7b8fca17}</UniqueIdentifier>
- </Filter>
- <Filter Include="tools">
- <UniqueIdentifier>{7e724063-cc29-4515-b722-ffca1333aea2}</UniqueIdentifier>
- </Filter>
- <Filter Include="xps">
- <UniqueIdentifier>{4e3d83f6-3258-4f7b-8174-bc825377658e}</UniqueIdentifier>
- </Filter>
- <Filter Include="html">
- <UniqueIdentifier>{357f89f4-4c0a-4661-b81d-6173c5bdb134}</UniqueIdentifier>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="..\..\source\cbz\mucbz.c">
- <Filter>cbz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\tools\pdfclean.c">
- <Filter>tools</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\xps\xps-common.c">
- <Filter>xps</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\xps\xps-doc.c">
- <Filter>xps</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\xps\xps-glyphs.c">
- <Filter>xps</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\xps\xps-gradient.c">
- <Filter>xps</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\xps\xps-image.c">
- <Filter>xps</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\xps\xps-outline.c">
- <Filter>xps</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\xps\xps-path.c">
- <Filter>xps</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\xps\xps-resource.c">
- <Filter>xps</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\xps\xps-tile.c">
- <Filter>xps</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\xps\xps-util.c">
- <Filter>xps</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\xps\xps-zip.c">
- <Filter>xps</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\cbz\muimg.c">
- <Filter>cbz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\cbz\mutiff.c">
- <Filter>cbz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\test-device.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\text.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\trace-device.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\transition.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\tree.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\unzip.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\xml.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\bbox-device.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\buffer.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\colorspace.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\compressed-buffer.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\context.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\device.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\document.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\document-all.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\draw-device.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\draw-edge.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\draw-glyph.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\draw-mesh.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\draw-path.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\draw-scale-simple.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\draw-unpack.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\filter-basic.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\filter-dct.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\filter-fax.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\filter-flate.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\filter-jbig2.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\filter-leech.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\filter-lzw.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\filter-predict.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\font.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\function.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\geometry.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\glyph.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\hash.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\image.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\link.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\list-device.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\load-png.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\load-tiff.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\memento.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\memory.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\outline.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\output.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\output-pcl.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\output-pwg.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\path.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\pixmap.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\shade.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\stext-device.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\stext-output.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\stext-search.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\store.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\stream-open.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\stream-prog.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\stream-read.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\svg-device.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\ftoa.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\printf.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\string.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\strtod.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\error.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\load-jpeg.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\load-jpx.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\stext-paragraph.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\draw-affine.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\jmemcust.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\document-no-run.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\crypt-sha2.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\load-jxr.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\time.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\crypt-aes.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\halftone.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\ucdn.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\draw-paint.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\bitmap.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\crypt-arc4.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\crypt-md5.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\draw-blend.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\fitz\getopt.c">
- <Filter>fitz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-annot.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-annot-edit.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-appearance.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-clean.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-cmap.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-cmap-load.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-cmap-parse.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-colorspace.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-crypt.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-device.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-event.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-field.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-font.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-fontfile.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-form.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-function.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-image.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-interpret.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-lex.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-nametree.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-object.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-op-buffer.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-op-filter.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-op-run.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-outline.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-page.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-parse.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-pattern.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-pkcs7.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-repair.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-run.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-shade.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-store.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-stream.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-type3.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-unicode.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-write.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-xobject.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-xref.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-xref-aux.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-cmap-table.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-encoding.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\pdf\pdf-metrics.c">
- <Filter>pdf</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\html\css-apply.c">
- <Filter>html</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\html\css-parse.c">
- <Filter>html</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\html\epub-doc.c">
- <Filter>html</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\html\html-doc.c">
- <Filter>html</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\html\html-font.c">
- <Filter>html</Filter>
- </ClCompile>
- <ClCompile Include="..\..\source\html\html-layout.c">
- <Filter>html</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="..\..\include\mupdf\pdf\annot.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\pdf\cmap.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\pdf\crypt.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\pdf\document.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\pdf\event.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\pdf\field.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\pdf\font.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\pdf\javascript.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\pdf\object.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\pdf\output-pdf.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\pdf\page.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\pdf\parse.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\pdf\resource.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\pdf\widget.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\pdf\xref.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\cbz.h">
- <Filter>!include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz.h">
- <Filter>!include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\memento.h">
- <Filter>!include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\pdf.h">
- <Filter>!include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\xps.h">
- <Filter>!include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\pdf\appearance.h">
- <Filter>!include\pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\pdf-tools.h">
- <Filter>!include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\html.h">
- <Filter>!include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\annotation.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\bitmap.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\buffer.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\colorspace.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\compressed-buffer.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\context.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\crypt.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\device.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\display-list.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\document.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\filter.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\font.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\function.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\getopt.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\glyph.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\glyph-cache.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\hash.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\image.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\link.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\math.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\meta.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\outline.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\output.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\output-pcl.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\output-png.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\output-pnm.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\output-pwg.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\output-svg.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\output-tga.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\path.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\pixmap.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\shade.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\store.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\stream.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\string.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\structured-text.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\system.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\text.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\transition.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\tree.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\unzip.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\version.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\write-document.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\include\mupdf\fitz\xml.h">
- <Filter>!include\fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\fitz\draw-imp.h">
- <Filter>fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\fitz\jmemcust.h">
- <Filter>fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\fitz\ucdn.h">
- <Filter>fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\fitz\unicodedata_db.h">
- <Filter>fitz</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\pdf\pdf-interpret-imp.h">
- <Filter>pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\pdf\pdf-encodings.h">
- <Filter>pdf</Filter>
- </ClInclude>
- <ClInclude Include="..\..\source\pdf\pdf-glyphlist.h">
- <Filter>pdf</Filter>
- </ClInclude>
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/platform/windows/libthirdparty/libthirdparty.vcxproj b/platform/windows/libthirdparty/libthirdparty.vcxproj
deleted file mode 100644
index 75eafa26..00000000
--- a/platform/windows/libthirdparty/libthirdparty.vcxproj
+++ /dev/null
@@ -1,418 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.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>
- <ItemGroup>
- <ClCompile Include="..\..\..\thirdparty\freetype\src\base\ftbase.c" />
- <ClCompile Include="..\..\..\thirdparty\freetype\src\base\ftbbox.c" />
- <ClCompile Include="..\..\..\thirdparty\freetype\src\base\ftbitmap.c" />
- <ClCompile Include="..\..\..\thirdparty\freetype\src\base\ftgasp.c" />
- <ClCompile Include="..\..\..\thirdparty\freetype\src\base\ftglyph.c" />
- <ClCompile Include="..\..\..\thirdparty\freetype\src\base\ftinit.c" />
- <ClCompile Include="..\..\..\thirdparty\freetype\src\base\ftstroke.c" />
- <ClCompile Include="..\..\..\thirdparty\freetype\src\base\ftsynth.c" />
- <ClCompile Include="..\..\..\thirdparty\freetype\src\base\ftsystem.c" />
- <ClCompile Include="..\..\..\thirdparty\freetype\src\base\fttype1.c" />
- <ClCompile Include="..\..\..\thirdparty\freetype\src\base\ftxf86.c" />
- <ClCompile Include="..\..\..\thirdparty\freetype\src\cff\cff.c" />
- <ClCompile Include="..\..\..\thirdparty\freetype\src\cid\type1cid.c" />
- <ClCompile Include="..\..\..\thirdparty\freetype\src\psaux\psaux.c" />
- <ClCompile Include="..\..\..\thirdparty\freetype\src\pshinter\pshinter.c" />
- <ClCompile Include="..\..\..\thirdparty\freetype\src\psnames\psnames.c" />
- <ClCompile Include="..\..\..\thirdparty\freetype\src\raster\raster.c" />
- <ClCompile Include="..\..\..\thirdparty\freetype\src\sfnt\sfnt.c" />
- <ClCompile Include="..\..\..\thirdparty\freetype\src\smooth\smooth.c" />
- <ClCompile Include="..\..\..\thirdparty\freetype\src\truetype\truetype.c" />
- <ClCompile Include="..\..\..\thirdparty\freetype\src\type1\type1.c" />
- <ClCompile Include="..\..\..\thirdparty\jbig2dec\jbig2.c" />
- <ClCompile Include="..\..\..\thirdparty\jbig2dec\jbig2_arith.c" />
- <ClCompile Include="..\..\..\thirdparty\jbig2dec\jbig2_arith_iaid.c" />
- <ClCompile Include="..\..\..\thirdparty\jbig2dec\jbig2_arith_int.c" />
- <ClCompile Include="..\..\..\thirdparty\jbig2dec\jbig2_generic.c" />
- <ClCompile Include="..\..\..\thirdparty\jbig2dec\jbig2_halftone.c" />
- <ClCompile Include="..\..\..\thirdparty\jbig2dec\jbig2_huffman.c" />
- <ClCompile Include="..\..\..\thirdparty\jbig2dec\jbig2_image.c" />
- <ClCompile Include="..\..\..\thirdparty\jbig2dec\jbig2_metadata.c" />
- <ClCompile Include="..\..\..\thirdparty\jbig2dec\jbig2_mmr.c" />
- <ClCompile Include="..\..\..\thirdparty\jbig2dec\jbig2_page.c" />
- <ClCompile Include="..\..\..\thirdparty\jbig2dec\jbig2_refinement.c" />
- <ClCompile Include="..\..\..\thirdparty\jbig2dec\jbig2_segment.c" />
- <ClCompile Include="..\..\..\thirdparty\jbig2dec\jbig2_symbol_dict.c" />
- <ClCompile Include="..\..\..\thirdparty\jbig2dec\jbig2_text.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jaricom.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jcomapi.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdapimin.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdapistd.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdarith.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdatadst.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdatasrc.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdcoefct.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdcolor.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jddctmgr.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdhuff.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdinput.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdmainct.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdmarker.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdmaster.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdmerge.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdpostct.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdsample.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdtrans.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jerror.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jfdctflt.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jfdctfst.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jfdctint.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jidctflt.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jidctfst.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jidctint.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jmemmgr.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jmemnobs.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jquant1.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jquant2.c" />
- <ClCompile Include="..\..\..\thirdparty\jpeg\jutils.c" />
- <ClCompile Include="..\..\..\thirdparty\mujs\jsarray.c" />
- <ClCompile Include="..\..\..\thirdparty\mujs\jsboolean.c" />
- <ClCompile Include="..\..\..\thirdparty\mujs\jsbuiltin.c" />
- <ClCompile Include="..\..\..\thirdparty\mujs\jscompile.c" />
- <ClCompile Include="..\..\..\thirdparty\mujs\jsdate.c" />
- <ClCompile Include="..\..\..\thirdparty\mujs\jsdtoa.c" />
- <ClCompile Include="..\..\..\thirdparty\mujs\jsdump.c" />
- <ClCompile Include="..\..\..\thirdparty\mujs\jserror.c" />
- <ClCompile Include="..\..\..\thirdparty\mujs\jsfunction.c" />
- <ClCompile Include="..\..\..\thirdparty\mujs\jsgc.c" />
- <ClCompile Include="..\..\..\thirdparty\mujs\jsintern.c" />
- <ClCompile Include="..\..\..\thirdparty\mujs\jslex.c" />
- <ClCompile Include="..\..\..\thirdparty\mujs\jsmath.c" />
- <ClCompile Include="..\..\..\thirdparty\mujs\jsnumber.c" />
- <ClCompile Include="..\..\..\thirdparty\mujs\jsobject.c" />
- <ClCompile Include="..\..\..\thirdparty\mujs\json.c" />
- <ClCompile Include="..\..\..\thirdparty\mujs\jsparse.c" />
- <ClCompile Include="..\..\..\thirdparty\mujs\jsproperty.c" />
- <ClCompile Include="..\..\..\thirdparty\mujs\jsregexp.c" />
- <ClCompile Include="..\..\..\thirdparty\mujs\jsrun.c" />
- <ClCompile Include="..\..\..\thirdparty\mujs\jsstate.c" />
- <ClCompile Include="..\..\..\thirdparty\mujs\jsstring.c" />
- <ClCompile Include="..\..\..\thirdparty\mujs\jsvalue.c" />
- <ClCompile Include="..\..\..\thirdparty\mujs\main.c" />
- <ClCompile Include="..\..\..\thirdparty\mujs\one.c" />
- <ClCompile Include="..\..\..\thirdparty\mujs\regex.c" />
- <ClCompile Include="..\..\..\thirdparty\mujs\utf.c" />
- <ClCompile Include="..\..\..\thirdparty\mujs\utftype.c" />
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\bio.c" />
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\cidx_manager.c" />
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\cio.c" />
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\dwt.c" />
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\event.c" />
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\function_list.c" />
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\image.c" />
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\invert.c" />
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\j2k.c" />
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\j2k_lib.c" />
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\jp2.c" />
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\mct.c" />
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\mqc.c" />
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\openjpeg.c" />
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\phix_manager.c" />
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\pi.c" />
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\ppix_manager.c" />
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\raw.c" />
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\t1.c" />
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\t1_generate_luts.c" />
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\t2.c" />
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\tcd.c" />
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\tgt.c" />
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\thix_manager.c" />
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\tpix_manager.c" />
- <ClCompile Include="..\..\..\thirdparty\zlib\adler32.c" />
- <ClCompile Include="..\..\..\thirdparty\zlib\compress.c" />
- <ClCompile Include="..\..\..\thirdparty\zlib\crc32.c" />
- <ClCompile Include="..\..\..\thirdparty\zlib\deflate.c" />
- <ClCompile Include="..\..\..\thirdparty\zlib\inffast.c" />
- <ClCompile Include="..\..\..\thirdparty\zlib\inflate.c" />
- <ClCompile Include="..\..\..\thirdparty\zlib\inftrees.c" />
- <ClCompile Include="..\..\..\thirdparty\zlib\trees.c" />
- <ClCompile Include="..\..\..\thirdparty\zlib\uncompr.c" />
- <ClCompile Include="..\..\..\thirdparty\zlib\zutil.c" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\config\ftconfig.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\config\ftheader.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\config\ftmodule.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\config\ftoption.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\config\ftstdlib.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\freetype.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftadvanc.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftautoh.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftbbox.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftbdf.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftbitmap.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftbzip2.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftcache.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftchapters.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftcid.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\fterrdef.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\fterrors.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftgasp.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftglyph.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftgxval.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftgzip.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftimage.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftincrem.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftlcdfil.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftlist.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftlzw.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftmac.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftmm.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftmodapi.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftmoderr.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftotval.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftoutln.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftpfr.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftrender.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftsizes.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftsnames.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftstroke.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftsynth.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftsystem.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\fttrigon.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\fttypes.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftwinfnt.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftxf86.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\autohint.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\ftcalc.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\ftdebug.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\ftdriver.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\ftgloadr.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\ftmemory.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\ftobjs.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\ftpic.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\ftrfork.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\ftserv.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\ftstream.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\fttrace.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\ftvalid.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\internal.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\psaux.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\pshints.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svbdf.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svcid.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svgldict.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svgxval.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svkern.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svmm.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svotval.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svpfr.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svpostnm.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svprop.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svpscmap.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svpsinfo.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svsfnt.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svttcmap.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svtteng.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svttglyf.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svwinfnt.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svxf86nm.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\sfnt.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\t1types.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\tttypes.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\t1tables.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ttnameid.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\tttables.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\tttags.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ttunpat.h" />
- <ClInclude Include="..\..\..\thirdparty\freetype\include\ft2build.h" />
- <ClInclude Include="..\..\..\thirdparty\mujs\astnames.h" />
- <ClInclude Include="..\..\..\thirdparty\mujs\jsbuiltin.h" />
- <ClInclude Include="..\..\..\thirdparty\mujs\jscompile.h" />
- <ClInclude Include="..\..\..\thirdparty\mujs\jsi.h" />
- <ClInclude Include="..\..\..\thirdparty\mujs\jslex.h" />
- <ClInclude Include="..\..\..\thirdparty\mujs\jsrun.h" />
- <ClInclude Include="..\..\..\thirdparty\mujs\jsvalue.h" />
- <ClInclude Include="..\..\..\thirdparty\mujs\mujs.h" />
- <ClInclude Include="..\..\..\thirdparty\mujs\opnames.h" />
- <ClInclude Include="..\..\..\thirdparty\mujs\regex.h" />
- <ClInclude Include="..\..\..\thirdparty\mujs\utf.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\bio.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\cidx_manager.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\cio.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\dwt.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\event.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\fix.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\function_list.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\image.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\indexbox_manager.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\int.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\invert.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\j2k.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\j2k_lib.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\jp2.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\mct.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\mqc.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\openjpeg.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\opj_config.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\opj_config_private.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\opj_includes.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\opj_intmath.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\opj_inttypes.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\opj_malloc.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\opj_stdint.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\pi.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\raw.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\t1.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\t1_luts.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\t2.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\tcd.h" />
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\tgt.h" />
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{DF87E242-8B2C-4F04-9A7E-61C578FD994C}</ProjectGuid>
- <Keyword>Win32Proj</Keyword>
- <RootNamespace>libthirdparty</RootNamespace>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </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" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </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" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <OutDir>..\$(Platform)\$(Configuration)\</OutDir>
- <IntDir>\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <OutDir>..\$(Platform)\$(Configuration)\</OutDir>
- <IntDir>\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <OutDir>..\$(Platform)\$(Configuration)\</OutDir>
- <IntDir>\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <OutDir>..\$(Platform)\$(Configuration)\</OutDir>
- <IntDir>\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>NO_GETENV;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;OPJ_STATIC;FT_CONFIG_MODULES_H="slimftmodules.h";FT_CONFIG_OPTIONS_H="slimftoptions.h";DEBUG=1;verbose=-1;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>..\..\..\scripts\freetype;..\..\..\scripts\jpeg;..\..\..\scripts\openjpeg;..\..\..\thirdparty\jbig2dec;..\..\..\thirdparty\jpeg;..\..\..\thirdparty\openjpeg\libopenjpeg;..\..\..\thirdparty\zlib;..\..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- </ClCompile>
- <Link>
- <SubSystem>Windows</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>NO_GETENV;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;OPJ_STATIC;FT_CONFIG_MODULES_H="slimftmodules.h";FT_CONFIG_OPTIONS_H="slimftoptions.h";DEBUG=1;verbose=-1;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>..\..\..\scripts\freetype;..\..\..\scripts\jpeg;..\..\..\scripts\openjpeg;..\..\..\thirdparty\jbig2dec;..\..\..\thirdparty\jpeg;..\..\..\thirdparty\openjpeg\libopenjpeg;..\..\..\thirdparty\zlib;..\..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- </ClCompile>
- <Link>
- <SubSystem>Windows</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <Optimization>MaxSpeed</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>NO_GETENV;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;OPJ_STATIC;FT_CONFIG_MODULES_H="slimftmodules.h";FT_CONFIG_OPTIONS_H="slimftoptions.h";DEBUG=1;verbose=-1;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>..\..\..\scripts\freetype;..\..\..\scripts\jpeg;..\..\..\scripts\openjpeg;..\..\..\thirdparty\jbig2dec;..\..\..\thirdparty\jpeg;..\..\..\thirdparty\openjpeg\libopenjpeg;..\..\..\thirdparty\zlib;..\..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
- </ClCompile>
- <Link>
- <SubSystem>Windows</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <Optimization>MaxSpeed</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>NO_GETENV;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;OPJ_STATIC;FT_CONFIG_MODULES_H="slimftmodules.h";FT_CONFIG_OPTIONS_H="slimftoptions.h";DEBUG=1;verbose=-1;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>..\..\..\scripts\freetype;..\..\..\scripts\jpeg;..\..\..\scripts\openjpeg;..\..\..\thirdparty\jbig2dec;..\..\..\thirdparty\jpeg;..\..\..\thirdparty\openjpeg\libopenjpeg;..\..\..\thirdparty\zlib;..\..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
- </ClCompile>
- <Link>
- <SubSystem>Windows</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- </Link>
- </ItemDefinitionGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project> \ No newline at end of file
diff --git a/platform/windows/libthirdparty/libthirdparty.vcxproj.filters b/platform/windows/libthirdparty/libthirdparty.vcxproj.filters
deleted file mode 100644
index 8df2ff5f..00000000
--- a/platform/windows/libthirdparty/libthirdparty.vcxproj.filters
+++ /dev/null
@@ -1,825 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="libfreetype">
- <UniqueIdentifier>{51262ea7-0f9e-437e-8ffe-c85bacaaf125}</UniqueIdentifier>
- </Filter>
- <Filter Include="libfreetype\base">
- <UniqueIdentifier>{f4f104f6-caed-4df1-b35d-9f9767f5582d}</UniqueIdentifier>
- </Filter>
- <Filter Include="libfreetype\include">
- <UniqueIdentifier>{1d957264-59db-4892-aa9b-ba1cc2679e28}</UniqueIdentifier>
- </Filter>
- <Filter Include="libfreetype\include\freetype">
- <UniqueIdentifier>{90126781-c73e-4236-83b4-d587cb934c42}</UniqueIdentifier>
- </Filter>
- <Filter Include="libfreetype\include\freetype\config">
- <UniqueIdentifier>{97ff3411-a2bc-4e1a-a226-697c94e57b49}</UniqueIdentifier>
- </Filter>
- <Filter Include="libfreetype\include\freetype\internal">
- <UniqueIdentifier>{5a89d11e-f4d3-4090-828c-3fbba6be4626}</UniqueIdentifier>
- </Filter>
- <Filter Include="libfreetype\include\freetype\internal\services">
- <UniqueIdentifier>{cf91998c-2e4c-46ea-9181-028cf8ffdc13}</UniqueIdentifier>
- </Filter>
- <Filter Include="libjbig2dec">
- <UniqueIdentifier>{095e71bf-5b71-417b-85ab-5fc6c3401938}</UniqueIdentifier>
- </Filter>
- <Filter Include="libjpeg">
- <UniqueIdentifier>{e8dd043a-626d-46c4-bffe-f5937b4cd5e3}</UniqueIdentifier>
- </Filter>
- <Filter Include="libopenjpeg">
- <UniqueIdentifier>{2741745a-ddbb-4d7b-9102-ffa79d72d71a}</UniqueIdentifier>
- </Filter>
- <Filter Include="libz">
- <UniqueIdentifier>{a359ba61-bb36-4f26-ac90-e87eeeeae497}</UniqueIdentifier>
- </Filter>
- <Filter Include="libmujs">
- <UniqueIdentifier>{2c243407-7436-4da7-8cca-69ee74ea256e}</UniqueIdentifier>
- </Filter>
- <Filter Include="libmujs\include">
- <UniqueIdentifier>{2ab8b309-1ec0-4324-89e1-078246114bb1}</UniqueIdentifier>
- </Filter>
- <Filter Include="libmujs\source">
- <UniqueIdentifier>{32dbf0c4-caae-469b-a861-cad68dff8d70}</UniqueIdentifier>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="..\..\..\thirdparty\freetype\src\cff\cff.c">
- <Filter>libfreetype</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\freetype\src\cid\type1cid.c">
- <Filter>libfreetype</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\freetype\src\psaux\psaux.c">
- <Filter>libfreetype</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\freetype\src\pshinter\pshinter.c">
- <Filter>libfreetype</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\freetype\src\psnames\psnames.c">
- <Filter>libfreetype</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\freetype\src\raster\raster.c">
- <Filter>libfreetype</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\freetype\src\sfnt\sfnt.c">
- <Filter>libfreetype</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\freetype\src\smooth\smooth.c">
- <Filter>libfreetype</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\freetype\src\truetype\truetype.c">
- <Filter>libfreetype</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\freetype\src\type1\type1.c">
- <Filter>libfreetype</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\freetype\src\base\ftbase.c">
- <Filter>libfreetype\base</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\freetype\src\base\ftbbox.c">
- <Filter>libfreetype\base</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\freetype\src\base\ftbitmap.c">
- <Filter>libfreetype\base</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\freetype\src\base\ftgasp.c">
- <Filter>libfreetype\base</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\freetype\src\base\ftglyph.c">
- <Filter>libfreetype\base</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\freetype\src\base\ftinit.c">
- <Filter>libfreetype\base</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\freetype\src\base\ftstroke.c">
- <Filter>libfreetype\base</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\freetype\src\base\ftsynth.c">
- <Filter>libfreetype\base</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\freetype\src\base\ftsystem.c">
- <Filter>libfreetype\base</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\freetype\src\base\fttype1.c">
- <Filter>libfreetype\base</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\freetype\src\base\ftxf86.c">
- <Filter>libfreetype\base</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jbig2dec\jbig2.c">
- <Filter>libjbig2dec</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jbig2dec\jbig2_arith.c">
- <Filter>libjbig2dec</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jbig2dec\jbig2_arith_iaid.c">
- <Filter>libjbig2dec</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jbig2dec\jbig2_arith_int.c">
- <Filter>libjbig2dec</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jbig2dec\jbig2_generic.c">
- <Filter>libjbig2dec</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jbig2dec\jbig2_halftone.c">
- <Filter>libjbig2dec</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jbig2dec\jbig2_huffman.c">
- <Filter>libjbig2dec</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jbig2dec\jbig2_image.c">
- <Filter>libjbig2dec</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jbig2dec\jbig2_metadata.c">
- <Filter>libjbig2dec</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jbig2dec\jbig2_mmr.c">
- <Filter>libjbig2dec</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jbig2dec\jbig2_page.c">
- <Filter>libjbig2dec</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jbig2dec\jbig2_refinement.c">
- <Filter>libjbig2dec</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jbig2dec\jbig2_segment.c">
- <Filter>libjbig2dec</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jbig2dec\jbig2_symbol_dict.c">
- <Filter>libjbig2dec</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jbig2dec\jbig2_text.c">
- <Filter>libjbig2dec</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jaricom.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jcomapi.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdapimin.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdapistd.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdarith.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdatadst.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdatasrc.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdcoefct.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdcolor.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jddctmgr.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdhuff.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdinput.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdmainct.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdmarker.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdmaster.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdmerge.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdpostct.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdsample.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jdtrans.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jerror.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jfdctflt.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jfdctfst.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jfdctint.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jidctflt.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jidctfst.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jidctint.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jmemmgr.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jmemnobs.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jquant1.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jquant2.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\jpeg\jutils.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\bio.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\cidx_manager.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\cio.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\dwt.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\event.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\function_list.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\image.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\invert.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\j2k.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\j2k_lib.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\jp2.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\mct.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\mqc.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\openjpeg.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\phix_manager.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\pi.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\ppix_manager.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\raw.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\t1.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\t1_generate_luts.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\t2.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\tcd.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\tgt.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\thix_manager.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\openjpeg\libopenjpeg\tpix_manager.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\zlib\adler32.c">
- <Filter>libz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\zlib\compress.c">
- <Filter>libz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\zlib\crc32.c">
- <Filter>libz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\zlib\deflate.c">
- <Filter>libz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\zlib\inffast.c">
- <Filter>libz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\zlib\inflate.c">
- <Filter>libz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\zlib\inftrees.c">
- <Filter>libz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\zlib\trees.c">
- <Filter>libz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\zlib\uncompr.c">
- <Filter>libz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\zlib\zutil.c">
- <Filter>libz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\mujs\one.c">
- <Filter>libmujs</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\mujs\jsarray.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\mujs\jsboolean.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\mujs\jsbuiltin.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\mujs\jscompile.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\mujs\jsdate.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\mujs\jsdtoa.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\mujs\jsdump.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\mujs\jserror.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\mujs\jsfunction.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\mujs\jsgc.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\mujs\jsintern.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\mujs\jslex.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\mujs\jsmath.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\mujs\jsnumber.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\mujs\jsobject.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\mujs\json.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\mujs\jsparse.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\mujs\jsproperty.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\mujs\jsregexp.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\mujs\jsrun.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\mujs\jsstate.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\mujs\jsstring.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\mujs\jsvalue.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\mujs\main.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\mujs\regex.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\mujs\utf.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\..\thirdparty\mujs\utftype.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\ft2build.h">
- <Filter>libfreetype\include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\freetype.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftadvanc.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftautoh.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftbbox.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftbdf.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftbitmap.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftbzip2.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftcache.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftchapters.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftcid.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\fterrdef.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\fterrors.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftgasp.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftglyph.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftgxval.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftgzip.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftimage.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftincrem.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftlcdfil.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftlist.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftlzw.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftmac.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftmm.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftmodapi.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftmoderr.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftotval.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftoutln.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftpfr.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftrender.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftsizes.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftsnames.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftstroke.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftsynth.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftsystem.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\fttrigon.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\fttypes.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftwinfnt.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ftxf86.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\t1tables.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ttnameid.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\tttables.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\tttags.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\ttunpat.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\config\ftconfig.h">
- <Filter>libfreetype\include\freetype\config</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\config\ftheader.h">
- <Filter>libfreetype\include\freetype\config</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\config\ftmodule.h">
- <Filter>libfreetype\include\freetype\config</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\config\ftoption.h">
- <Filter>libfreetype\include\freetype\config</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\config\ftstdlib.h">
- <Filter>libfreetype\include\freetype\config</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\autohint.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\ftcalc.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\ftdebug.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\ftdriver.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\ftgloadr.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\ftmemory.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\ftobjs.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\ftpic.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\ftrfork.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\ftserv.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\ftstream.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\fttrace.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\ftvalid.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\internal.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\psaux.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\pshints.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\sfnt.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\t1types.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\tttypes.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svbdf.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svcid.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svgldict.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svgxval.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svkern.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svmm.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svotval.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svpfr.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svpostnm.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svprop.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svpscmap.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svpsinfo.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svsfnt.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svttcmap.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svtteng.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svttglyf.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svwinfnt.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\freetype\include\freetype\internal\services\svxf86nm.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\bio.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\cidx_manager.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\cio.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\dwt.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\event.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\fix.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\function_list.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\image.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\indexbox_manager.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\int.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\invert.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\j2k.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\j2k_lib.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\jp2.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\mct.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\mqc.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\openjpeg.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\opj_config.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\opj_config_private.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\opj_includes.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\opj_intmath.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\opj_inttypes.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\opj_malloc.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\opj_stdint.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\pi.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\raw.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\t1.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\t1_luts.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\t2.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\tcd.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\openjpeg\libopenjpeg\tgt.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\mujs\mujs.h">
- <Filter>libmujs</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\mujs\astnames.h">
- <Filter>libmujs\include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\mujs\jsbuiltin.h">
- <Filter>libmujs\include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\mujs\jscompile.h">
- <Filter>libmujs\include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\mujs\jsi.h">
- <Filter>libmujs\include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\mujs\jslex.h">
- <Filter>libmujs\include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\mujs\jsrun.h">
- <Filter>libmujs\include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\mujs\jsvalue.h">
- <Filter>libmujs\include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\mujs\opnames.h">
- <Filter>libmujs\include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\mujs\regex.h">
- <Filter>libmujs\include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\..\thirdparty\mujs\utf.h">
- <Filter>libmujs\include</Filter>
- </ClInclude>
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/platform/windows/libthirdparty_winRT.vcxproj b/platform/windows/libthirdparty_winRT.vcxproj
deleted file mode 100644
index d9c60e17..00000000
--- a/platform/windows/libthirdparty_winRT.vcxproj
+++ /dev/null
@@ -1,571 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|ARM">
- <Configuration>Debug</Configuration>
- <Platform>ARM</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Memento|ARM">
- <Configuration>Memento</Configuration>
- <Platform>ARM</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Memento|Win32">
- <Configuration>Memento</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Memento|x64">
- <Configuration>Memento</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|ARM">
- <Configuration>Release</Configuration>
- <Platform>ARM</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>
- <ItemGroup>
- <ClCompile Include="..\..\thirdparty\freetype\src\base\ftbase.c" />
- <ClCompile Include="..\..\thirdparty\freetype\src\base\ftbbox.c" />
- <ClCompile Include="..\..\thirdparty\freetype\src\base\ftbitmap.c" />
- <ClCompile Include="..\..\thirdparty\freetype\src\base\ftgasp.c" />
- <ClCompile Include="..\..\thirdparty\freetype\src\base\ftglyph.c" />
- <ClCompile Include="..\..\thirdparty\freetype\src\base\ftinit.c" />
- <ClCompile Include="..\..\thirdparty\freetype\src\base\ftstroke.c" />
- <ClCompile Include="..\..\thirdparty\freetype\src\base\ftsynth.c" />
- <ClCompile Include="..\..\thirdparty\freetype\src\base\ftsystem.c" />
- <ClCompile Include="..\..\thirdparty\freetype\src\base\fttype1.c" />
- <ClCompile Include="..\..\thirdparty\freetype\src\base\ftxf86.c" />
- <ClCompile Include="..\..\thirdparty\freetype\src\cff\cff.c" />
- <ClCompile Include="..\..\thirdparty\freetype\src\cid\type1cid.c" />
- <ClCompile Include="..\..\thirdparty\freetype\src\psaux\psaux.c" />
- <ClCompile Include="..\..\thirdparty\freetype\src\pshinter\pshinter.c" />
- <ClCompile Include="..\..\thirdparty\freetype\src\psnames\psnames.c" />
- <ClCompile Include="..\..\thirdparty\freetype\src\raster\raster.c" />
- <ClCompile Include="..\..\thirdparty\freetype\src\sfnt\sfnt.c" />
- <ClCompile Include="..\..\thirdparty\freetype\src\smooth\smooth.c" />
- <ClCompile Include="..\..\thirdparty\freetype\src\truetype\truetype.c" />
- <ClCompile Include="..\..\thirdparty\freetype\src\type1\type1.c" />
- <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2.c" />
- <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2_arith.c" />
- <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2_arith_iaid.c" />
- <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2_arith_int.c" />
- <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2_generic.c" />
- <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2_halftone.c" />
- <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2_huffman.c" />
- <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2_image.c" />
- <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2_metadata.c" />
- <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2_mmr.c" />
- <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2_page.c" />
- <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2_refinement.c" />
- <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2_segment.c" />
- <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2_symbol_dict.c" />
- <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2_text.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jaricom.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jcomapi.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jdapimin.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jdapistd.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jdarith.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jdatadst.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jdatasrc.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jdcoefct.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jdcolor.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jddctmgr.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jdhuff.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jdinput.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jdmainct.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jdmarker.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jdmaster.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jdmerge.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jdpostct.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jdsample.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jdtrans.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jerror.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jfdctflt.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jfdctfst.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jfdctint.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jidctflt.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jidctfst.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jidctint.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jmemmgr.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jmemnobs.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jquant1.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jquant2.c" />
- <ClCompile Include="..\..\thirdparty\jpeg\jutils.c" />
- <ClCompile Include="..\..\thirdparty\mujs\jsarray.c" />
- <ClCompile Include="..\..\thirdparty\mujs\jsboolean.c" />
- <ClCompile Include="..\..\thirdparty\mujs\jsbuiltin.c" />
- <ClCompile Include="..\..\thirdparty\mujs\jscompile.c" />
- <ClCompile Include="..\..\thirdparty\mujs\jsdate.c" />
- <ClCompile Include="..\..\thirdparty\mujs\jsdtoa.c" />
- <ClCompile Include="..\..\thirdparty\mujs\jsdump.c" />
- <ClCompile Include="..\..\thirdparty\mujs\jserror.c" />
- <ClCompile Include="..\..\thirdparty\mujs\jsfunction.c" />
- <ClCompile Include="..\..\thirdparty\mujs\jsgc.c" />
- <ClCompile Include="..\..\thirdparty\mujs\jsintern.c" />
- <ClCompile Include="..\..\thirdparty\mujs\jslex.c" />
- <ClCompile Include="..\..\thirdparty\mujs\jsmath.c" />
- <ClCompile Include="..\..\thirdparty\mujs\jsnumber.c" />
- <ClCompile Include="..\..\thirdparty\mujs\jsobject.c" />
- <ClCompile Include="..\..\thirdparty\mujs\json.c" />
- <ClCompile Include="..\..\thirdparty\mujs\jsparse.c" />
- <ClCompile Include="..\..\thirdparty\mujs\jsproperty.c" />
- <ClCompile Include="..\..\thirdparty\mujs\jsregexp.c" />
- <ClCompile Include="..\..\thirdparty\mujs\jsrun.c" />
- <ClCompile Include="..\..\thirdparty\mujs\jsstate.c" />
- <ClCompile Include="..\..\thirdparty\mujs\jsstring.c" />
- <ClCompile Include="..\..\thirdparty\mujs\jsvalue.c" />
- <ClCompile Include="..\..\thirdparty\mujs\main.c" />
- <ClCompile Include="..\..\thirdparty\mujs\one.c" />
- <ClCompile Include="..\..\thirdparty\mujs\regex.c" />
- <ClCompile Include="..\..\thirdparty\mujs\utf.c" />
- <ClCompile Include="..\..\thirdparty\mujs\utftype.c" />
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\bio.c" />
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\cidx_manager.c" />
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\cio.c" />
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\dwt.c" />
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\event.c" />
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\function_list.c" />
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\image.c" />
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\invert.c" />
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\j2k.c" />
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\j2k_lib.c" />
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\jp2.c" />
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\mct.c" />
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\mqc.c" />
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\openjpeg.c" />
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\phix_manager.c" />
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\pi.c" />
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\ppix_manager.c" />
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\raw.c" />
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\t1.c" />
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\t1_generate_luts.c" />
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\t2.c" />
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\tcd.c" />
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\tgt.c" />
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\thix_manager.c" />
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\tpix_manager.c" />
- <ClCompile Include="..\..\thirdparty\zlib\adler32.c" />
- <ClCompile Include="..\..\thirdparty\zlib\compress.c" />
- <ClCompile Include="..\..\thirdparty\zlib\crc32.c" />
- <ClCompile Include="..\..\thirdparty\zlib\deflate.c" />
- <ClCompile Include="..\..\thirdparty\zlib\inffast.c" />
- <ClCompile Include="..\..\thirdparty\zlib\inflate.c" />
- <ClCompile Include="..\..\thirdparty\zlib\inftrees.c" />
- <ClCompile Include="..\..\thirdparty\zlib\trees.c" />
- <ClCompile Include="..\..\thirdparty\zlib\uncompr.c" />
- <ClCompile Include="..\..\thirdparty\zlib\zutil.c" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\config\ftconfig.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\config\ftheader.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\config\ftmodule.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\config\ftoption.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\config\ftstdlib.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\freetype.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftadvanc.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftautoh.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftbbox.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftbdf.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftbitmap.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftbzip2.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftcache.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftchapters.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftcid.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\fterrdef.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\fterrors.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftgasp.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftglyph.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftgxval.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftgzip.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftimage.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftincrem.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftlcdfil.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftlist.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftlzw.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftmac.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftmm.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftmodapi.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftmoderr.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftotval.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftoutln.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftpfr.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftrender.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftsizes.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftsnames.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftstroke.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftsynth.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftsystem.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\fttrigon.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\fttypes.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftwinfnt.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftxf86.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\autohint.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\ftcalc.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\ftdebug.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\ftdriver.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\ftgloadr.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\ftmemory.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\ftobjs.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\ftpic.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\ftrfork.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\ftserv.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\ftstream.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\fttrace.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\ftvalid.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\internal.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\psaux.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\pshints.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svbdf.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svcid.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svgldict.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svgxval.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svkern.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svmm.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svotval.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svpfr.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svpostnm.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svprop.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svpscmap.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svpsinfo.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svsfnt.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svttcmap.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svtteng.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svttglyf.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svwinfnt.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svxf86nm.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\sfnt.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\t1types.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\tttypes.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\t1tables.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ttnameid.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\tttables.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\tttags.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ttunpat.h" />
- <ClInclude Include="..\..\thirdparty\freetype\include\ft2build.h" />
- <ClInclude Include="..\..\thirdparty\mujs\astnames.h" />
- <ClInclude Include="..\..\thirdparty\mujs\jsbuiltin.h" />
- <ClInclude Include="..\..\thirdparty\mujs\jscompile.h" />
- <ClInclude Include="..\..\thirdparty\mujs\jsi.h" />
- <ClInclude Include="..\..\thirdparty\mujs\jslex.h" />
- <ClInclude Include="..\..\thirdparty\mujs\jsrun.h" />
- <ClInclude Include="..\..\thirdparty\mujs\jsvalue.h" />
- <ClInclude Include="..\..\thirdparty\mujs\mujs.h" />
- <ClInclude Include="..\..\thirdparty\mujs\opnames.h" />
- <ClInclude Include="..\..\thirdparty\mujs\regex.h" />
- <ClInclude Include="..\..\thirdparty\mujs\utf.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\bio.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\cidx_manager.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\cio.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\dwt.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\event.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\fix.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\function_list.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\image.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\indexbox_manager.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\int.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\invert.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\j2k.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\j2k_lib.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\jp2.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\mct.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\mqc.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\openjpeg.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\opj_config.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\opj_config_private.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\opj_includes.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\opj_intmath.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\opj_inttypes.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\opj_malloc.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\opj_stdint.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\pi.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\raw.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\t1.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\t1_luts.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\t2.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\tcd.h" />
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\tgt.h" />
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{c0d1c355-1bee-40e1-9ef4-fd9fffdbf396}</ProjectGuid>
- <Keyword>Win32Proj</Keyword>
- <ProjectName>libthirdparty_winRT</ProjectName>
- <RootNamespace>libthirdparty_winRT</RootNamespace>
- <DefaultLanguage>en-US</DefaultLanguage>
- <MinimumVisualStudioVersion>12.0</MinimumVisualStudioVersion>
- <AppContainerApplication>true</AppContainerApplication>
- <ApplicationType>Windows Store</ApplicationType>
- <ApplicationTypeRevision>8.1</ApplicationTypeRevision>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|ARM'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Memento|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Memento|ARM'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Memento|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <GenerateManifest>false</GenerateManifest>
- <OutDir>$(Platform)\$(Configuration)\</OutDir>
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|Win32'">
- <GenerateManifest>false</GenerateManifest>
- <OutDir>$(Platform)\$(Configuration)\</OutDir>
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <GenerateManifest>false</GenerateManifest>
- <OutDir>$(Platform)\$(Configuration)\</OutDir>
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
- <GenerateManifest>false</GenerateManifest>
- <OutDir>$(Platform)\$(Configuration)\</OutDir>
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|ARM'">
- <GenerateManifest>false</GenerateManifest>
- <OutDir>$(Platform)\$(Configuration)\</OutDir>
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
- <GenerateManifest>false</GenerateManifest>
- <OutDir>$(Platform)\$(Configuration)\</OutDir>
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <GenerateManifest>false</GenerateManifest>
- <OutDir>$(Platform)\$(Configuration)\</OutDir>
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|x64'">
- <GenerateManifest>false</GenerateManifest>
- <OutDir>$(Platform)\$(Configuration)\</OutDir>
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <GenerateManifest>false</GenerateManifest>
- <OutDir>$(Platform)\$(Configuration)\</OutDir>
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <CompileAsWinRT>false</CompileAsWinRT>
- <SDLCheck>false</SDLCheck>
- <AdditionalIncludeDirectories>..\..\scripts\freetype;..\..\scripts\jpeg;..\..\scripts\openjpeg;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>NO_GETENV;_WINRT;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;OPJ_STATIC;FT_CONFIG_MODULES_H="slimftmodules.h";FT_CONFIG_OPTIONS_H="slimftoptions.h";DEBUG=1;verbose=-1;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Memento|Win32'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <CompileAsWinRT>false</CompileAsWinRT>
- <SDLCheck>false</SDLCheck>
- <AdditionalIncludeDirectories>..\..\scripts\freetype;..\..\scripts\jpeg;..\..\scripts\openjpeg;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_WINRT;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;OPJ_STATIC;FT_CONFIG_MODULES_H="slimftmodules.h";FT_CONFIG_OPTIONS_H="slimftoptions.h";DEBUG=1;verbose=-1;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <CompileAsWinRT>false</CompileAsWinRT>
- <SDLCheck>false</SDLCheck>
- <AdditionalIncludeDirectories>..\..\scripts\freetype;..\..\scripts\jpeg;..\..\scripts\openjpeg;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>NO_GETENV;_WINRT;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;OPJ_STATIC;FT_CONFIG_MODULES_H="slimftmodules.h";FT_CONFIG_OPTIONS_H="slimftoptions.h";DEBUG=1;verbose=-1;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|arm'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <CompileAsWinRT>false</CompileAsWinRT>
- <SDLCheck>false</SDLCheck>
- <PrecompiledHeaderFile>
- </PrecompiledHeaderFile>
- <AdditionalIncludeDirectories>..\..\scripts\freetype;..\..\scripts\jpeg;..\..\scripts\openjpeg;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>NO_GETENV;_WINRT;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;OPJ_STATIC;FT_CONFIG_MODULES_H="slimftmodules.h";FT_CONFIG_OPTIONS_H="slimftoptions.h";DEBUG=1;verbose=-1;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Memento|arm'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <CompileAsWinRT>false</CompileAsWinRT>
- <SDLCheck>false</SDLCheck>
- <PrecompiledHeaderFile>
- </PrecompiledHeaderFile>
- <AdditionalIncludeDirectories>..\..\scripts\freetype;..\..\scripts\jpeg;..\..\scripts\openjpeg;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_WINRT;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;OPJ_STATIC;FT_CONFIG_MODULES_H="slimftmodules.h";FT_CONFIG_OPTIONS_H="slimftoptions.h";DEBUG=1;verbose=-1;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|arm'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <CompileAsWinRT>false</CompileAsWinRT>
- <SDLCheck>false</SDLCheck>
- <AdditionalIncludeDirectories>..\..\scripts\freetype;..\..\scripts\jpeg;..\..\scripts\openjpeg;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>NO_GETENV;_WINRT;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;OPJ_STATIC;FT_CONFIG_MODULES_H="slimftmodules.h";FT_CONFIG_OPTIONS_H="slimftoptions.h";DEBUG=1;verbose=-1;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <CompileAsWinRT>false</CompileAsWinRT>
- <SDLCheck>false</SDLCheck>
- <AdditionalIncludeDirectories>..\..\scripts\freetype;..\..\scripts\jpeg;..\..\scripts\openjpeg;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>NO_GETENV;_WINRT;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;OPJ_STATIC;FT_CONFIG_MODULES_H="slimftmodules.h";FT_CONFIG_OPTIONS_H="slimftoptions.h";DEBUG=1;verbose=-1;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Memento|x64'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <CompileAsWinRT>false</CompileAsWinRT>
- <SDLCheck>false</SDLCheck>
- <AdditionalIncludeDirectories>..\..\scripts\freetype;..\..\scripts\jpeg;..\..\scripts\openjpeg;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_WINRT;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;OPJ_STATIC;FT_CONFIG_MODULES_H="slimftmodules.h";FT_CONFIG_OPTIONS_H="slimftoptions.h";DEBUG=1;verbose=-1;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <CompileAsWinRT>false</CompileAsWinRT>
- <SDLCheck>false</SDLCheck>
- <AdditionalIncludeDirectories>..\..\scripts\freetype;..\..\scripts\jpeg;..\..\scripts\openjpeg;..\..\thirdparty\jbig2dec;..\..\thirdparty\jpeg;..\..\thirdparty\openjpeg\libopenjpeg;..\..\thirdparty\zlib;..\..\thirdparty\freetype\include;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>NO_GETENV;_WINRT;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;OPJ_STATIC;FT_CONFIG_MODULES_H="slimftmodules.h";FT_CONFIG_OPTIONS_H="slimftoptions.h";DEBUG=1;verbose=-1;_UNICODE;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- <GenerateWindowsMetadata>false</GenerateWindowsMetadata>
- </Link>
- </ItemDefinitionGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project> \ No newline at end of file
diff --git a/platform/windows/libthirdparty_winRT.vcxproj.filters b/platform/windows/libthirdparty_winRT.vcxproj.filters
deleted file mode 100644
index 3742ced4..00000000
--- a/platform/windows/libthirdparty_winRT.vcxproj.filters
+++ /dev/null
@@ -1,825 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="libfreetype">
- <UniqueIdentifier>{01b3001f-e457-469b-935e-a61e6bb80bea}</UniqueIdentifier>
- </Filter>
- <Filter Include="libfreetype\base">
- <UniqueIdentifier>{e719ccda-496e-44f1-a848-3f7e1ee5ec8d}</UniqueIdentifier>
- </Filter>
- <Filter Include="libfreetype\include">
- <UniqueIdentifier>{be2b973e-2b42-45d9-9225-d017d1abd744}</UniqueIdentifier>
- </Filter>
- <Filter Include="libfreetype\include\freetype">
- <UniqueIdentifier>{b6fa3d37-cb6e-45ea-88de-530cb5b26c41}</UniqueIdentifier>
- </Filter>
- <Filter Include="libjbig2dec">
- <UniqueIdentifier>{34f17a77-9d71-40b1-a18b-75b0704bddf0}</UniqueIdentifier>
- </Filter>
- <Filter Include="libjpeg">
- <UniqueIdentifier>{f0d06dd8-ab23-445f-82bd-b524f7206761}</UniqueIdentifier>
- </Filter>
- <Filter Include="libopenjpeg">
- <UniqueIdentifier>{e6b91098-43cf-4337-8677-22b2c582785b}</UniqueIdentifier>
- </Filter>
- <Filter Include="libz">
- <UniqueIdentifier>{5e55ef18-6449-49c1-99aa-1cd88b6f4453}</UniqueIdentifier>
- </Filter>
- <Filter Include="libfreetype\include\freetype\config">
- <UniqueIdentifier>{289ce62d-7110-4e8b-8045-72a557f8e6c0}</UniqueIdentifier>
- </Filter>
- <Filter Include="libfreetype\include\freetype\internal">
- <UniqueIdentifier>{bcbd304b-3787-4d77-a13d-1052885ff121}</UniqueIdentifier>
- </Filter>
- <Filter Include="libfreetype\include\freetype\internal\services">
- <UniqueIdentifier>{298e58d2-d279-4f1c-abb8-6224727db323}</UniqueIdentifier>
- </Filter>
- <Filter Include="libmujs">
- <UniqueIdentifier>{364c7937-2761-4a47-aa08-aa4cafda2e99}</UniqueIdentifier>
- </Filter>
- <Filter Include="libmujs\include">
- <UniqueIdentifier>{ae49fa93-c671-4461-b697-332bea0570b1}</UniqueIdentifier>
- </Filter>
- <Filter Include="libmujs\source">
- <UniqueIdentifier>{e2eafb1d-79ec-45b8-84e1-35acbba2fdee}</UniqueIdentifier>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="..\..\thirdparty\freetype\src\base\ftstroke.c">
- <Filter>libfreetype\base</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\freetype\src\base\ftsynth.c">
- <Filter>libfreetype\base</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\freetype\src\base\ftsystem.c">
- <Filter>libfreetype\base</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\freetype\src\base\fttype1.c">
- <Filter>libfreetype\base</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\freetype\src\base\ftxf86.c">
- <Filter>libfreetype\base</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\freetype\src\base\ftbase.c">
- <Filter>libfreetype\base</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\freetype\src\base\ftbbox.c">
- <Filter>libfreetype\base</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\freetype\src\base\ftbitmap.c">
- <Filter>libfreetype\base</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\freetype\src\base\ftgasp.c">
- <Filter>libfreetype\base</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\freetype\src\base\ftglyph.c">
- <Filter>libfreetype\base</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\freetype\src\base\ftinit.c">
- <Filter>libfreetype\base</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\freetype\src\cff\cff.c">
- <Filter>libfreetype</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\freetype\src\psaux\psaux.c">
- <Filter>libfreetype</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\freetype\src\pshinter\pshinter.c">
- <Filter>libfreetype</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\freetype\src\psnames\psnames.c">
- <Filter>libfreetype</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\freetype\src\raster\raster.c">
- <Filter>libfreetype</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\freetype\src\sfnt\sfnt.c">
- <Filter>libfreetype</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\freetype\src\smooth\smooth.c">
- <Filter>libfreetype</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\freetype\src\truetype\truetype.c">
- <Filter>libfreetype</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\freetype\src\type1\type1.c">
- <Filter>libfreetype</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\freetype\src\cid\type1cid.c">
- <Filter>libfreetype</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2_metadata.c">
- <Filter>libjbig2dec</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2_mmr.c">
- <Filter>libjbig2dec</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2_page.c">
- <Filter>libjbig2dec</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2_refinement.c">
- <Filter>libjbig2dec</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2_segment.c">
- <Filter>libjbig2dec</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2_symbol_dict.c">
- <Filter>libjbig2dec</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2_text.c">
- <Filter>libjbig2dec</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2.c">
- <Filter>libjbig2dec</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2_arith.c">
- <Filter>libjbig2dec</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2_arith_iaid.c">
- <Filter>libjbig2dec</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2_arith_int.c">
- <Filter>libjbig2dec</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2_generic.c">
- <Filter>libjbig2dec</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2_halftone.c">
- <Filter>libjbig2dec</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2_huffman.c">
- <Filter>libjbig2dec</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jbig2dec\jbig2_image.c">
- <Filter>libjbig2dec</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jquant1.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jquant2.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jutils.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jaricom.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jcomapi.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jdapimin.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jdapistd.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jdarith.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jdatadst.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jdatasrc.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jdcoefct.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jdcolor.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jddctmgr.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jdhuff.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jdinput.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jdmainct.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jdmarker.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jdmaster.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jdmerge.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jdpostct.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jdsample.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jdtrans.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jerror.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jfdctflt.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jfdctfst.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jfdctint.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jidctflt.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jidctfst.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jidctint.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jmemmgr.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\jpeg\jmemnobs.c">
- <Filter>libjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\zlib\zutil.c">
- <Filter>libz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\zlib\adler32.c">
- <Filter>libz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\zlib\compress.c">
- <Filter>libz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\zlib\crc32.c">
- <Filter>libz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\zlib\deflate.c">
- <Filter>libz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\zlib\inffast.c">
- <Filter>libz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\zlib\inflate.c">
- <Filter>libz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\zlib\inftrees.c">
- <Filter>libz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\zlib\trees.c">
- <Filter>libz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\zlib\uncompr.c">
- <Filter>libz</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\bio.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\cidx_manager.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\cio.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\dwt.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\event.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\function_list.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\image.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\invert.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\j2k.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\j2k_lib.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\jp2.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\mct.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\mqc.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\openjpeg.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\phix_manager.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\pi.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\ppix_manager.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\raw.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\t1.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\t1_generate_luts.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\t2.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\tcd.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\tgt.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\thix_manager.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\openjpeg\libopenjpeg\tpix_manager.c">
- <Filter>libopenjpeg</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\mujs\jsarray.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\mujs\jsboolean.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\mujs\jsbuiltin.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\mujs\jscompile.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\mujs\jsdate.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\mujs\jsdtoa.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\mujs\jsdump.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\mujs\jserror.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\mujs\jsfunction.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\mujs\jsgc.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\mujs\jsintern.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\mujs\jslex.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\mujs\jsmath.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\mujs\jsnumber.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\mujs\jsobject.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\mujs\json.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\mujs\jsparse.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\mujs\jsproperty.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\mujs\jsregexp.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\mujs\jsrun.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\mujs\jsstate.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\mujs\jsstring.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\mujs\jsvalue.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\mujs\main.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\mujs\regex.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\mujs\utf.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\mujs\utftype.c">
- <Filter>libmujs\source</Filter>
- </ClCompile>
- <ClCompile Include="..\..\thirdparty\mujs\one.c">
- <Filter>libmujs</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="..\..\thirdparty\freetype\include\ft2build.h">
- <Filter>libfreetype\include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftmodapi.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftmoderr.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftotval.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftoutln.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftpfr.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftrender.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftsizes.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftsnames.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftstroke.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftsynth.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftsystem.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\fttrigon.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\fttypes.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftwinfnt.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftxf86.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\t1tables.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ttnameid.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\tttables.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\tttags.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ttunpat.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\freetype.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftadvanc.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftautoh.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftbbox.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftbdf.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftbitmap.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftbzip2.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftcache.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftchapters.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftcid.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\fterrdef.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\fterrors.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftgasp.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftglyph.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftgxval.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftgzip.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftimage.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftincrem.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftlcdfil.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftlist.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftlzw.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftmac.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\ftmm.h">
- <Filter>libfreetype\include\freetype</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\config\ftconfig.h">
- <Filter>libfreetype\include\freetype\config</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\config\ftheader.h">
- <Filter>libfreetype\include\freetype\config</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\config\ftmodule.h">
- <Filter>libfreetype\include\freetype\config</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\config\ftoption.h">
- <Filter>libfreetype\include\freetype\config</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\config\ftstdlib.h">
- <Filter>libfreetype\include\freetype\config</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svbdf.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svcid.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svgldict.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svgxval.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svkern.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svmm.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svotval.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svpfr.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svpostnm.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svprop.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svpscmap.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svpsinfo.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svsfnt.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svttcmap.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svtteng.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svttglyf.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svwinfnt.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\services\svxf86nm.h">
- <Filter>libfreetype\include\freetype\internal\services</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\ftrfork.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\ftserv.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\ftstream.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\fttrace.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\ftvalid.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\internal.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\psaux.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\pshints.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\sfnt.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\t1types.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\tttypes.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\autohint.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\ftcalc.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\ftdebug.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\ftdriver.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\ftgloadr.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\ftmemory.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\ftobjs.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\freetype\include\freetype\internal\ftpic.h">
- <Filter>libfreetype\include\freetype\internal</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\bio.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\cidx_manager.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\cio.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\dwt.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\event.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\fix.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\function_list.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\image.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\indexbox_manager.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\int.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\invert.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\j2k.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\j2k_lib.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\jp2.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\mct.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\mqc.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\openjpeg.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\opj_config.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\opj_config_private.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\opj_includes.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\opj_intmath.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\opj_inttypes.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\opj_malloc.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\opj_stdint.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\pi.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\raw.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\t1.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\t1_luts.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\t2.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\tcd.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\openjpeg\libopenjpeg\tgt.h">
- <Filter>libopenjpeg</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\mujs\astnames.h">
- <Filter>libmujs\include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\mujs\jsbuiltin.h">
- <Filter>libmujs\include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\mujs\jscompile.h">
- <Filter>libmujs\include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\mujs\jsi.h">
- <Filter>libmujs\include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\mujs\jslex.h">
- <Filter>libmujs\include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\mujs\jsrun.h">
- <Filter>libmujs\include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\mujs\jsvalue.h">
- <Filter>libmujs\include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\mujs\opnames.h">
- <Filter>libmujs\include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\mujs\regex.h">
- <Filter>libmujs\include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\mujs\utf.h">
- <Filter>libmujs\include</Filter>
- </ClInclude>
- <ClInclude Include="..\..\thirdparty\mujs\mujs.h">
- <Filter>libmujs</Filter>
- </ClInclude>
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/platform/windows/mupdf.sln b/platform/windows/mupdf.sln
deleted file mode 100644
index c38cde4c..00000000
--- a/platform/windows/mupdf.sln
+++ /dev/null
@@ -1,738 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
-VisualStudioVersion = 12.0.31101.0
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "generated", "generated.vcxproj", "{A5053AA7-02E5-4903-B596-04F17AEB1526}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmupdf_winRT", "libmupdf_winRT.vcxproj", "{0715F3CF-5D1B-4617-A331-6527371365B7}"
- ProjectSection(ProjectDependencies) = postProject
- {A5053AA7-02E5-4903-B596-04F17AEB1526} = {A5053AA7-02E5-4903-B596-04F17AEB1526}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libthirdparty_winRT", "libthirdparty_winRT.vcxproj", "{C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mupdfwinrt", "mupdfwinrt\mupdfwinrt.vcxproj", "{9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}"
- ProjectSection(ProjectDependencies) = postProject
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396} = {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}
- {0715F3CF-5D1B-4617-A331-6527371365B7} = {0715F3CF-5D1B-4617-A331-6527371365B7}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mupdf_cpp", "mupdf_cpp\mupdf_cpp.vcxproj", "{0204A4E7-F1B8-4268-A67C-A2C674B4742D}"
- ProjectSection(ProjectDependencies) = postProject
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33} = {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}
- EndProjectSection
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "gsview", "gsview\gsview.csproj", "{5DA0ECC9-4026-4427-862F-E3226EFEFEB1}"
- ProjectSection(ProjectDependencies) = postProject
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1} = {09FE8E75-9952-44E7-95F8-E8D74707FBA1}
- {4468C2E0-6C90-4FA5-8A48-0A9629776167} = {4468C2E0-6C90-4FA5-8A48-0A9629776167}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mupdfnet", "mupdfnet\mupdfnet.vcxproj", "{4468C2E0-6C90-4FA5-8A48-0A9629776167}"
- ProjectSection(ProjectDependencies) = postProject
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C} = {DF87E242-8B2C-4F04-9A7E-61C578FD994C}
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2} = {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmupdf", "libmupdf\libmupdf.vcxproj", "{4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}"
- ProjectSection(ProjectDependencies) = postProject
- {A5053AA7-02E5-4903-B596-04F17AEB1526} = {A5053AA7-02E5-4903-B596-04F17AEB1526}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libthirdparty", "libthirdparty\libthirdparty.vcxproj", "{DF87E242-8B2C-4F04-9A7E-61C578FD994C}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gsprint", "gsprint.vcxproj", "{09FE8E75-9952-44E7-95F8-E8D74707FBA1}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- CD_ROM|Any CPU = CD_ROM|Any CPU
- CD_ROM|ARM = CD_ROM|ARM
- CD_ROM|Mixed Platforms = CD_ROM|Mixed Platforms
- CD_ROM|Win32 = CD_ROM|Win32
- CD_ROM|x64 = CD_ROM|x64
- CD_ROM|x86 = CD_ROM|x86
- Debug|Any CPU = Debug|Any CPU
- Debug|ARM = Debug|ARM
- Debug|Mixed Platforms = Debug|Mixed Platforms
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Debug|x86 = Debug|x86
- DVD-5|Any CPU = DVD-5|Any CPU
- DVD-5|ARM = DVD-5|ARM
- DVD-5|Mixed Platforms = DVD-5|Mixed Platforms
- DVD-5|Win32 = DVD-5|Win32
- DVD-5|x64 = DVD-5|x64
- DVD-5|x86 = DVD-5|x86
- Memento|Any CPU = Memento|Any CPU
- Memento|ARM = Memento|ARM
- Memento|Mixed Platforms = Memento|Mixed Platforms
- Memento|Win32 = Memento|Win32
- Memento|x64 = Memento|x64
- Memento|x86 = Memento|x86
- Release|Any CPU = Release|Any CPU
- Release|ARM = Release|ARM
- Release|Mixed Platforms = Release|Mixed Platforms
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- Release|x86 = Release|x86
- SingleImage|Any CPU = SingleImage|Any CPU
- SingleImage|ARM = SingleImage|ARM
- SingleImage|Mixed Platforms = SingleImage|Mixed Platforms
- SingleImage|Win32 = SingleImage|Win32
- SingleImage|x64 = SingleImage|x64
- SingleImage|x86 = SingleImage|x86
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.CD_ROM|Any CPU.ActiveCfg = Release|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.CD_ROM|ARM.ActiveCfg = Release|ARM
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.CD_ROM|ARM.Build.0 = Release|ARM
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.CD_ROM|Mixed Platforms.ActiveCfg = Release|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.CD_ROM|Mixed Platforms.Build.0 = Release|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.CD_ROM|Win32.ActiveCfg = Release|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.CD_ROM|Win32.Build.0 = Release|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.CD_ROM|x64.ActiveCfg = Release|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.CD_ROM|x86.ActiveCfg = Release|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.CD_ROM|x86.Build.0 = Release|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.Debug|Any CPU.ActiveCfg = Debug|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.Debug|ARM.ActiveCfg = Debug|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.Debug|ARM.Build.0 = Debug|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.Debug|Mixed Platforms.Build.0 = Debug|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.Debug|Win32.ActiveCfg = Debug|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.Debug|Win32.Build.0 = Debug|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.Debug|x64.ActiveCfg = Debug|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.Debug|x64.Build.0 = Debug|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.Debug|x86.ActiveCfg = Debug|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.Debug|x86.Build.0 = Debug|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.DVD-5|Any CPU.ActiveCfg = Debug|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.DVD-5|ARM.ActiveCfg = Debug|ARM
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.DVD-5|ARM.Build.0 = Debug|ARM
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.DVD-5|Mixed Platforms.Build.0 = Debug|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.DVD-5|Win32.ActiveCfg = Debug|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.DVD-5|Win32.Build.0 = Debug|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.DVD-5|x64.ActiveCfg = Debug|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.DVD-5|x86.ActiveCfg = Debug|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.DVD-5|x86.Build.0 = Debug|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.Memento|Any CPU.ActiveCfg = Memento|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.Memento|ARM.ActiveCfg = Memento|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.Memento|Mixed Platforms.ActiveCfg = Memento|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.Memento|Mixed Platforms.Build.0 = Memento|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.Memento|Win32.ActiveCfg = Memento|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.Memento|x64.ActiveCfg = Memento|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.Memento|x86.ActiveCfg = Memento|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.Memento|x86.Build.0 = Memento|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.Release|Any CPU.ActiveCfg = Release|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.Release|ARM.ActiveCfg = Release|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.Release|ARM.Build.0 = Release|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.Release|Mixed Platforms.ActiveCfg = Release|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.Release|Mixed Platforms.Build.0 = Release|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.Release|Win32.ActiveCfg = Release|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.Release|Win32.Build.0 = Release|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.Release|x64.ActiveCfg = Release|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.Release|x64.Build.0 = Release|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.Release|x86.ActiveCfg = Release|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.Release|x86.Build.0 = Release|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.SingleImage|Any CPU.ActiveCfg = Release|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.SingleImage|ARM.ActiveCfg = Release|ARM
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.SingleImage|ARM.Build.0 = Release|ARM
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.SingleImage|Mixed Platforms.ActiveCfg = Release|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.SingleImage|Mixed Platforms.Build.0 = Release|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.SingleImage|Win32.ActiveCfg = Release|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.SingleImage|Win32.Build.0 = Release|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.SingleImage|x64.ActiveCfg = Release|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.SingleImage|x86.ActiveCfg = Release|Win32
- {A5053AA7-02E5-4903-B596-04F17AEB1526}.SingleImage|x86.Build.0 = Release|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.CD_ROM|Any CPU.ActiveCfg = Release|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.CD_ROM|ARM.ActiveCfg = Release|ARM
- {0715F3CF-5D1B-4617-A331-6527371365B7}.CD_ROM|ARM.Build.0 = Release|ARM
- {0715F3CF-5D1B-4617-A331-6527371365B7}.CD_ROM|Mixed Platforms.ActiveCfg = Release|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.CD_ROM|Mixed Platforms.Build.0 = Release|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.CD_ROM|Win32.ActiveCfg = Release|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.CD_ROM|Win32.Build.0 = Release|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.CD_ROM|x64.ActiveCfg = Release|x64
- {0715F3CF-5D1B-4617-A331-6527371365B7}.CD_ROM|x64.Build.0 = Release|x64
- {0715F3CF-5D1B-4617-A331-6527371365B7}.CD_ROM|x86.ActiveCfg = Release|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.CD_ROM|x86.Build.0 = Release|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Debug|Any CPU.ActiveCfg = Debug|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Debug|ARM.ActiveCfg = Debug|ARM
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Debug|ARM.Build.0 = Debug|ARM
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Debug|Mixed Platforms.Build.0 = Debug|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Debug|Win32.ActiveCfg = Debug|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Debug|Win32.Build.0 = Debug|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Debug|x64.ActiveCfg = Debug|x64
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Debug|x64.Build.0 = Debug|x64
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Debug|x86.ActiveCfg = Debug|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Debug|x86.Build.0 = Debug|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.DVD-5|Any CPU.ActiveCfg = Debug|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.DVD-5|ARM.ActiveCfg = Debug|ARM
- {0715F3CF-5D1B-4617-A331-6527371365B7}.DVD-5|ARM.Build.0 = Debug|ARM
- {0715F3CF-5D1B-4617-A331-6527371365B7}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.DVD-5|Mixed Platforms.Build.0 = Debug|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.DVD-5|Win32.ActiveCfg = Debug|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.DVD-5|Win32.Build.0 = Debug|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.DVD-5|x64.ActiveCfg = Debug|x64
- {0715F3CF-5D1B-4617-A331-6527371365B7}.DVD-5|x64.Build.0 = Debug|x64
- {0715F3CF-5D1B-4617-A331-6527371365B7}.DVD-5|x86.ActiveCfg = Debug|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.DVD-5|x86.Build.0 = Debug|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Memento|Any CPU.ActiveCfg = Memento|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Memento|ARM.ActiveCfg = Memento|ARM
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Memento|ARM.Build.0 = Memento|ARM
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Memento|Mixed Platforms.ActiveCfg = Memento|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Memento|Mixed Platforms.Build.0 = Memento|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Memento|Win32.ActiveCfg = Memento|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Memento|Win32.Build.0 = Memento|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Memento|x64.ActiveCfg = Memento|x64
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Memento|x64.Build.0 = Memento|x64
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Memento|x86.ActiveCfg = Memento|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Memento|x86.Build.0 = Memento|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Release|Any CPU.ActiveCfg = Release|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Release|ARM.ActiveCfg = Release|ARM
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Release|ARM.Build.0 = Release|ARM
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Release|Mixed Platforms.ActiveCfg = Release|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Release|Mixed Platforms.Build.0 = Release|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Release|Win32.ActiveCfg = Release|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Release|Win32.Build.0 = Release|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Release|x64.ActiveCfg = Release|x64
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Release|x64.Build.0 = Release|x64
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Release|x86.ActiveCfg = Release|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.Release|x86.Build.0 = Release|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.SingleImage|Any CPU.ActiveCfg = Release|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.SingleImage|ARM.ActiveCfg = Release|ARM
- {0715F3CF-5D1B-4617-A331-6527371365B7}.SingleImage|ARM.Build.0 = Release|ARM
- {0715F3CF-5D1B-4617-A331-6527371365B7}.SingleImage|Mixed Platforms.ActiveCfg = Release|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.SingleImage|Mixed Platforms.Build.0 = Release|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.SingleImage|Win32.ActiveCfg = Release|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.SingleImage|Win32.Build.0 = Release|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.SingleImage|x64.ActiveCfg = Release|x64
- {0715F3CF-5D1B-4617-A331-6527371365B7}.SingleImage|x64.Build.0 = Release|x64
- {0715F3CF-5D1B-4617-A331-6527371365B7}.SingleImage|x86.ActiveCfg = Release|Win32
- {0715F3CF-5D1B-4617-A331-6527371365B7}.SingleImage|x86.Build.0 = Release|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.CD_ROM|Any CPU.ActiveCfg = Release|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.CD_ROM|ARM.ActiveCfg = Release|ARM
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.CD_ROM|ARM.Build.0 = Release|ARM
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.CD_ROM|Mixed Platforms.ActiveCfg = Release|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.CD_ROM|Mixed Platforms.Build.0 = Release|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.CD_ROM|Win32.ActiveCfg = Release|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.CD_ROM|Win32.Build.0 = Release|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.CD_ROM|x64.ActiveCfg = Release|x64
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.CD_ROM|x64.Build.0 = Release|x64
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.CD_ROM|x86.ActiveCfg = Release|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.CD_ROM|x86.Build.0 = Release|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Debug|Any CPU.ActiveCfg = Debug|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Debug|ARM.ActiveCfg = Debug|ARM
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Debug|ARM.Build.0 = Debug|ARM
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Debug|Mixed Platforms.Build.0 = Debug|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Debug|Win32.ActiveCfg = Debug|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Debug|Win32.Build.0 = Debug|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Debug|x64.ActiveCfg = Debug|x64
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Debug|x64.Build.0 = Debug|x64
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Debug|x86.ActiveCfg = Debug|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Debug|x86.Build.0 = Debug|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.DVD-5|Any CPU.ActiveCfg = Debug|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.DVD-5|ARM.ActiveCfg = Debug|ARM
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.DVD-5|ARM.Build.0 = Debug|ARM
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.DVD-5|Mixed Platforms.Build.0 = Debug|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.DVD-5|Win32.ActiveCfg = Debug|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.DVD-5|Win32.Build.0 = Debug|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.DVD-5|x64.ActiveCfg = Debug|x64
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.DVD-5|x64.Build.0 = Debug|x64
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.DVD-5|x86.ActiveCfg = Debug|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.DVD-5|x86.Build.0 = Debug|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Memento|Any CPU.ActiveCfg = Memento|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Memento|ARM.ActiveCfg = Memento|ARM
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Memento|ARM.Build.0 = Memento|ARM
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Memento|Mixed Platforms.ActiveCfg = Memento|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Memento|Mixed Platforms.Build.0 = Memento|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Memento|Win32.ActiveCfg = Memento|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Memento|Win32.Build.0 = Memento|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Memento|x64.ActiveCfg = Memento|x64
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Memento|x64.Build.0 = Memento|x64
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Memento|x86.ActiveCfg = Memento|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Memento|x86.Build.0 = Memento|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Release|Any CPU.ActiveCfg = Release|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Release|ARM.ActiveCfg = Release|ARM
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Release|ARM.Build.0 = Release|ARM
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Release|Mixed Platforms.ActiveCfg = Release|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Release|Mixed Platforms.Build.0 = Release|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Release|Win32.ActiveCfg = Release|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Release|Win32.Build.0 = Release|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Release|x64.ActiveCfg = Release|x64
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Release|x64.Build.0 = Release|x64
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Release|x86.ActiveCfg = Release|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.Release|x86.Build.0 = Release|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.SingleImage|Any CPU.ActiveCfg = Release|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.SingleImage|ARM.ActiveCfg = Release|ARM
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.SingleImage|ARM.Build.0 = Release|ARM
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.SingleImage|Mixed Platforms.ActiveCfg = Release|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.SingleImage|Mixed Platforms.Build.0 = Release|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.SingleImage|Win32.ActiveCfg = Release|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.SingleImage|Win32.Build.0 = Release|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.SingleImage|x64.ActiveCfg = Release|x64
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.SingleImage|x64.Build.0 = Release|x64
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.SingleImage|x86.ActiveCfg = Release|Win32
- {C0D1C355-1BEE-40E1-9EF4-FD9FFFDBF396}.SingleImage|x86.Build.0 = Release|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.CD_ROM|Any CPU.ActiveCfg = Release|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.CD_ROM|ARM.ActiveCfg = Release|ARM
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.CD_ROM|ARM.Build.0 = Release|ARM
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.CD_ROM|Mixed Platforms.ActiveCfg = Release|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.CD_ROM|Mixed Platforms.Build.0 = Release|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.CD_ROM|Win32.ActiveCfg = Release|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.CD_ROM|Win32.Build.0 = Release|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.CD_ROM|x64.ActiveCfg = Release|x64
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.CD_ROM|x64.Build.0 = Release|x64
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.CD_ROM|x86.ActiveCfg = Release|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.CD_ROM|x86.Build.0 = Release|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Debug|Any CPU.ActiveCfg = Debug|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Debug|ARM.ActiveCfg = Debug|ARM
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Debug|ARM.Build.0 = Debug|ARM
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Debug|Mixed Platforms.Build.0 = Debug|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Debug|Win32.ActiveCfg = Debug|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Debug|Win32.Build.0 = Debug|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Debug|x64.ActiveCfg = Debug|x64
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Debug|x64.Build.0 = Debug|x64
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Debug|x86.ActiveCfg = Debug|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Debug|x86.Build.0 = Debug|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.DVD-5|Any CPU.ActiveCfg = Debug|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.DVD-5|ARM.ActiveCfg = Debug|ARM
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.DVD-5|ARM.Build.0 = Debug|ARM
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.DVD-5|Mixed Platforms.Build.0 = Debug|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.DVD-5|Win32.ActiveCfg = Debug|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.DVD-5|Win32.Build.0 = Debug|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.DVD-5|x64.ActiveCfg = Debug|x64
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.DVD-5|x64.Build.0 = Debug|x64
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.DVD-5|x86.ActiveCfg = Debug|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.DVD-5|x86.Build.0 = Debug|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Memento|Any CPU.ActiveCfg = Release|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Memento|ARM.ActiveCfg = Release|ARM
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Memento|ARM.Build.0 = Release|ARM
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Memento|Mixed Platforms.ActiveCfg = Release|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Memento|Mixed Platforms.Build.0 = Release|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Memento|Win32.ActiveCfg = Release|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Memento|Win32.Build.0 = Release|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Memento|x64.ActiveCfg = Release|x64
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Memento|x64.Build.0 = Release|x64
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Memento|x86.ActiveCfg = Release|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Memento|x86.Build.0 = Release|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Release|Any CPU.ActiveCfg = Release|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Release|ARM.ActiveCfg = Release|ARM
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Release|ARM.Build.0 = Release|ARM
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Release|Mixed Platforms.ActiveCfg = Release|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Release|Mixed Platforms.Build.0 = Release|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Release|Win32.ActiveCfg = Release|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Release|Win32.Build.0 = Release|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Release|x64.ActiveCfg = Release|x64
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Release|x64.Build.0 = Release|x64
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Release|x86.ActiveCfg = Release|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.Release|x86.Build.0 = Release|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.SingleImage|Any CPU.ActiveCfg = Release|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.SingleImage|ARM.ActiveCfg = Release|ARM
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.SingleImage|ARM.Build.0 = Release|ARM
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.SingleImage|Mixed Platforms.ActiveCfg = Release|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.SingleImage|Mixed Platforms.Build.0 = Release|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.SingleImage|Win32.ActiveCfg = Release|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.SingleImage|Win32.Build.0 = Release|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.SingleImage|x64.ActiveCfg = Release|x64
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.SingleImage|x64.Build.0 = Release|x64
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.SingleImage|x86.ActiveCfg = Release|Win32
- {9E6AB41D-09A7-45A6-A53B-1E4BF3AC5B33}.SingleImage|x86.Build.0 = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.CD_ROM|Any CPU.ActiveCfg = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.CD_ROM|ARM.ActiveCfg = Release|ARM
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.CD_ROM|ARM.Build.0 = Release|ARM
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.CD_ROM|ARM.Deploy.0 = Release|ARM
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.CD_ROM|Mixed Platforms.ActiveCfg = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.CD_ROM|Mixed Platforms.Build.0 = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.CD_ROM|Mixed Platforms.Deploy.0 = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.CD_ROM|Win32.ActiveCfg = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.CD_ROM|Win32.Build.0 = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.CD_ROM|Win32.Deploy.0 = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.CD_ROM|x64.ActiveCfg = Release|x64
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.CD_ROM|x64.Build.0 = Release|x64
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.CD_ROM|x64.Deploy.0 = Release|x64
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.CD_ROM|x86.ActiveCfg = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.CD_ROM|x86.Build.0 = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.CD_ROM|x86.Deploy.0 = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Debug|Any CPU.ActiveCfg = Debug|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Debug|ARM.ActiveCfg = Debug|ARM
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Debug|ARM.Build.0 = Debug|ARM
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Debug|ARM.Deploy.0 = Debug|ARM
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Debug|Mixed Platforms.Build.0 = Debug|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Debug|Mixed Platforms.Deploy.0 = Debug|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Debug|Win32.ActiveCfg = Debug|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Debug|Win32.Build.0 = Debug|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Debug|Win32.Deploy.0 = Debug|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Debug|x64.ActiveCfg = Debug|x64
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Debug|x64.Build.0 = Debug|x64
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Debug|x64.Deploy.0 = Debug|x64
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Debug|x86.ActiveCfg = Debug|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Debug|x86.Build.0 = Debug|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Debug|x86.Deploy.0 = Debug|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.DVD-5|Any CPU.ActiveCfg = Debug|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.DVD-5|ARM.ActiveCfg = Debug|ARM
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.DVD-5|ARM.Build.0 = Debug|ARM
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.DVD-5|ARM.Deploy.0 = Debug|ARM
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.DVD-5|Mixed Platforms.Build.0 = Debug|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.DVD-5|Mixed Platforms.Deploy.0 = Debug|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.DVD-5|Win32.ActiveCfg = Debug|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.DVD-5|Win32.Build.0 = Debug|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.DVD-5|Win32.Deploy.0 = Debug|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.DVD-5|x64.ActiveCfg = Debug|x64
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.DVD-5|x64.Build.0 = Debug|x64
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.DVD-5|x64.Deploy.0 = Debug|x64
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.DVD-5|x86.ActiveCfg = Debug|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.DVD-5|x86.Build.0 = Debug|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.DVD-5|x86.Deploy.0 = Debug|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Memento|Any CPU.ActiveCfg = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Memento|ARM.ActiveCfg = Release|ARM
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Memento|ARM.Build.0 = Release|ARM
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Memento|ARM.Deploy.0 = Release|ARM
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Memento|Mixed Platforms.ActiveCfg = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Memento|Mixed Platforms.Build.0 = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Memento|Mixed Platforms.Deploy.0 = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Memento|Win32.ActiveCfg = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Memento|Win32.Build.0 = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Memento|Win32.Deploy.0 = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Memento|x64.ActiveCfg = Release|x64
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Memento|x64.Build.0 = Release|x64
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Memento|x64.Deploy.0 = Release|x64
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Memento|x86.ActiveCfg = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Memento|x86.Build.0 = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Memento|x86.Deploy.0 = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Release|Any CPU.ActiveCfg = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Release|ARM.ActiveCfg = Release|ARM
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Release|ARM.Build.0 = Release|ARM
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Release|ARM.Deploy.0 = Release|ARM
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Release|Mixed Platforms.ActiveCfg = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Release|Mixed Platforms.Build.0 = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Release|Mixed Platforms.Deploy.0 = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Release|Win32.ActiveCfg = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Release|Win32.Build.0 = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Release|Win32.Deploy.0 = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Release|x64.ActiveCfg = Release|x64
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Release|x64.Build.0 = Release|x64
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Release|x64.Deploy.0 = Release|x64
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Release|x86.ActiveCfg = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Release|x86.Build.0 = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.Release|x86.Deploy.0 = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.SingleImage|Any CPU.ActiveCfg = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.SingleImage|ARM.ActiveCfg = Release|ARM
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.SingleImage|ARM.Build.0 = Release|ARM
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.SingleImage|ARM.Deploy.0 = Release|ARM
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.SingleImage|Mixed Platforms.ActiveCfg = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.SingleImage|Mixed Platforms.Build.0 = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.SingleImage|Mixed Platforms.Deploy.0 = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.SingleImage|Win32.ActiveCfg = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.SingleImage|Win32.Build.0 = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.SingleImage|Win32.Deploy.0 = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.SingleImage|x64.ActiveCfg = Release|x64
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.SingleImage|x64.Build.0 = Release|x64
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.SingleImage|x64.Deploy.0 = Release|x64
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.SingleImage|x86.ActiveCfg = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.SingleImage|x86.Build.0 = Release|Win32
- {0204A4E7-F1B8-4268-A67C-A2C674B4742D}.SingleImage|x86.Deploy.0 = Release|Win32
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.CD_ROM|Any CPU.ActiveCfg = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.CD_ROM|Any CPU.Build.0 = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.CD_ROM|ARM.ActiveCfg = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.CD_ROM|Mixed Platforms.ActiveCfg = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.CD_ROM|Mixed Platforms.Build.0 = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.CD_ROM|Win32.ActiveCfg = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.CD_ROM|x64.ActiveCfg = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.CD_ROM|x86.ActiveCfg = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.Debug|Win32.Build.0 = Debug|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.Debug|x64.ActiveCfg = Debug|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.Debug|x64.Build.0 = Debug|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.Debug|x86.ActiveCfg = Debug|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.DVD-5|Any CPU.ActiveCfg = Debug|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.DVD-5|Any CPU.Build.0 = Debug|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.DVD-5|ARM.ActiveCfg = Debug|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.DVD-5|Mixed Platforms.Build.0 = Debug|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.DVD-5|Win32.ActiveCfg = Debug|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.DVD-5|x64.ActiveCfg = Debug|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.DVD-5|x86.ActiveCfg = Debug|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.Memento|Any CPU.ActiveCfg = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.Memento|Any CPU.Build.0 = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.Memento|ARM.ActiveCfg = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.Memento|Mixed Platforms.ActiveCfg = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.Memento|Mixed Platforms.Build.0 = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.Memento|Win32.ActiveCfg = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.Memento|x64.ActiveCfg = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.Memento|x86.ActiveCfg = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.Release|Any CPU.Build.0 = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.Release|ARM.ActiveCfg = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.Release|Win32.ActiveCfg = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.Release|Win32.Build.0 = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.Release|x64.ActiveCfg = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.Release|x64.Build.0 = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.Release|x86.ActiveCfg = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.Release|x86.Build.0 = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.SingleImage|Any CPU.ActiveCfg = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.SingleImage|Any CPU.Build.0 = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.SingleImage|ARM.ActiveCfg = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.SingleImage|Mixed Platforms.ActiveCfg = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.SingleImage|Mixed Platforms.Build.0 = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.SingleImage|Win32.ActiveCfg = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.SingleImage|x64.ActiveCfg = Release|Any CPU
- {5DA0ECC9-4026-4427-862F-E3226EFEFEB1}.SingleImage|x86.ActiveCfg = Release|Any CPU
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.CD_ROM|Any CPU.ActiveCfg = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.CD_ROM|ARM.ActiveCfg = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.CD_ROM|Mixed Platforms.ActiveCfg = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.CD_ROM|Mixed Platforms.Build.0 = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.CD_ROM|Win32.ActiveCfg = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.CD_ROM|Win32.Build.0 = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.CD_ROM|x64.ActiveCfg = Release|x64
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.CD_ROM|x64.Build.0 = Release|x64
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.CD_ROM|x86.ActiveCfg = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.CD_ROM|x86.Build.0 = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.Debug|Any CPU.ActiveCfg = Debug|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.Debug|ARM.ActiveCfg = Debug|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.Debug|Mixed Platforms.Build.0 = Debug|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.Debug|Win32.ActiveCfg = Debug|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.Debug|Win32.Build.0 = Debug|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.Debug|x64.ActiveCfg = Debug|x64
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.Debug|x64.Build.0 = Debug|x64
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.Debug|x86.ActiveCfg = Debug|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.Debug|x86.Build.0 = Debug|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.DVD-5|Any CPU.ActiveCfg = Debug|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.DVD-5|ARM.ActiveCfg = Debug|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.DVD-5|Mixed Platforms.Build.0 = Debug|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.DVD-5|Win32.ActiveCfg = Debug|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.DVD-5|Win32.Build.0 = Debug|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.DVD-5|x64.ActiveCfg = Debug|x64
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.DVD-5|x64.Build.0 = Debug|x64
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.DVD-5|x86.ActiveCfg = Debug|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.DVD-5|x86.Build.0 = Debug|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.Memento|Any CPU.ActiveCfg = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.Memento|ARM.ActiveCfg = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.Memento|Mixed Platforms.ActiveCfg = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.Memento|Mixed Platforms.Build.0 = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.Memento|Win32.ActiveCfg = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.Memento|Win32.Build.0 = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.Memento|x64.ActiveCfg = Release|x64
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.Memento|x64.Build.0 = Release|x64
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.Memento|x86.ActiveCfg = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.Memento|x86.Build.0 = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.Release|Any CPU.ActiveCfg = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.Release|ARM.ActiveCfg = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.Release|Mixed Platforms.ActiveCfg = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.Release|Mixed Platforms.Build.0 = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.Release|Win32.ActiveCfg = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.Release|Win32.Build.0 = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.Release|x64.ActiveCfg = Release|x64
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.Release|x64.Build.0 = Release|x64
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.Release|x86.ActiveCfg = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.Release|x86.Build.0 = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.SingleImage|Any CPU.ActiveCfg = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.SingleImage|ARM.ActiveCfg = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.SingleImage|Mixed Platforms.ActiveCfg = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.SingleImage|Mixed Platforms.Build.0 = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.SingleImage|Win32.ActiveCfg = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.SingleImage|Win32.Build.0 = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.SingleImage|x64.ActiveCfg = Release|x64
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.SingleImage|x64.Build.0 = Release|x64
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.SingleImage|x86.ActiveCfg = Release|Win32
- {4468C2E0-6C90-4FA5-8A48-0A9629776167}.SingleImage|x86.Build.0 = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.CD_ROM|Any CPU.ActiveCfg = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.CD_ROM|ARM.ActiveCfg = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.CD_ROM|Mixed Platforms.ActiveCfg = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.CD_ROM|Mixed Platforms.Build.0 = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.CD_ROM|Win32.ActiveCfg = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.CD_ROM|Win32.Build.0 = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.CD_ROM|x64.ActiveCfg = Release|x64
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.CD_ROM|x64.Build.0 = Release|x64
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.CD_ROM|x86.ActiveCfg = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.CD_ROM|x86.Build.0 = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.Debug|Any CPU.ActiveCfg = Debug|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.Debug|ARM.ActiveCfg = Debug|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.Debug|Mixed Platforms.Build.0 = Debug|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.Debug|Win32.ActiveCfg = Debug|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.Debug|Win32.Build.0 = Debug|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.Debug|x64.ActiveCfg = Debug|x64
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.Debug|x64.Build.0 = Debug|x64
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.Debug|x86.ActiveCfg = Debug|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.Debug|x86.Build.0 = Debug|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.DVD-5|Any CPU.ActiveCfg = Debug|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.DVD-5|ARM.ActiveCfg = Debug|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.DVD-5|Mixed Platforms.Build.0 = Debug|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.DVD-5|Win32.ActiveCfg = Debug|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.DVD-5|Win32.Build.0 = Debug|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.DVD-5|x64.ActiveCfg = Debug|x64
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.DVD-5|x64.Build.0 = Debug|x64
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.DVD-5|x86.ActiveCfg = Debug|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.DVD-5|x86.Build.0 = Debug|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.Memento|Any CPU.ActiveCfg = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.Memento|ARM.ActiveCfg = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.Memento|Mixed Platforms.ActiveCfg = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.Memento|Mixed Platforms.Build.0 = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.Memento|Win32.ActiveCfg = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.Memento|Win32.Build.0 = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.Memento|x64.ActiveCfg = Release|x64
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.Memento|x64.Build.0 = Release|x64
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.Memento|x86.ActiveCfg = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.Memento|x86.Build.0 = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.Release|Any CPU.ActiveCfg = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.Release|ARM.ActiveCfg = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.Release|Mixed Platforms.ActiveCfg = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.Release|Mixed Platforms.Build.0 = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.Release|Win32.ActiveCfg = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.Release|Win32.Build.0 = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.Release|x64.ActiveCfg = Release|x64
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.Release|x64.Build.0 = Release|x64
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.Release|x86.ActiveCfg = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.Release|x86.Build.0 = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.SingleImage|Any CPU.ActiveCfg = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.SingleImage|ARM.ActiveCfg = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.SingleImage|Mixed Platforms.ActiveCfg = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.SingleImage|Mixed Platforms.Build.0 = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.SingleImage|Win32.ActiveCfg = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.SingleImage|Win32.Build.0 = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.SingleImage|x64.ActiveCfg = Release|x64
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.SingleImage|x64.Build.0 = Release|x64
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.SingleImage|x86.ActiveCfg = Release|Win32
- {4D5C4349-480D-4CD6-9D3B-09C50BA35FA2}.SingleImage|x86.Build.0 = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.CD_ROM|Any CPU.ActiveCfg = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.CD_ROM|ARM.ActiveCfg = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.CD_ROM|Mixed Platforms.ActiveCfg = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.CD_ROM|Mixed Platforms.Build.0 = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.CD_ROM|Win32.ActiveCfg = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.CD_ROM|Win32.Build.0 = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.CD_ROM|x64.ActiveCfg = Release|x64
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.CD_ROM|x64.Build.0 = Release|x64
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.CD_ROM|x86.ActiveCfg = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.CD_ROM|x86.Build.0 = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.Debug|Any CPU.ActiveCfg = Debug|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.Debug|ARM.ActiveCfg = Debug|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.Debug|Mixed Platforms.Build.0 = Debug|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.Debug|Win32.ActiveCfg = Debug|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.Debug|Win32.Build.0 = Debug|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.Debug|x64.ActiveCfg = Debug|x64
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.Debug|x64.Build.0 = Debug|x64
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.Debug|x86.ActiveCfg = Debug|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.Debug|x86.Build.0 = Debug|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.DVD-5|Any CPU.ActiveCfg = Debug|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.DVD-5|ARM.ActiveCfg = Debug|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.DVD-5|Mixed Platforms.Build.0 = Debug|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.DVD-5|Win32.ActiveCfg = Debug|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.DVD-5|Win32.Build.0 = Debug|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.DVD-5|x64.ActiveCfg = Debug|x64
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.DVD-5|x64.Build.0 = Debug|x64
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.DVD-5|x86.ActiveCfg = Debug|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.DVD-5|x86.Build.0 = Debug|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.Memento|Any CPU.ActiveCfg = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.Memento|ARM.ActiveCfg = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.Memento|Mixed Platforms.ActiveCfg = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.Memento|Mixed Platforms.Build.0 = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.Memento|Win32.ActiveCfg = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.Memento|Win32.Build.0 = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.Memento|x64.ActiveCfg = Release|x64
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.Memento|x64.Build.0 = Release|x64
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.Memento|x86.ActiveCfg = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.Memento|x86.Build.0 = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.Release|Any CPU.ActiveCfg = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.Release|ARM.ActiveCfg = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.Release|Mixed Platforms.ActiveCfg = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.Release|Mixed Platforms.Build.0 = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.Release|Win32.ActiveCfg = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.Release|Win32.Build.0 = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.Release|x64.ActiveCfg = Release|x64
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.Release|x64.Build.0 = Release|x64
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.Release|x86.ActiveCfg = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.Release|x86.Build.0 = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.SingleImage|Any CPU.ActiveCfg = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.SingleImage|ARM.ActiveCfg = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.SingleImage|Mixed Platforms.ActiveCfg = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.SingleImage|Mixed Platforms.Build.0 = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.SingleImage|Win32.ActiveCfg = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.SingleImage|Win32.Build.0 = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.SingleImage|x64.ActiveCfg = Release|x64
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.SingleImage|x64.Build.0 = Release|x64
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.SingleImage|x86.ActiveCfg = Release|Win32
- {DF87E242-8B2C-4F04-9A7E-61C578FD994C}.SingleImage|x86.Build.0 = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.CD_ROM|Any CPU.ActiveCfg = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.CD_ROM|ARM.ActiveCfg = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.CD_ROM|Mixed Platforms.ActiveCfg = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.CD_ROM|Mixed Platforms.Build.0 = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.CD_ROM|Win32.ActiveCfg = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.CD_ROM|Win32.Build.0 = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.CD_ROM|x64.ActiveCfg = Release|x64
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.CD_ROM|x64.Build.0 = Release|x64
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.CD_ROM|x86.ActiveCfg = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.CD_ROM|x86.Build.0 = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.Debug|Any CPU.ActiveCfg = Debug|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.Debug|ARM.ActiveCfg = Debug|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.Debug|Mixed Platforms.Build.0 = Debug|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.Debug|Win32.ActiveCfg = Debug|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.Debug|Win32.Build.0 = Debug|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.Debug|x64.ActiveCfg = Debug|x64
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.Debug|x64.Build.0 = Debug|x64
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.Debug|x86.ActiveCfg = Debug|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.Debug|x86.Build.0 = Debug|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.DVD-5|Any CPU.ActiveCfg = Debug|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.DVD-5|ARM.ActiveCfg = Debug|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.DVD-5|Mixed Platforms.ActiveCfg = Debug|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.DVD-5|Mixed Platforms.Build.0 = Debug|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.DVD-5|Win32.ActiveCfg = Debug|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.DVD-5|Win32.Build.0 = Debug|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.DVD-5|x64.ActiveCfg = Debug|x64
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.DVD-5|x64.Build.0 = Debug|x64
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.DVD-5|x86.ActiveCfg = Debug|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.DVD-5|x86.Build.0 = Debug|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.Memento|Any CPU.ActiveCfg = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.Memento|ARM.ActiveCfg = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.Memento|Mixed Platforms.ActiveCfg = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.Memento|Mixed Platforms.Build.0 = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.Memento|Win32.ActiveCfg = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.Memento|Win32.Build.0 = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.Memento|x64.ActiveCfg = Release|x64
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.Memento|x64.Build.0 = Release|x64
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.Memento|x86.ActiveCfg = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.Memento|x86.Build.0 = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.Release|Any CPU.ActiveCfg = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.Release|ARM.ActiveCfg = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.Release|Mixed Platforms.ActiveCfg = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.Release|Mixed Platforms.Build.0 = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.Release|Win32.ActiveCfg = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.Release|Win32.Build.0 = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.Release|x64.ActiveCfg = Release|x64
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.Release|x64.Build.0 = Release|x64
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.Release|x86.ActiveCfg = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.Release|x86.Build.0 = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.SingleImage|Any CPU.ActiveCfg = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.SingleImage|ARM.ActiveCfg = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.SingleImage|Mixed Platforms.ActiveCfg = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.SingleImage|Mixed Platforms.Build.0 = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.SingleImage|Win32.ActiveCfg = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.SingleImage|Win32.Build.0 = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.SingleImage|x64.ActiveCfg = Release|x64
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.SingleImage|x64.Build.0 = Release|x64
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.SingleImage|x86.ActiveCfg = Release|Win32
- {09FE8E75-9952-44E7-95F8-E8D74707FBA1}.SingleImage|x86.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/platform/windows/mupdf_cpp/App.xaml b/platform/windows/mupdf_cpp/App.xaml
deleted file mode 100644
index dfb5d11c..00000000
--- a/platform/windows/mupdf_cpp/App.xaml
+++ /dev/null
@@ -1,20 +0,0 @@
-<Application
- x:Class="mupdf_cpp.App"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:local="using:mupdf_cpp">
-
- <Application.Resources>
- <ResourceDictionary>
- <ResourceDictionary.MergedDictionaries>
-
- <!--
- Styles that define common aspects of the platform look and feel
- Required by Visual Studio project and item templates
- -->
- <ResourceDictionary Source="Common/StandardStyles.xaml"/>
- </ResourceDictionary.MergedDictionaries>
-
- </ResourceDictionary>
- </Application.Resources>
-</Application>
diff --git a/platform/windows/mupdf_cpp/App.xaml.cpp b/platform/windows/mupdf_cpp/App.xaml.cpp
deleted file mode 100644
index 4bb9614c..00000000
--- a/platform/windows/mupdf_cpp/App.xaml.cpp
+++ /dev/null
@@ -1,131 +0,0 @@
-//
-// App.xaml.cpp
-// Implementation of the App class.
-//
-
-#include "pch.h"
-#include "MainPage.xaml.h"
-
-using namespace mupdf_cpp;
-
-using namespace Platform;
-using namespace Windows::ApplicationModel;
-using namespace Windows::ApplicationModel::Activation;
-using namespace Windows::Foundation;
-using namespace Windows::Foundation::Collections;
-using namespace Windows::UI::Xaml;
-using namespace Windows::UI::Xaml::Controls;
-using namespace Windows::UI::Xaml::Controls::Primitives;
-using namespace Windows::UI::Xaml::Data;
-using namespace Windows::UI::Xaml::Input;
-using namespace Windows::UI::Xaml::Interop;
-using namespace Windows::UI::Xaml::Media;
-using namespace Windows::UI::Xaml::Navigation;
-
-// The Blank Application template is documented at http://go.microsoft.com/fwlink/?LinkId=234227
-
-/// <summary>
-/// Initializes the singleton application object. This is the first line of authored code
-/// executed, and as such is the logical equivalent of main() or WinMain().
-/// </summary>
-App::App()
-{
- InitializeComponent();
- Suspending += ref new SuspendingEventHandler(this, &App::OnSuspending);
-}
-
-/// <summary>
-/// Invoked when the application is launched normally by the end user. Other entry points
-/// will be used when the application is launched to open a specific file, to display
-/// search results, and so forth.
-/// </summary>
-/// <param name="args">Details about the launch request and process.</param>
-void App::OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ args)
-{
- auto rootFrame = dynamic_cast<Frame^>(Window::Current->Content);
-
- // Do not repeat app initialization when the Window already has content,
- // just ensure that the window is active
- if (rootFrame == nullptr)
- {
- // Create a Frame to act as the navigation context and associate it with
- // a SuspensionManager key
- rootFrame = ref new Frame();
-
- if (args->PreviousExecutionState == ApplicationExecutionState::Terminated)
- {
- // TODO: Restore the saved session state only when appropriate, scheduling the
- // final launch steps after the restore is complete
-
- }
-
- if (rootFrame->Content == nullptr)
- {
- // When the navigation stack isn't restored navigate to the first page,
- // configuring the new page by passing required information as a navigation
- // parameter
- if (!rootFrame->Navigate(TypeName(MainPage::typeid), args->Arguments))
- {
- throw ref new FailureException("Failed to create initial page");
- }
- }
- // Place the frame in the current Window
- Window::Current->Content = rootFrame;
- auto rootPage = safe_cast<MainPage^>(rootFrame->Content);
- rootPage->FileEvent = nullptr;
- rootPage->ProtocolEvent = nullptr;
-
- // Ensure the current window is active
- Window::Current->Activate();
- }
- else
- {
- if (rootFrame->Content == nullptr)
- {
- // When the navigation stack isn't restored navigate to the first page,
- // configuring the new page by passing required information as a navigation
- // parameter
- if (!rootFrame->Navigate(TypeName(MainPage::typeid), args->Arguments))
- {
- throw ref new FailureException("Failed to create initial page");
- }
- }
- // Ensure the current window is active
- Window::Current->Activate();
- }
-}
-
-/* Handle case where we do a association file opening and the app is already
- running */
-void App::OnFileActivated(Windows::ApplicationModel::Activation::FileActivatedEventArgs^ args)
-{
- auto rootFrame = dynamic_cast<Frame^>(Window::Current->Content);
-
- if (rootFrame->Content == nullptr)
- {
- if (!rootFrame->Navigate(TypeName(MainPage::typeid)))
- {
- throw ref new FailureException("Failed to create initial page");
- }
- }
- auto p = dynamic_cast<MainPage^>(rootFrame->Content);
- p->FileEvent = args;
- p->ProtocolEvent = nullptr;
- p->FromFile();
- Window::Current->Activate();
-}
-
-/// <summary>
-/// Invoked when application execution is being suspended. Application state is saved
-/// without knowing whether the application will be terminated or resumed with the contents
-/// of memory still intact.
-/// </summary>
-/// <param name="sender">The source of the suspend request.</param>
-/// <param name="e">Details about the suspend request.</param>
-void App::OnSuspending(Object^ sender, SuspendingEventArgs^ e)
-{
- (void) sender; // Unused parameter
- (void) e; // Unused parameter
-
- //TODO: Save application state and stop any background activity
-}
diff --git a/platform/windows/mupdf_cpp/App.xaml.h b/platform/windows/mupdf_cpp/App.xaml.h
deleted file mode 100644
index b62c9979..00000000
--- a/platform/windows/mupdf_cpp/App.xaml.h
+++ /dev/null
@@ -1,24 +0,0 @@
-//
-// App.xaml.h
-// Declaration of the App class.
-//
-
-#pragma once
-
-#include "App.g.h"
-
-namespace mupdf_cpp
-{
- /// <summary>
- /// Provides application-specific behavior to supplement the default Application class.
- /// </summary>
- ref class App sealed
- {
- public:
- App();
- virtual void OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ args) override;
- virtual void App::OnFileActivated(Windows::ApplicationModel::Activation::FileActivatedEventArgs^ args) override;
- private:
- void OnSuspending(Platform::Object^ sender, Windows::ApplicationModel::SuspendingEventArgs^ e);
- };
-}
diff --git a/platform/windows/mupdf_cpp/Assets/Logo.Scale-100.png b/platform/windows/mupdf_cpp/Assets/Logo.Scale-100.png
deleted file mode 100644
index 821cb7d9..00000000
--- a/platform/windows/mupdf_cpp/Assets/Logo.Scale-100.png
+++ /dev/null
Binary files differ
diff --git a/platform/windows/mupdf_cpp/Assets/Logo.Scale-140.png b/platform/windows/mupdf_cpp/Assets/Logo.Scale-140.png
deleted file mode 100644
index 94eb9b67..00000000
--- a/platform/windows/mupdf_cpp/Assets/Logo.Scale-140.png
+++ /dev/null
Binary files differ
diff --git a/platform/windows/mupdf_cpp/Assets/Logo.Scale-180.png b/platform/windows/mupdf_cpp/Assets/Logo.Scale-180.png
deleted file mode 100644
index 44354901..00000000
--- a/platform/windows/mupdf_cpp/Assets/Logo.Scale-180.png
+++ /dev/null
Binary files differ
diff --git a/platform/windows/mupdf_cpp/Assets/Logo.Scale-80.png b/platform/windows/mupdf_cpp/Assets/Logo.Scale-80.png
deleted file mode 100644
index 165bda7a..00000000
--- a/platform/windows/mupdf_cpp/Assets/Logo.Scale-80.png
+++ /dev/null
Binary files differ
diff --git a/platform/windows/mupdf_cpp/Assets/StoreLogo.scale-100.png b/platform/windows/mupdf_cpp/Assets/StoreLogo.scale-100.png
deleted file mode 100644
index 5b5635e9..00000000
--- a/platform/windows/mupdf_cpp/Assets/StoreLogo.scale-100.png
+++ /dev/null
Binary files differ
diff --git a/platform/windows/mupdf_cpp/Assets/StoreLogo.scale-140.png b/platform/windows/mupdf_cpp/Assets/StoreLogo.scale-140.png
deleted file mode 100644
index 2813a863..00000000
--- a/platform/windows/mupdf_cpp/Assets/StoreLogo.scale-140.png
+++ /dev/null
Binary files differ
diff --git a/platform/windows/mupdf_cpp/Assets/StoreLogo.scale-180.png b/platform/windows/mupdf_cpp/Assets/StoreLogo.scale-180.png
deleted file mode 100644
index 1908837d..00000000
--- a/platform/windows/mupdf_cpp/Assets/StoreLogo.scale-180.png
+++ /dev/null
Binary files differ
diff --git a/platform/windows/mupdf_cpp/Assets/WideLogo.scale-100.png b/platform/windows/mupdf_cpp/Assets/WideLogo.scale-100.png
deleted file mode 100644
index 9497ffb5..00000000
--- a/platform/windows/mupdf_cpp/Assets/WideLogo.scale-100.png
+++ /dev/null
Binary files differ
diff --git a/platform/windows/mupdf_cpp/Assets/WideLogo.scale-140.png b/platform/windows/mupdf_cpp/Assets/WideLogo.scale-140.png
deleted file mode 100644
index 1c6cd7a0..00000000
--- a/platform/windows/mupdf_cpp/Assets/WideLogo.scale-140.png
+++ /dev/null
Binary files differ
diff --git a/platform/windows/mupdf_cpp/Assets/WideLogo.scale-180.png b/platform/windows/mupdf_cpp/Assets/WideLogo.scale-180.png
deleted file mode 100644
index 7d3391f8..00000000
--- a/platform/windows/mupdf_cpp/Assets/WideLogo.scale-180.png
+++ /dev/null
Binary files differ
diff --git a/platform/windows/mupdf_cpp/Assets/WideLogo.scale-80.png b/platform/windows/mupdf_cpp/Assets/WideLogo.scale-80.png
deleted file mode 100644
index 471efbda..00000000
--- a/platform/windows/mupdf_cpp/Assets/WideLogo.scale-80.png
+++ /dev/null
Binary files differ
diff --git a/platform/windows/mupdf_cpp/Assets/mupdf_smallogo.png b/platform/windows/mupdf_cpp/Assets/mupdf_smallogo.png
deleted file mode 100644
index 48746c87..00000000
--- a/platform/windows/mupdf_cpp/Assets/mupdf_smallogo.png
+++ /dev/null
Binary files differ
diff --git a/platform/windows/mupdf_cpp/Assets/mupdf_splash.png b/platform/windows/mupdf_cpp/Assets/mupdf_splash.png
deleted file mode 100644
index 624f9ae9..00000000
--- a/platform/windows/mupdf_cpp/Assets/mupdf_splash.png
+++ /dev/null
Binary files differ
diff --git a/platform/windows/mupdf_cpp/Common/StandardStyles.xaml b/platform/windows/mupdf_cpp/Common/StandardStyles.xaml
deleted file mode 100644
index ed4b0ec2..00000000
--- a/platform/windows/mupdf_cpp/Common/StandardStyles.xaml
+++ /dev/null
@@ -1,1889 +0,0 @@
-<!--
- This file contains XAML styles that simplify application development.
-
- These are not merely convenient, but are required by most Visual Studio project and item templates.
- Removing, renaming, or otherwise modifying the content of these files may result in a project that
- does not build, or that will not build once additional pages are added. If variations on these
- styles are desired it is recommended that you copy the content under a new name and modify your
- private copy.
--->
-
-<ResourceDictionary
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
-
- <!-- Non-brush values that vary across themes -->
-
- <ResourceDictionary.ThemeDictionaries>
- <ResourceDictionary x:Key="Default">
- <x:String x:Key="BackButtonGlyph">&#xE071;</x:String>
- <x:String x:Key="BackButtonSnappedGlyph">&#xE0BA;</x:String>
- </ResourceDictionary>
-
- <ResourceDictionary x:Key="HighContrast">
- <x:String x:Key="BackButtonGlyph">&#xE071;</x:String>
- <x:String x:Key="BackButtonSnappedGlyph">&#xE0C4;</x:String>
- </ResourceDictionary>
- </ResourceDictionary.ThemeDictionaries>
-
- <x:String x:Key="ChevronGlyph">&#xE26B;</x:String>
-
- <!-- RichTextBlock styles -->
-
- <Style x:Key="BasicRichTextStyle" TargetType="RichTextBlock">
- <Setter Property="Foreground" Value="{StaticResource ApplicationForegroundThemeBrush}"/>
- <Setter Property="FontSize" Value="{StaticResource ControlContentThemeFontSize}"/>
- <Setter Property="FontFamily" Value="{StaticResource ContentControlThemeFontFamily}"/>
- <Setter Property="TextTrimming" Value="WordEllipsis"/>
- <Setter Property="TextWrapping" Value="Wrap"/>
- <Setter Property="Typography.StylisticSet20" Value="True"/>
- <Setter Property="Typography.DiscretionaryLigatures" Value="True"/>
- <Setter Property="Typography.CaseSensitiveForms" Value="True"/>
- </Style>
-
- <Style x:Key="BaselineRichTextStyle" TargetType="RichTextBlock" BasedOn="{StaticResource BasicRichTextStyle}">
- <Setter Property="LineHeight" Value="20"/>
- <Setter Property="LineStackingStrategy" Value="BlockLineHeight"/>
- <!-- Properly align text along its baseline -->
- <Setter Property="RenderTransform">
- <Setter.Value>
- <TranslateTransform X="-1" Y="4"/>
- </Setter.Value>
- </Setter>
- </Style>
-
- <Style x:Key="ItemRichTextStyle" TargetType="RichTextBlock" BasedOn="{StaticResource BaselineRichTextStyle}"/>
-
- <Style x:Key="BodyRichTextStyle" TargetType="RichTextBlock" BasedOn="{StaticResource BaselineRichTextStyle}">
- <Setter Property="FontWeight" Value="SemiLight"/>
- </Style>
-
- <!-- TextBlock styles -->
-
- <Style x:Key="BasicTextStyle" TargetType="TextBlock">
- <Setter Property="Foreground" Value="{StaticResource ApplicationForegroundThemeBrush}"/>
- <Setter Property="FontSize" Value="{StaticResource ControlContentThemeFontSize}"/>
- <Setter Property="FontFamily" Value="{StaticResource ContentControlThemeFontFamily}"/>
- <Setter Property="TextTrimming" Value="WordEllipsis"/>
- <Setter Property="TextWrapping" Value="Wrap"/>
- <Setter Property="Typography.StylisticSet20" Value="True"/>
- <Setter Property="Typography.DiscretionaryLigatures" Value="True"/>
- <Setter Property="Typography.CaseSensitiveForms" Value="True"/>
- </Style>
-
- <Style x:Key="BaselineTextStyle" TargetType="TextBlock" BasedOn="{StaticResource BasicTextStyle}">
- <Setter Property="LineHeight" Value="20"/>
- <Setter Property="LineStackingStrategy" Value="BlockLineHeight"/>
- <!-- Properly align text along its baseline -->
- <Setter Property="RenderTransform">
- <Setter.Value>
- <TranslateTransform X="-1" Y="4"/>
- </Setter.Value>
- </Setter>
- </Style>
-
- <Style x:Key="HeaderTextStyle" TargetType="TextBlock" BasedOn="{StaticResource BaselineTextStyle}">
- <Setter Property="FontSize" Value="56"/>
- <Setter Property="FontWeight" Value="Light"/>
- <Setter Property="LineHeight" Value="40"/>
- <Setter Property="RenderTransform">
- <Setter.Value>
- <TranslateTransform X="-2" Y="8"/>
- </Setter.Value>
- </Setter>
- </Style>
-
- <Style x:Key="SubheaderTextStyle" TargetType="TextBlock" BasedOn="{StaticResource BaselineTextStyle}">
- <Setter Property="FontSize" Value="26.667"/>
- <Setter Property="FontWeight" Value="Light"/>
- <Setter Property="LineHeight" Value="30"/>
- <Setter Property="RenderTransform">
- <Setter.Value>
- <TranslateTransform X="-1" Y="6"/>
- </Setter.Value>
- </Setter>
- </Style>
-
- <Style x:Key="TitleTextStyle" TargetType="TextBlock" BasedOn="{StaticResource BaselineTextStyle}">
- <Setter Property="FontWeight" Value="SemiBold"/>
- </Style>
-
- <Style x:Key="SubtitleTextStyle" TargetType="TextBlock" BasedOn="{StaticResource BaselineTextStyle}">
- <Setter Property="FontWeight" Value="Normal"/>
- </Style>
-
- <Style x:Key="ItemTextStyle" TargetType="TextBlock" BasedOn="{StaticResource BaselineTextStyle}"/>
-
- <Style x:Key="BodyTextStyle" TargetType="TextBlock" BasedOn="{StaticResource BaselineTextStyle}">
- <Setter Property="FontWeight" Value="SemiLight"/>
- </Style>
-
- <Style x:Key="CaptionTextStyle" TargetType="TextBlock" BasedOn="{StaticResource BaselineTextStyle}">
- <Setter Property="FontSize" Value="12"/>
- <Setter Property="Foreground" Value="{StaticResource ApplicationSecondaryForegroundThemeBrush}"/>
- </Style>
-
- <Style x:Key="GroupHeaderTextStyle" TargetType="TextBlock">
- <Setter Property="FontFamily" Value="{StaticResource ContentControlThemeFontFamily}"/>
- <Setter Property="TextTrimming" Value="WordEllipsis"/>
- <Setter Property="TextWrapping" Value="NoWrap"/>
- <Setter Property="Typography.StylisticSet20" Value="True"/>
- <Setter Property="Typography.DiscretionaryLigatures" Value="True"/>
- <Setter Property="Typography.CaseSensitiveForms" Value="True"/>
- <Setter Property="FontSize" Value="26.667"/>
- <Setter Property="LineStackingStrategy" Value="BlockLineHeight"/>
- <Setter Property="FontWeight" Value="Light"/>
- <Setter Property="LineHeight" Value="30"/>
- <Setter Property="RenderTransform">
- <Setter.Value>
- <TranslateTransform X="-1" Y="6"/>
- </Setter.Value>
- </Setter>
- </Style>
-
- <!-- Button styles -->
-
- <!--
- TextButtonStyle is used to style a Button using subheader-styled text with no other adornment. There
- are two styles that are based on TextButtonStyle (TextPrimaryButtonStyle and TextSecondaryButtonStyle)
- which are used in the GroupedItemsPage as a group header and in the FileOpenPickerPage for triggering
- commands.
- -->
- <Style x:Key="TextButtonStyle" TargetType="ButtonBase">
- <Setter Property="MinWidth" Value="0"/>
- <Setter Property="MinHeight" Value="0"/>
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="ButtonBase">
- <Grid Background="Transparent">
- <ContentPresenter x:Name="Text" Content="{TemplateBinding Content}" />
- <Rectangle
- x:Name="FocusVisualWhite"
- IsHitTestVisible="False"
- Stroke="{StaticResource FocusVisualWhiteStrokeThemeBrush}"
- StrokeEndLineCap="Square"
- StrokeDashArray="1,1"
- Opacity="0"
- StrokeDashOffset="1.5"/>
- <Rectangle
- x:Name="FocusVisualBlack"
- IsHitTestVisible="False"
- Stroke="{StaticResource FocusVisualBlackStrokeThemeBrush}"
- StrokeEndLineCap="Square"
- StrokeDashArray="1,1"
- Opacity="0"
- StrokeDashOffset="0.5"/>
- <VisualStateManager.VisualStateGroups>
- <VisualStateGroup x:Name="CommonStates">
- <VisualState x:Name="Normal"/>
- <VisualState x:Name="PointerOver">
- <Storyboard>
- <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Text" Storyboard.TargetProperty="Foreground">
- <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ApplicationPointerOverForegroundThemeBrush}"/>
- </ObjectAnimationUsingKeyFrames>
- </Storyboard>
- </VisualState>
- <VisualState x:Name="Pressed">
- <Storyboard>
- <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Text" Storyboard.TargetProperty="Foreground">
- <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ApplicationPressedForegroundThemeBrush}"/>
- </ObjectAnimationUsingKeyFrames>
- </Storyboard>
- </VisualState>
- <VisualState x:Name="Disabled">
- <Storyboard>
- <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Text" Storyboard.TargetProperty="Foreground">
- <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ApplicationPressedForegroundThemeBrush}"/>
- </ObjectAnimationUsingKeyFrames>
- </Storyboard>
- </VisualState>
- </VisualStateGroup>
- <VisualStateGroup x:Name="FocusStates">
- <VisualState x:Name="Focused">
- <Storyboard>
- <DoubleAnimation Duration="0" To="1" Storyboard.TargetName="FocusVisualWhite" Storyboard.TargetProperty="Opacity"/>
- <DoubleAnimation Duration="0" To="1" Storyboard.TargetName="FocusVisualBlack" Storyboard.TargetProperty="Opacity"/>
- </Storyboard>
- </VisualState>
- <VisualState x:Name="Unfocused"/>
- </VisualStateGroup>
- <VisualStateGroup x:Name="CheckStates">
- <VisualState x:Name="Checked"/>
- <VisualState x:Name="Unchecked">
- <Storyboard>
- <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Text" Storyboard.TargetProperty="Foreground">
- <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ApplicationSecondaryForegroundThemeBrush}"/>
- </ObjectAnimationUsingKeyFrames>
- </Storyboard>
- </VisualState>
- <VisualState x:Name="Indeterminate"/>
- </VisualStateGroup>
- </VisualStateManager.VisualStateGroups>
- </Grid>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
-
- <Style x:Key="TextPrimaryButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource TextButtonStyle}">
- <Setter Property="Foreground" Value="{StaticResource ApplicationHeaderForegroundThemeBrush}"/>
- </Style>
-
- <Style x:Key="TextSecondaryButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource TextButtonStyle}">
- <Setter Property="Foreground" Value="{StaticResource ApplicationSecondaryForegroundThemeBrush}"/>
- </Style>
-
- <!--
- TextRadioButtonStyle is used to style a RadioButton using subheader-styled text with no other adornment.
- This style is used in the SearchResultsPage to allow selection among filters.
- -->
- <Style x:Key="TextRadioButtonStyle" TargetType="RadioButton" BasedOn="{StaticResource TextButtonStyle}">
- <Setter Property="Margin" Value="0,0,30,0"/>
- </Style>
-
- <!--
- AppBarButtonStyle is used to style a Button (or ToggleButton) for use in an App Bar. Content will be centered
- and should fit within the 40 pixel radius glyph provided. 16-point Segoe UI Symbol is used for content text
- to simplify the use of glyphs from that font. AutomationProperties.Name is used for the text below the glyph.
- -->
- <Style x:Key="AppBarButtonStyle" TargetType="ButtonBase">
- <Setter Property="Foreground" Value="{StaticResource AppBarItemForegroundThemeBrush}"/>
- <Setter Property="VerticalAlignment" Value="Stretch"/>
- <Setter Property="FontFamily" Value="Segoe UI Symbol"/>
- <Setter Property="FontWeight" Value="Normal"/>
- <Setter Property="FontSize" Value="20"/>
- <Setter Property="AutomationProperties.ItemType" Value="App Bar Button"/>
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="ButtonBase">
- <Grid x:Name="RootGrid" Width="100" Background="Transparent">
- <StackPanel VerticalAlignment="Top" Margin="0,12,0,11">
- <Grid Width="40" Height="40" Margin="0,0,0,5" HorizontalAlignment="Center">
- <TextBlock x:Name="BackgroundGlyph" Text="&#xE0A8;" FontFamily="Segoe UI Symbol" FontSize="53.333" Margin="-4,-19,0,0" Foreground="{StaticResource AppBarItemBackgroundThemeBrush}"/>
- <TextBlock x:Name="OutlineGlyph" Text="&#xE0A7;" FontFamily="Segoe UI Symbol" FontSize="53.333" Margin="-4,-19,0,0"/>
- <ContentPresenter x:Name="Content" HorizontalAlignment="Center" Margin="-1,-1,0,0" VerticalAlignment="Center"/>
- </Grid>
- <TextBlock
- x:Name="TextLabel"
- Text="{TemplateBinding AutomationProperties.Name}"
- Foreground="{StaticResource AppBarItemForegroundThemeBrush}"
- Margin="0,0,2,0"
- FontSize="12"
- TextAlignment="Center"
- Width="88"
- MaxHeight="32"
- TextTrimming="WordEllipsis"
- Style="{StaticResource BasicTextStyle}"/>
- </StackPanel>
- <Rectangle
- x:Name="FocusVisualWhite"
- IsHitTestVisible="False"
- Stroke="{StaticResource FocusVisualWhiteStrokeThemeBrush}"
- StrokeEndLineCap="Square"
- StrokeDashArray="1,1"
- Opacity="0"
- StrokeDashOffset="1.5"/>
- <Rectangle
- x:Name="FocusVisualBlack"
- IsHitTestVisible="False"
- Stroke="{StaticResource FocusVisualBlackStrokeThemeBrush}"
- StrokeEndLineCap="Square"
- StrokeDashArray="1,1"
- Opacity="0"
- StrokeDashOffset="0.5"/>
-
- <VisualStateManager.VisualStateGroups>
- <VisualStateGroup x:Name="ApplicationViewStates">
- <VisualState x:Name="FullScreenLandscape"/>
- <VisualState x:Name="Filled"/>
- <VisualState x:Name="FullScreenPortrait">
- <Storyboard>
- <ObjectAnimationUsingKeyFrames Storyboard.TargetName="TextLabel" Storyboard.TargetProperty="Visibility">
- <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>
- </ObjectAnimationUsingKeyFrames>
- <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid" Storyboard.TargetProperty="Width">
- <DiscreteObjectKeyFrame KeyTime="0" Value="60"/>
- </ObjectAnimationUsingKeyFrames>
- </Storyboard>
- </VisualState>
- <VisualState x:Name="Snapped">
- <Storyboard>
- <ObjectAnimationUsingKeyFrames Storyboard.TargetName="TextLabel" Storyboard.TargetProperty="Visibility">
- <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>
- </ObjectAnimationUsingKeyFrames>
- <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid" Storyboard.TargetProperty="Width">
- <DiscreteObjectKeyFrame KeyTime="0" Value="60"/>
- </ObjectAnimationUsingKeyFrames>
- </Storyboard>
- </VisualState>
- </VisualStateGroup>
- <VisualStateGroup x:Name="CommonStates">
- <VisualState x:Name="Normal"/>
- <VisualState x:Name="PointerOver">
- <Storyboard>
- <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundGlyph" Storyboard.TargetProperty="Foreground">
- <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource AppBarItemPointerOverBackgroundThemeBrush}"/>
- </ObjectAnimationUsingKeyFrames>
- <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Content" Storyboard.TargetProperty="Foreground">
- <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource AppBarItemPointerOverForegroundThemeBrush}"/>
- </ObjectAnimationUsingKeyFrames>
- </Storyboard>
- </VisualState>
- <VisualState x:Name="Pressed">
- <Storyboard>
- <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OutlineGlyph" Storyboard.TargetProperty="Foreground">
- <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource AppBarItemForegroundThemeBrush}"/>
- </ObjectAnimationUsingKeyFrames>
- <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundGlyph" Storyboard.TargetProperty="Foreground">
- <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource AppBarItemForegroundThemeBrush}"/>
- </ObjectAnimationUsingKeyFrames>
- <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Content" Storyboard.TargetProperty="Foreground">
- <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource AppBarItemPressedForegroundThemeBrush}"/>
- </ObjectAnimationUsingKeyFrames>
- </Storyboard>
- </VisualState>
- <VisualState x:Name="Disabled">
- <Storyboard>
- <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OutlineGlyph" Storyboard.TargetProperty="Foreground">
- <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource AppBarItemDisabledForegroundThemeBrush}"/>
- </ObjectAnimationUsingKeyFrames>
- <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Content" Storyboard.TargetProperty="Foreground">
- <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource AppBarItemDisabledForegroundThemeBrush}"/>
- </ObjectAnimationUsingKeyFrames>
- <ObjectAnimationUsingKeyFrames Storyboard.TargetName="TextLabel" Storyboard.TargetProperty="Foreground">
- <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource AppBarItemDisabledForegroundThemeBrush}"/>
- </ObjectAnimationUsingKeyFrames>
- </Storyboard>
- </VisualState>
- </VisualStateGroup>
- <VisualStateGroup x:Name="FocusStates">
- <VisualState x:Name="Focused">
- <Storyboard>
- <DoubleAnimation
- Storyboard.TargetName="FocusVisualWhite"
- Storyboard.TargetProperty="Opacity"
- To="1"
- Duration="0"/>
- <DoubleAnimation
- Storyboard.TargetName="FocusVisualBlack"
- Storyboard.TargetProperty="Opacity"
- To="1"
- Duration="0"/>
- </Storyboard>
- </VisualState>
- <VisualState x:Name="Unfocused" />
- <VisualState x:Name="PointerFocused" />
- </VisualStateGroup>
- <VisualStateGroup x:Name="CheckStates">
- <VisualState x:Name="Checked">
- <Storyboard>
- <DoubleAnimation Duration="0" To="0" Storyboard.TargetName="OutlineGlyph" Storyboard.TargetProperty="Opacity"/>
- <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundGlyph" Storyboard.TargetProperty="Foreground">
- <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource AppBarItemForegroundThemeBrush}"/>
- </ObjectAnimationUsingKeyFrames>
- <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundCheckedGlyph" Storyboard.TargetProperty="Visibility">
- <DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/>
- </ObjectAnimationUsingKeyFrames>
- <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Content" Storyboard.TargetProperty="Foreground">
- <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource AppBarItemPressedForegroundThemeBrush}"/>
- </ObjectAnimationUsingKeyFrames>
- </Storyboard>
- </VisualState>
- <VisualState x:Name="Unchecked"/>
- <VisualState x:Name="Indeterminate"/>
- </VisualStateGroup>
- </VisualStateManager.VisualStateGroups>
- </Grid>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
-
- <!--
- Standard AppBarButton Styles for use with Button and ToggleButton
-
- An AppBarButton Style is provided for each of the glyphs in the Segoe UI Symbol font.
- Uncomment any style you reference (as not all may be required).
- -->
- <Style x:Key="HelpAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="HelpAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Help"/>
- <Setter Property="Content" Value="&#xE11B;"/>
- </Style>
- <Style x:Key="SearchAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="SearchAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Search"/>
- <Setter Property="Content" Value="&#xE11A;"/>
- </Style>
- <Style x:Key="OpenFileAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="OpenFileAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Open File"/>
- <Setter Property="Content" Value="&#xE1A5;"/>
- </Style>
- <Style x:Key="NextAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="NextAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Next"/>
- <Setter Property="Content" Value="&#xE111;"/>
- </Style>
- <Style x:Key="PreviousAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="PreviousAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Previous"/>
- <Setter Property="Content" Value="&#xE112;"/>
- </Style>
- <Style x:Key="NoAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="NoAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="No"/>
- <Setter Property="Content" Value="&#xE10A;"/>
- </Style>
- <Style x:Key="SettingsAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="SettingsAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Settings"/>
- <Setter Property="Content" Value="&#xE115;"/>
- </Style>
- <Style x:Key="LinksAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="LinksAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Links"/>
- <Setter Property="Content" Value="&#xE167;"/>
- </Style>
- <Style x:Key="ContentsBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="AllAppsAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Contents"/>
- <Setter Property="Content" Value="&#xE179;"/>
- </Style>
- <Style x:Key="ReflowAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="ReflowAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="TextExtract"/>
- <Setter Property="Content" Value="&#xE18B;"/>
- </Style>
- <Style x:Key="ZoomInAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="ZoomInAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Zoom In"/>
- <Setter Property="Content" Value="&#xE12E;"/>
- </Style>
- <Style x:Key="ZoomOutAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="ZoomOutAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Zoom Out"/>
- <Setter Property="Content" Value="&#xE1A4;"/>
- </Style>
-
- <!--
-
- <Style x:Key="SkipBackAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="SkipBackAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Skip Back"/>
- <Setter Property="Content" Value="&#xE100;"/>
- </Style>
- <Style x:Key="SkipAheadAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="SkipAheadAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Skip Ahead"/>
- <Setter Property="Content" Value="&#xE101;"/>
- </Style>
- <Style x:Key="PlayAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="PlayAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Play"/>
- <Setter Property="Content" Value="&#xE102;"/>
- </Style>
- <Style x:Key="PauseAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="PauseAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Pause"/>
- <Setter Property="Content" Value="&#xE103;"/>
- </Style>
- <Style x:Key="EditAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="EditAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Edit"/>
- <Setter Property="Content" Value="&#xE104;"/>
- </Style>
- <Style x:Key="SaveAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="SaveAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Save"/>
- <Setter Property="Content" Value="&#xE105;"/>
- </Style>
- <Style x:Key="DeleteAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="DeleteAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Delete"/>
- <Setter Property="Content" Value="&#xE106;"/>
- </Style>
- <Style x:Key="DiscardAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="DiscardAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Discard"/>
- <Setter Property="Content" Value="&#xE107;"/>
- </Style>
- <Style x:Key="RemoveAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="RemoveAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Remove"/>
- <Setter Property="Content" Value="&#xE108;"/>
- </Style>
- <Style x:Key="AddAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="AddAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Add"/>
- <Setter Property="Content" Value="&#xE109;"/>
- </Style>
- <Style x:Key="NoAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="NoAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="No"/>
- <Setter Property="Content" Value="&#xE10A;"/>
- </Style>
- <Style x:Key="YesAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="YesAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Yes"/>
- <Setter Property="Content" Value="&#xE10B;"/>
- </Style>
- <Style x:Key="MoreAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="MoreAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="More"/>
- <Setter Property="Content" Value="&#xE10C;"/>
- </Style>
- <Style x:Key="RedoAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="RedoAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Redo"/>
- <Setter Property="Content" Value="&#xE10D;"/>
- </Style>
- <Style x:Key="UndoAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="UndoAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Undo"/>
- <Setter Property="Content" Value="&#xE10E;"/>
- </Style>
- <Style x:Key="HomeAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="HomeAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Home"/>
- <Setter Property="Content" Value="&#xE10F;"/>
- </Style>
- <Style x:Key="OutAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="OutAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Out"/>
- <Setter Property="Content" Value="&#xE110;"/>
- </Style>
- <Style x:Key="NextAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="NextAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Next"/>
- <Setter Property="Content" Value="&#xE111;"/>
- </Style>
- <Style x:Key="PreviousAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="PreviousAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Previous"/>
- <Setter Property="Content" Value="&#xE112;"/>
- </Style>
- <Style x:Key="FavoriteAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="FavoriteAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Favorite"/>
- <Setter Property="Content" Value="&#xE113;"/>
- </Style>
- <Style x:Key="PhotoAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="PhotoAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Photo"/>
- <Setter Property="Content" Value="&#xE114;"/>
- </Style>
- <Style x:Key="SettingsAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="SettingsAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Settings"/>
- <Setter Property="Content" Value="&#xE115;"/>
- </Style>
- -->
-
- <!--
- <Style x:Key="VideoAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="VideoAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Video"/>
- <Setter Property="Content" Value="&#xE116;"/>
- </Style>
- <Style x:Key="RefreshAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="RefreshAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Refresh"/>
- <Setter Property="Content" Value="&#xE117;"/>
- </Style>
- <Style x:Key="DownloadAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="DownloadAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Download"/>
- <Setter Property="Content" Value="&#xE118;"/>
- </Style>
- <Style x:Key="MailAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="MailAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Mail"/>
- <Setter Property="Content" Value="&#xE119;"/>
- </Style>
- <Style x:Key="SearchAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="SearchAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Search"/>
- <Setter Property="Content" Value="&#xE11A;"/>
- </Style>
- <Style x:Key="HelpAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="HelpAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Help"/>
- <Setter Property="Content" Value="&#xE11B;"/>
- </Style>
- <Style x:Key="UploadAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="UploadAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Upload"/>
- <Setter Property="Content" Value="&#xE11C;"/>
- </Style>
- <Style x:Key="EmojiAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="EmojiAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Emoji"/>
- <Setter Property="Content" Value="&#xE11D;"/>
- </Style>
- <Style x:Key="TwoPageAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="TwoPageAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Two Page"/>
- <Setter Property="Content" Value="&#xE11E;"/>
- </Style>
- <Style x:Key="LeaveChatAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="LeaveChatAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Upload"/>
- <Setter Property="Content" Value="&#xE11F;"/>
- </Style>
- <Style x:Key="MailForwardAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="MailForwardAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Forward Mail"/>
- <Setter Property="Content" Value="&#xE120;"/>
- </Style>
- <Style x:Key="ClockAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="ClockAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Clock"/>
- <Setter Property="Content" Value="&#xE121;"/>
- </Style>
- <Style x:Key="SendAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="SendAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Send"/>
- <Setter Property="Content" Value="&#xE122;"/>
- </Style>
- <Style x:Key="CropAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="CropAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Crop"/>
- <Setter Property="Content" Value="&#xE123;"/>
- </Style>
- <Style x:Key="RotateCameraAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="RotateCameraAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Rotate Camera"/>
- <Setter Property="Content" Value="&#xE124;"/>
- </Style>
- <Style x:Key="PeopleAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="PeopleAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="People"/>
- <Setter Property="Content" Value="&#xE125;"/>
- </Style>
- <Style x:Key="ClosePaneAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="ClosePaneAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Close Pane"/>
- <Setter Property="Content" Value="&#xE126;"/>
- </Style>
- <Style x:Key="OpenPaneAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="OpenPaneAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Open Pane"/>
- <Setter Property="Content" Value="&#xE127;"/>
- </Style>
- -->
-
- <!--
- <Style x:Key="WorldAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="WorldAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="World"/>
- <Setter Property="Content" Value="&#xE128;"/>
- </Style>
- <Style x:Key="FlagAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="FlagAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Flag"/>
- <Setter Property="Content" Value="&#xE129;"/>
- </Style>
- <Style x:Key="PreviewLinkAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="PreviewLinkAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Preview Link"/>
- <Setter Property="Content" Value="&#xE12A;"/>
- </Style>
- <Style x:Key="GlobeAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="GlobeAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Globe"/>
- <Setter Property="Content" Value="&#xE12B;"/>
- </Style>
- <Style x:Key="TrimAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="TrimAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Trim"/>
- <Setter Property="Content" Value="&#xE12C;"/>
- </Style>
- <Style x:Key="AttachCameraAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="AttachCameraAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Attach Camera"/>
- <Setter Property="Content" Value="&#xE12D;"/>
- </Style>
- <Style x:Key="ZoomInAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="ZoomInAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Zoom In"/>
- <Setter Property="Content" Value="&#xE12E;"/>
- </Style>
- <Style x:Key="BookmarksAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="BookmarksAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Bookmarks"/>
- <Setter Property="Content" Value="&#xE12F;"/>
- </Style>
- <Style x:Key="DocumentAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="DocumentAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Document"/>
- <Setter Property="Content" Value="&#xE130;"/>
- </Style>
- <Style x:Key="ProtectedDocumentAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="ProtectedDocumentAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Protected Document"/>
- <Setter Property="Content" Value="&#xE131;"/>
- </Style>
- <Style x:Key="PageAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="PageAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Page"/>
- <Setter Property="Content" Value="&#xE132;"/>
- </Style>
- <Style x:Key="BulletsAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="BulletsAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Bullets"/>
- <Setter Property="Content" Value="&#xE133;"/>
- </Style>
- <Style x:Key="CommentAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="CommentAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Comment"/>
- <Setter Property="Content" Value="&#xE134;"/>
- </Style>
- <Style x:Key="Mail2AppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="Mail2AppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Mail2"/>
- <Setter Property="Content" Value="&#xE135;"/>
- </Style>
- <Style x:Key="ContactInfoAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="ContactInfoAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Contact Info"/>
- <Setter Property="Content" Value="&#xE136;"/>
- </Style>
- <Style x:Key="HangUpAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="HangUpAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Hang Up"/>
- <Setter Property="Content" Value="&#xE137;"/>
- </Style>
- <Style x:Key="ViewAllAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="ViewAllAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="View All"/>
- <Setter Property="Content" Value="&#xE138;"/>
- </Style>
- <Style x:Key="MapPinAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="MapPinAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Map Pin"/>
- <Setter Property="Content" Value="&#xE139;"/>
- </Style>
- <Style x:Key="PhoneAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="PhoneAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Phone"/>
- <Setter Property="Content" Value="&#xE13A;"/>
- </Style>
- <Style x:Key="VideoChatAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="VideoChatAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Video Chat"/>
- <Setter Property="Content" Value="&#xE13B;"/>
- </Style>
- <Style x:Key="SwitchAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="SwitchAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Switch"/>
- <Setter Property="Content" Value="&#xE13C;"/>
- </Style>
- <Style x:Key="ContactAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="ContactAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Contact"/>
- <Setter Property="Content" Value="&#xE13D;"/>
- </Style>
-
- -->
-
- <!--
-
- <Style x:Key="RenameAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="RenameAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Rename"/>
- <Setter Property="Content" Value="&#xE13E;"/>
- </Style>
- <Style x:Key="PinAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="PinAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Pin"/>
- <Setter Property="Content" Value="&#xE141;"/>
- </Style>
- <Style x:Key="MusicInfoAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="MusicInfoAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Music Info"/>
- <Setter Property="Content" Value="&#xE142;"/>
- </Style>
- <Style x:Key="GoAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="GoAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Go"/>
- <Setter Property="Content" Value="&#xE143;"/>
- </Style>
- <Style x:Key="KeyboardAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="KeyboardAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Keyboard"/>
- <Setter Property="Content" Value="&#xE144;"/>
- </Style>
- <Style x:Key="DockLeftAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="DockLeftAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Dock Left"/>
- <Setter Property="Content" Value="&#xE145;"/>
- </Style>
- <Style x:Key="DockRightAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="DockRightAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Dock Right"/>
- <Setter Property="Content" Value="&#xE146;"/>
- </Style>
- <Style x:Key="DockBottomAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="DockBottomAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Dock Bottom"/>
- <Setter Property="Content" Value="&#xE147;"/>
- </Style>
- <Style x:Key="RemoteAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="RemoteAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Remote"/>
- <Setter Property="Content" Value="&#xE148;"/>
- </Style>
- <Style x:Key="SyncAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="SyncAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Sync"/>
- <Setter Property="Content" Value="&#xE149;"/>
- </Style>
- <Style x:Key="RotateAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="RotateAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Rotate"/>
- <Setter Property="Content" Value="&#xE14A;"/>
- </Style>
- <Style x:Key="ShuffleAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="ShuffleAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Shuffle"/>
- <Setter Property="Content" Value="&#xE14B;"/>
- </Style>
- <Style x:Key="ListAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="ListAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="List"/>
- <Setter Property="Content" Value="&#xE14C;"/>
- </Style>
- <Style x:Key="ShopAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="ShopAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Shop"/>
- <Setter Property="Content" Value="&#xE14D;"/>
- </Style>
- <Style x:Key="SelectAllAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="SelectAllAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Select All"/>
- <Setter Property="Content" Value="&#xE14E;"/>
- </Style>
- <Style x:Key="OrientationAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="OrientationAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Orientation"/>
- <Setter Property="Content" Value="&#xE14F;"/>
- </Style>
- <Style x:Key="ImportAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="ImportAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Import"/>
- <Setter Property="Content" Value="&#xE150;"/>
- </Style>
- <Style x:Key="ImportAllAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="ImportAllAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Import All"/>
- <Setter Property="Content" Value="&#xE151;"/>
- </Style>
- <Style x:Key="BrowsePhotosAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="BrowsePhotosAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Browse Photos"/>
- <Setter Property="Content" Value="&#xE155;"/>
- </Style>
- <Style x:Key="WebcamAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="WebcamAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Webcam"/>
- <Setter Property="Content" Value="&#xE156;"/>
- </Style>
- -->
-
- <!--
- <Style x:Key="PicturesAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="PicturesAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Pictures"/>
- <Setter Property="Content" Value="&#xE158;"/>
- </Style>
- <Style x:Key="SaveLocalAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="SaveLocalAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Save Local"/>
- <Setter Property="Content" Value="&#xE159;"/>
- </Style>
- <Style x:Key="CaptionAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="CaptionAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Caption"/>
- <Setter Property="Content" Value="&#xE15A;"/>
- </Style>
- <Style x:Key="StopAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="StopAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Stop"/>
- <Setter Property="Content" Value="&#xE15B;"/>
- </Style>
- <Style x:Key="ShowResultsAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="ShowResultsAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Show Results"/>
- <Setter Property="Content" Value="&#xE15C;"/>
- </Style>
- <Style x:Key="VolumeAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="VolumeAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Volume"/>
- <Setter Property="Content" Value="&#xE15D;"/>
- </Style>
- <Style x:Key="RepairAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="RepairAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Repair"/>
- <Setter Property="Content" Value="&#xE15E;"/>
- </Style>
- <Style x:Key="MessageAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="MessageAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Message"/>
- <Setter Property="Content" Value="&#xE15F;"/>
- </Style>
- <Style x:Key="Page2AppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="Page2AppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Page2"/>
- <Setter Property="Content" Value="&#xE160;"/>
- </Style>
- <Style x:Key="CalendarDayAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="CalendarDayAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Day"/>
- <Setter Property="Content" Value="&#xE161;"/>
- </Style>
- <Style x:Key="CalendarWeekAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="CalendarWeekAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Week"/>
- <Setter Property="Content" Value="&#xE162;"/>
- </Style>
- <Style x:Key="CalendarAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="CalendarAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Calendar"/>
- <Setter Property="Content" Value="&#xE163;"/>
- </Style>
- <Style x:Key="CharactersAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="CharactersAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Characters"/>
- <Setter Property="Content" Value="&#xE164;"/>
- </Style>
- <Style x:Key="MailReplyAllAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="MailReplyAllAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Reply All"/>
- <Setter Property="Content" Value="&#xE165;"/>
- </Style>
- <Style x:Key="ReadAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="ReadAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Read"/>
- <Setter Property="Content" Value="&#xE166;"/>
- </Style>
- <Style x:Key="LinkAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="LinkAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Link"/>
- <Setter Property="Content" Value="&#xE167;"/>
- </Style>
- <Style x:Key="AccountsAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="AccountsAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Accounts"/>
- <Setter Property="Content" Value="&#xE168;"/>
- </Style>
- <Style x:Key="ShowBccAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="ShowBccAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Show Bcc"/>
- <Setter Property="Content" Value="&#xE169;"/>
- </Style>
- <Style x:Key="HideBccAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="HideBccAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Hide Bcc"/>
- <Setter Property="Content" Value="&#xE16A;"/>
- </Style>
- -->
-
- <!--
- <Style x:Key="CutAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="CutAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Cut"/>
- <Setter Property="Content" Value="&#xE16B;"/>
- </Style>
- <Style x:Key="AttachAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="AttachAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Attach"/>
- <Setter Property="Content" Value="&#xE16C;"/>
- </Style>
- <Style x:Key="PasteAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="PasteAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Paste"/>
- <Setter Property="Content" Value="&#xE16D;"/>
- </Style>
- <Style x:Key="FilterAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="FilterAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Filter"/>
- <Setter Property="Content" Value="&#xE16E;"/>
- </Style>
- <Style x:Key="CopyAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="CopyAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Copy"/>
- <Setter Property="Content" Value="&#xE16F;"/>
- </Style>
- <Style x:Key="Emoji2AppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="Emoji2AppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Emoji2"/>
- <Setter Property="Content" Value="&#xE170;"/>
- </Style>
- <Style x:Key="ImportantAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="ImportantAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Important"/>
- <Setter Property="Content" Value="&#xE171;"/>
- </Style>
- <Style x:Key="MailReplyAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="MailReplyAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Reply"/>
- <Setter Property="Content" Value="&#xE172;"/>
- </Style>
- <Style x:Key="SlideShowAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="SlideShowAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Slideshow"/>
- <Setter Property="Content" Value="&#xE173;"/>
- </Style>
- <Style x:Key="SortAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="SortAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Sort"/>
- <Setter Property="Content" Value="&#xE174;"/>
- </Style>
- <Style x:Key="ManageAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="ManageAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Manage"/>
- <Setter Property="Content" Value="&#xE178;"/>
- </Style>
- <Style x:Key="AllAppsAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="AllAppsAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="All Apps"/>
- <Setter Property="Content" Value="&#xE179;"/>
- </Style>
- <Style x:Key="DisconnectDriveAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="DisconnectDriveAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Disconnect Drive"/>
- <Setter Property="Content" Value="&#xE17A;"/>
- </Style>
- <Style x:Key="MapDriveAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="MapDriveAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Map Drive"/>
- <Setter Property="Content" Value="&#xE17B;"/>
- </Style>
- <Style x:Key="NewWindowAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="NewWindowAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="New Window"/>
- <Setter Property="Content" Value="&#xE17C;"/>
- </Style>
- <Style x:Key="OpenWithAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="OpenWithAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Open With"/>
- <Setter Property="Content" Value="&#xE17D;"/>
- </Style>
- <Style x:Key="ContactPresenceAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="ContactPresenceAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Presence"/>
- <Setter Property="Content" Value="&#xE181;"/>
- </Style>
- <Style x:Key="PriorityAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="PriorityAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Priority"/>
- <Setter Property="Content" Value="&#xE182;"/>
- </Style>
- <Style x:Key="UploadSkyDriveAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="UploadSkyDriveAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Skydrive"/>
- <Setter Property="Content" Value="&#xE183;"/>
- </Style>
- <Style x:Key="GoToTodayAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="GoToTodayAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Today"/>
- <Setter Property="Content" Value="&#xE184;"/>
- </Style>
- <Style x:Key="FontAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="FontAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Font"/>
- <Setter Property="Content" Value="&#xE185;"/>
- </Style>
-
- -->
-
- <!--
-
- <Style x:Key="FontColorAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="FontColorAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Font Color"/>
- <Setter Property="Content" Value="&#xE186;"/>
- </Style>
- <Style x:Key="Contact2AppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="Contact2AppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Contact"/>
- <Setter Property="Content" Value="&#xE187;"/>
- </Style>
- <Style x:Key="FolderppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="FolderAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Folder"/>
- <Setter Property="Content" Value="&#xE188;"/>
- </Style>
- <Style x:Key="AudioAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="AudioAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Audio"/>
- <Setter Property="Content" Value="&#xE189;"/>
- </Style>
- <Style x:Key="PlaceholderAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="PlaceholderAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Placeholder"/>
- <Setter Property="Content" Value="&#xE18A;"/>
- </Style>
- <Style x:Key="ViewAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="ViewAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="View"/>
- <Setter Property="Content" Value="&#xE18B;"/>
- </Style>
- <Style x:Key="SetLockScreenAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="SetLockscreenAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Set Lockscreen"/>
- <Setter Property="Content" Value="&#xE18C;"/>
- </Style>
- <Style x:Key="SetTitleAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="SetTitleAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Set Title"/>
- <Setter Property="Content" Value="&#xE18D;"/>
- </Style>
- <Style x:Key="CcAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="CcAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Cc"/>
- <Setter Property="Content" Value="&#xE190;"/>
- </Style>
- <Style x:Key="StopSlideShowAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="StopSlideshowAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Stop Slideshow"/>
- <Setter Property="Content" Value="&#xE191;"/>
- </Style>
- <Style x:Key="PermissionsAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="PermissionsAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Permisions"/>
- <Setter Property="Content" Value="&#xE192;"/>
- </Style>
- <Style x:Key="HighlightAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="HighlightAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Highlight"/>
- <Setter Property="Content" Value="&#xE193;"/>
- </Style>
- <Style x:Key="DisableUpdatesAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="DisableUpdatesAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Disable Updates"/>
- <Setter Property="Content" Value="&#xE194;"/>
- </Style>
- <Style x:Key="UnfavoriteAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="UnfavoriteAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Unfavorite"/>
- <Setter Property="Content" Value="&#xE195;"/>
- </Style>
- <Style x:Key="UnPinAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="UnPinAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Unpin"/>
- <Setter Property="Content" Value="&#xE196;"/>
- </Style>
- <Style x:Key="OpenLocalAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="OpenLocalAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Open Loal"/>
- <Setter Property="Content" Value="&#xE197;"/>
- </Style>
- <Style x:Key="MuteAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="MuteAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Mute"/>
- <Setter Property="Content" Value="&#xE198;"/>
- </Style>
- <Style x:Key="ItalicAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="ItalicAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Italic"/>
- <Setter Property="Content" Value="&#xE199;"/>
- </Style>
- -->
-
- <!--
- <Style x:Key="UnderlineAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="UnderlineAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Underline"/>
- <Setter Property="Content" Value="&#xE19A;"/>
- </Style>
- <Style x:Key="BoldAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="BoldAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Bold"/>
- <Setter Property="Content" Value="&#xE19B;"/>
- </Style>
- <Style x:Key="MoveToFolderAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="MoveToFolderAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Move to Folder"/>
- <Setter Property="Content" Value="&#xE19C;"/>
- </Style>
- <Style x:Key="LikeDislikeAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="LikeDislikeAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Like/Dislike"/>
- <Setter Property="Content" Value="&#xE19D;"/>
- </Style>
- <Style x:Key="DislikeAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="DislikeAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Dislike"/>
- <Setter Property="Content" Value="&#xE19E;"/>
- </Style>
- <Style x:Key="LikeAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="LikeAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Like"/>
- <Setter Property="Content" Value="&#xE19F;"/>
- </Style>
- <Style x:Key="AlignRightAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="AlignRightAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Align Right"/>
- <Setter Property="Content" Value="&#xE1A0;"/>
- </Style>
- <Style x:Key="AlignCenterAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="AlignCenterAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Align Center"/>
- <Setter Property="Content" Value="&#xE1A1;"/>
- </Style>
- <Style x:Key="AlignLeftAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="AlignLeftAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Align Left"/>
- <Setter Property="Content" Value="&#xE1A2;"/>
- </Style>
- <Style x:Key="ZoomAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="ZoomAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Zoom"/>
- <Setter Property="Content" Value="&#xE1A3;"/>
- </Style>
- <Style x:Key="ZoomOutAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="ZoomOutAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Zoom Out"/>
- <Setter Property="Content" Value="&#xE1A4;"/>
- </Style>
- <Style x:Key="OpenFileAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="OpenFileAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Open File"/>
- <Setter Property="Content" Value="&#xE1A5;"/>
- </Style>
- <Style x:Key="OtherUserAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="OtherUserAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Other User"/>
- <Setter Property="Content" Value="&#xE1A6;"/>
- </Style>
- <Style x:Key="AdminAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="AdminAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Admin"/>
- <Setter Property="Content" Value="&#xE1A7;"/>
- </Style>
- <Style x:Key="StreetAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="StreetAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Street"/>
- <Setter Property="Content" Value="&#xE1C3;"/>
- </Style>
- <Style x:Key="MapAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="MapAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Map"/>
- <Setter Property="Content" Value="&#xE1C4;"/>
- </Style>
- <Style x:Key="ClearSelectionAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="ClearSelectionAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Clear Selection"/>
- <Setter Property="Content" Value="&#xE1C5;"/>
- </Style>
- <Style x:Key="FontDecreaseAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="FontDecreaseAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Decrease Font"/>
- <Setter Property="Content" Value="&#xE1C6;"/>
- </Style>
- <Style x:Key="FontIncreaseAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="FontIncreaseAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Increase Font"/>
- <Setter Property="Content" Value="&#xE1C7;"/>
- </Style>
- <Style x:Key="FontSizeAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="FontSizeAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Font Size"/>
- <Setter Property="Content" Value="&#xE1C8;"/>
- </Style>
- -->
-
- <!--
- <Style x:Key="CellphoneAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="CellphoneAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Cellphone"/>
- <Setter Property="Content" Value="&#xE1C9;"/>
- </Style>
- <Style x:Key="ReshareAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="ReshareAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Reshare"/>
- <Setter Property="Content" Value="&#xE1CA;"/>
- </Style>
- <Style x:Key="TagAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="TagAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Tag"/>
- <Setter Property="Content" Value="&#xE1CB;"/>
- </Style>
- <Style x:Key="RepeatOneAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="RepeatOneAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Repeat Once"/>
- <Setter Property="Content" Value="&#xE1CC;"/>
- </Style>
- <Style x:Key="RepeatAllAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="RepeatAllAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Repeat All"/>
- <Setter Property="Content" Value="&#xE1CD;"/>
- </Style>
- <Style x:Key="OutlineStarAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="OutlineStarAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Outline Star"/>
- <Setter Property="Content" Value="&#xE1CE;"/>
- </Style>
- <Style x:Key="SolidStarAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="SolidStarAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Solid Star"/>
- <Setter Property="Content" Value="&#xE1CF;"/>
- </Style>
- <Style x:Key="CalculatorAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="CalculatorAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Calculator"/>
- <Setter Property="Content" Value="&#xE1D0;"/>
- </Style>
- <Style x:Key="DirectionsAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="DirectionsAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Directions"/>
- <Setter Property="Content" Value="&#xE1D1;"/>
- </Style>
- <Style x:Key="TargetAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="TargetAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Target"/>
- <Setter Property="Content" Value="&#xE1D2;"/>
- </Style>
- <Style x:Key="LibraryAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="LibraryAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Library"/>
- <Setter Property="Content" Value="&#xE1D3;"/>
- </Style>
- <Style x:Key="PhonebookAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="PhonebookAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Phonebook"/>
- <Setter Property="Content" Value="&#xE1D4;"/>
- </Style>
- <Style x:Key="MemoAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="MemoAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Memo"/>
- <Setter Property="Content" Value="&#xE1D5;"/>
- </Style>
- <Style x:Key="MicrophoneAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="MicrophoneAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Microphone"/>
- <Setter Property="Content" Value="&#xE1D6;"/>
- </Style>
- <Style x:Key="PostUpdateAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="PostUpdateAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Post Update"/>
- <Setter Property="Content" Value="&#xE1D7;"/>
- </Style>
- <Style x:Key="BackToWindowAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="BackToWindowAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Back to Window"/>
- <Setter Property="Content" Value="&#xE1D8;"/>
- </Style>
- -->
-
- <!--
- <Style x:Key="FullScreenAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="FullScreenAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Full Screen"/>
- <Setter Property="Content" Value="&#xE1D9;"/>
- </Style>
- <Style x:Key="NewFolderAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="NewFolderAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="New Folder"/>
- <Setter Property="Content" Value="&#xE1DA;"/>
- </Style>
- <Style x:Key="CalendarReplyAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="CalendarReplyAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Calendar Reply"/>
- <Setter Property="Content" Value="&#xE1DB;"/>
- </Style>
- <Style x:Key="UnsyncFolderAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="UnsyncFolderAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Unsync Folder"/>
- <Setter Property="Content" Value="&#xE1DD;"/>
- </Style>
- <Style x:Key="ReportHackedAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="ReportHackedAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Report Hacked"/>
- <Setter Property="Content" Value="&#xE1DE;"/>
- </Style>
- <Style x:Key="SyncFolderAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="SyncFolderAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Sync Folder"/>
- <Setter Property="Content" Value="&#xE1DF;"/>
- </Style>
- <Style x:Key="BlockContactAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="Block ContactAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="BlockContact"/>
- <Setter Property="Content" Value="&#xE1E0;"/>
- </Style>
- <Style x:Key="SwitchAppsAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="SwitchAppsAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Switch Apps"/>
- <Setter Property="Content" Value="&#xE1E1;"/>
- </Style>
- <Style x:Key="AddFriendAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="AddFriendAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Add Friend"/>
- <Setter Property="Content" Value="&#xE1E2;"/>
- </Style>
- <Style x:Key="TouchPointerAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="TouchPointerAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Touch Pointer"/>
- <Setter Property="Content" Value="&#xE1E3;"/>
- </Style>
- <Style x:Key="GoToStartAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="GoToStartAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Go to Start"/>
- <Setter Property="Content" Value="&#xE1E4;"/>
- </Style>
- <Style x:Key="ZeroBarsAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="ZeroBarsAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Zero Bars"/>
- <Setter Property="Content" Value="&#xE1E5;"/>
- </Style>
- <Style x:Key="OneBarAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="OneBarAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="One Bar"/>
- <Setter Property="Content" Value="&#xE1E6;"/>
- </Style>
- <Style x:Key="TwoBarsAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="TwoBarsAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Two Bars"/>
- <Setter Property="Content" Value="&#xE1E7;"/>
- </Style>
- <Style x:Key="ThreeBarsAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="ThreeBarsAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Three Bars"/>
- <Setter Property="Content" Value="&#xE1E8;"/>
- </Style>
- <Style x:Key="FourBarsAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
- <Setter Property="AutomationProperties.AutomationId" Value="FourBarsAppBarButton"/>
- <Setter Property="AutomationProperties.Name" Value="Four Bars"/>
- <Setter Property="Content" Value="&#xE1E9;"/>
- </Style>
-
- -->
-
- <!-- Title area styles -->
-
- <Style x:Key="PageHeaderTextStyle" TargetType="TextBlock" BasedOn="{StaticResource HeaderTextStyle}">
- <Setter Property="TextWrapping" Value="NoWrap"/>
- <Setter Property="VerticalAlignment" Value="Bottom"/>
- <Setter Property="Margin" Value="0,0,30,40"/>
- </Style>
-
- <Style x:Key="PageSubheaderTextStyle" TargetType="TextBlock" BasedOn="{StaticResource SubheaderTextStyle}">
- <Setter Property="TextWrapping" Value="NoWrap"/>
- <Setter Property="VerticalAlignment" Value="Bottom"/>
- <Setter Property="Margin" Value="0,0,0,40"/>
- </Style>
-
- <Style x:Key="SnappedPageHeaderTextStyle" TargetType="TextBlock" BasedOn="{StaticResource PageSubheaderTextStyle}">
- <Setter Property="Margin" Value="0,0,18,40"/>
- </Style>
-
- <!--
- BackButtonStyle is used to style a Button for use in the title area of a page. Margins appropriate for
- the conventional page layout are included as part of the style.
- -->
- <Style x:Key="BackButtonStyle" TargetType="Button">
- <Setter Property="MinWidth" Value="0"/>
- <Setter Property="Width" Value="48"/>
- <Setter Property="Height" Value="48"/>
- <Setter Property="Margin" Value="36,0,36,36"/>
- <Setter Property="VerticalAlignment" Value="Bottom"/>
- <Setter Property="FontFamily" Value="Segoe UI Symbol"/>
- <Setter Property="FontWeight" Value="Normal"/>
- <Setter Property="FontSize" Value="56"/>
- <Setter Property="AutomationProperties.AutomationId" Value="BackButton"/>
- <Setter Property="AutomationProperties.Name" Value="Back"/>
- <Setter Property="AutomationProperties.ItemType" Value="Navigation Button"/>
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="Button">
- <Grid x:Name="RootGrid">
- <Grid Margin="-1,-16,0,0">
- <TextBlock x:Name="BackgroundGlyph" Text="&#xE0A8;" Foreground="{StaticResource BackButtonBackgroundThemeBrush}"/>
- <TextBlock x:Name="NormalGlyph" Text="{StaticResource BackButtonGlyph}" Foreground="{StaticResource BackButtonForegroundThemeBrush}"/>
- <TextBlock x:Name="ArrowGlyph" Text="&#xE0A6;" Foreground="{StaticResource BackButtonPressedForegroundThemeBrush}" Opacity="0"/>
- </Grid>
- <Rectangle
- x:Name="FocusVisualWhite"
- IsHitTestVisible="False"
- Stroke="{StaticResource FocusVisualWhiteStrokeThemeBrush}"
- StrokeEndLineCap="Square"
- StrokeDashArray="1,1"
- Opacity="0"
- StrokeDashOffset="1.5"/>
- <Rectangle
- x:Name="FocusVisualBlack"
- IsHitTestVisible="False"
- Stroke="{StaticResource FocusVisualBlackStrokeThemeBrush}"
- StrokeEndLineCap="Square"
- StrokeDashArray="1,1"
- Opacity="0"
- StrokeDashOffset="0.5"/>
-
- <VisualStateManager.VisualStateGroups>
- <VisualStateGroup x:Name="CommonStates">
- <VisualState x:Name="Normal" />
- <VisualState x:Name="PointerOver">
- <Storyboard>
- <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundGlyph" Storyboard.TargetProperty="Foreground">
- <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource BackButtonPointerOverBackgroundThemeBrush}"/>
- </ObjectAnimationUsingKeyFrames>
- <ObjectAnimationUsingKeyFrames Storyboard.TargetName="NormalGlyph" Storyboard.TargetProperty="Foreground">
- <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource BackButtonPointerOverForegroundThemeBrush}"/>
- </ObjectAnimationUsingKeyFrames>
- </Storyboard>
- </VisualState>
- <VisualState x:Name="Pressed">
- <Storyboard>
- <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundGlyph" Storyboard.TargetProperty="Foreground">
- <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource BackButtonForegroundThemeBrush}"/>
- </ObjectAnimationUsingKeyFrames>
- <DoubleAnimation
- Storyboard.TargetName="ArrowGlyph"
- Storyboard.TargetProperty="Opacity"
- To="1"
- Duration="0"/>
- <DoubleAnimation
- Storyboard.TargetName="NormalGlyph"
- Storyboard.TargetProperty="Opacity"
- To="0"
- Duration="0"/>
- </Storyboard>
- </VisualState>
- <VisualState x:Name="Disabled">
- <Storyboard>
- <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid" Storyboard.TargetProperty="Visibility">
- <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>
- </ObjectAnimationUsingKeyFrames>
- </Storyboard>
- </VisualState>
- </VisualStateGroup>
- <VisualStateGroup x:Name="FocusStates">
- <VisualState x:Name="Focused">
- <Storyboard>
- <DoubleAnimation
- Storyboard.TargetName="FocusVisualWhite"
- Storyboard.TargetProperty="Opacity"
- To="1"
- Duration="0"/>
- <DoubleAnimation
- Storyboard.TargetName="FocusVisualBlack"
- Storyboard.TargetProperty="Opacity"
- To="1"
- Duration="0"/>
- </Storyboard>
- </VisualState>
- <VisualState x:Name="Unfocused" />
- <VisualState x:Name="PointerFocused" />
- </VisualStateGroup>
- </VisualStateManager.VisualStateGroups>
- </Grid>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
-
- <!--
- PortraitBackButtonStyle is used to style a Button for use in the title area of a portrait page. Margins appropriate
- for the conventional page layout are included as part of the style.
- -->
- <Style x:Key="PortraitBackButtonStyle" TargetType="Button" BasedOn="{StaticResource BackButtonStyle}">
- <Setter Property="Margin" Value="26,0,26,36"/>
- </Style>
-
- <!--
- SnappedBackButtonStyle is used to style a Button for use in the title area of a snapped page. Margins appropriate
- for the conventional page layout are included as part of the style.
-
- The obvious duplication here is necessary as the glyphs used in snapped are not merely smaller versions of the same
- glyph but are actually distinct.
- -->
- <Style x:Key="SnappedBackButtonStyle" TargetType="Button">
- <Setter Property="MinWidth" Value="0"/>
- <Setter Property="Margin" Value="20,0,0,0"/>
- <Setter Property="VerticalAlignment" Value="Bottom"/>
- <Setter Property="FontFamily" Value="Segoe UI Symbol"/>
- <Setter Property="FontWeight" Value="Normal"/>
- <Setter Property="FontSize" Value="26.66667"/>
- <Setter Property="AutomationProperties.AutomationId" Value="BackButton"/>
- <Setter Property="AutomationProperties.Name" Value="Back"/>
- <Setter Property="AutomationProperties.ItemType" Value="Navigation Button"/>
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="Button">
- <Grid x:Name="RootGrid" Width="36" Height="36" Margin="-3,0,7,33">
- <Grid Margin="-1,-1,0,0">
- <TextBlock x:Name="BackgroundGlyph" Text="&#xE0D4;" Foreground="{StaticResource BackButtonBackgroundThemeBrush}"/>
- <TextBlock x:Name="NormalGlyph" Text="{StaticResource BackButtonSnappedGlyph}" Foreground="{StaticResource BackButtonForegroundThemeBrush}"/>
- <TextBlock x:Name="ArrowGlyph" Text="&#xE0C4;" Foreground="{StaticResource BackButtonPressedForegroundThemeBrush}" Opacity="0"/>
- </Grid>
- <Rectangle
- x:Name="FocusVisualWhite"
- IsHitTestVisible="False"
- Stroke="{StaticResource FocusVisualWhiteStrokeThemeBrush}"
- StrokeEndLineCap="Square"
- StrokeDashArray="1,1"
- Opacity="0"
- StrokeDashOffset="1.5"/>
- <Rectangle
- x:Name="FocusVisualBlack"
- IsHitTestVisible="False"
- Stroke="{StaticResource FocusVisualBlackStrokeThemeBrush}"
- StrokeEndLineCap="Square"
- StrokeDashArray="1,1"
- Opacity="0"
- StrokeDashOffset="0.5"/>
-
- <VisualStateManager.VisualStateGroups>
- <VisualStateGroup x:Name="CommonStates">
- <VisualState x:Name="Normal" />
- <VisualState x:Name="PointerOver">
- <Storyboard>
- <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundGlyph" Storyboard.TargetProperty="Foreground">
- <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource BackButtonPointerOverBackgroundThemeBrush}"/>
- </ObjectAnimationUsingKeyFrames>
- <ObjectAnimationUsingKeyFrames Storyboard.TargetName="NormalGlyph" Storyboard.TargetProperty="Foreground">
- <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource BackButtonPointerOverForegroundThemeBrush}"/>
- </ObjectAnimationUsingKeyFrames>
- </Storyboard>
- </VisualState>
- <VisualState x:Name="Pressed">
- <Storyboard>
- <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundGlyph" Storyboard.TargetProperty="Foreground">
- <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource BackButtonForegroundThemeBrush}"/>
- </ObjectAnimationUsingKeyFrames>
- <DoubleAnimation
- Storyboard.TargetName="ArrowGlyph"
- Storyboard.TargetProperty="Opacity"
- To="1"
- Duration="0"/>
- <DoubleAnimation
- Storyboard.TargetName="NormalGlyph"
- Storyboard.TargetProperty="Opacity"
- To="0"
- Duration="0"/>
- </Storyboard>
- </VisualState>
- <VisualState x:Name="Disabled">
- <Storyboard>
- <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid" Storyboard.TargetProperty="Visibility">
- <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>
- </ObjectAnimationUsingKeyFrames>
- </Storyboard>
- </VisualState>
- </VisualStateGroup>
- <VisualStateGroup x:Name="FocusStates">
- <VisualState x:Name="Focused">
- <Storyboard>
- <DoubleAnimation
- Storyboard.TargetName="FocusVisualWhite"
- Storyboard.TargetProperty="Opacity"
- To="1"
- Duration="0"/>
- <DoubleAnimation
- Storyboard.TargetName="FocusVisualBlack"
- Storyboard.TargetProperty="Opacity"
- To="1"
- Duration="0"/>
- </Storyboard>
- </VisualState>
- <VisualState x:Name="Unfocused" />
- <VisualState x:Name="PointerFocused" />
- </VisualStateGroup>
- </VisualStateManager.VisualStateGroups>
- </Grid>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
-
- <!-- Item templates -->
-
- <!-- Grid-appropriate 250 pixel square item template as seen in the GroupedItemsPage and ItemsPage -->
- <DataTemplate x:Key="Standard250x250ItemTemplate">
- <Grid HorizontalAlignment="Left" Width="250" Height="250">
- <Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}">
- <Image Source="{Binding Image}" Stretch="UniformToFill" AutomationProperties.Name="{Binding Title}"/>
- </Border>
- <StackPanel VerticalAlignment="Bottom" Background="{StaticResource ListViewItemOverlayBackgroundThemeBrush}">
- <TextBlock Text="{Binding Title}" Foreground="{StaticResource ListViewItemOverlayForegroundThemeBrush}" Style="{StaticResource TitleTextStyle}" Height="60" Margin="15,0,15,0"/>
- <TextBlock Text="{Binding Subtitle}" Foreground="{StaticResource ListViewItemOverlaySecondaryForegroundThemeBrush}" Style="{StaticResource CaptionTextStyle}" TextWrapping="NoWrap" Margin="15,0,15,10"/>
- </StackPanel>
- </Grid>
- </DataTemplate>
-
- <!-- Grid-appropriate 500 by 130 pixel item template as seen in the GroupDetailPage -->
- <DataTemplate x:Key="Standard500x130ItemTemplate">
- <Grid Height="110" Width="480" Margin="10">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto"/>
- <ColumnDefinition Width="*"/>
- </Grid.ColumnDefinitions>
- <Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}" Width="110" Height="110">
- <Image Source="{Binding Image}" Stretch="UniformToFill" AutomationProperties.Name="{Binding Title}"/>
- </Border>
- <StackPanel Grid.Column="1" VerticalAlignment="Top" Margin="10,0,0,0">
- <TextBlock Text="{Binding Title}" Style="{StaticResource TitleTextStyle}" TextWrapping="NoWrap"/>
- <TextBlock Text="{Binding Subtitle}" Style="{StaticResource CaptionTextStyle}" TextWrapping="NoWrap"/>
- <TextBlock Text="{Binding Description}" Style="{StaticResource BodyTextStyle}" MaxHeight="60"/>
- </StackPanel>
- </Grid>
- </DataTemplate>
-
- <!-- List-appropriate 130 pixel high item template as seen in the SplitPage -->
- <DataTemplate x:Key="Standard130ItemTemplate">
- <Grid Height="110" Margin="6">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto"/>
- <ColumnDefinition Width="*"/>
- </Grid.ColumnDefinitions>
- <Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}" Width="110" Height="110">
- <Image Source="{Binding Image}" Stretch="UniformToFill" AutomationProperties.Name="{Binding Title}"/>
- </Border>
- <StackPanel Grid.Column="1" VerticalAlignment="Top" Margin="10,0,0,0">
- <TextBlock Text="{Binding Title}" Style="{StaticResource TitleTextStyle}" TextWrapping="NoWrap"/>
- <TextBlock Text="{Binding Subtitle}" Style="{StaticResource CaptionTextStyle}" TextWrapping="NoWrap"/>
- <TextBlock Text="{Binding Description}" Style="{StaticResource BodyTextStyle}" MaxHeight="60"/>
- </StackPanel>
- </Grid>
- </DataTemplate>
-
- <!--
- List-appropriate 80 pixel high item template as seen in the SplitPage when Filled, and
- the following pages when snapped: GroupedItemsPage, GroupDetailPage, and ItemsPage
- -->
- <DataTemplate x:Key="Standard80ItemTemplate">
- <Grid Margin="6">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto"/>
- <ColumnDefinition Width="*"/>
- </Grid.ColumnDefinitions>
- <Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}" Width="60" Height="60">
- <Image Source="{Binding Image}" Stretch="UniformToFill"/>
- </Border>
- <StackPanel Grid.Column="1" Margin="10,0,0,0">
- <TextBlock Text="{Binding Title}" Style="{StaticResource ItemTextStyle}" MaxHeight="40"/>
- <TextBlock Text="{Binding Subtitle}" Style="{StaticResource CaptionTextStyle}" TextWrapping="NoWrap"/>
- </StackPanel>
- </Grid>
- </DataTemplate>
-
- <!-- Grid-appropriate 300 by 70 pixel item template as seen in the SearchResultsPage -->
- <DataTemplate x:Key="StandardSmallIcon300x70ItemTemplate">
- <Grid Width="294" Margin="6">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto"/>
- <ColumnDefinition Width="*"/>
- </Grid.ColumnDefinitions>
- <Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}" Margin="0,0,0,10" Width="40" Height="40">
- <Image Source="{Binding Image}" Stretch="UniformToFill"/>
- </Border>
- <StackPanel Grid.Column="1" Margin="10,-10,0,0">
- <TextBlock Text="{Binding Title}" Style="{StaticResource BodyTextStyle}" TextWrapping="NoWrap"/>
- <TextBlock Text="{Binding Subtitle}" Style="{StaticResource BodyTextStyle}" Foreground="{StaticResource ApplicationSecondaryForegroundThemeBrush}" TextWrapping="NoWrap"/>
- <TextBlock Text="{Binding Description}" Style="{StaticResource BodyTextStyle}" Foreground="{StaticResource ApplicationSecondaryForegroundThemeBrush}" TextWrapping="NoWrap"/>
- </StackPanel>
- </Grid>
- </DataTemplate>
-
- <!-- List-appropriate 70 pixel high item template as seen in the SearchResultsPage when Snapped -->
- <DataTemplate x:Key="StandardSmallIcon70ItemTemplate">
- <Grid Margin="6">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto"/>
- <ColumnDefinition Width="*"/>
- </Grid.ColumnDefinitions>
- <Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}" Margin="0,0,0,10" Width="40" Height="40">
- <Image Source="{Binding Image}" Stretch="UniformToFill"/>
- </Border>
- <StackPanel Grid.Column="1" Margin="10,-10,0,0">
- <TextBlock Text="{Binding Title}" Style="{StaticResource BodyTextStyle}" TextWrapping="NoWrap"/>
- <TextBlock Text="{Binding Subtitle}" Style="{StaticResource BodyTextStyle}" Foreground="{StaticResource ApplicationSecondaryForegroundThemeBrush}" TextWrapping="NoWrap"/>
- <TextBlock Text="{Binding Description}" Style="{StaticResource BodyTextStyle}" Foreground="{StaticResource ApplicationSecondaryForegroundThemeBrush}" TextWrapping="NoWrap"/>
- </StackPanel>
- </Grid>
- </DataTemplate>
-
- <!--
- 190x130 pixel item template for displaying file previews as seen in the FileOpenPickerPage
- Includes an elaborate tooltip to display title and description text
- -->
- <DataTemplate x:Key="StandardFileWithTooltip190x130ItemTemplate">
- <Grid>
- <Grid Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}">
- <Image
- Source="{Binding Image}"
- Width="190"
- Height="130"
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Stretch="Uniform"/>
- </Grid>
- <ToolTipService.Placement>Mouse</ToolTipService.Placement>
- <ToolTipService.ToolTip>
- <ToolTip>
- <ToolTip.Style>
- <Style TargetType="ToolTip">
- <Setter Property="BorderBrush" Value="{StaticResource ToolTipBackgroundThemeBrush}" />
- <Setter Property="Padding" Value="0" />
- </Style>
- </ToolTip.Style>
-
- <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto"/>
- <ColumnDefinition Width="*"/>
- </Grid.ColumnDefinitions>
-
- <Grid Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}" Margin="20">
- <Image
- Source="{Binding Image}"
- Width="160"
- Height="160"
- HorizontalAlignment="Center"
- VerticalAlignment="Center"
- Stretch="Uniform"/>
- </Grid>
- <StackPanel Width="200" Grid.Column="1" Margin="0,20,20,20">
- <TextBlock Text="{Binding Title}" TextWrapping="NoWrap" Style="{StaticResource BodyTextStyle}"/>
- <TextBlock Text="{Binding Description}" MaxHeight="140" Foreground="{StaticResource ApplicationSecondaryForegroundThemeBrush}" Style="{StaticResource BodyTextStyle}"/>
- </StackPanel>
- </Grid>
- </ToolTip>
- </ToolTipService.ToolTip>
- </Grid>
- </DataTemplate>
-
- <!-- ScrollViewer styles -->
-
- <Style x:Key="HorizontalScrollViewerStyle" TargetType="ScrollViewer">
- <Setter Property="HorizontalScrollBarVisibility" Value="Auto"/>
- <Setter Property="VerticalScrollBarVisibility" Value="Disabled"/>
- <Setter Property="ScrollViewer.HorizontalScrollMode" Value="Enabled" />
- <Setter Property="ScrollViewer.VerticalScrollMode" Value="Disabled" />
- <Setter Property="ScrollViewer.ZoomMode" Value="Disabled" />
- </Style>
-
- <Style x:Key="VerticalScrollViewerStyle" TargetType="ScrollViewer">
- <Setter Property="HorizontalScrollBarVisibility" Value="Disabled"/>
- <Setter Property="VerticalScrollBarVisibility" Value="Auto"/>
- <Setter Property="ScrollViewer.HorizontalScrollMode" Value="Disabled" />
- <Setter Property="ScrollViewer.VerticalScrollMode" Value="Enabled" />
- <Setter Property="ScrollViewer.ZoomMode" Value="Disabled" />
- </Style>
-
- <!-- Page layout roots typically use entrance animations and a theme-appropriate background color -->
-
- <Style x:Key="LayoutRootStyle" TargetType="Panel">
- <Setter Property="Background" Value="{StaticResource ApplicationPageBackgroundThemeBrush}"/>
- <Setter Property="ChildrenTransitions">
- <Setter.Value>
- <TransitionCollection>
- <EntranceThemeTransition/>
- </TransitionCollection>
- </Setter.Value>
- </Setter>
- </Style>
-</ResourceDictionary>
diff --git a/platform/windows/mupdf_cpp/DocumentPage.cpp b/platform/windows/mupdf_cpp/DocumentPage.cpp
deleted file mode 100644
index 39a22aa9..00000000
--- a/platform/windows/mupdf_cpp/DocumentPage.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-#include "pch.h"
-#include "DocumentPage.h"
-
-namespace mupdf_cpp
-{
- DocumentPage::DocumentPage(void)
- {
- this->Image = nullptr;
- this->Height = 0;
- this->Width = 0;
- this->PageZoom = 1.0;
- this->Content = NOTSET;
- _isPropertyChangedObserved = false;
- }
-}
diff --git a/platform/windows/mupdf_cpp/DocumentPage.h b/platform/windows/mupdf_cpp/DocumentPage.h
deleted file mode 100644
index 383d63d1..00000000
--- a/platform/windows/mupdf_cpp/DocumentPage.h
+++ /dev/null
@@ -1,231 +0,0 @@
-#pragma once
-
-#include "RectList.h"
-#include <collection.h>
-
-/* Used for binding to the xaml in the scroll view. */
-using namespace Windows::UI::Xaml::Media::Imaging;
-using namespace Windows::UI::Xaml::Controls;
-using namespace Windows::Foundation::Collections;
-using namespace Windows::UI::Xaml::Data;
-
-typedef enum {
- FULL_RESOLUTION = 0,
- THUMBNAIL,
- DUMMY,
- OLD_RESOLUTION,
- PRINT_PREVIEW,
- NOTSET
-} Page_Content_t;
-
-namespace mupdf_cpp
-{
- // enables data binding with this class
- [Windows::UI::Xaml::Data::Bindable]
- public ref class DocumentPage sealed : Windows::UI::Xaml::Data::INotifyPropertyChanged
- {
- private:
- int height;
- int width;
- double page_zoom;
- int native_height;
- int native_width;
- WriteableBitmap^ image;
- Page_Content_t content;
- IVector<RectList^>^ textbox;
- IVector<RectList^>^ linkbox;
- public:
- DocumentPage(void);
-
- /* Note IVector needed for WinRT interface */
- property IVector<RectList^>^ TextBox
- {
- IVector<RectList^>^ get()
- {
- return (textbox);
- }
-
- void set(IVector<RectList^>^ value)
- {
- textbox = value;
- DocumentPage::OnPropertyChanged("TextBox");
- }
- }
-
- property IVector<RectList^>^ LinkBox
- {
- IVector<RectList^>^ get()
- {
- return (linkbox);
- }
-
- void set(IVector<RectList^>^ value)
- {
- linkbox = value;
- DocumentPage::OnPropertyChanged("LinkBox");
- }
- }
-
- property int Content
- {
- int get()
- {
- return ((int) content);
- }
-
- void set(int value)
- {
- if (value > NOTSET)
- {
- throw ref new Platform::InvalidArgumentException();
- }
- content = (Page_Content_t) value;
- }
- }
-
- property int Height
- {
- int get()
- {
- return height;
- }
-
- void set(int value)
- {
- if (value < 0)
- {
- throw ref new Platform::InvalidArgumentException();
- }
- height = value;
- }
- }
-
- property int Width
- {
- int get()
- {
- return width;
- }
-
- void set(int value)
- {
- if (value < 0)
- {
- throw ref new Platform::InvalidArgumentException();
- }
- width = value;
- }
- }
- property int NativeHeight
- {
- int get()
- {
- return native_height;
- }
-
- void set(int value)
- {
- if (value < 0)
- {
- throw ref new Platform::InvalidArgumentException();
- }
- native_height = value;
- }
- }
-
- property int NativeWidth
- {
- int get()
- {
- return native_width;
- }
-
- void set(int value)
- {
- if (value < 0)
- {
- throw ref new Platform::InvalidArgumentException();
- }
- native_width = value;
- }
- }
-
- property double PageZoom
- {
- double get()
- {
- return page_zoom;
- }
-
- void set(double value)
- {
- if (value < 0)
- {
- throw ref new Platform::InvalidArgumentException();
- }
- page_zoom = value;
- }
- }
-
- property WriteableBitmap^ Image
- {
- WriteableBitmap^ get()
- {
- return image;
- }
-
- void set(WriteableBitmap^ value)
- {
- image = value;
- DocumentPage::OnPropertyChanged("Image");
- }
- }
-
- private:
- bool _isPropertyChangedObserved;
- event Windows::UI::Xaml::Data::PropertyChangedEventHandler^ _privatePropertyChanged;
-
- protected:
- /// <summary>
- /// Notifies listeners that a property value has changed.
- /// </summary>
- /// <param name="propertyName">Name of the property used to notify listeners.</param>
- void OnPropertyChanged(String^ propertyName)
- {
- if (_isPropertyChangedObserved)
- {
- PropertyChanged(this, ref new PropertyChangedEventArgs(propertyName));
- }
- }
-
- public:
-
- // in c++, it is not neccessary to include definitions
- // of add, remove, and raise. These definitions have
- // been made explicitly here so that we can check if
- // the event has listeners before firing the event.
- virtual event Windows::UI::Xaml::Data::PropertyChangedEventHandler^ PropertyChanged
- {
- virtual Windows::Foundation::EventRegistrationToken add(Windows::UI::Xaml::Data::PropertyChangedEventHandler^ e)
- {
- _isPropertyChangedObserved = true;
- return _privatePropertyChanged += e;
- }
-
- virtual void remove(Windows::Foundation::EventRegistrationToken t)
- {
- _privatePropertyChanged -= t;
- }
-
- protected:
- virtual void raise(Object^ sender, Windows::UI::Xaml::Data::PropertyChangedEventArgs^ e)
- {
- if (_isPropertyChangedObserved)
- {
- _privatePropertyChanged(sender, e);
- }
- }
- }
-#pragma endregion
- };
-}
diff --git a/platform/windows/mupdf_cpp/MainPage.xaml b/platform/windows/mupdf_cpp/MainPage.xaml
deleted file mode 100644
index 42296f6a..00000000
--- a/platform/windows/mupdf_cpp/MainPage.xaml
+++ /dev/null
@@ -1,299 +0,0 @@
-<Page
- x:Class="mupdf_cpp.MainPage"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:local="using:winapp"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- mc:Ignorable="d">
-
- <Page.BottomAppBar>
- <AppBar>
- <Grid Margin="38,0,0,0">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="*"/>
- <ColumnDefinition Width="Auto"/>
- </Grid.ColumnDefinitions>
- <Slider x:Name="xaml_PageSlider" Minimum="0" Maximum="10" PointerCaptureLost="Slider_ValueChanged" KeyUp="Slider_Key" Grid.Column="0" Margin="10,0" VerticalAlignment="Center" />
- <Button x:Name="Find_File" Style="{StaticResource OpenFileAppBarButtonStyle}" Tag="OpenFile" HorizontalAlignment="Right" Grid.Column="1" Click="Picker"/>
- </Grid>
- </AppBar>
- </Page.BottomAppBar>
- <Page.TopAppBar>
- <AppBar x:Name="TopAppBar1" AutomationProperties.Name="Top App Bar" Loaded="topAppBar_Loaded">
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto"/>
- <RowDefinition Height="Auto"/>
- </Grid.RowDefinitions>
- <StackPanel x:Name="LeftPanel" Orientation="Horizontal" HorizontalAlignment="Left" >
- <TextBox x:Name="FindBox" Width="200" Height="20" Margin="2"/>
- <Button x:Name="PrevSearch" Style="{StaticResource PreviousAppBarButtonStyle}" Click="SearchPrev"/>
- <Button x:Name="NextSearch" Style="{StaticResource NextAppBarButtonStyle}" Click="SearchNext"/>
-
- </StackPanel>
- <StackPanel x:Name="RightPanel" Orientation="Horizontal" HorizontalAlignment="Right">
- <Button x:Name="Search" Style="{StaticResource SearchAppBarButtonStyle}" Tag="Search" Click="Searcher"/>
- <Button x:Name="ZoomIn" Style="{StaticResource ZoomInAppBarButtonStyle}" Tag="ZoomIn" Click="ZoomInPress"/>
- <Button x:Name="ZoomOut" Style="{StaticResource ZoomOutAppBarButtonStyle}" Tag="ZoomOut" Click="ZoomOutPress"/>
- <Button x:Name="Contents" Style="{StaticResource ContentsBarButtonStyle}" Tag="Contents" Click="ContentDisplay"/>
- <Button x:Name="Links" Style="{StaticResource LinksAppBarButtonStyle}" Tag="Links" Click="Linker"/>
- <Button x:Name="Reflow" Style="{StaticResource ReflowAppBarButtonStyle}" Tag="Reflow" Click="Reflower"/>
- </StackPanel>
- </Grid>
- </AppBar>
- </Page.TopAppBar>
-
- <Grid x:Name="xaml_OutsideGrid">
- <Grid.Background>
- <LinearGradientBrush EndPoint="-0.074,-0.068" StartPoint="1.027,1.024">
- <GradientStop Color="Black"/>
- <GradientStop Color="White"/>
- <GradientStop Color="White" Offset="0.919"/>
- <GradientStop Color="#FFCDCDCD" Offset="0.741"/>
- <GradientStop Color="#FF909090" Offset="0.524"/>
- <GradientStop Color="#FF737373" Offset="0.421"/>
- <GradientStop Color="#FF2A2A2A" Offset="0.155"/>
- <GradientStop Color="#FF1A1A1A" Offset="0.097"/>
- <GradientStop Color="#FF040404" Offset="0.018"/>
- <GradientStop Color="#FFB3B3B3" Offset="0.651"/>
- <GradientStop Color="#FF989898" Offset="0.556"/>
- <GradientStop Color="#FF666666" Offset="0.375"/>
- <GradientStop Color="#FF4B4B4B" Offset="0.278"/>
- <GradientStop Color="#FF3A3A3A" Offset="0.215"/>
- </LinearGradientBrush>
- </Grid.Background>
-
- <Grid x:Name="xaml_MainGrid" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" SizeChanged="GridSizeChanged">
- <Canvas x:Name="xaml_zoomCanvas" HorizontalAlignment="Center" VerticalAlignment="Center" ManipulationMode="All" >
- <!-- Horizontal flip view -->
- <FlipView x:Name="xaml_horiz_flipView" SelectionChanged="FlipView_SelectionChanged" VerticalAlignment="Center"
- HorizontalAlignment="Center" UseTouchAnimationsForAllNavigation="False">
- <FlipView.ItemsPanel>
- <ItemsPanelTemplate>
- <VirtualizingStackPanel Orientation="Horizontal"/>
- </ItemsPanelTemplate>
- </FlipView.ItemsPanel>
- <FlipView.ItemTemplate>
- <DataTemplate>
- <ScrollViewer
- Name="xaml_ScrollView_h"
- ZoomMode="Enabled"
- ViewChanged="ScrollChanged"
- HorizontalScrollMode="Auto"
- VerticalScrollMode="Auto"
- VerticalSnapPointsType="None"
- HorizontalSnapPointsType="None"
- HorizontalScrollBarVisibility="Auto"
- VerticalScrollBarVisibility="Auto"
- MinZoomFactor="0.25"
- MaxZoomFactor="4" IsZoomChainingEnabled="true">
- <Canvas HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Height="{Binding Height}" Width="{Binding Width}">
- <Image Source="{Binding Image}" Width="{Binding Width}" Height="{Binding Height}"
- Stretch="Uniform" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0"/>
- <!-- After much work, figured out how to have a binding for the rectangles. TextBox and LinkBox are
- a collection that is in the other main collection used for the scroll viewer. It works
- nicely and cleanly once you figure out how to set up all the templates and the bindings -->
- <ItemsControl ItemsSource="{Binding Path=TextBox}">
- <ItemsControl.ItemsPanel>
- <ItemsPanelTemplate>
- <Canvas/>
- </ItemsPanelTemplate>
- </ItemsControl.ItemsPanel>
- <ItemsControl.ItemContainerStyle>
- <Style TargetType="ContentPresenter">
- <Setter Property="Canvas.Left" Value="{Binding Left}"/>
- <Setter Property="Canvas.Top" Value="{Binding Top}"/>
- </Style>
- </ItemsControl.ItemContainerStyle>
- <ItemsControl.ItemTemplate>
- <DataTemplate>
- <Rectangle Tag="{Binding Path=Index}" Width="{Binding Path=Width}" Height="{Binding Path=Height}" Fill="{Binding Path=Color}">
- <Rectangle.RenderTransform>
- <TranslateTransform X="{Binding Path=X}" Y="{Binding Path=Y}"/>
- </Rectangle.RenderTransform>
- </Rectangle>
- </DataTemplate>
- </ItemsControl.ItemTemplate>
- </ItemsControl>
-
- <ItemsControl ItemsSource="{Binding Path=LinkBox}">
- <ItemsControl.ItemsPanel>
- <ItemsPanelTemplate>
- <Canvas/>
- </ItemsPanelTemplate>
- </ItemsControl.ItemsPanel>
- <ItemsControl.ItemContainerStyle>
- <Style TargetType="ContentPresenter">
- <Setter Property="Canvas.Left" Value="{Binding Left}"/>
- <Setter Property="Canvas.Top" Value="{Binding Top}"/>
- </Style>
- </ItemsControl.ItemContainerStyle>
- <ItemsControl.ItemTemplate>
- <DataTemplate>
- <Rectangle Tag="{Binding Path=Index}" Width="{Binding Path=Width}" Height="{Binding Path=Height}" Fill="{Binding Path=Color}" IsTapEnabled="True" Tapped="LinkTapped">
- <Rectangle.RenderTransform>
- <TranslateTransform X="{Binding Path=X}" Y="{Binding Path=Y}"/>
- </Rectangle.RenderTransform>
- </Rectangle>
- </DataTemplate>
- </ItemsControl.ItemTemplate>
- </ItemsControl>
-
- </Canvas>
- </ScrollViewer>
- </DataTemplate>
- </FlipView.ItemTemplate>
- </FlipView>
- <!-- Vertical flip view -->
- <FlipView x:Name="xaml_vert_flipView" SelectionChanged="FlipView_SelectionChanged" VerticalAlignment="Center"
- HorizontalAlignment="Center" IsEnabled="False" Opacity="0" UseTouchAnimationsForAllNavigation="False">
- <FlipView.ItemsPanel>
- <ItemsPanelTemplate>
- <VirtualizingStackPanel Orientation="Vertical"/>
- </ItemsPanelTemplate>
- </FlipView.ItemsPanel>
- <FlipView.ItemTemplate>
- <DataTemplate>
- <ScrollViewer
- Name="xaml_ScrollView_v"
- ZoomMode="Enabled"
- ViewChanged="ScrollChanged"
- HorizontalScrollMode="Auto"
- VerticalScrollMode="Auto"
- VerticalSnapPointsType="None"
- HorizontalSnapPointsType="None"
- HorizontalScrollBarVisibility="Auto"
- VerticalScrollBarVisibility="Auto"
- MinZoomFactor="0.25"
- MaxZoomFactor="4">
- <Canvas HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Height="{Binding Height}" Width="{Binding Width}">
- <Image Source="{Binding Image}" Width="{Binding Width}" Height="{Binding Height}"
- Stretch="Uniform" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0"/>
- <ItemsControl ItemsSource="{Binding Path=TextBox}">
- <ItemsControl.ItemsPanel>
- <ItemsPanelTemplate>
- <Canvas/>
- </ItemsPanelTemplate>
- </ItemsControl.ItemsPanel>
- <ItemsControl.ItemContainerStyle>
- <Style TargetType="ContentPresenter">
- <Setter Property="Canvas.Left" Value="{Binding Left}"/>
- <Setter Property="Canvas.Top" Value="{Binding Top}"/>
- </Style>
- </ItemsControl.ItemContainerStyle>
- <ItemsControl.ItemTemplate>
- <DataTemplate>
- <Rectangle Tag="{Binding Path=Index}" Width="{Binding Path=Width}" Height="{Binding Path=Height}" Fill="{Binding Path=Color}" IsTapEnabled="True" Tapped="LinkTapped">
- <Rectangle.RenderTransform>
- <TranslateTransform X="{Binding Path=X}" Y="{Binding Path=Y}"/>
- </Rectangle.RenderTransform>
- </Rectangle>
- </DataTemplate>
- </ItemsControl.ItemTemplate>
- </ItemsControl>
-
- <ItemsControl ItemsSource="{Binding Path=LinkBox}">
- <ItemsControl.ItemsPanel>
- <ItemsPanelTemplate>
- <Canvas/>
- </ItemsPanelTemplate>
- </ItemsControl.ItemsPanel>
- <ItemsControl.ItemContainerStyle>
- <Style TargetType="ContentPresenter">
- <Setter Property="Canvas.Left" Value="{Binding Left}"/>
- <Setter Property="Canvas.Top" Value="{Binding Top}"/>
- </Style>
- </ItemsControl.ItemContainerStyle>
- <ItemsControl.ItemTemplate>
- <DataTemplate>
- <Rectangle Tag="{Binding Path=Index}" Width="{Binding Path=Width}" Height="{Binding Path=Height}" Fill="{Binding Path=Color}" IsTapEnabled="True" Tapped="LinkTapped">
- <Rectangle.RenderTransform>
- <TranslateTransform X="{Binding Path=X}" Y="{Binding Path=Y}"/>
- </Rectangle.RenderTransform>
- </Rectangle>
- </DataTemplate>
- </ItemsControl.ItemTemplate>
- </ItemsControl>
- </Canvas>
- </ScrollViewer>
- </DataTemplate>
- </FlipView.ItemTemplate>
- </FlipView>
- </Canvas>
- <ListView x:Name="xaml_ListView" Foreground="Black" HorizontalAlignment="Stretch"
- VerticalAlignment="Stretch" Opacity="0" IsItemClickEnabled="True"
- ItemClick="ContentSelected" SelectionMode="Single" IsEnabled="False">
-
- <ListView.ItemTemplate>
- <DataTemplate>
- <StackPanel Margin="5,5,0,0" HorizontalAlignment="Left">
- <TextBlock TextWrapping="Wrap" Text="{Binding StringMargin}" FontFamily="Segoe UI" FontSize="20" />
- </StackPanel>
- </DataTemplate>
- </ListView.ItemTemplate>
-
- <ListView.Background>
- <SolidColorBrush Color="LightGray"></SolidColorBrush>
- </ListView.Background>
- </ListView>
- </Grid>
-
- <!-- Note that windows webview does not reflow when we scale. It
- will only do this with a size change. Unfortunately, the webview
- object is special in that it intercepts all actions and passes
- nothing to the application for these manipulations. I tried
- various things including the use of a webview brush to
- capture the current webview but that is a complex issue since
- it is a static image in that case. The other option would
- be to go to a Rich Text type of view. -->
- <WebView x:Name="xaml_WebView" HorizontalAlignment="Stretch" Width="Auto" Height="Auto"
- VerticalAlignment="Stretch" Visibility="Collapsed"
- ScrollViewer.HorizontalScrollBarVisibility="Visible"
- ScrollViewer.VerticalScrollBarVisibility="Visible"
- ScrollViewer.VerticalScrollMode="Enabled"
- ScrollViewer.HorizontalScrollMode="Enabled"
- ScrollViewer.ZoomMode="Enabled"/>
-
- <StackPanel x:Name="xaml_ProgressStack" Opacity="1" VerticalAlignment="Center" Margin="0,15" HorizontalAlignment="Center" Visibility="Collapsed">
- <Border BorderThickness="5" BorderBrush="Black" >
- <StackPanel Background="LightGray" HorizontalAlignment="Left" Width="756" >
- <TextBlock HorizontalAlignment="Center" Margin="10"
- Text="Text Search Progress" FontSize="20"/>
- <ProgressBar x:Name="xaml_Progress" Margin="5" Height="15"
- IsIndeterminate="False" Maximum="100" VerticalAlignment="Stretch" />
- <Button HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,10" Click="CancelSearch" Height="39">
- <TextBlock HorizontalAlignment="Center" Text="Cancel"/>
- </Button>
- </StackPanel>
- </Border>
- </StackPanel>
-
- <StackPanel x:Name="xaml_PrintStack" Opacity="1" VerticalAlignment="Center" Margin="0,15" HorizontalAlignment="Center" Visibility="Collapsed">
- <Border BorderThickness="5" BorderBrush="Black" >
- <StackPanel Background="LightGray" HorizontalAlignment="Left" Width="756" >
- <TextBlock HorizontalAlignment="Center" Margin="10"
- Text="Print Progress" FontSize="20"/>
- <ProgressBar x:Name="xaml_PrintProgress" Margin="5" Height="15"
- IsIndeterminate="False" Maximum="100" VerticalAlignment="Stretch" />
- <Button HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,10" Click="HideProgress" Height="39">
- <TextBlock HorizontalAlignment="Center" Text="Hide"/>
- </Button>
- </StackPanel>
- </Border>
- </StackPanel>
-
- <StackPanel x:Name="xaml_PasswordStack" Opacity="1" VerticalAlignment="Center" HorizontalAlignment="Center" Visibility="Collapsed">
- <Border BorderThickness="5" BorderBrush="Black" >
- <StackPanel Background="LightGray" >
- <TextBlock HorizontalAlignment="Center" Margin="10"
- Text="Password Required" FontSize="20"/>
- <PasswordBox x:Name="xaml_password" Height="35" Width="400" Margin="20"/>
- <Button HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,10" Click="PasswordOK" Height="39">
- <TextBlock HorizontalAlignment="Center" Text="OK"/>
- </Button>
- </StackPanel>
- </Border>
- </StackPanel>
- </Grid>
-</Page>
diff --git a/platform/windows/mupdf_cpp/MainPage.xaml.cpp b/platform/windows/mupdf_cpp/MainPage.xaml.cpp
deleted file mode 100644
index a57a7a23..00000000
--- a/platform/windows/mupdf_cpp/MainPage.xaml.cpp
+++ /dev/null
@@ -1,2394 +0,0 @@
-//
-// MainPage.xaml.cpp
-// Implementation of the MainPage class.
-//
-
-#include "pch.h"
-#include "MainPage.xaml.h"
-#include <regex>
-#include <sstream>
-#include "DXGI1_3.h"
-
-#define LOOK_AHEAD 1 /* A +/- count on the pages to pre-render */
-#define THUMB_PREADD 10
-#define MIN_SCALE 0.5
-
-#define SCALE_THUMB 0.1
-#define PRINT_PREVIEW_SCALE 0.5
-
-#define BLANK_WIDTH 17
-#define BLANK_HEIGHT 22
-
-#define KEYBOARD_ZOOM_STEP 0.25
-#define ZOOM_MAX 4
-#define ZOOM_MIN 0.25
-
-#define KEY_PLUS 0xbb
-#define KEY_MINUS 0xbd
-#define ZOOM_IN 0
-#define ZOOM_OUT 1
-
-#define SEARCH_FIT 672
-#define VS_LARGE 1366
-#define VS_SMALL 500
-
-static float screenScale = 1;
-
-using namespace mupdf_cpp;
-using namespace Windows::Foundation;
-using namespace Windows::UI::Xaml;
-using namespace Windows::UI::Xaml::Controls;
-using namespace Windows::UI::Xaml::Controls::Primitives;
-using namespace Windows::UI::Xaml::Data;
-using namespace Windows::UI::Xaml::Media;
-using namespace Windows::UI::Xaml::Navigation;
-using namespace Windows::Graphics::Display;
-using namespace Windows::Graphics::Printing;
-using namespace Windows::UI::Core;
-
-//****************** Added *****************
-using namespace Windows::Storage::Pickers;
-using namespace Windows::Devices::Enumeration;
-using namespace concurrency;
-using namespace Windows::Graphics::Imaging;
-//****************** End Add ****************
-
-#ifndef NDEBUG
-unsigned int _mainThreadId = 0U;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
- // The IsMainThread function returns true if the current thread is the app's main thread and false otherwise.
- bool IsMainThread()
- {
- return (_mainThreadId == GetCurrentThreadId());
- }
-
- // The IsBackgroundThread function returns false if the current thread is the app's main thread and true otherwise.
- bool IsBackgroundThread()
- {
- return (_mainThreadId != GetCurrentThreadId());
- }
-
- // The RecordMainThread function registers the main thread ID for use by the IsMainThread and IsBackgroundThread functions.
- void RecordMainThread()
- {
- _mainThreadId = GetCurrentThreadId();
- }
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* not NDEBUG */
-
-MainPage::MainPage()
-{
- InitializeComponent();
- Application::Current->Suspending +=
- ref new SuspendingEventHandler(this, &MainPage::App_Suspending);
- Application::Current->UnhandledException +=
- ref new UnhandledExceptionEventHandler(this, &MainPage::ExceptionHandler);
- m_textcolor="#402572AC";
- m_linkcolor="#40AC7225";
- mu_doc = nullptr;
- m_docPages = ref new Platform::Collections::Vector<DocumentPage^>();
- m_thumbnails = ref new Platform::Collections::Vector<DocumentPage^>();
- m_page_link_list = ref new Platform::Collections::Vector<IVector<RectList^>^>();
- m_text_list = ref new Platform::Collections::Vector<RectList^>();
- m_linkset = ref new Platform::Collections::Vector<int>();
- if (m_docPages == nullptr || m_thumbnails == nullptr ||
- m_page_link_list == nullptr || m_text_list == nullptr ||
- m_linkset == nullptr)
- throw ref new FailureException("Document allocation failed!");
-
- SetUpDirectX();
- RegisterForPrinting();
- CleanUp();
-#ifndef NDEBUG
- RecordMainThread();
-#endif
- /* So that we can catch special loading events (e.g. open with) */
- _pageLoadedHandlerToken = Loaded += ref new RoutedEventHandler(this, &MainPage::Page_Loaded);
-}
-
-/* You need a Direct3D device to create a Direct2D device. This gets stuff
- set up for Direct2D printing support */
-void MainPage::SetUpDirectX()
-{
- UINT creation_flags = D3D11_CREATE_DEVICE_BGRA_SUPPORT;
- ComPtr<IDXGIDevice> dxgi_device;
- D2D1_FACTORY_OPTIONS options;
- ZeroMemory(&options, sizeof(D2D1_FACTORY_OPTIONS));
- D3D_FEATURE_LEVEL feature_levels[] =
- {
- D3D_FEATURE_LEVEL_11_1,
- D3D_FEATURE_LEVEL_11_0,
- D3D_FEATURE_LEVEL_10_1,
- D3D_FEATURE_LEVEL_10_0,
- D3D_FEATURE_LEVEL_9_3,
- D3D_FEATURE_LEVEL_9_2,
- D3D_FEATURE_LEVEL_9_1
- };
- ComPtr<ID3D11Device> device;
- ComPtr<ID3D11DeviceContext> context;
-
-#if defined(_DEBUG)
- options.debugLevel = D2D1_DEBUG_LEVEL_INFORMATION;
-#endif
-
- ThrowIfFailed(D3D11CreateDevice(nullptr, D3D_DRIVER_TYPE_HARDWARE, 0,
- creation_flags, feature_levels, ARRAYSIZE(feature_levels),
- D3D11_SDK_VERSION, &device, &m_featureLevel, &context));
- ThrowIfFailed(device.As(&m_d3d_device));
- ThrowIfFailed(context.As(&m_d3d_context));
- ThrowIfFailed(m_d3d_device.As(&dxgi_device));
- ThrowIfFailed(D2D1CreateFactory(D2D1_FACTORY_TYPE_MULTI_THREADED,
- __uuidof(ID2D1Factory1), &options, &m_d2d_factory));
- ThrowIfFailed(CoCreateInstance(CLSID_WICImagingFactory, nullptr,
- CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&m_wic_factory)));
- m_d2d_factory->CreateDevice(dxgi_device.Get(), &m_d2d_device);
-}
-
-/* Used during launch of application from file when application was not
- already running */
-void MainPage::Page_Loaded(Object^ sender, RoutedEventArgs^ e)
-{
- MainPage^ rootPage = dynamic_cast<MainPage^>(sender);
- if (rootPage->FileEvent != nullptr)
- {
- /* Launched with an "open with", or as default app */
- if (rootPage->FileEvent->Files->Size > 0)
- {
- IStorageItem ^file = rootPage->FileEvent->Files->GetAt(0);
- StorageFile ^sfile = safe_cast<StorageFile^>(file);
-
- OpenDocumentPrep(sfile);
- }
- }
-}
-
-/* Used during launch of application from file when application was already
- running */
-void MainPage::FromFile()
-{
- if (this->FileEvent != nullptr)
- {
- /* Launched with an "open with", or as default app */
- if (this->FileEvent->Files->Size > 0)
- {
- IStorageItem ^file = this->FileEvent->Files->GetAt(0);
- StorageFile ^sfile = safe_cast<StorageFile^>(file);
-
- OpenDocumentPrep(sfile);
- }
- }
-}
-
-/// <summary>
-/// Invoked when this page is about to be displayed in a Frame.
-/// </summary>
-/// <param name="e">Event data that describes how this page was reached. The Parameter
-/// property is typically used to configure the page.</param>
-void MainPage::OnNavigatedTo(NavigationEventArgs^ e)
-{
-
-}
-
-void MainPage::ExceptionHandler(Object^ sender, UnhandledExceptionEventArgs^ e)
-{
- if (!this->m_init_done)
- {
- /* Windows 8.1 has some weird issues that occur before we have even tried
- to open a document. For example rolling the mouse wheel throws an
- exception in 8.1 but not 8.0. This is clearly a windows issue. For
- now mark as handled and move on which seems to be fine */
- e->Handled = true;
- }
- else
- {
- e->Handled = true;
- NotifyUser("An error was encountered", ErrorMessage);
- }
-}
-
-/* We need to clean up (Trim) the directX memory on suspension */
-void MainPage::App_Suspending(Object^ sender, SuspendingEventArgs^ e)
-{
- ComPtr<IDXGIDevice3> pDXGIDevice;
- ThrowIfFailed(m_d3d_device.As(&pDXGIDevice));
- pDXGIDevice->Trim();
-}
-
-void MainPage::ExitInvokedHandler(Windows::UI::Popups::IUICommand^ command)
-{
-
-}
-
-void MainPage::OKInvokedHandler(Windows::UI::Popups::IUICommand^ command)
-{
-
-}
-
-void MainPage::NotifyUser(String^ strMessage, int type)
-{
- MessageDialog^ msg = ref new MessageDialog(strMessage);
- UICommand^ ExitCommand = nullptr;
- UICommand^ OKCommand = nullptr;
-
- switch (type)
- {
- case StatusMessage:
- OKCommand = ref new UICommand("OK",
- ref new UICommandInvokedHandler(this, &MainPage::OKInvokedHandler));
- msg->Commands->Append(OKCommand);
- /// Set the command that will be invoked by default
- msg->DefaultCommandIndex = 0;
- // Set the command to be invoked when escape is pressed
- msg->CancelCommandIndex = 1;
- break;
- case ErrorMessage:
- ExitCommand = ref new UICommand("Exit",
- ref new UICommandInvokedHandler(this, &MainPage::ExitInvokedHandler));
- msg->Commands->Append(ExitCommand);
- /// Set the command that will be invoked by default
- msg->DefaultCommandIndex = 0;
- // Set the command to be invoked when escape is pressed
- msg->CancelCommandIndex = 1;
- break;
- default:
- break;
- }
- // Show the message dialog
- msg->ShowAsync();
-}
-
-void MainPage::Picker(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
-{
- /* If we are actively rendering a document to the print thread then notify the
- user that they will need to wait */
- if (m_print_active == PRINT_ACTIVE)
- {
- int total_pages = GetPrintPageCount();
- auto str1 = "Cannot open new file. Currently rendering page " +
- m_curr_print_count + " of " + total_pages + " for print queue";
- NotifyUser(str1, StatusMessage);
- return;
- }
-
- FileOpenPicker^ openPicker = ref new FileOpenPicker();
- openPicker->ViewMode = PickerViewMode::List;
- openPicker->SuggestedStartLocation = PickerLocationId::DocumentsLibrary;
- openPicker->FileTypeFilter->Append(".pdf");
- openPicker->FileTypeFilter->Append(".xps");
- openPicker->FileTypeFilter->Append(".cbz");
- openPicker->FileTypeFilter->Append(".oxps");
-
- create_task(openPicker->PickSingleFileAsync()).then([this](StorageFile^ file)
- {
- if (file)
- {
- this->OpenDocumentPrep(file);
- }
- else
- {
- /* Nothing selected */
- }
- });
-}
-
-/* Set the page with the new raster information */
-void MainPage::UpdatePage(int page_num, InMemoryRandomAccessStream^ ras,
- Point ras_size, Page_Content_t content_type, double zoom_in)
-{
- assert(IsMainThread());
-
- WriteableBitmap ^bmp = ref new WriteableBitmap((int)ras_size.X, (int) ras_size.Y);
- if (bmp == nullptr)
- {
-#ifdef _DEBUG
- NotifyUser("BMP UpdatePage Failed Page " + page_num, ErrorMessage);
-#endif
- return;
- }
- bmp->SetSource(ras);
-
- DocumentPage^ doc_page = ref new DocumentPage();
- if (doc_page == nullptr)
- {
-#ifdef _DEBUG
- NotifyUser("doc_page UpdatePage Failed Page " + page_num, ErrorMessage);
-#endif
- return;
- }
- doc_page->Image = bmp;
-
- if (content_type == THUMBNAIL)
- {
- doc_page->Height = (int) (ras_size.Y / SCALE_THUMB);
- doc_page->Width = (int) (ras_size.X / SCALE_THUMB);
- }
- else
- {
- doc_page->Height = (int) ras_size.Y;
- doc_page->Width = (int) ras_size.X;
- }
- doc_page->Content = content_type;
- doc_page->PageZoom = zoom_in;
-
- /* We do not want flipview change notification to occur for ourselves */
- m_page_update = true;
- this->m_docPages->SetAt(page_num, doc_page);
- m_page_update = false;
-}
-
-/* Set the page with the new raster information but only the image data */
-void MainPage::ReplaceImage(int page_num, InMemoryRandomAccessStream^ ras,
- Point ras_size, double page_zoom)
-{
- assert(IsMainThread());
-
- WriteableBitmap ^bmp = ref new WriteableBitmap((int) ras_size.X, (int) ras_size.Y);
- if (bmp == nullptr)
- {
-#ifdef _DEBUG
- NotifyUser("BMP ReplaceImage Failed Page " + page_num, ErrorMessage);
-#endif
- return;
- }
-
- bmp->SetSource(ras);
- DocumentPage^ doc_page = this->m_docPages->GetAt(page_num);
- if (doc_page == nullptr)
- {
-#ifdef _DEBUG
- NotifyUser("doc_page ReplaceImage Failed Page " + page_num, ErrorMessage);
-#endif
- return;
- }
- doc_page->Image = bmp;
- doc_page->Height = (int) ras_size.Y;
- doc_page->Width = (int) ras_size.X;
- doc_page->PageZoom = page_zoom;
-}
-
-int MainPage::ComputePageSize(spatial_info_t spatial_info, int page_num,
- Point *render_size, float *scale_factor)
-{
- Point screenSize;
- Point renpageSize;
- Point size;
-
- try
- {
- size = mu_doc->GetPageSize(page_num);
- }
- catch (Exception ^except)
- {
-#ifdef _DEBUG
- NotifyUser(except->Message, ErrorMessage);
-#endif
- return E_FAILURE;
- }
-
- screenSize = spatial_info.size;
- screenSize.Y *= screenScale;
- screenSize.X *= screenScale;
-
- float hscale = screenSize.X / size.X;
- float vscale = screenSize.Y / size.Y;
- float scale = min(hscale, vscale);
- renpageSize.X = (float)(size.X * scale * spatial_info.scale_factor);
- renpageSize.Y = (float)(size.Y * scale * spatial_info.scale_factor);
-
- *scale_factor = (float) (scale * spatial_info.scale_factor);
- *render_size = renpageSize;
-
- return S_ISOK;
-}
-
-static Point fitPageToScreen(Point page, Point screen)
-{
- Point pageSize;
-
- float hscale = screen.X / page.X;
- float vscale = screen.Y / page.Y;
- float scale = min(hscale, vscale);
- pageSize.X = floorf(page.X * scale) / page.X;
- pageSize.Y = floorf(page.Y * scale) / page.Y;
-
- return pageSize;
-}
-
-spatial_info_t MainPage::InitSpatial(double scale)
-{
- spatial_info_t value;
-
- value.size.Y = (float) (this->ActualHeight);
- value.size.X = (float) (this->ActualWidth);
- value.scale_factor = scale;
-
- return value;
-}
-
-void Prepare_bmp(int width, int height, DataWriter ^dw)
-{
- int row_size = width * 4;
- int bmp_size = row_size * height + 54;
-
- dw->WriteString("BM");
- dw->ByteOrder = ByteOrder::LittleEndian;
- dw->WriteInt32(bmp_size);
- dw->WriteInt16(0);
- dw->WriteInt16(0);
- dw->WriteInt32(54);
- dw->WriteInt32(40);
- dw->WriteInt32(width);
- dw->WriteInt32(height);
- dw->WriteInt16(1);
- dw->WriteInt16(32);
- dw->WriteInt32(0);
- dw->WriteInt32(row_size * height);
- dw->WriteInt32(2835);
- dw->WriteInt32(2835);
- dw->WriteInt32(0);
- dw->WriteInt32(0);
-}
-
-void MainPage::ReleasePages(int old_page, int new_page)
-{
- if (old_page == new_page) return;
- /* To keep from having memory issue reset the page back to
- the thumb if we are done rendering the thumbnails */
- for (int k = old_page - LOOK_AHEAD; k <= old_page + LOOK_AHEAD; k++)
- {
- if (k < new_page - LOOK_AHEAD || k > new_page + LOOK_AHEAD)
- {
- if (k >= 0 && k < this->m_num_pages)
- {
- SetThumb(k);
- }
- }
- }
-}
-
-/* Return this page from a full res image to the thumb image or only set
- to thumb if it has not already been set */
-void MainPage::SetThumb(unsigned int page_num)
-{
- /* See what is there now */
- auto doc = this->m_docPages->GetAt(page_num);
- if (doc->Content == THUMBNAIL && doc->PageZoom == m_doczoom) return;
-
- if (this->m_thumbnails->Size > page_num)
- {
- m_page_update = true;
- auto thumb_page = this->m_thumbnails->GetAt(page_num);
- thumb_page->Height = (int)(thumb_page->NativeHeight * m_doczoom);
- thumb_page->Width = (int)(thumb_page->NativeWidth * m_doczoom);
- thumb_page->PageZoom = 1.0;
- this->m_docPages->SetAt(page_num, thumb_page);
- m_page_update = false;
- }
-}
-
-/* Initializes the flipview items with the thumb pages as they become
- available */
-void MainPage::SetThumbInit(unsigned int page_num)
-{
- /* See what is there now */
- auto doc = this->m_docPages->GetAt(page_num);
- if (doc->Content == THUMBNAIL || doc->Content == FULL_RESOLUTION) return;
-
- if (this->m_thumbnails->Size > page_num)
- {
- doc->Content = THUMBNAIL;
- auto thumb_page = this->m_thumbnails->GetAt(page_num);
- thumb_page->Height = (int)(thumb_page->NativeHeight);
- thumb_page->Width = (int)(thumb_page->NativeWidth);
- doc->Image = thumb_page->Image;
- doc->Height = thumb_page->Height;
- doc->Width = thumb_page->Width;
- doc->PageZoom = 1.0;
- }
-}
-
-/* Create white image for us to use as place holder in large document for flip
- view filling instead of the thumbnail image */
-void MainPage::CreateBlank(int width, int height)
-{
- Array<unsigned char>^ bmp_data = ref new Array<unsigned char>(height * 4 * width);
- if (bmp_data == nullptr)
- {
-#ifdef _DEBUG
- NotifyUser("CreateBlank failed", ErrorMessage);
-#endif
- return;
- }
- /* Set up the memory stream */
- WriteableBitmap ^bmp = ref new WriteableBitmap(width, height);
- InMemoryRandomAccessStream ^ras = ref new InMemoryRandomAccessStream();
- if (bmp == nullptr || ras == nullptr)
- {
-#ifdef _DEBUG
- NotifyUser("CreateBlank failed", ErrorMessage);
-#endif
- return;
- }
- DataWriter ^dw = ref new DataWriter(ras->GetOutputStreamAt(0));
- if (dw == nullptr)
- {
-#ifdef _DEBUG
- NotifyUser("CreateBlank failed", ErrorMessage);
-#endif
- return;
- } /* Go ahead and write our header data into the memory stream */
- Prepare_bmp(width, height, dw);
-
- /* Set the data to all white */
- memset(bmp_data->Data, 255, height * 4 * width);
-
- /* Write the data */
- dw->WriteBytes(bmp_data);
-
- DataWriterStoreOperation^ result = dw->StoreAsync();
- /* Block on the Async call */
- while(result->Status != Windows::Foundation::AsyncStatus::Completed) {
- }
- /* And store in a the image brush */
- bmp->SetSource(ras);
- m_BlankBmp = bmp;
-}
-
-void MainPage::SetFlipView()
-{
- int height = (int) (this->ActualHeight);
- int width = (int) (this->ActualWidth);
-
- CreateBlank(BLANK_WIDTH, BLANK_HEIGHT);
- /* Set the current flip view mode */
- if (height > width)
- this->m_curr_flipView = xaml_vert_flipView;
- else
- this->m_curr_flipView = xaml_horiz_flipView;
-}
-
-/* Clean up everything as we are opening a new document after having another
- one open */
-void MainPage::CleanUp()
-{
- m_init_done = false;
- /* Remove current pages in the flipviews */
- if (m_docPages != nullptr && m_docPages->Size > 0)
- m_docPages->Clear();
- if (m_thumbnails != nullptr && m_thumbnails->Size > 0)
- m_thumbnails->Clear();
- /* With the ref counting this should not leak */
- if (m_page_link_list != nullptr && m_page_link_list->Size > 0)
- m_page_link_list->Clear();
- if (m_text_list->Size > 0)
- m_text_list->Clear();
- m_ppage_num_list.clear();
-
- if (m_linkset != nullptr && m_linkset->Size > 0)
- m_linkset->Clear();
-
- if (this->mu_doc != nullptr)
- mu_doc->CleanUp();
-
- mu_doc = ref new mudocument();
- if (mu_doc == nullptr)
- throw ref new FailureException("Document allocation failed!");
-
- this->m_curr_flipView = nullptr;
- m_currpage = -1;
- m_file_open = false;
- m_slider_min = 0;
- m_slider_max = 0;
- m_memory_use = 0;
- m_insearch = false;
- m_search_active = false;
- m_sliderchange = false;
- m_flip_from_searchlink = false;
- m_num_pages = -1;
- m_search_rect_count = 0;
- m_ren_status = REN_AVAILABLE;
- m_links_on = false;
- m_rectlist_page = -1;
- m_Progress = 0.0;
- m_doczoom = 1.0;
- m_print_active = PRINT_INACTIVE;
- m_curr_print_count = 1;
-
- this->xaml_PageSlider->Minimum = m_slider_min;
- this->xaml_PageSlider->Maximum = m_slider_max;
- this->xaml_PageSlider->IsEnabled = false;
-}
-
-/* Create the thumbnail images */
-void MainPage::RenderThumbs()
-{
- spatial_info_t spatial_info = this->InitSpatial(1);
- int num_pages = this->m_num_pages;
- cancellation_token_source cts;
- auto token = cts.get_token();
- m_ThumbCancel = cts;
- auto ui = task_continuation_context::use_current();
-
- this->m_ren_status = REN_THUMBS;
- auto task_thumb = create_task([spatial_info, num_pages, this, ui, token]()-> int
- {
- spatial_info_t spatial_info_local = spatial_info;
- Point ras_size;
- Array<unsigned char>^ bmp_data;
- int code;
- float scale_factor;
-
- /* The renderings run on a background thread */
- assert(IsBackgroundThread());
- spatial_info_local.scale_factor = SCALE_THUMB;
-
- for (int k = 0; k < num_pages; k++)
- {
- if (ComputePageSize(spatial_info_local, k, &ras_size, &scale_factor) == S_ISOK)
- {
- code = mu_doc->RenderPageBitmapSync(k, (int)ras_size.X,
- (int)ras_size.Y, scale_factor, false, true, false, { 0, 0 },
- { ras_size.X, ras_size.Y }, &bmp_data);
-
- DocumentPage^ doc_page = ref new DocumentPage();
- doc_page->Height = (int)(ras_size.Y / SCALE_THUMB);
- doc_page->Width = (int)(ras_size.X / SCALE_THUMB);
- doc_page->NativeHeight = (int)(ras_size.Y / SCALE_THUMB);
- doc_page->NativeWidth = (int)(ras_size.X / SCALE_THUMB);
- doc_page->TextBox = nullptr;
- doc_page->LinkBox = nullptr;
- doc_page->Content = THUMBNAIL;
-
- InMemoryRandomAccessStream ^ras = ref new InMemoryRandomAccessStream();
- DataWriter ^dw = ref new DataWriter(ras->GetOutputStreamAt(0));
- Prepare_bmp((int)ras_size.X, (int)ras_size.Y, dw);
- dw->WriteBytes(bmp_data);
- auto t = create_task(dw->StoreAsync());
- t.wait();
-
- /* The update with the WriteableBitmap has to take place in the
- UI thread. The fact that you cannot create a WriteableBitmap
- object execept in the UI thread is a poor design in WinRT.
- We will do the callback but with a low priority */
- this->Dispatcher->RunAsync(CoreDispatcherPriority::Low,
- ref new DispatchedHandler([this, ras_size, k, ras, doc_page]()
- {
- assert(IsMainThread());
- WriteableBitmap ^bmp = ref new WriteableBitmap((int)ras_size.X, (int)ras_size.Y);
- bmp->SetSource(ras);
- doc_page->Image = bmp;
- m_thumbnails->SetAt(k, doc_page);
- SetThumbInit((unsigned int) k);
- }));
- }
- }
- return num_pages; /* all done with thumbnails! */
- }, token).then([this](task<int> the_task)
- {
- /* Finish adding them, but not if we were cancelled. */
- this->m_ren_status = REN_AVAILABLE;
- bool is_cancelled = false;
- try
- {
- the_task.get();
- }
- catch (const task_canceled& e)
- {
- (void)e; // Unused parameter
- is_cancelled = true;
- }
- }, task_continuation_context::use_current());
-}
-
-void MainPage::OpenDocumentPrep(StorageFile^ file)
-{
- if (this->m_num_pages != -1)
- {
- m_init_done = false;
-
- /* Set the index to the start of the document */
- this->xaml_vert_flipView->SelectedIndex = 0;
- this->xaml_horiz_flipView->SelectedIndex = 0;
-
- /* If the thumbnail thread is running then we need to end that first */
- RenderingStatus_t *ren_status = &m_ren_status;
- cancellation_token_source *ThumbCancel = &m_ThumbCancel;
-
- /* Create a task to wait until the renderer is available, then clean up then open */
- auto t = create_task([ren_status, ThumbCancel]()->int
- {
- if (*ren_status == REN_THUMBS)
- ThumbCancel->cancel();
- while (*ren_status != REN_AVAILABLE) {
- }
- return 0;
- }).then([this](task<int> the_task)
- {
- CleanUp();
- return 0;
- }, task_continuation_context::use_current()).then([this, file](task<int> the_task)
- {
- OpenDocument(file);
- }, task_continuation_context::use_current());
- }
- else
- {
- OpenDocument(file);
- }
-}
-
-void MainPage::OpenDocument(StorageFile^ file)
-{
- this->SetFlipView();
-
- /* Open document and when open, push on */
- auto open_task = create_task(mu_doc->OpenFileAsync(file));
- open_task.then([this](int code) -> int
- {
- assert(IsMainThread());
- if (code != S_ISOK)
- {
- return code;
- }
- /* We need to check if password is required */
- if (mu_doc->RequiresPassword())
- {
- xaml_PasswordStack->Visibility = Windows::UI::Xaml::Visibility::Visible;
- return E_NEEDPASSWORD;
- }
- else
- {
- xaml_PasswordStack->Visibility = Windows::UI::Xaml::Visibility::Collapsed;
- return S_ISOK;
- }
- }).then([this](int code)->int
- {
- assert(IsMainThread());
- if (code == S_ISOK)
- InitialRender();
- return code;
- }, task_continuation_context::use_current()).then([this](int code)
- {
- if (code == S_ISOK)
- RenderThumbs();
- else
- {
- if (code != E_NEEDPASSWORD)
- {
- NotifyUser("Sorry, an issue was encountered in opening file",
- StatusMessage);
- }
- }
- }, task_continuation_context::use_current());
-}
-
-void MainPage::InitialRender()
-{
- assert(IsMainThread());
- m_num_pages = mu_doc->GetNumPages();
-
- if ((m_currpage) >= m_num_pages)
- {
- m_currpage = m_num_pages - 1;
- }
- else if (m_currpage < 0)
- {
- m_currpage = 0;
- }
- /* Initialize all the flipvew items with blanks and the thumbnails. */
- for (int k = 0; k < m_num_pages; k++)
- {
- /* Blank pages */
- DocumentPage^ doc_page = ref new DocumentPage();
- Vector<RectList^>^ temp_link = ref new Vector<RectList^>();
- if (doc_page == nullptr || temp_link == nullptr)
- throw ref new FailureException("Document allocation failed!");
- doc_page->Image = m_BlankBmp;
- doc_page->Height = BLANK_HEIGHT;
- doc_page->Width = BLANK_WIDTH;
- doc_page->NativeHeight = BLANK_HEIGHT;
- doc_page->NativeWidth = BLANK_WIDTH;
- doc_page->Content = DUMMY;
- doc_page->TextBox = nullptr;
- doc_page->LinkBox = nullptr;
- m_docPages->Append(doc_page);
- m_thumbnails->Append(doc_page);
- /* Create empty lists for our links and specify that they have
- not been computed for these pages */
- m_page_link_list->Append(temp_link);
- m_linkset->Append(false);
- }
-
- this->xaml_horiz_flipView->ItemsSource = m_docPages;
- this->xaml_vert_flipView->ItemsSource = m_docPages;
-
- /* Do the first few pages, then start the thumbs */
- spatial_info_t spatial_info = InitSpatial(1);
- for (int k = 0; k < LOOK_AHEAD + 2; k++)
- {
- if (m_num_pages > k )
- {
- Point ras_size;
- float scale_factor;
-
- if (ComputePageSize(spatial_info, k, &ras_size, &scale_factor) == S_ISOK)
- {
- auto render_task = create_task(mu_doc->RenderPageAsync(k, (int)ras_size.X, (int)ras_size.Y, true, scale_factor));
- render_task.then([this, k, ras_size](InMemoryRandomAccessStream^ ras)
- {
- if (ras != nullptr)
- UpdatePage(k, ras, ras_size, FULL_RESOLUTION, 1.0);
- }, task_continuation_context::use_current());
- }
- }
- }
- /* Update the slider settings, if more than one page */
- if (m_num_pages > 1)
- {
- this->xaml_PageSlider->Maximum = m_num_pages;
- this->xaml_PageSlider->Minimum = 1;
- this->xaml_PageSlider->IsEnabled = true;
- }
- else
- {
- this->xaml_PageSlider->Maximum = 0;
- this->xaml_PageSlider->Minimum = 0;
- this->xaml_PageSlider->IsEnabled = false;
- }
- /* All done with initial pages */
- this->m_init_done = true;
-}
-
-void MainPage::RenderRange(int curr_page)
-{
- /* Render +/- the look ahead from where we are if blank page is present */
- spatial_info_t spatial_info = InitSpatial(m_doczoom);
- bool curr_page_rendered = true;
- int range = LOOK_AHEAD;
-
- assert(IsMainThread());
- if (m_flip_from_searchlink)
- range = 0;
- for (int k = curr_page - LOOK_AHEAD; k <= curr_page + LOOK_AHEAD; k++)
- {
- if (k >= 0 && k < m_num_pages)
- {
- /* Check if page is already rendered */
- auto doc = this->m_docPages->GetAt(k);
- if (doc->Content != FULL_RESOLUTION ||
- doc->PageZoom != m_doczoom)
- {
- Point ras_size;
- float scale_factor;
- if (ComputePageSize(spatial_info, k, &ras_size, &scale_factor) == S_ISOK)
- {
- double zoom = m_doczoom;
- auto render_task = create_task(mu_doc->RenderPageAsync(k, (int)ras_size.X, (int)ras_size.Y, true, scale_factor));
- render_task.then([this, k, ras_size, zoom, curr_page](InMemoryRandomAccessStream^ ras)
- {
- if (ras != nullptr)
- {
- Point new_ras_size = ras_size;
-
- /* This is so that the scroll update will apply the zoom
- keeping us in-sync. And making sure that we can't
- exceed our limits with keyboard vs touch. I.e. any
- resolution changes must go through the scrollviewer.
- It makes the upcoming page appear to come in at its
- zoom level of 1.0 but it is smoothly scaled to the
- current scale resolution. */
- new_ras_size.X = (float) (new_ras_size.X / zoom);
- new_ras_size.Y = (float)(new_ras_size.Y / zoom);
- UpdatePage(k, ras, new_ras_size, FULL_RESOLUTION, zoom);
- }
- }, task_continuation_context::use_current()).then([this, k, curr_page]()
- {
- if (k == curr_page && this->m_links_on)
- AddLinkCanvas();
- if (k == curr_page && this->m_text_list->Size > 0 &&
- m_flip_from_searchlink)
- {
- AddTextCanvas();
- m_flip_from_searchlink = false;
- }
- if (k == curr_page)
- {
- m_curr_flipView->UpdateLayout();
- UpdateZoom();
- }
- }, task_continuation_context::use_current());
-
- }
- }
- else
- {
- /* We did not need to render the curr_page, so add links below if
- needed. Otherwise, we need to wait for the task above to
- complete before we add the links. */
- if (k == curr_page)
- {
- curr_page_rendered = false;
- UpdateZoom();
- }
- }
- }
- }
- m_currpage = curr_page;
- if (this->m_links_on && !curr_page_rendered)
- AddLinkCanvas();
- if (this->m_text_list->Size > 0 && !curr_page_rendered && m_flip_from_searchlink)
- {
- AddTextCanvas();
- m_flip_from_searchlink = false;
- }
-}
-
-void MainPage::FlipView_SelectionChanged(Object^ sender, SelectionChangedEventArgs^ e)
-{
- if (m_init_done && !m_page_update)
- {
- int pos = this->m_curr_flipView->SelectedIndex;
-
- if (pos >= 0)
- {
- if (xaml_PageSlider->IsEnabled)
- {
- xaml_PageSlider->Value = pos + 1;
- }
- if (m_sliderchange)
- {
- m_sliderchange = false;
- return;
- }
- else
- {
- /* Make sure to clear any text search */
- auto doc_old = this->m_docPages->GetAt(m_currpage);
- doc_old->TextBox = nullptr;
- }
- /* Get the current page */
- int curr_page = this->m_currpage;
- this->m_currpage = pos;
- this->RenderRange(pos);
- this->ReleasePages(curr_page, pos);
- }
- }
-}
-
-/* Slider via drag */
-void MainPage::Slider_ValueChanged(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e)
-{
- Slider_Common();
-}
-
-/* Slider via keyboard */
-void MainPage::Slider_Key(Platform::Object^ sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs^ e)
-{
- Slider_Common();
-}
-
-void MainPage::Slider_Common()
-{
- if (IsNotStandardView() || m_currpage == this->xaml_PageSlider->Value - 1)
- return;
-
- int newValue = (int) this->xaml_PageSlider->Value - 1; /* zero based */
-
- if (m_init_done && this->xaml_PageSlider->IsEnabled)
- {
- this->m_curr_flipView->SelectedIndex = (int) (this->xaml_PageSlider->Value - 1);
- }
- return;
-}
-
-/* Search Related Code */
-void MainPage::Searcher(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
-{
- ShowSearchBox();
- UpdateAppBarButtonViewState();
-}
-
-void MainPage::ShowSearchBox()
-{
- /* Update the app bar so that we can do the search */
- StackPanel^ leftPanel = (StackPanel^) this->TopAppBar->FindName("LeftPanel");
-
- if (leftPanel != nullptr && m_insearch)
- {
- m_insearch = false;
- FindBox->Visibility = Windows::UI::Xaml::Visibility::Collapsed;
- PrevSearch->Visibility = Windows::UI::Xaml::Visibility::Collapsed;
- NextSearch->Visibility = Windows::UI::Xaml::Visibility::Collapsed;
- }
- else if (leftPanel != nullptr && !m_insearch)
- {
- /* Search is not going to work in the squashed view */
- if (this->ActualWidth < SEARCH_FIT)
- {
- NotifyUser("Please enlarge application to use search", StatusMessage);
- return;
- }
- m_insearch = true;
- FindBox->Visibility = Windows::UI::Xaml::Visibility::Visible;
- PrevSearch->Visibility = Windows::UI::Xaml::Visibility::Visible;
- NextSearch->Visibility = Windows::UI::Xaml::Visibility::Visible;
- }
-}
-
-void MainPage::ClearTextSearch()
-{
- /* Clear out any old search result */
- if (m_text_list->Size > 0)
- m_text_list->Clear();
-}
-
-void MainPage::ShowSearchResults(int page_num, unsigned int box_count)
-{
- int old_page = this->m_currpage;
- int new_page = page_num;
-
- ClearTextSearch();
-
- /* Compute any scalings */
- Point screenSize;
- Point pageSize;
- Point scale;
-
- screenSize.Y = (float) (this->ActualHeight);
- screenSize.X = (float) (this->ActualWidth);
- screenSize.X *= screenScale;
- screenSize.Y *= screenScale;
-
- try
- {
- pageSize = mu_doc->GetPageSize(m_currpage);
- }
- catch (Exception ^except)
- {
-#ifdef _DEBUG
- NotifyUser(except->Message, ErrorMessage);
-#endif
- return;
- }
- scale = fitPageToScreen(pageSize, screenSize);
- auto doc_page = this->m_docPages->GetAt(old_page);
-
- /* Construct our list of rectangles */
- for (unsigned int k = 0; k < box_count; k++)
- {
- RectList^ rect_item = ref new RectList();
- if (rect_item == nullptr)
- {
- break;
- }
- auto curr_box = mu_doc->GetTextSearch(k);
-
- rect_item->Color = m_textcolor;
- rect_item->Height = (int) (curr_box->LowerRight.Y - curr_box->UpperLeft.Y);
- rect_item->Width = (int) (curr_box->LowerRight.X - curr_box->UpperLeft.X);
- rect_item->X = (int) (curr_box->UpperLeft.X * scale.X);
- rect_item->Y = (int) (curr_box->UpperLeft.Y * scale.Y);
- rect_item->Width = (int)((double)rect_item->Width * scale.X);
- rect_item->Height = (int)((double)rect_item->Height * scale.Y);
- rect_item->Index = k.ToString();
- m_text_list->Append(rect_item);
- }
- /* Make sure the current page has its text results cleared */
- doc_page->TextBox = nullptr;
-
- /* Go ahead and set our doc item to this in the vertical and horizontal view */
- m_searchpage = new_page;
- m_flip_from_searchlink = true;
-
- if (old_page == new_page)
- {
- FlipView_SelectionChanged(nullptr, nullptr);
- }
- else
- {
- this->m_curr_flipView->SelectedIndex = new_page;
- }
- return;
-}
-
-void MainPage::SearchNext(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
-{
- if (IsNotStandardView())
- return;
-
- StackPanel^ leftPanel = (StackPanel^) this->TopAppBar->FindName("LeftPanel");
- TextBox^ findBox = (TextBox^) leftPanel->FindName("FindBox");
- String^ textToFind = findBox->Text;
-
- if (this->m_search_active == false && textToFind != nullptr)
- SearchInDirection(1, textToFind);
-}
-
-void MainPage::SearchPrev(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
-{
- if (IsNotStandardView())
- return;
-
- StackPanel^ leftPanel = (StackPanel^) this->TopAppBar->FindName("LeftPanel");
- TextBox^ findBox = (TextBox^) leftPanel->FindName("FindBox");
- String^ textToFind = findBox->Text;
-
- if (this->m_search_active == false && textToFind != nullptr)
- SearchInDirection(-1, textToFind);
-}
-
-void MainPage::CancelSearch(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
-{
- m_searchcts.cancel();
- xaml_ProgressStack->Visibility = Windows::UI::Xaml::Visibility::Collapsed;
- this->m_search_active = false;
-}
-
-void MainPage::AddTextCanvas()
-{
- /* Go ahead and set our doc item to this in the vertical and horizontal view */
- auto doc_page = this->m_docPages->GetAt(m_currpage);
- assert(doc_page->Content == FULL_RESOLUTION);
- if (doc_page->Content == FULL_RESOLUTION) // We should not be doing links for thumbnails
- {
- doc_page->TextBox = m_text_list;
- }
- this->m_search_active = false;
-}
-
-void MainPage::SearchProgress(IAsyncOperationWithProgress<int, double>^ operation, double status)
-{
- xaml_Progress->Value = status;
-}
-
-void MainPage::SearchInDirection(int dir, String^ textToFind)
-{
- cancellation_token_source cts;
- auto token = cts.get_token();
- m_searchcts = cts;
- int pos = m_currpage;
- int start;
-
- if (m_searchpage == pos)
- start = pos + dir;
- else
- start = pos;
-
- if (start < 0)
- return;
- if (start > this->m_num_pages - 1)
- return;
- this->m_search_active = true;
-
- ProgressBar^ my_xaml_Progress = (ProgressBar^) (this->FindName("xaml_Progress"));
- xaml_ProgressStack->Visibility = Windows::UI::Xaml::Visibility::Visible;
- auto temp = mu_doc->SearchDocumentWithProgressAsync(textToFind, dir, start,
- m_num_pages);
- temp->Progress = ref new AsyncOperationProgressHandler<int, double>(this, &MainPage::SearchProgress);
-
- auto search_task = create_task(temp, token);
-
- /* Do the continuation on the ui thread */
- auto con_task = search_task.then([this, textToFind](int page_num)
- {
- xaml_ProgressStack->Visibility = Windows::UI::Xaml::Visibility::Collapsed;
- if (page_num == TEXT_NOT_FOUND)
- {
- auto str1 = "\"" + textToFind + "\" Was Not Found In The Search";
- NotifyUser(str1, StatusMessage);
- this->m_search_active = false;
- }
- else
- {
- int box_count = mu_doc->TextSearchCount();
-
- if (box_count > 0)
- {
- this->ShowSearchResults(page_num, (unsigned int) box_count);
- }
- }
- }, task_continuation_context::use_current());
-}
-
-/* This is here to handle when we rotate or go into the snapview mode */
-void MainPage::GridSizeChanged()
-{
- int height = (int) (this->ActualHeight);
- int width = (int) (this->ActualWidth);
- FlipView^ old_flip = m_curr_flipView;
-
- if (TopAppBar1->IsOpen)
- {
- UpdateAppBarButtonViewState();
- }
-
- if (height > width)
- {
- m_curr_flipView = this->xaml_vert_flipView;
- this->xaml_zoomCanvas->Height = height;
- this->xaml_zoomCanvas->Width = width;
- this->m_curr_flipView->Height = height;
- this->m_curr_flipView->Width = width;
-
- xaml_vert_flipView->IsEnabled = true;
- xaml_vert_flipView->Opacity = 1;
- xaml_horiz_flipView->IsEnabled = false;
- xaml_horiz_flipView->Opacity = 0;
- }
- else
- {
- m_curr_flipView = this->xaml_horiz_flipView;
- this->xaml_zoomCanvas->Height = height;
- this->xaml_zoomCanvas->Width = width;
- this->m_curr_flipView->Height = height;
- this->m_curr_flipView->Width = width;
-
- xaml_horiz_flipView->IsEnabled = true;
- xaml_horiz_flipView->Opacity = 1;
- xaml_vert_flipView->IsEnabled = false;
- xaml_vert_flipView->Opacity = 0;
- }
-
- if (xaml_WebView->Visibility == Windows::UI::Xaml::Visibility::Visible)
- xaml_WebView->Height = xaml_OutsideGrid->ActualHeight;
-
- UpdateThumbSizes();
-
- if (m_num_pages > 0 && old_flip != m_curr_flipView && old_flip != nullptr)
- {
- /* If links are on or off, we need to invalidate */
- ClearLinks();
- InvalidateLinks();
-
- /* And force a rerender */
- for (int k = m_currpage - LOOK_AHEAD; k <= m_currpage + LOOK_AHEAD; k++)
- {
- if (k >= 0 && k < m_num_pages)
- {
- DocumentPage ^doc = this->m_docPages->GetAt(k);
- doc->Content = OLD_RESOLUTION;
- }
- }
- this->m_curr_flipView->SelectedIndex = this->m_currpage;
- FlipView_SelectionChanged(nullptr, nullptr);
- }
-}
-
-void MainPage::UpdatePreRenderedPageSizes()
-{
- if (m_num_pages > 0)
- {
- for (int k = m_currpage - LOOK_AHEAD; k <= m_currpage + LOOK_AHEAD; k++)
- {
- if (k >= 0 && k < m_num_pages && k != m_currpage)
- {
- DocumentPage ^doc = this->m_docPages->GetAt(k);
- doc->Content = OLD_RESOLUTION;
- int curr_height = doc->Height;
- int curr_width = doc->Width;
-
- double scale_x = (double)curr_height / (double)(this->xaml_zoomCanvas->Height);
- double scale_y = (double)curr_width / (double)(this->xaml_zoomCanvas->Width);
-
- double min_scale = max(scale_x, scale_y);
- doc->Height = (int) (curr_height * m_doczoom / min_scale);
- doc->Width = (int) (curr_width * m_doczoom / min_scale);
- }
- }
- }
-}
-
-void MainPage::UpdateThumbSizes()
-{
- /* Reset the thumbview scaling values */
- if (m_num_pages > 0)
- {
- int num_items = m_docPages->Size;
- for (int i = 0; i < num_items; i++)
- {
- DocumentPage ^thumb_page = m_docPages->GetAt(i);
- if (thumb_page != nullptr && thumb_page->Image != nullptr
- && thumb_page->Content == THUMBNAIL)
- {
- int curr_height = thumb_page->NativeHeight;
- int curr_width = thumb_page->NativeWidth;
-
- double scale_x = (double)curr_height / (double)(this->xaml_zoomCanvas->Height);
- double scale_y = (double)curr_width / (double)(this->xaml_zoomCanvas->Width);
-
- double min_scale = max(scale_x, scale_y);
- thumb_page->Height = (int)(curr_height / min_scale);
- thumb_page->Width = (int)(curr_width / min_scale);
- }
- }
- }
-};
-
-/* Link related code */
-void MainPage::Linker(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
-{
- m_links_on = !m_links_on;
-
- if (!m_init_done || IsNotStandardView())
- return;
- if (m_links_on)
- AddLinkCanvas();
- else
- ClearLinks();
-}
-
-void MainPage::ClearLinks()
-{
- /* Make sure surrounding render pages lose their links */
- for (int k = m_currpage - LOOK_AHEAD; k <= m_currpage + LOOK_AHEAD; k++)
- {
- if (k >= 0 && k < m_num_pages)
- {
- auto doc_page = this->m_docPages->GetAt(k);
- if (doc_page->Content == FULL_RESOLUTION)
- {
- doc_page->LinkBox = nullptr;
- }
- }
- }
-}
-
-void MainPage::InvalidateLinks()
-{
- for (int k = 0; k < m_num_pages; k++)
- m_linkset->SetAt(k, false);
-}
-
-/* Add in the link rects. If we have not already computed them then do that now */
-void MainPage::AddLinkCanvas()
-{
- /* See if the link object for this page has already been computed */
- int link_page = m_linkset->GetAt(m_currpage);
- auto doc_page = this->m_docPages->GetAt(m_currpage);
-
- if (!link_page)
- {
- m_linkset->SetAt(m_currpage, true);
- unsigned int num_links = mu_doc->ComputeLinks(m_currpage);
- if (num_links == 0) return;
-
- Point screenSize;
- Point pageSize;
- Point scale;
-
- screenSize.Y = (float) (this->ActualHeight);
- screenSize.X = (float)(this->ActualWidth);
- screenSize.X *= screenScale;
- screenSize.Y *= screenScale;
-
- try
- {
- pageSize = mu_doc->GetPageSize(m_currpage);
- }
- catch (Exception ^except)
- {
-#ifdef _DEBUG
- NotifyUser(except->Message, ErrorMessage);
-#endif
- return;
- }
- scale = fitPageToScreen(pageSize, screenSize);
-
- /* Create a new RectList collection */
- auto link_list = ref new Platform::Collections::Vector<RectList^>();
- if (link_list == nullptr)
- return;
-
- /* Now add the rects */
- for (unsigned int k = 0; k < num_links; k++)
- {
- auto curr_link = mu_doc->GetLink(k);
- if (curr_link->Type != NOT_SET)
- {
- RectList^ rect_item = ref new RectList();
- if (rect_item == nullptr)
- break;
- rect_item->Color = m_linkcolor;
- rect_item->Height = (int) (curr_link->LowerRight.Y - curr_link->UpperLeft.Y);
- rect_item->Width = (int) (curr_link->LowerRight.X - curr_link->UpperLeft.X);
- rect_item->X = (int) (curr_link->UpperLeft.X * scale.X);
- rect_item->Y = (int) (curr_link->UpperLeft.Y * scale.Y);
- rect_item->Width = (int)((double)rect_item->Width * scale.X);
- rect_item->Height = (int)((double)rect_item->Height * scale.Y);
- rect_item->Type = curr_link->Type;
- rect_item->Urilink = curr_link->Uri;
- rect_item->PageNum = curr_link->PageNum;
- rect_item->Index = k.ToString();
- link_list->Append(rect_item);
- }
- }
- /* Now set it in our list of links */
- m_page_link_list->SetAt(m_currpage, link_list);
- }
- /* Go ahead and set our doc item to this in the vertical and horizontal view */
- if (doc_page->LinkBox == nullptr)
- {
- if (doc_page->Content == FULL_RESOLUTION) // We should not be doing links for thumbnails
- {
- doc_page->LinkBox = m_page_link_list->GetAt(m_currpage);
- }
- }
-}
-
-/* A link was tapped */
-void MainPage::LinkTapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e)
-{
- Rectangle^ rect = safe_cast<Rectangle^>(e->OriginalSource);
- String^ str_index = safe_cast<String^>(rect->Tag);
- int index = (int) (_wtof(str_index->Data()));
-
- if (index >= 0 && index < m_num_pages)
- {
- auto link_list = m_page_link_list->GetAt(m_currpage);
- auto link = link_list->GetAt(index);
-
- if (link->Type == LINK_GOTO)
- {
- this->m_curr_flipView->SelectedIndex = link->PageNum;
- }
- else if (link->Type == LINK_URI)
- {
- // Set the option to show a warning
- auto launchOptions = ref new Windows::System::LauncherOptions();
- launchOptions->TreatAsUntrusted = true;
-
- // Launch the URI with a warning prompt
- concurrency::task<bool> launchUriOperation(Windows::System::Launcher::LaunchUriAsync(link->Urilink, launchOptions));
- launchUriOperation.then([](bool success)
- {
- if (success)
- {
- // URI launched
- }
- else
- {
- // URI launch failed
- }
- });
- }
- }
-}
-
-/* Bring up the contents */
-void MainPage::ContentDisplay(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
-{
- if (this->m_num_pages < 0)
- return;
-
- if (IsNotStandardView() && !this->xaml_ListView->IsEnabled)
- return;
-
- if (this->xaml_ListView->IsEnabled)
- {
- this->xaml_ListView->Opacity = 0.0;
- this->xaml_ListView->IsEnabled = false;
- this->m_curr_flipView->Opacity = 1.0;
- this->m_curr_flipView->IsEnabled = true;
- this->xaml_PageSlider->IsEnabled = true;
- }
- else
- {
- if (xaml_ListView->Items->Size == 0)
- {
- unsigned int size_content = mu_doc->ComputeContents();
- /* Bring up the content now */
- for (unsigned int k = 0; k < size_content; k++)
- {
- ContentItem^ item = mu_doc->GetContent(k);
- this->xaml_ListView->Items->Append(item);
- }
- if (size_content > 0)
- {
- this->xaml_ListView->Opacity = 1.0;
- this->xaml_ListView->IsEnabled = true;
- this->m_curr_flipView->Opacity = 0.0;
- this->m_curr_flipView->IsEnabled = false;
- this->xaml_PageSlider->IsEnabled = false;
- }
- }
- else
- {
- this->xaml_ListView->Opacity = 1.0;
- this->xaml_ListView->IsEnabled = true;
- this->m_curr_flipView->Opacity = 0.0;
- this->m_curr_flipView->IsEnabled = false;
- this->xaml_PageSlider->IsEnabled = false;
- }
- }
-}
-
-void MainPage::ContentSelected(Platform::Object^ sender, Windows::UI::Xaml::Controls::ItemClickEventArgs^ e)
-{
- ContentItem^ b = safe_cast<ContentItem^>(e->ClickedItem);
- int newpage = b->Page;
-
- if (newpage > -1 && newpage < this->m_num_pages)
- {
- this->xaml_ListView->Opacity = 0.0;
- this->xaml_ListView->IsEnabled = false;
- this->m_curr_flipView->Opacity = 1.0;
- this->m_curr_flipView->IsEnabled = true;
- this->xaml_PageSlider->IsEnabled = true;
-
- int old_page = this->m_currpage;
- this->m_curr_flipView->SelectedIndex = newpage;
- this->m_currpage = newpage;
- }
-}
-
-void MainPage::Reflower(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
-{
- if (this->m_num_pages < 0) return;
-
- if (xaml_WebView->Visibility == Windows::UI::Xaml::Visibility::Visible)
- {
- /* Go back to flip view */
- xaml_WebView->Visibility = Windows::UI::Xaml::Visibility::Collapsed;
- this->xaml_MainGrid->Opacity = 1.0;
- this->m_curr_flipView->IsEnabled = true;
- this->xaml_PageSlider->IsEnabled = true;
- }
- else if (this->m_curr_flipView->IsEnabled)
- {
- String^ html_string = mu_doc->ComputeHTML(this->m_currpage);
- xaml_WebView->Visibility = Windows::UI::Xaml::Visibility::Visible;
- this->xaml_MainGrid->Opacity = 0.0;
- this->m_curr_flipView->IsEnabled = false;
- this->xaml_PageSlider->IsEnabled = false;
- this->xaml_WebView->NavigateToString(html_string);
- this->xaml_WebView->Height = this->ActualHeight;
- }
-}
-
-/* Need to handle resizing of app bar to make sure everything fits */
-void MainPage::topAppBar_Loaded(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
-{
- /* Remove search box in snapped view as we don't have the room for it */
- int temp = (int) (this->ActualWidth);
- if (this->ActualWidth < SEARCH_FIT && m_insearch)
- ShowSearchBox();
- UpdateAppBarButtonViewState();
- /* This is needed to make sure we get the proper state during start-up. The
- object has to be visible to set the state. So that is the way we start */
- if (!m_insearch && FindBox->Visibility == Windows::UI::Xaml::Visibility::Visible)
- {
- FindBox->Visibility = Windows::UI::Xaml::Visibility::Collapsed;
- PrevSearch->Visibility = Windows::UI::Xaml::Visibility::Collapsed;
- NextSearch->Visibility = Windows::UI::Xaml::Visibility::Collapsed;
- }
-}
-
-String^ MainPage::GetVisualState()
-{
- String^ visualstate = "FullScreenLandscape";
-
- int width = (int) (this->ActualWidth);
- int height = (int) (this->ActualHeight);
-
- if (width < VS_SMALL)
- {
- visualstate = "Snapped";
- }
- else if (width < VS_LARGE)
- {
- if (width < height)
- {
- visualstate = "FullScreenPortrait";
- }
- else
- {
- visualstate = "Snapped";
- }
- }
- return visualstate;
-}
-
-void MainPage::UpdateAppBarButtonViewState()
-{
- String ^viewState = GetVisualState();
- VisualStateManager::GoToState(Search, viewState, true);
- VisualStateManager::GoToState(Contents, viewState, true);
- VisualStateManager::GoToState(Links, viewState, true);
- VisualStateManager::GoToState(Reflow, viewState, true);
- VisualStateManager::GoToState(ZoomIn, viewState, true);
- VisualStateManager::GoToState(ZoomOut, viewState, true);
- VisualStateManager::GoToState(PrevSearch, viewState, true);
- VisualStateManager::GoToState(NextSearch, viewState, true);
-}
-
-/* Scroll viewer scale changes. If first time to this page, then we essentially
- have our scroll setting set at 1.0. */
-void MainPage::ScrollChanged(Platform::Object^ sender,
- Windows::UI::Xaml::Controls::ScrollViewerViewChangedEventArgs^ e)
-{
- ScrollViewer^ scrollviewer = safe_cast<ScrollViewer^> (sender);
- auto doc_page = this->m_docPages->GetAt(m_currpage);
- double new_scroll_zoom = scrollviewer->ZoomFactor;
-
- /* Check if we are already at this resolution with this page */
- if (new_scroll_zoom == doc_page->PageZoom)
- return;
-
- if (!e->IsIntermediate)
- {
- int page = m_currpage;
-
- m_doczoom = new_scroll_zoom;
- if (m_doczoom > ZOOM_MAX)
- {
- m_doczoom = ZOOM_MAX;
- }
- if (m_doczoom < ZOOM_MIN)
- {
- m_doczoom = ZOOM_MIN;
- }
- /* Render at new resolution. */
- spatial_info_t spatial_info = InitSpatial(m_doczoom);
- Point ras_size;
- float scale_factor;
- if (ComputePageSize(spatial_info, page, &ras_size, &scale_factor) == S_ISOK)
- {
- doc_page->PageZoom = m_doczoom;
- auto render_task = create_task(mu_doc->RenderPageAsync(page, (int)ras_size.X, (int)ras_size.Y, true, scale_factor));
- render_task.then([this, page, ras_size, scrollviewer](InMemoryRandomAccessStream^ ras)
- {
- if (ras != nullptr)
- ReplaceImage(page, ras, ras_size, m_doczoom);
- }, task_continuation_context::use_current());
- }
- }
-}
-
-/* Needed to find scrollviewer child from template of flipview item */
-Windows::UI::Xaml::FrameworkElement^ FindVisualChildByName(DependencyObject^ obj, String^ name)
-{
- FrameworkElement^ ret;
- if (obj == nullptr) return nullptr;
-
- int numChildren = VisualTreeHelper::GetChildrenCount(obj);
-
- for (int i = 0; i < numChildren; i++)
- {
- auto objChild = VisualTreeHelper::GetChild(obj, i);
- auto child = safe_cast<FrameworkElement^>(objChild);
- if (child != nullptr && child->Name == name)
- {
- return child;
- }
- ret = FindVisualChildByName(objChild, name);
- if (ret != nullptr)
- break;
- }
- return ret;
-}
-
-void MainPage::ZoomInPress(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
-{
- if (!m_init_done || IsNotStandardView()) return;
- NonTouchZoom(ZOOM_IN);
-}
-
-void MainPage::ZoomOutPress(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
-{
- if (!m_init_done || IsNotStandardView()) return;
- NonTouchZoom(ZOOM_OUT);
-}
-
-void MainPage::NonTouchZoom(int zoom)
-{
- auto doc_page = this->m_docPages->GetAt(m_currpage);
- double curr_zoom = doc_page->PageZoom;
-
- ScrollViewer^ scrollviewer;
- FlipViewItem^ item = safe_cast<FlipViewItem^>
- (m_curr_flipView->ContainerFromIndex(m_currpage));
- auto item2 = m_curr_flipView->ContainerFromIndex(m_currpage);
-
- /* We don't know which one so check for both */
- ScrollViewer^ t1 =
- safe_cast<ScrollViewer^> (FindVisualChildByName(item2, "xaml_ScrollView_v"));
- ScrollViewer^ t2 =
- safe_cast<ScrollViewer^> (FindVisualChildByName(item2, "xaml_ScrollView_h"));
-
- if (t1 != nullptr)
- scrollviewer = t1;
- else
- scrollviewer = t2;
-
- if (scrollviewer == nullptr)
- return;
-
- if (zoom == ZOOM_IN)
- {
- curr_zoom = curr_zoom + KEYBOARD_ZOOM_STEP;
- if (curr_zoom > ZOOM_MAX) curr_zoom = ZOOM_MAX;
- }
- else if (zoom == ZOOM_OUT)
- {
- curr_zoom = curr_zoom - KEYBOARD_ZOOM_STEP;
- if (curr_zoom < ZOOM_MIN) curr_zoom = ZOOM_MIN;
- } else
- return;
-
- /* It all needs to be driven by the scroll viewer otherwise we
- end up out of sync */
- Platform::Object^ obj_zoom = (float)curr_zoom;
- Platform::IBox<float>^ box_zoom;
- box_zoom = safe_cast<Platform::IBox<float>^>(obj_zoom);
-
- scrollviewer->ChangeView(nullptr, nullptr, box_zoom, false);
-}
-
-/* Adjust the page scrollviewer to the current zoom level */
-void MainPage::UpdateZoom()
-{
- ScrollViewer^ scrollviewer;
- FlipViewItem^ item = safe_cast<FlipViewItem^>
- (m_curr_flipView->ContainerFromIndex(m_currpage));
- auto item2 = m_curr_flipView->ContainerFromIndex(m_currpage);
-
- /* We don't know which one so check for both */
- ScrollViewer^ t1 =
- safe_cast<ScrollViewer^> (FindVisualChildByName(item2, "xaml_ScrollView_v"));
- ScrollViewer^ t2 =
- safe_cast<ScrollViewer^> (FindVisualChildByName(item2, "xaml_ScrollView_h"));
-
- if (t1 != nullptr)
- scrollviewer = t1;
- else
- scrollviewer = t2;
-
- if (scrollviewer == nullptr)
- return;
-
- float curr_zoom = scrollviewer->ZoomFactor;
- Platform::Object^ obj_zoom = (float)m_doczoom;
- Platform::IBox<float>^ box_zoom;
- box_zoom = safe_cast<Platform::IBox<float>^>(obj_zoom);
- scrollviewer->ChangeView(nullptr, nullptr, box_zoom, false);
-}
-
-/* Zoom in and out for keyboard only case. */
-void MainPage::OnKeyDown(KeyRoutedEventArgs^ e)
-{
- if (!m_init_done || IsNotStandardView()) return;
-
- long val = (long) (e->Key);
-
- if (val == KEY_PLUS)
- NonTouchZoom(ZOOM_IN);
- else if (val == KEY_MINUS)
- NonTouchZoom(ZOOM_OUT);
- else
- return;
-}
-
-void MainPage::PasswordOK(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
-{
- /* If password checks out then go ahead and start rendering */
- if (mu_doc->ApplyPassword(xaml_password->Password))
- {
- xaml_password->Password = nullptr;
- xaml_PasswordStack->Visibility = Windows::UI::Xaml::Visibility::Collapsed;
- InitialRender();
- RenderThumbs();
- }
- else
- NotifyUser("Incorrect Password", StatusMessage);
-}
-
-/* So that we know if we are in a standard view case and not in reflow, or
- * content type */
-bool MainPage::IsNotStandardView()
-{
- return (this->xaml_ListView->Opacity == 1.0 ||
- xaml_WebView->Visibility == Windows::UI::Xaml::Visibility::Visible);
-}
-
-/* The following code is for print support. */
-void MainPage::RegisterForPrinting()
-{
- m_print_manager = Windows::Graphics::Printing::PrintManager::GetForCurrentView();
- m_print_manager->PrintTaskRequested +=
- ref new TypedEventHandler<PrintManager^, PrintTaskRequestedEventArgs^>(this, &MainPage::SetPrintTask);
-}
-
-void MainPage::SetPrintTask(PrintManager^ sender, PrintTaskRequestedEventArgs^ args)
-{
- PrintTaskSourceRequestedHandler^ source_handler =
- ref new PrintTaskSourceRequestedHandler([this](PrintTaskSourceRequestedArgs^ args)-> void{
- Microsoft::WRL::ComPtr<PrintPages> document_source;
- ThrowIfFailed(Microsoft::WRL::MakeAndInitialize<PrintPages>(&document_source, reinterpret_cast<IUnknown*>(this)));
- IPrintDocumentSource^ objSource(reinterpret_cast<IPrintDocumentSource^>(document_source.Get()));
- args->SetSource(objSource);
- });
-
- PrintTask^ print_task =
- args->Request->CreatePrintTask(L"MuPDF WinRT Print", source_handler);
-
- /* Call backs so that we know when we are all done with the printing */
- print_task->Progressing +=
- ref new TypedEventHandler<PrintTask^, PrintTaskProgressingEventArgs^>(this, &MainPage::PrintProgress);
- print_task->Completed +=
- ref new TypedEventHandler<PrintTask^, PrintTaskCompletedEventArgs^>(this, &MainPage::PrintCompleted);
- m_print_active = PRINT_ACTIVE;
- m_curr_print_count = 0;
-
- PrintTaskOptionDetails^ printDetailedOptions =
- PrintTaskOptionDetails::GetFromPrintTaskOptions(print_task->Options);
-
- // Some standard printer options
- printDetailedOptions->DisplayedOptions->Clear();
- printDetailedOptions->DisplayedOptions->Append(Windows::Graphics::Printing::StandardPrintTaskOptions::MediaSize);
- printDetailedOptions->DisplayedOptions->Append(Windows::Graphics::Printing::StandardPrintTaskOptions::Copies);
-
- // Our custom options
- PrintCustomItemListOptionDetails^ resolution =
- printDetailedOptions->CreateItemListOption("resolution", "Render Resolution");
- resolution->AddItem("sres96", "96dpi");
- resolution->AddItem("sres150", "150 dpi");
- resolution->AddItem("sres300", "300 dpi");
- resolution->AddItem("sres600", "600 dpi");
- resolution->TrySetValue("sres600");
- m_printresolution = 600;
- printDetailedOptions->DisplayedOptions->Append("resolution");
-
- PrintCustomItemListOptionDetails^ location = printDetailedOptions->CreateItemListOption("location", "Location");
- location->AddItem("sCenter", "Center");
- location->AddItem("sTopleft", "Top Left");
- // Add the custom option to the option list.
- printDetailedOptions->DisplayedOptions->Append("location");
- location->TrySetValue("sCenter");
- m_centerprint = true;
- print_task->Options->MediaSize = PrintMediaSize::NorthAmericaLetter;
-
- PrintCustomItemListOptionDetails^ pageFormat = printDetailedOptions->CreateItemListOption(L"PageRange", L"Page Range");
- pageFormat->AddItem(L"PrintAll", L"Print all");
- pageFormat->AddItem(L"PrintRange", L"Print Range");
- printDetailedOptions->DisplayedOptions->Append(L"PageRange");
- PrintCustomTextOptionDetails^ pageRangeEdit = printDetailedOptions->CreateTextOption(L"PageRangeEdit", L"Range");
-
- printDetailedOptions->OptionChanged +=
- ref new TypedEventHandler<PrintTaskOptionDetails^, PrintTaskOptionChangedEventArgs^>(this, &MainPage::PrintOptionsChanged);
-}
-
-int MainPage::GetPrintPageCount()
-{
- if (m_ppage_num_list.size() > 0)
- return (int) m_ppage_num_list.size();
- else
- return m_num_pages;
-}
-
-void MainPage::PrintOptionsChanged(PrintTaskOptionDetails^ sender, PrintTaskOptionChangedEventArgs^ args)
-{
- bool force_reset = false;
-
- if (args->OptionId == nullptr)
- return;
-
- String^ optionId = safe_cast<String^>(args->OptionId);
-
- if (optionId == "resolution")
- {
- IPrintOptionDetails^ resolution = sender->Options->Lookup(optionId);
- String^ resolutionValue = safe_cast<String^>(resolution->Value);
-
- if (resolutionValue == "sres96")
- {
- m_printresolution = 96;
- }
- else if (resolutionValue == "sres150")
- {
- m_printresolution = 150;
- }
- else if (resolutionValue == "sres300")
- {
- m_printresolution = 300;
- }
- else if(resolutionValue == "sres600")
- {
- m_printresolution = 600;
- }
- }
-
- /* Need to update preview with a change of this one */
- if (optionId == "location")
- {
- IPrintOptionDetails^ scaling = sender->Options->Lookup(optionId);
- String^ scaleValue = safe_cast<String^>(scaling->Value);
-
- if (scaleValue == "sCenter")
- {
- m_centerprint = true;
- }
- if (scaleValue == "sTopleft")
- {
- m_centerprint = false;
- }
- force_reset = true;
- }
-
- if (optionId == L"PageRange")
- {
- IPrintOptionDetails^ pagerange = sender->Options->Lookup(optionId);
- String^ pageRangeValue = pagerange->Value->ToString();
-
- if(pageRangeValue == L"PrintRange")
- {
- sender->DisplayedOptions->Append(L"PageRangeEdit");
- m_pageRangeEditVisible = true;
- }
- else
- {
- RemovePageRangeEdit(sender);
- }
- RefreshPreview();
- }
-
- if (optionId == L"PageRangeEdit")
- {
- IPrintOptionDetails^ pagerange = sender->Options->Lookup(optionId);
-
- std::wregex rangePattern(L"^\\s*\\d+\\s*(\\-\\s*\\d+\\s*)?(\\,\\s*\\d+\\s*(\\-\\s*\\d+\\s*)?)*$");
- std::wstring pageRangeValue(pagerange->Value->ToString()->Data());
-
- if(!std::regex_match(pageRangeValue.begin(), pageRangeValue.end(), rangePattern))
- {
- pagerange->ErrorText = L"Invalid Page Range (eg: 1-3, 5)";
- }
- else
- {
- pagerange->ErrorText = L"";
- try
- {
- GetPagesInRange(pagerange->Value->ToString());
- }
- catch(PageRangeException* rangeException)
- {
- pagerange->ErrorText = ref new String(rangeException->get_DisplayMessage().data());
- delete rangeException;
- }
- force_reset = true;
- }
- }
- if (force_reset)
- {
- RefreshPreview();
- }
-}
-
-void MainPage::SplitString(String^ string, wchar_t delimiter, std::vector<std::wstring>& words)
- {
- std::wistringstream iss(string->Data());
-
- std::wstring part;
- while(std::getline(iss, part, delimiter))
- {
- words.push_back(part);
- };
-}
-
-void MainPage::GetPagesInRange(String^ pagerange)
-{
- std::vector<std::wstring> vector_range;
- SplitString(pagerange, ',', vector_range);
-
- m_ppage_num_list.clear();
- for(std::vector<std::wstring>::iterator it = vector_range.begin(); it != vector_range.end(); ++ it)
- {
- int intervalPos = static_cast<int>((*it).find('-'));
- if( intervalPos != -1)
- {
- int start = _wtoi((*it).substr(0, intervalPos).data());
- int end = _wtoi((*it).substr(intervalPos + 1, (*it).length() - intervalPos - 1).data());
-
- if ((start < 1) || (end > static_cast<int>(m_num_pages)) || (start >= end))
- {
- std::wstring message(L"Invalid page(s) in range ");
-
- message.append(std::to_wstring(start));
- message.append(L" - ");
- message.append(std::to_wstring(end));
-
- throw new PageRangeException(message);
- }
-
- for(int intervalPage=start; intervalPage <= end; ++intervalPage)
- {
- m_ppage_num_list.push_back(intervalPage);
- }
- }
- else
- {
- int pageNr = _wtoi((*it).data());
- std::wstring message(L"Invalid page ");
-
- if (pageNr < 1)
- {
- message.append(std::to_wstring(pageNr));
- throw new PageRangeException(message);
- }
- if (pageNr > static_cast<int>(m_num_pages))
- {
- message.append(std::to_wstring(pageNr));
- throw new PageRangeException(message);
- }
- m_ppage_num_list.push_back(pageNr);
- }
- }
- std::sort(m_ppage_num_list.begin(), m_ppage_num_list.end(), std::less<int>());
- std::unique(m_ppage_num_list.begin(), m_ppage_num_list.end());
-}
-
-void MainPage::RemovePageRangeEdit(PrintTaskOptionDetails^ printTaskOptionDetails)
-{
- if (m_pageRangeEditVisible)
- {
- unsigned int index;
- if(printTaskOptionDetails->DisplayedOptions->IndexOf(ref new String(L"PageRangeEdit"), &index))
- {
- printTaskOptionDetails->DisplayedOptions->RemoveAt(index);
- }
- m_pageRangeEditVisible = false;
- }
-}
-
-void MainPage::CreatePrintControl(_In_ IPrintDocumentPackageTarget* docPackageTarget,
- _In_ D2D1_PRINT_CONTROL_PROPERTIES* printControlProperties)
-{
- m_d2d_printcontrol = nullptr;
- ThrowIfFailed(m_d2d_device->CreatePrintControl(m_wic_factory.Get(), docPackageTarget,
- printControlProperties, &m_d2d_printcontrol));
-}
-
-void MainPage::DrawPreviewSurface(float width, float height, float scale_in,
- D2D1_RECT_F contentBox, uint32 page_num,
- IPrintPreviewDxgiPackageTarget* previewTarget)
-{
- int dpi = 96;
- int index_page_num = page_num - 1;
- int ren_page_num = index_page_num;
-
- if (m_ppage_num_list.size() > 0)
- ren_page_num = m_ppage_num_list[page_num - 1] - 1;
-
- /* This goes on in a background thread. Hence is non-blocking for UI */
- assert(IsBackgroundThread());
-
- /* Set up all the DirectX stuff */
- CD3D11_TEXTURE2D_DESC textureDesc(DXGI_FORMAT_B8G8R8A8_UNORM,
- static_cast<uint32>(ceil(width * dpi / 96)),
- static_cast<uint32>(ceil(height * dpi / 96)),
- 1, 1, D3D11_BIND_RENDER_TARGET | D3D11_BIND_SHADER_RESOURCE);
- ComPtr<ID3D11Texture2D> texture;
- ThrowIfFailed(m_d3d_device->CreateTexture2D(&textureDesc, nullptr, &texture));
- ComPtr<IDXGISurface> dxgi_surface;
- ThrowIfFailed(texture.As<IDXGISurface>(&dxgi_surface));
-
- // Create a new D2D device context for rendering the preview surface. D2D
- // device contexts are stateful, and hence a unique device context must be
- // used on each thread.
- ComPtr<ID2D1DeviceContext> d2d_context;
- ThrowIfFailed(m_d2d_device->CreateDeviceContext(D2D1_DEVICE_CONTEXT_OPTIONS_NONE,
- &d2d_context));
- // Update DPI for preview surface as well.
- d2d_context->SetDpi(96, 96);
-
- D2D1_BITMAP_PROPERTIES1 bitmap_properties =
- D2D1::BitmapProperties1(D2D1_BITMAP_OPTIONS_TARGET | D2D1_BITMAP_OPTIONS_CANNOT_DRAW,
- D2D1::PixelFormat(DXGI_FORMAT_B8G8R8A8_UNORM, D2D1_ALPHA_MODE_IGNORE));
-
- // Create surface bitmap on which page content is drawn.
- ComPtr<ID2D1Bitmap1> d2d_surfacebitmap;
- ThrowIfFailed(d2d_context->CreateBitmapFromDxgiSurface(dxgi_surface.Get(),
- &bitmap_properties, &d2d_surfacebitmap));
- d2d_context->SetTarget(d2d_surfacebitmap.Get());
-
- /* Figure out all the sizing */
- spatial_info_t spatial_info;
- spatial_info.scale_factor = 1.0;
- spatial_info.size.X = width;
- spatial_info.size.Y = height;
- Point ras_size;
- float scale_factor;
-
- if (ComputePageSize(spatial_info, ren_page_num, &ras_size, &scale_factor) != S_ISOK)
- return;
-
- ras_size.X = ceil(ras_size.X);
- ras_size.Y = ceil(ras_size.Y);
-
- Array<unsigned char>^ bmp_data;
- int code = mu_doc->RenderPageBitmapSync(ren_page_num, (int) ras_size.X,
- (int)ras_size.Y, scale_factor, true, false, false, { 0, 0 },
- { ras_size.X, ras_size.Y }, &bmp_data);
- if (bmp_data == nullptr)
- return;
- D2D1_SIZE_U bit_map_rect;
- bit_map_rect.width = (UINT32) (ras_size.X);
- bit_map_rect.height = (UINT32) (ras_size.Y);
-
- D2D1_BITMAP_PROPERTIES1 bitmap_prop =
- D2D1::BitmapProperties1(D2D1_BITMAP_OPTIONS_NONE,
- D2D1::PixelFormat(DXGI_FORMAT_B8G8R8A8_UNORM, D2D1_ALPHA_MODE_IGNORE));
-
- ID2D1Bitmap1 *bit_map;
- ThrowIfFailed(d2d_context->CreateBitmap(bit_map_rect, &(bmp_data[0]),
- (UINT32) (ras_size.X * 4),
- &bitmap_prop, &bit_map));
- D2D1_SIZE_F size = bit_map->GetSize();
-
- /* Handle centering */
- float y_offset = 0;
- float x_offset = 0;
- if (m_centerprint)
- {
- y_offset = (float) ((height - size.height) / 2.0);
- x_offset = (float) ((width - size.width) / 2.0);
- }
-
- d2d_context->BeginDraw();
- d2d_context->DrawBitmap(bit_map, D2D1::RectF(x_offset, y_offset,
- size.width + x_offset, size.height + y_offset));
- ThrowIfFailed(d2d_context->EndDraw());
- ThrowIfFailed(previewTarget->DrawPage(page_num, dxgi_surface.Get(),
- (float) dpi, (float) dpi));
-}
-
-HRESULT MainPage::ClosePrintControl()
-{
- return (m_d2d_printcontrol == nullptr) ? S_OK : m_d2d_printcontrol->Close();
-}
-
-/* To support high resolution printing, we tile renderings at the maxbitmap size
- allowed with DirectX for this particular device. e.g the low end surface
- will have a smaller maxbitmap size compared to a laptop or desktop. */
-void MainPage::PrintPage(uint32 page_num, D2D1_RECT_F image_area, D2D1_SIZE_F page_area,
- float device_dpi, IStream* print_ticket)
-{
- int dpi = m_printresolution;
- int index_page_num = page_num - 1;
- int ren_page_num = index_page_num;
- bool tile = false;
- Point tile_count;
- D2D1_SIZE_U bit_map_rect;
- Array<unsigned char>^ bmp_data;
-
- if (index_page_num == 0)
- {
- this->Dispatcher->RunAsync(CoreDispatcherPriority::Low,
- ref new DispatchedHandler([this]()
- {
- xaml_PrintStack->Visibility = Windows::UI::Xaml::Visibility::Visible;
- }));
- }
-
- /* Windoze seems to hand me a bogus dpi. Need to follow up on this */
- device_dpi = 96;
-
- if (m_ppage_num_list.size() > 0)
- ren_page_num = m_ppage_num_list[page_num - 1] - 1;
-
- /* This goes on in a background thread. Hence is non-blocking for UI */
- assert(IsBackgroundThread());
-
- /* Print command list set up */
- ComPtr<ID2D1DeviceContext> d2d_context;
- ThrowIfFailed(m_d2d_device->CreateDeviceContext(D2D1_DEVICE_CONTEXT_OPTIONS_NONE,
- &d2d_context));
-
- /* This should let us work in pixel dimensions but after much testing
- it clearly has some issues. May investigate this further later. */
- //d2d_context->SetUnitMode(D2D1_UNIT_MODE_PIXELS);
- ComPtr<ID2D1CommandList> clist;
- ThrowIfFailed(d2d_context->CreateCommandList(&clist));
- d2d_context->SetTarget(clist.Get());
-
- /* Width and height here are at 96 dpi */
- float width = image_area.right - image_area.left;
- float height = image_area.bottom - image_area.top;
-
- /* MuPDF native resolution is 72dpi */
- spatial_info_t spatial_info;
- spatial_info.scale_factor = 1.0;
- spatial_info.size.X = (width / device_dpi) * (m_printresolution);
- spatial_info.size.Y = (height /device_dpi) * (m_printresolution);
- Point ras_size;
- float scale_factor;
-
- if (ComputePageSize(spatial_info, ren_page_num, &ras_size, &scale_factor) != S_ISOK)
- return;
- ras_size.X = ceil(ras_size.X);
- ras_size.Y = ceil(ras_size.Y);
-
- /* Determine if we need to do any tiling */
- int tile_size = d2d_context->GetMaximumBitmapSize();
- tile_count.Y = 1;
- if (ras_size.X > tile_size)
- {
- tile = true;
- tile_count.X = (float) ceil((float) ras_size.X / (float) tile_size);
- bit_map_rect.width = (UINT32) (tile_size);
- }
- else
- {
- tile_count.X = 1;
- bit_map_rect.width = (UINT32) (ras_size.X);
- }
- if (ras_size.Y > tile_size)
- {
- tile = true;
- tile_count.Y = (float) ceil((float) ras_size.Y / (float) tile_size);
- bit_map_rect.height = (UINT32) (tile_size);
- }
- else
- {
- tile_count.Y = 1;
- bit_map_rect.height = (UINT32) (ras_size.Y);
- }
-
- /* Adjust for centering in media page */
- float y_offset = 0;
- float x_offset = 0;
- if (m_centerprint)
- {
- y_offset = (float)round(((page_area.height - (ras_size.Y) * device_dpi / m_printresolution) / 2.0));
- x_offset = (float)round(((page_area.width - (ras_size.X) * device_dpi / m_printresolution) / 2.0));
- }
-
- D2D1_BITMAP_PROPERTIES1 bitmap_prop =
- D2D1::BitmapProperties1(D2D1_BITMAP_OPTIONS_NONE,
- D2D1::PixelFormat(DXGI_FORMAT_B8G8R8A8_UNORM, D2D1_ALPHA_MODE_IGNORE),
- (float) m_printresolution, (float) m_printresolution);
-
- ID2D1Bitmap1 *bit_map = NULL;
- Point top_left, top_left_dip;
- Point bottom_right, bottom_right_dip;
-
- /* Initialize X location */
- top_left.X = 0;
- bottom_right.X = (float) bit_map_rect.width;
-
- d2d_context->BeginDraw();
- /* Useful for debugging */
- //d2d_context->Clear(D2D1::ColorF(D2D1::ColorF::Coral));
- int total_tile = (int) (tile_count.X * tile_count.Y);
-
- for (int x = 0; x < tile_count.X; x++)
- {
- /* Reset Y location */
- top_left.Y = 0;
- bottom_right.Y = (float) bit_map_rect.height;
-
- for (int y = 0; y < tile_count.Y; y++)
- {
- int code = mu_doc->RenderPageBitmapSync(ren_page_num, (int)bit_map_rect.width,
- (int)bit_map_rect.height, scale_factor, true, false, tile, top_left,
- bottom_right, &bmp_data);
- if (bmp_data == nullptr || code != 0)
- break;
-
- ThrowIfFailed(d2d_context->CreateBitmap(bit_map_rect, &(bmp_data[0]),
- (UINT32)(bit_map_rect.width * 4), &bitmap_prop, &bit_map));
-
- // This is where D2D1_UNIT_MODE_PIXELS fails to work. Essentially,
- // DirectX ends up clipping based upon the origin still in DIPS
- // instead of actual pixel positions.
- top_left_dip.X = (float)((double) top_left.X * (double)device_dpi / (double)m_printresolution + x_offset - 0.5);
- top_left_dip.Y = (float)((double)top_left.Y * (double)device_dpi / (double)m_printresolution + y_offset - 0.5);
- bottom_right_dip.X = (float)((double)bottom_right.X * (double)device_dpi / (double)m_printresolution + x_offset + 0.5);
- bottom_right_dip.Y = (float)((double)bottom_right.Y * (double)device_dpi / (double)m_printresolution + y_offset + 0.5);
- d2d_context->DrawBitmap(bit_map, D2D1::RectF(top_left_dip.X, top_left_dip.Y,
- bottom_right_dip.X, bottom_right_dip.Y));
- bit_map->Release();
-
- /* Increment Y location */
- top_left.Y += (float) bit_map_rect.height;
- bottom_right.Y += (float) bit_map_rect.height;
- PrintProgressTile(total_tile);
- }
- /* Increment X location */
- top_left.X += (float) bit_map_rect.width;
- bottom_right.X += (float) bit_map_rect.width;
- }
- ThrowIfFailed(d2d_context->EndDraw());
- ThrowIfFailed(clist->Close());
- ThrowIfFailed(m_d2d_printcontrol->AddPage(clist.Get(), page_area, print_ticket));
-}
-
-void MainPage::RefreshPreview()
-{
- PrintPages *p_struct = (PrintPages*) m_print_struct;
- p_struct->ResetPreview();
-}
-
-/* This reference is needed so that we can reset preview when changes occur on options */
-void MainPage::SetPrintTarget(void *print_struct)
-{
- m_print_struct = print_struct;
-}
-
-void MainPage::PrintProgress(PrintTask^ sender, PrintTaskProgressingEventArgs^ args)
-{
- assert(IsBackgroundThread());
- this->m_curr_print_count = args->DocumentPageCount;
-
- /* Update the progress bar if it is still active */
- this->Dispatcher->RunAsync(CoreDispatcherPriority::Low,
- ref new DispatchedHandler([this]()
- {
- if (this->xaml_PrintStack->Visibility != Windows::UI::Xaml::Visibility::Collapsed)
- {
- xaml_PrintProgress->Value =
- 100.0 * (double)m_curr_print_count / (double)GetPrintPageCount();
- }
- }));
-}
-
-void MainPage::PrintProgressTile(int total_tiles)
-{
- assert(IsBackgroundThread());
- double step_size = 100.0 / ((double)GetPrintPageCount() * (double)total_tiles);
- /* Update the progress bar if it is still active. The tiling of each
- page can be slow on the surface if the resolution is high, hence
- the need for this feedback */
- this->Dispatcher->RunAsync(CoreDispatcherPriority::Low,
- ref new DispatchedHandler([this, step_size]()
- {
- if (this->xaml_PrintStack->Visibility != Windows::UI::Xaml::Visibility::Collapsed)
- {
- xaml_PrintProgress->Value += step_size;
- }
- }));
-}
-
-void MainPage::PrintCompleted(PrintTask^ sender, PrintTaskCompletedEventArgs^ args)
-{
- assert(IsBackgroundThread());
- m_print_active = PRINT_INACTIVE;
- this->Dispatcher->RunAsync(CoreDispatcherPriority::Low,
- ref new DispatchedHandler([this]()
- {
- xaml_PrintStack->Visibility = Windows::UI::Xaml::Visibility::Collapsed;
- xaml_PrintProgress->Value = 0;
- }));
-}
-
-void mupdf_cpp::MainPage::HideProgress(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
-{
- xaml_PrintStack->Visibility = Windows::UI::Xaml::Visibility::Collapsed;
-}
diff --git a/platform/windows/mupdf_cpp/MainPage.xaml.h b/platform/windows/mupdf_cpp/MainPage.xaml.h
deleted file mode 100644
index 1cf8dd97..00000000
--- a/platform/windows/mupdf_cpp/MainPage.xaml.h
+++ /dev/null
@@ -1,319 +0,0 @@
-//
-// MainPage.xaml.h
-// Declaration of the MainPage class.
-//
-
-#pragma once
-
-#include "MainPage.g.h"
-#include "ppl.h"
-#include "ppltasks.h"
-#include <collection.h>
-#include <algorithm>
-#include <assert.h>
-#include "DocumentPage.h"
-#include "status.h"
-#include "PrintPage.h"
-
-using namespace Platform;
-using namespace Concurrency;
-using namespace Windows::Storage;
-using namespace Windows::UI::Xaml;
-using namespace Windows::UI::Xaml::Media::Imaging;
-using namespace Windows::Storage::Streams;
-using namespace Windows::Foundation;
-using namespace Windows::UI::Xaml::Controls;
-using namespace Windows::UI::Xaml::Media;
-using namespace Windows::UI::Xaml::Input;
-using namespace Windows::UI::Xaml::Shapes;
-using namespace Windows::Foundation::Collections;
-using namespace Platform::Collections;
-using namespace Windows::UI::ViewManagement;
-using namespace Windows::UI::Popups;
-using namespace Windows::UI::Xaml::Navigation;
-using namespace Windows::ApplicationModel;
-using namespace Windows::UI::Core;
-using namespace mupdfwinrt;
-
-using namespace Windows::Graphics::Display;
-using namespace Windows::Graphics::Printing;
-using namespace Windows::UI;
-using namespace Windows::UI::Text;
-using namespace Windows::UI::Xaml::Documents;
-using namespace Windows::Graphics::Printing::OptionDetails;
-using namespace Windows::UI::Xaml::Printing;
-
-typedef enum
-{
- StatusMessage,
- ErrorMessage
-} NotifyType_t;
-
-typedef enum {
- REN_AVAILABLE = 0,
- REN_THUMBS,
- REN_UPDATE_THUMB_CANVAS,
- REN_PAGE /* Used to ignore value when source based setting */
-} RenderingStatus_t;
-
-typedef enum {
- PRINT_INACTIVE = 0,
- PRINT_ACTIVE,
- PRINT_FAILED
-} PrintStatus_t;
-
-typedef struct spatial_info_s
-{
- Point size;
- double scale_factor;
-} spatial_info_t;
-
-namespace mupdf_cpp
-{
- class PageRangeException
- {
- private:
- std::wstring m_message;
- public:
- PageRangeException(std::wstring &message)
- {
- m_message = message;
- }
- ~PageRangeException()
- {
- }
- std::wstring get_DisplayMessage()
- {
- return m_message;
- }
- };
-
- public value class PrintPageDesc
- {
- public:
- Size margin;
- Size pagesize;
- Size printpagesize;
- Size resolution;
-
- friend bool operator == (PrintPageDesc pp1, PrintPageDesc pp2)
- {
- bool equal = (std::abs(pp1.pagesize.Width - pp2.pagesize.Width) < FLT_EPSILON) &&
- (std::abs(pp1.pagesize.Height - pp2.pagesize.Height) < FLT_EPSILON);
- if (equal)
- {
- equal = (std::abs(pp1.printpagesize.Width - pp2.printpagesize.Width) < FLT_EPSILON) &&
- (std::abs(pp1.printpagesize.Height - pp2.printpagesize.Height) < FLT_EPSILON);
- }
- if (equal)
- {
- equal = (std::abs(pp1.resolution.Width - pp2.resolution.Width) < FLT_EPSILON) &&
- (std::abs(pp1.resolution.Height - pp2.resolution.Height) < FLT_EPSILON);
- }
- return equal;
- }
- friend bool operator != (PrintPageDesc pp1, PrintPageDesc pp2)
- {
- return !(pp1 == pp2);
- }
- };
-
- public ref class MainPage sealed
- {
-
- inline void ThrowIfFailed(HRESULT hr)
- {
- if (FAILED(hr))
- {
- /* We are in a different thread in this case. */
- this->Dispatcher->RunAsync(CoreDispatcherPriority::Low,
- ref new DispatchedHandler([this]()
- {
- this->m_print_active = PRINT_FAILED;
- xaml_PrintStack->Visibility = Windows::UI::Xaml::Visibility::Collapsed;
- this->NotifyUser("Print Failed", ErrorMessage);
- }));
- throw Platform::Exception::CreateException(hr, "Print Failed");
- }
- }
-
- public:
- MainPage();
-
- property Windows::ApplicationModel::Activation::ProtocolActivatedEventArgs^ ProtocolEvent
- {
- Windows::ApplicationModel::Activation::ProtocolActivatedEventArgs^ get() { return _protocolEventArgs; }
- void set(Windows::ApplicationModel::Activation::ProtocolActivatedEventArgs^ value) { _protocolEventArgs = value; }
- }
-
- property Windows::ApplicationModel::Activation::FileActivatedEventArgs^ FileEvent
- {
- Windows::ApplicationModel::Activation::FileActivatedEventArgs^ get() { return _fileEventArgs; }
- void set(Windows::ApplicationModel::Activation::FileActivatedEventArgs^ value) { _fileEventArgs = value; }
- }
- void NotifyUser(String^ strMessage, int type);
- void FromFile(); /* For association cases when we are already running */
-
- protected:
- virtual void OnNavigatedTo(Windows::UI::Xaml::Navigation::NavigationEventArgs^ e) override;
- virtual void OnKeyDown(Windows::UI::Xaml::Input::KeyRoutedEventArgs^ e) override;
- property Windows::Graphics::Printing::IPrintDocumentSource^ PrintDocumentSource
- {
- Windows::Graphics::Printing::IPrintDocumentSource^ get()
- {
- return m_printdoc_source;
- }
- }
-
- private:
- Windows::Foundation::EventRegistrationToken _pageLoadedHandlerToken;
- Vector<DocumentPage^>^ m_docPages;
- Vector<DocumentPage^>^ m_thumbnails;
- Vector<IVector<RectList^>^>^ m_page_link_list;
- Vector<int>^ m_linkset;
- Vector<RectList^>^ m_text_list;
- mudocument^ mu_doc;
- int m_rectlist_page;
- bool m_file_open;
- int m_currpage;
- int m_searchpage;
- int m_num_pages;
- int m_slider_min;
- int m_slider_max;
- bool m_init_done;
- bool m_flip_from_searchlink;
- bool m_links_on;
- int m_search_rect_count;
- cancellation_token_source m_searchcts;
- bool m_page_update;
- long long m_memory_use;
- WriteableBitmap ^m_BlankBmp;
- String^ m_textcolor;
- String^ m_linkcolor;
- FlipView^ m_curr_flipView;
- RenderingStatus_t m_ren_status;
- cancellation_token_source m_ThumbCancel;
- bool m_insearch; /* Used for UI display */
- bool m_search_active; /* Used to avoid multiple UI clicks */
- bool m_sliderchange;
- double m_Progress;
- double m_doczoom;
-
- /* Print related */
- PrintDocument^ m_printdoc;
- IPrintDocumentSource^ m_printdoc_source;
- PrintPageDesc m_printpagedesc;
- int m_printresolution;
- bool m_centerprint;
- bool m_pageRangeEditVisible;
- std::vector<int> m_ppage_num_list;
- int m_curr_print_count;
- PrintStatus_t m_print_active;
-
- /* DirectX Print Control */
- PrintManager ^m_print_manager;
- Microsoft::WRL::ComPtr<ID3D11Device> m_d3d_device;
- Microsoft::WRL::ComPtr<ID3D11DeviceContext> m_d3d_context;
- Microsoft::WRL::ComPtr<ID2D1PrintControl> m_d2d_printcontrol;
- Microsoft::WRL::ComPtr<ID2D1Device> m_d2d_device;
- Microsoft::WRL::ComPtr<IWICImagingFactory2> m_wic_factory;
- Microsoft::WRL::ComPtr<ID2D1Factory1> m_d2d_factory;
- D3D_FEATURE_LEVEL m_featureLevel;
- void *m_print_struct;
-
- void ReplaceImage(int page_num, InMemoryRandomAccessStream^ ras, Point ras_size, double zoom);
- void Picker(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
- void Searcher(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
- void OpenDocumentPrep(StorageFile^ file);
- void OpenDocument(StorageFile^ file);
- void InitialRender();
- void RenderRange(int curr_page);
- void CleanUp();
- void UpdatePage(int page_num, InMemoryRandomAccessStream^ ras, Point ras_size, Page_Content_t content_type, double zoom);
- void CreateBlank(int width, int height);
- void HandleFileNotFoundException(Platform::COMException^ e);
- void NotifyUserFileNotExist();
- void SetFlipView();
- void FlipView_SelectionChanged(Object^ sender, SelectionChangedEventArgs^ e);
- void SearchNext(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
- void SearchPrev(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
- void CancelSearch(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
- void SearchInDirection(int dir, String^ textToFind);
- void ShowSearchResults(int page_num, unsigned int box_count);
- void ClearTextSearch();
- void AddTextCanvas();
- void GridSizeChanged();
- void UpdateThumbSizes();
- void UpdatePreRenderedPageSizes();
- void ShowThumbnail();
- void Canvas_ManipulationCompleted(Platform::Object^ sender, Windows::UI::Xaml::Input::ManipulationCompletedRoutedEventArgs^ e);
- void AddThumbNail(int page_num, FlipView^ flip_view);
- spatial_info_t InitSpatial(double scale);
- void RenderThumbs();
- void SetThumb(unsigned int page_num);
- void ReleasePages(int old_page, int new_page);
- void Linker(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
- void AddLinkCanvas();
- void ClearLinks();
- void InvalidateLinks();
- void ContentDisplay(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
- void ListView_Single_Tap(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e);
- void ContentSelected(Platform::Object^ sender, Windows::UI::Xaml::Controls::ItemClickEventArgs^ e);
- void ContentChanged(Platform::Object^ sender, Windows::UI::Xaml::Controls::SelectionChangedEventArgs^ e);
- void Reflower(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
- void topAppBar_Loaded(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
- void UpdateAppBarButtonViewState();
- void ExitInvokedHandler(Windows::UI::Popups::IUICommand^ command);
- void OKInvokedHandler(Windows::UI::Popups::IUICommand^ command);
- int ComputePageSize(spatial_info_t spatial_info, int page_num, Point *ren_size, float *scale_factor);
- void ScrollChanged(Platform::Object^ sender, Windows::UI::Xaml::Controls::ScrollViewerViewChangedEventArgs^ e);
- void LinkTapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e);
- void SearchProgress(IAsyncOperationWithProgress<int, double>^ operation, double status);
- void PasswordOK(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
- void App_Suspending(Object^ sender, SuspendingEventArgs^ e);
- void ExceptionHandler(Object^ sender, UnhandledExceptionEventArgs^ e);
- void ZoomInPress(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
- void ZoomOutPress(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
- void NonTouchZoom(int zoom);
- void ShowSearchBox();
- bool IsNotStandardView();
- void Page_Loaded(Object^ sender, RoutedEventArgs^ e);
- Windows::ApplicationModel::Activation::ProtocolActivatedEventArgs^ _protocolEventArgs;
- Windows::ApplicationModel::Activation::FileActivatedEventArgs^ _fileEventArgs;
- void Slider_ValueChanged(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e);
- void Slider_Key(Platform::Object^ sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs^ e);
- void Slider_Common();
- void FlipView_Started(Platform::Object^ sender, Windows::UI::Xaml::Input::ManipulationStartedRoutedEventArgs^ e);
- void UpdateZoom();
- String^ GetVisualState();
- void SetThumbInit(unsigned int page_num);
-
- /* Print Related */
- void RegisterForPrinting();
- void PrintOptionsChanged(PrintTaskOptionDetails^ sender, PrintTaskOptionChangedEventArgs^ args);
- void RefreshPreview();
- void RemovePageRangeEdit(PrintTaskOptionDetails^ printTaskOptionDetails);
- void SplitString(String^ string, wchar_t delimiter, std::vector<std::wstring>& words);
- void GetPagesInRange(String^ pageRange);
- void SetPrintTask( PrintManager^, PrintTaskRequestedEventArgs^ args);
- void SetUpDirectX();
-
- internal:
- void CreatePrintControl(IPrintDocumentPackageTarget* docPackageTarget,
- D2D1_PRINT_CONTROL_PROPERTIES* printControlProperties);
- void PrintPage(uint32 page_num, D2D1_RECT_F image_area, D2D1_SIZE_F page_area,
- float device_dpi, IStream* print_ticket);
- HRESULT ClosePrintControl();
- void DrawPreviewSurface(float width, float height, float scale,
- D2D1_RECT_F contentBox, uint32 desiredJobPage,
- IPrintPreviewDxgiPackageTarget* previewTarget);
- int GetPrintPageCount();
- void SetPrintTarget(void *print_struct);
- void PrintProgress(PrintTask^ sender, PrintTaskProgressingEventArgs^ args);
- void PrintProgressTile(int total_tiles);
- void PrintCompleted(PrintTask^ sender, PrintTaskCompletedEventArgs^ args);
-private:
- void Testing(Platform::Object^ sender, Windows::UI::Xaml::Input::ManipulationCompletedRoutedEventArgs^ e);
- void HideProgress(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
-};
-}
diff --git a/platform/windows/mupdf_cpp/Package.StoreAssociation.xml b/platform/windows/mupdf_cpp/Package.StoreAssociation.xml
deleted file mode 100644
index 099c2431..00000000
--- a/platform/windows/mupdf_cpp/Package.StoreAssociation.xml
+++ /dev/null
@@ -1,375 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<StoreAssociation xmlns="http://schemas.microsoft.com/appx/2010/storeassociation">
- <Publisher>CN=B93265AA-82AD-458A-A08E-7069B8ED88B5</Publisher>
- <NamespacePrefix>ArtifexSoftware</NamespacePrefix>
- <PublisherDisplayName>Artifex Software</PublisherDisplayName>
- <GeneratePackageHash>http://www.w3.org/2001/04/xmlenc#sha256</GeneratePackageHash>
- <SupportedLocales>
- <Language Code="af" InMinimumRequirementSet="false" />
- <Language Code="af-za" InMinimumRequirementSet="false" />
- <Language Code="am" InMinimumRequirementSet="false" />
- <Language Code="am-et" InMinimumRequirementSet="false" />
- <Language Code="ar" InMinimumRequirementSet="true" />
- <Language Code="ar-ae" InMinimumRequirementSet="true" />
- <Language Code="ar-bh" InMinimumRequirementSet="true" />
- <Language Code="ar-dz" InMinimumRequirementSet="true" />
- <Language Code="ar-eg" InMinimumRequirementSet="true" />
- <Language Code="ar-iq" InMinimumRequirementSet="true" />
- <Language Code="ar-jo" InMinimumRequirementSet="true" />
- <Language Code="ar-kw" InMinimumRequirementSet="true" />
- <Language Code="ar-lb" InMinimumRequirementSet="true" />
- <Language Code="ar-ly" InMinimumRequirementSet="true" />
- <Language Code="ar-ma" InMinimumRequirementSet="true" />
- <Language Code="ar-om" InMinimumRequirementSet="true" />
- <Language Code="ar-qa" InMinimumRequirementSet="true" />
- <Language Code="ar-sa" InMinimumRequirementSet="true" />
- <Language Code="ar-sy" InMinimumRequirementSet="true" />
- <Language Code="ar-tn" InMinimumRequirementSet="true" />
- <Language Code="ar-ye" InMinimumRequirementSet="true" />
- <Language Code="as" InMinimumRequirementSet="false" />
- <Language Code="as-in" InMinimumRequirementSet="false" />
- <Language Code="az-arab" InMinimumRequirementSet="false" />
- <Language Code="az-arab-az" InMinimumRequirementSet="false" />
- <Language Code="az-cyrl" InMinimumRequirementSet="false" />
- <Language Code="az-cyrl-az" InMinimumRequirementSet="false" />
- <Language Code="az-latn" InMinimumRequirementSet="false" />
- <Language Code="az-latn-az" InMinimumRequirementSet="false" />
- <Language Code="be" InMinimumRequirementSet="false" />
- <Language Code="be-by" InMinimumRequirementSet="false" />
- <Language Code="bg" InMinimumRequirementSet="true" />
- <Language Code="bg-bg" InMinimumRequirementSet="true" />
- <Language Code="bn" InMinimumRequirementSet="false" />
- <Language Code="bn-bd" InMinimumRequirementSet="false" />
- <Language Code="bn-in" InMinimumRequirementSet="false" />
- <Language Code="bs" InMinimumRequirementSet="false" />
- <Language Code="bs-cyrl" InMinimumRequirementSet="false" />
- <Language Code="bs-cyrl-ba" InMinimumRequirementSet="false" />
- <Language Code="bs-latn" InMinimumRequirementSet="false" />
- <Language Code="bs-latn-ba" InMinimumRequirementSet="false" />
- <Language Code="ca" InMinimumRequirementSet="false" />
- <Language Code="ca-es" InMinimumRequirementSet="false" />
- <Language Code="ca-es-valencia" InMinimumRequirementSet="false" />
- <Language Code="chr-cher" InMinimumRequirementSet="false" />
- <Language Code="chr-cher-us" InMinimumRequirementSet="false" />
- <Language Code="chr-latn" InMinimumRequirementSet="false" />
- <Language Code="cs" InMinimumRequirementSet="true" />
- <Language Code="cs-cz" InMinimumRequirementSet="true" />
- <Language Code="cy" InMinimumRequirementSet="false" />
- <Language Code="cy-gb" InMinimumRequirementSet="false" />
- <Language Code="da" InMinimumRequirementSet="true" />
- <Language Code="da-dk" InMinimumRequirementSet="true" />
- <Language Code="de" InMinimumRequirementSet="true" />
- <Language Code="de-at" InMinimumRequirementSet="true" />
- <Language Code="de-ch" InMinimumRequirementSet="true" />
- <Language Code="de-de" InMinimumRequirementSet="true" />
- <Language Code="de-li" InMinimumRequirementSet="true" />
- <Language Code="de-lu" InMinimumRequirementSet="true" />
- <Language Code="el" InMinimumRequirementSet="true" />
- <Language Code="el-gr" InMinimumRequirementSet="true" />
- <Language Code="en" InMinimumRequirementSet="true" />
- <Language Code="en-011" InMinimumRequirementSet="true" />
- <Language Code="en-014" InMinimumRequirementSet="true" />
- <Language Code="en-018" InMinimumRequirementSet="true" />
- <Language Code="en-021" InMinimumRequirementSet="true" />
- <Language Code="en-029" InMinimumRequirementSet="true" />
- <Language Code="en-053" InMinimumRequirementSet="true" />
- <Language Code="en-au" InMinimumRequirementSet="true" />
- <Language Code="en-bz" InMinimumRequirementSet="true" />
- <Language Code="en-ca" InMinimumRequirementSet="true" />
- <Language Code="en-gb" InMinimumRequirementSet="true" />
- <Language Code="en-hk" InMinimumRequirementSet="true" />
- <Language Code="en-id" InMinimumRequirementSet="true" />
- <Language Code="en-ie" InMinimumRequirementSet="true" />
- <Language Code="en-in" InMinimumRequirementSet="true" />
- <Language Code="en-jm" InMinimumRequirementSet="true" />
- <Language Code="en-kz" InMinimumRequirementSet="true" />
- <Language Code="en-mt" InMinimumRequirementSet="true" />
- <Language Code="en-my" InMinimumRequirementSet="true" />
- <Language Code="en-nz" InMinimumRequirementSet="true" />
- <Language Code="en-ph" InMinimumRequirementSet="true" />
- <Language Code="en-pk" InMinimumRequirementSet="true" />
- <Language Code="en-sg" InMinimumRequirementSet="true" />
- <Language Code="en-tt" InMinimumRequirementSet="true" />
- <Language Code="en-us" InMinimumRequirementSet="true" />
- <Language Code="en-vn" InMinimumRequirementSet="true" />
- <Language Code="en-za" InMinimumRequirementSet="true" />
- <Language Code="es" InMinimumRequirementSet="true" />
- <Language Code="es-019" InMinimumRequirementSet="true" />
- <Language Code="es-419" InMinimumRequirementSet="true" />
- <Language Code="es-ar" InMinimumRequirementSet="true" />
- <Language Code="es-bo" InMinimumRequirementSet="true" />
- <Language Code="es-cl" InMinimumRequirementSet="true" />
- <Language Code="es-co" InMinimumRequirementSet="true" />
- <Language Code="es-cr" InMinimumRequirementSet="true" />
- <Language Code="es-do" InMinimumRequirementSet="true" />
- <Language Code="es-ec" InMinimumRequirementSet="true" />
- <Language Code="es-es" InMinimumRequirementSet="true" />
- <Language Code="es-gt" InMinimumRequirementSet="true" />
- <Language Code="es-hn" InMinimumRequirementSet="true" />
- <Language Code="es-mx" InMinimumRequirementSet="true" />
- <Language Code="es-ni" InMinimumRequirementSet="true" />
- <Language Code="es-pa" InMinimumRequirementSet="true" />
- <Language Code="es-pe" InMinimumRequirementSet="true" />
- <Language Code="es-pr" InMinimumRequirementSet="true" />
- <Language Code="es-py" InMinimumRequirementSet="true" />
- <Language Code="es-sv" InMinimumRequirementSet="true" />
- <Language Code="es-us" InMinimumRequirementSet="true" />
- <Language Code="es-uy" InMinimumRequirementSet="true" />
- <Language Code="es-ve" InMinimumRequirementSet="true" />
- <Language Code="et" InMinimumRequirementSet="true" />
- <Language Code="et-ee" InMinimumRequirementSet="true" />
- <Language Code="eu" InMinimumRequirementSet="false" />
- <Language Code="eu-es" InMinimumRequirementSet="false" />
- <Language Code="fa" InMinimumRequirementSet="false" />
- <Language Code="fa-ir" InMinimumRequirementSet="false" />
- <Language Code="fi" InMinimumRequirementSet="true" />
- <Language Code="fi-fi" InMinimumRequirementSet="true" />
- <Language Code="fil" InMinimumRequirementSet="false" />
- <Language Code="fil-latn" InMinimumRequirementSet="false" />
- <Language Code="fil-ph" InMinimumRequirementSet="false" />
- <Language Code="fr" InMinimumRequirementSet="true" />
- <Language Code="fr-011" InMinimumRequirementSet="true" />
- <Language Code="fr-015" InMinimumRequirementSet="true" />
- <Language Code="fr-021" InMinimumRequirementSet="true" />
- <Language Code="fr-029" InMinimumRequirementSet="true" />
- <Language Code="fr-155" InMinimumRequirementSet="true" />
- <Language Code="fr-be" InMinimumRequirementSet="true" />
- <Language Code="fr-ca" InMinimumRequirementSet="true" />
- <Language Code="fr-cd" InMinimumRequirementSet="true" />
- <Language Code="fr-ch" InMinimumRequirementSet="true" />
- <Language Code="fr-ci" InMinimumRequirementSet="true" />
- <Language Code="fr-cm" InMinimumRequirementSet="true" />
- <Language Code="fr-fr" InMinimumRequirementSet="true" />
- <Language Code="fr-ht" InMinimumRequirementSet="true" />
- <Language Code="fr-lu" InMinimumRequirementSet="true" />
- <Language Code="fr-ma" InMinimumRequirementSet="true" />
- <Language Code="fr-mc" InMinimumRequirementSet="true" />
- <Language Code="fr-ml" InMinimumRequirementSet="true" />
- <Language Code="fr-re" InMinimumRequirementSet="true" />
- <Language Code="frc-latn" InMinimumRequirementSet="true" />
- <Language Code="frp-latn" InMinimumRequirementSet="true" />
- <Language Code="ga" InMinimumRequirementSet="false" />
- <Language Code="ga-ie" InMinimumRequirementSet="false" />
- <Language Code="gd-gb" InMinimumRequirementSet="false" />
- <Language Code="gd-latn" InMinimumRequirementSet="false" />
- <Language Code="gl" InMinimumRequirementSet="false" />
- <Language Code="gl-es" InMinimumRequirementSet="false" />
- <Language Code="gu" InMinimumRequirementSet="false" />
- <Language Code="gu-in" InMinimumRequirementSet="false" />
- <Language Code="ha-latn" InMinimumRequirementSet="false" />
- <Language Code="ha-latn-ng" InMinimumRequirementSet="false" />
- <Language Code="he" InMinimumRequirementSet="true" />
- <Language Code="he-il" InMinimumRequirementSet="true" />
- <Language Code="hi" InMinimumRequirementSet="true" />
- <Language Code="hi-in" InMinimumRequirementSet="true" />
- <Language Code="hr" InMinimumRequirementSet="true" />
- <Language Code="hr-ba" InMinimumRequirementSet="true" />
- <Language Code="hr-hr" InMinimumRequirementSet="true" />
- <Language Code="hu" InMinimumRequirementSet="true" />
- <Language Code="hu-hu" InMinimumRequirementSet="true" />
- <Language Code="hy" InMinimumRequirementSet="false" />
- <Language Code="hy-am" InMinimumRequirementSet="false" />
- <Language Code="id" InMinimumRequirementSet="true" />
- <Language Code="id-id" InMinimumRequirementSet="true" />
- <Language Code="ig-latn" InMinimumRequirementSet="false" />
- <Language Code="ig-ng" InMinimumRequirementSet="false" />
- <Language Code="is" InMinimumRequirementSet="false" />
- <Language Code="is-is" InMinimumRequirementSet="false" />
- <Language Code="it" InMinimumRequirementSet="true" />
- <Language Code="it-ch" InMinimumRequirementSet="true" />
- <Language Code="it-it" InMinimumRequirementSet="true" />
- <Language Code="iu-cans" InMinimumRequirementSet="false" />
- <Language Code="iu-latn" InMinimumRequirementSet="false" />
- <Language Code="iu-latn-ca" InMinimumRequirementSet="false" />
- <Language Code="ja" InMinimumRequirementSet="true" />
- <Language Code="ja-jp" InMinimumRequirementSet="true" />
- <Language Code="ka" InMinimumRequirementSet="false" />
- <Language Code="ka-ge" InMinimumRequirementSet="false" />
- <Language Code="kk" InMinimumRequirementSet="false" />
- <Language Code="kk-kz" InMinimumRequirementSet="false" />
- <Language Code="km" InMinimumRequirementSet="false" />
- <Language Code="km-kh" InMinimumRequirementSet="false" />
- <Language Code="kn" InMinimumRequirementSet="false" />
- <Language Code="kn-in" InMinimumRequirementSet="false" />
- <Language Code="ko" InMinimumRequirementSet="true" />
- <Language Code="ko-kr" InMinimumRequirementSet="true" />
- <Language Code="kok" InMinimumRequirementSet="false" />
- <Language Code="kok-in" InMinimumRequirementSet="false" />
- <Language Code="ku-arab" InMinimumRequirementSet="false" />
- <Language Code="ku-arab-iq" InMinimumRequirementSet="false" />
- <Language Code="ky-cyrl" InMinimumRequirementSet="false" />
- <Language Code="ky-kg" InMinimumRequirementSet="false" />
- <Language Code="lb" InMinimumRequirementSet="false" />
- <Language Code="lb-lu" InMinimumRequirementSet="false" />
- <Language Code="lt" InMinimumRequirementSet="true" />
- <Language Code="lt-lt" InMinimumRequirementSet="true" />
- <Language Code="lv" InMinimumRequirementSet="true" />
- <Language Code="lv-lv" InMinimumRequirementSet="true" />
- <Language Code="mi" InMinimumRequirementSet="false" />
- <Language Code="mi-latn" InMinimumRequirementSet="false" />
- <Language Code="mi-nz" InMinimumRequirementSet="false" />
- <Language Code="mk" InMinimumRequirementSet="false" />
- <Language Code="mk-mk" InMinimumRequirementSet="false" />
- <Language Code="ml" InMinimumRequirementSet="false" />
- <Language Code="ml-in" InMinimumRequirementSet="false" />
- <Language Code="mn-cyrl" InMinimumRequirementSet="false" />
- <Language Code="mn-mn" InMinimumRequirementSet="false" />
- <Language Code="mn-mong" InMinimumRequirementSet="false" />
- <Language Code="mn-phag" InMinimumRequirementSet="false" />
- <Language Code="mr" InMinimumRequirementSet="false" />
- <Language Code="mr-in" InMinimumRequirementSet="false" />
- <Language Code="ms" InMinimumRequirementSet="false" />
- <Language Code="ms-bn" InMinimumRequirementSet="false" />
- <Language Code="ms-my" InMinimumRequirementSet="false" />
- <Language Code="mt" InMinimumRequirementSet="false" />
- <Language Code="mt-mt" InMinimumRequirementSet="false" />
- <Language Code="nb" InMinimumRequirementSet="true" />
- <Language Code="nb-no" InMinimumRequirementSet="true" />
- <Language Code="ne" InMinimumRequirementSet="false" />
- <Language Code="ne-np" InMinimumRequirementSet="false" />
- <Language Code="nl" InMinimumRequirementSet="true" />
- <Language Code="nl-be" InMinimumRequirementSet="true" />
- <Language Code="nl-nl" InMinimumRequirementSet="true" />
- <Language Code="nn" InMinimumRequirementSet="false" />
- <Language Code="nn-no" InMinimumRequirementSet="false" />
- <Language Code="no" InMinimumRequirementSet="true" />
- <Language Code="no-no" InMinimumRequirementSet="true" />
- <Language Code="nso" InMinimumRequirementSet="false" />
- <Language Code="nso-za" InMinimumRequirementSet="false" />
- <Language Code="or" InMinimumRequirementSet="false" />
- <Language Code="or-in" InMinimumRequirementSet="false" />
- <Language Code="pa" InMinimumRequirementSet="false" />
- <Language Code="pa-arab" InMinimumRequirementSet="false" />
- <Language Code="pa-arab-pk" InMinimumRequirementSet="false" />
- <Language Code="pa-deva" InMinimumRequirementSet="false" />
- <Language Code="pa-in" InMinimumRequirementSet="false" />
- <Language Code="pl" InMinimumRequirementSet="true" />
- <Language Code="pl-pl" InMinimumRequirementSet="true" />
- <Language Code="prs" InMinimumRequirementSet="false" />
- <Language Code="prs-af" InMinimumRequirementSet="false" />
- <Language Code="prs-arab" InMinimumRequirementSet="false" />
- <Language Code="pt" InMinimumRequirementSet="true" />
- <Language Code="pt-br" InMinimumRequirementSet="true" />
- <Language Code="pt-pt" InMinimumRequirementSet="true" />
- <Language Code="quc-latn" InMinimumRequirementSet="false" />
- <Language Code="qut-gt" InMinimumRequirementSet="false" />
- <Language Code="qut-latn" InMinimumRequirementSet="false" />
- <Language Code="quz" InMinimumRequirementSet="false" />
- <Language Code="quz-bo" InMinimumRequirementSet="false" />
- <Language Code="quz-ec" InMinimumRequirementSet="false" />
- <Language Code="quz-pe" InMinimumRequirementSet="false" />
- <Language Code="ro" InMinimumRequirementSet="true" />
- <Language Code="ro-ro" InMinimumRequirementSet="true" />
- <Language Code="ru" InMinimumRequirementSet="true" />
- <Language Code="ru-ru" InMinimumRequirementSet="true" />
- <Language Code="rw" InMinimumRequirementSet="false" />
- <Language Code="rw-rw" InMinimumRequirementSet="false" />
- <Language Code="sd-arab" InMinimumRequirementSet="false" />
- <Language Code="sd-arab-pk" InMinimumRequirementSet="false" />
- <Language Code="sd-deva" InMinimumRequirementSet="false" />
- <Language Code="si" InMinimumRequirementSet="false" />
- <Language Code="si-lk" InMinimumRequirementSet="false" />
- <Language Code="sk" InMinimumRequirementSet="true" />
- <Language Code="sk-sk" InMinimumRequirementSet="true" />
- <Language Code="sl" InMinimumRequirementSet="true" />
- <Language Code="sl-si" InMinimumRequirementSet="true" />
- <Language Code="sq" InMinimumRequirementSet="false" />
- <Language Code="sq-al" InMinimumRequirementSet="false" />
- <Language Code="sr-cyrl" InMinimumRequirementSet="false" />
- <Language Code="sr-cyrl-ba" InMinimumRequirementSet="false" />
- <Language Code="sr-cyrl-cs" InMinimumRequirementSet="false" />
- <Language Code="sr-cyrl-me" InMinimumRequirementSet="false" />
- <Language Code="sr-cyrl-rs" InMinimumRequirementSet="false" />
- <Language Code="sr-latn" InMinimumRequirementSet="true" />
- <Language Code="sr-latn-ba" InMinimumRequirementSet="true" />
- <Language Code="sr-latn-cs" InMinimumRequirementSet="true" />
- <Language Code="sr-latn-me" InMinimumRequirementSet="true" />
- <Language Code="sr-latn-rs" InMinimumRequirementSet="true" />
- <Language Code="sv" InMinimumRequirementSet="true" />
- <Language Code="sv-fi" InMinimumRequirementSet="true" />
- <Language Code="sv-se" InMinimumRequirementSet="true" />
- <Language Code="sw" InMinimumRequirementSet="false" />
- <Language Code="sw-ke" InMinimumRequirementSet="false" />
- <Language Code="ta" InMinimumRequirementSet="false" />
- <Language Code="ta-in" InMinimumRequirementSet="false" />
- <Language Code="te" InMinimumRequirementSet="false" />
- <Language Code="te-in" InMinimumRequirementSet="false" />
- <Language Code="tg-arab" InMinimumRequirementSet="false" />
- <Language Code="tg-cyrl" InMinimumRequirementSet="false" />
- <Language Code="tg-cyrl-tj" InMinimumRequirementSet="false" />
- <Language Code="tg-latn" InMinimumRequirementSet="false" />
- <Language Code="th" InMinimumRequirementSet="true" />
- <Language Code="th-th" InMinimumRequirementSet="true" />
- <Language Code="ti" InMinimumRequirementSet="false" />
- <Language Code="ti-et" InMinimumRequirementSet="false" />
- <Language Code="tk-cyrl" InMinimumRequirementSet="false" />
- <Language Code="tk-cyrl-tr" InMinimumRequirementSet="false" />
- <Language Code="tk-latn" InMinimumRequirementSet="false" />
- <Language Code="tk-latn-tr" InMinimumRequirementSet="false" />
- <Language Code="tk-tm" InMinimumRequirementSet="false" />
- <Language Code="tn" InMinimumRequirementSet="false" />
- <Language Code="tn-bw" InMinimumRequirementSet="false" />
- <Language Code="tn-za" InMinimumRequirementSet="false" />
- <Language Code="tr" InMinimumRequirementSet="true" />
- <Language Code="tr-tr" InMinimumRequirementSet="true" />
- <Language Code="tt-arab" InMinimumRequirementSet="false" />
- <Language Code="tt-cyrl" InMinimumRequirementSet="false" />
- <Language Code="tt-latn" InMinimumRequirementSet="false" />
- <Language Code="tt-ru" InMinimumRequirementSet="false" />
- <Language Code="ug-arab" InMinimumRequirementSet="false" />
- <Language Code="ug-cn" InMinimumRequirementSet="false" />
- <Language Code="ug-cyrl" InMinimumRequirementSet="false" />
- <Language Code="ug-latn" InMinimumRequirementSet="false" />
- <Language Code="uk" InMinimumRequirementSet="true" />
- <Language Code="uk-ua" InMinimumRequirementSet="true" />
- <Language Code="ur" InMinimumRequirementSet="false" />
- <Language Code="ur-pk" InMinimumRequirementSet="false" />
- <Language Code="uz-cyrl" InMinimumRequirementSet="false" />
- <Language Code="uz-latn" InMinimumRequirementSet="false" />
- <Language Code="uz-latn-uz" InMinimumRequirementSet="false" />
- <Language Code="vi" InMinimumRequirementSet="false" />
- <Language Code="vi-vn" InMinimumRequirementSet="false" />
- <Language Code="wo" InMinimumRequirementSet="false" />
- <Language Code="wo-sn" InMinimumRequirementSet="false" />
- <Language Code="xh" InMinimumRequirementSet="false" />
- <Language Code="xh-za" InMinimumRequirementSet="false" />
- <Language Code="yo-latn" InMinimumRequirementSet="false" />
- <Language Code="yo-ng" InMinimumRequirementSet="false" />
- <Language Code="zh-cn" InMinimumRequirementSet="true" />
- <Language Code="zh-hans" InMinimumRequirementSet="true" />
- <Language Code="zh-hans-cn" InMinimumRequirementSet="true" />
- <Language Code="zh-hans-sg" InMinimumRequirementSet="true" />
- <Language Code="zh-hant" InMinimumRequirementSet="true" />
- <Language Code="zh-hant-hk" InMinimumRequirementSet="true" />
- <Language Code="zh-hant-mo" InMinimumRequirementSet="true" />
- <Language Code="zh-hant-tw" InMinimumRequirementSet="true" />
- <Language Code="zh-hk" InMinimumRequirementSet="true" />
- <Language Code="zh-tw" InMinimumRequirementSet="true" />
- <Language Code="zu" InMinimumRequirementSet="false" />
- <Language Code="zu-za" InMinimumRequirementSet="false" />
- </SupportedLocales>
- <ProductReservedInfo>
- <MainPackageIdentityName>ArtifexSoftware.MuPDF</MainPackageIdentityName>
- <ReservedNames>
- <ReservedName>MuPDF</ReservedName>
- </ReservedNames>
- </ProductReservedInfo>
- <AccountPackageIdentityNames />
- <PackageInfoList LandingUrl="https://appdev.microsoft.com:443/StorePortals/Developer/Catalog/ReleaseAnchor/52099d67-4c8e-45dc-812e-205317d5804a">
- <PackageInfo>
- <OsMinVersion>6.2.1.0</OsMinVersion>
- <PackageArchitecture>arm</PackageArchitecture>
- <PackageMaxArchitectureVersion>1.0.0.10</PackageMaxArchitectureVersion>
- </PackageInfo>
- <PackageInfo>
- <OsMinVersion>6.2.1.0</OsMinVersion>
- <PackageArchitecture>x86</PackageArchitecture>
- <PackageMaxArchitectureVersion>1.0.0.10</PackageMaxArchitectureVersion>
- </PackageInfo>
- <PackageInfo>
- <OsMinVersion>6.2.1.0</OsMinVersion>
- <PackageArchitecture>x64</PackageArchitecture>
- <PackageMaxArchitectureVersion>1.0.0.10</PackageMaxArchitectureVersion>
- </PackageInfo>
- </PackageInfoList>
-</StoreAssociation> \ No newline at end of file
diff --git a/platform/windows/mupdf_cpp/Package.appxmanifest b/platform/windows/mupdf_cpp/Package.appxmanifest
deleted file mode 100644
index ce62ba5f..00000000
--- a/platform/windows/mupdf_cpp/Package.appxmanifest
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Package xmlns="http://schemas.microsoft.com/appx/2010/manifest" xmlns:m2="http://schemas.microsoft.com/appx/2013/manifest">
- <Identity Name="ArtifexSoftware.MuPDF" Publisher="CN=B93265AA-82AD-458A-A08E-7069B8ED88B5" Version="1.2.0.19" />
- <Properties>
- <DisplayName>MuPDF</DisplayName>
- <PublisherDisplayName>Artifex Software</PublisherDisplayName>
- <Logo>Assets\StoreLogo.png</Logo>
- </Properties>
- <Prerequisites>
- <OSMinVersion>6.3</OSMinVersion>
- <OSMaxVersionTested>6.3</OSMaxVersionTested>
- </Prerequisites>
- <Resources>
- <Resource Language="x-generate" />
- </Resources>
- <Applications>
- <Application Id="App" Executable="$targetnametoken$.exe" EntryPoint="mupdf_cpp.App">
- <Extensions>
- <Extension Category="windows.fileTypeAssociation">
- <FileTypeAssociation Name=".pdf">
- <EditFlags OpenIsSafe="true" />
- <SupportedFileTypes>
- <FileType>.pdf</FileType>
- <FileType>.xps</FileType>
- <FileType>.cbz</FileType>
- <FileType>.oxps</FileType>
- </SupportedFileTypes>
- </FileTypeAssociation>
- </Extension>
- </Extensions>
- <m2:VisualElements DisplayName="MuPDF" Description="A lightweight, high quality PDF/XPS/CBZ viewer/print driver for Windows 8.1 devices." BackgroundColor="#464646" ForegroundText="light" Square150x150Logo="Assets\Logo.png" Square30x30Logo="assets/mupdf_smallogo.png">
- <m2:DefaultTile>
- <m2:ShowNameOnTiles>
- <m2:ShowOn Tile="square150x150Logo" />
- </m2:ShowNameOnTiles>
- </m2:DefaultTile>
- <m2:SplashScreen Image="Assets\mupdf_splash.png" />
- </m2:VisualElements>
- </Application>
- </Applications>
-</Package> \ No newline at end of file
diff --git a/platform/windows/mupdf_cpp/PrintPage.cpp b/platform/windows/mupdf_cpp/PrintPage.cpp
deleted file mode 100644
index 83d31791..00000000
--- a/platform/windows/mupdf_cpp/PrintPage.cpp
+++ /dev/null
@@ -1,165 +0,0 @@
-#include "pch.h"
-#include "PrintPage.h"
-
-using namespace Microsoft::WRL;
-using namespace Windows::Graphics::Printing;
-
-#pragma region IDocumentPageSource Methods
-
-/* This is the interface to the print thread calls */
-IFACEMETHODIMP
-PrintPages::GetPreviewPageCollection(IPrintDocumentPackageTarget* doc_target,
- IPrintPreviewPageCollection** doc_collection)
-{
- HRESULT hr = (doc_target != nullptr) ? S_OK : E_INVALIDARG;
-
- if (SUCCEEDED(hr))
- {
- hr = doc_target->GetPackageTarget(ID_PREVIEWPACKAGETARGET_DXGI,
- IID_PPV_ARGS(&m_dxgi_previewtarget));
- }
- ComPtr<IPrintPreviewPageCollection> page_collection;
- if (SUCCEEDED(hr))
- {
- ComPtr<PrintPages> docSource(this);
- hr = docSource.As<IPrintPreviewPageCollection>(&page_collection);
- }
- if (SUCCEEDED(hr))
- hr = page_collection.CopyTo(doc_collection);
-
- if (SUCCEEDED(hr))
- this->m_renderer->SetPrintTarget((void*) this);
- return hr;
-}
-
-IFACEMETHODIMP
-PrintPages::MakeDocument(IInspectable* doc_options, IPrintDocumentPackageTarget* doc_target)
-{
- if (doc_options == nullptr || doc_target == nullptr)
- return E_INVALIDARG;
-
- PrintTaskOptions^ option = reinterpret_cast<PrintTaskOptions^>(doc_options);
- PrintPageDescription page_desc = option->GetPageDescription(1);
-
- D2D1_PRINT_CONTROL_PROPERTIES print_properties;
-
- print_properties.rasterDPI = (float)(min(page_desc.DpiX, page_desc.DpiY));
- print_properties.colorSpace = D2D1_COLOR_SPACE_SRGB;
- print_properties.fontSubset = D2D1_PRINT_FONT_SUBSET_MODE_DEFAULT;
-
- HRESULT hr = S_OK;
-
- try
- {
- m_renderer->CreatePrintControl(doc_target, &print_properties);
-
- D2D1_RECT_F imageableRect = D2D1::RectF(page_desc.ImageableRect.X,
- page_desc.ImageableRect.Y,
- page_desc.ImageableRect.X + page_desc.ImageableRect.Width,
- page_desc.ImageableRect.Y + page_desc.ImageableRect.Height);
-
- D2D1_SIZE_F pageSize = D2D1::SizeF(page_desc.PageSize.Width, page_desc.PageSize.Height);
- m_totalpages = m_renderer->GetPrintPageCount();
-
- for (uint32 page_num = 1; page_num <= m_totalpages; ++page_num)
- m_renderer->PrintPage(page_num, imageableRect, pageSize, (float) page_desc.DpiX, nullptr);
- }
- catch (Platform::Exception^ e)
- {
- hr = e->HResult;
- }
-
- HRESULT hrClose = m_renderer->ClosePrintControl();
- if (SUCCEEDED(hr))
- {
- hr = hrClose;
- }
- return hr;
-}
-
-#pragma endregion IDocumentPageSource Methods
-
-#pragma region IPrintPreviewPageCollection Methods
-
-IFACEMETHODIMP
-PrintPages::Paginate(uint32 current_jobpage, IInspectable* doc_options)
-{
- HRESULT hr = (doc_options != nullptr) ? S_OK : E_INVALIDARG;
-
- if (SUCCEEDED(hr))
- {
- PrintTaskOptions^ option = reinterpret_cast<PrintTaskOptions^>(doc_options);
- PrintPageDescription page_desc = option->GetPageDescription(current_jobpage);
-
- hr = m_dxgi_previewtarget->InvalidatePreview();
- m_totalpages = m_renderer->GetPrintPageCount();
-
- if (SUCCEEDED(hr))
- hr = m_dxgi_previewtarget->SetJobPageCount(PageCountType::FinalPageCount, m_totalpages);
-
- if (SUCCEEDED(hr))
- {
- m_width = page_desc.PageSize.Width;
- m_height = page_desc.PageSize.Height;
- m_imageable_rect = D2D1::RectF(page_desc.ImageableRect.X, page_desc.ImageableRect.Y,
- page_desc.ImageableRect.X + page_desc.ImageableRect.Width,
- page_desc.ImageableRect.Y + page_desc.ImageableRect.Height);
- m_paginate_called = true;
- }
- }
- return hr;
-}
-
-float
-PrintPages::TransformedPageSize(float desired_width, float desired_height,
- Windows::Foundation::Size* preview_size)
-{
- float scale = 1.0f;
-
- if (desired_width > 0 && desired_height > 0)
- {
- preview_size->Width = desired_width;
- preview_size->Height = desired_height;
- scale = m_width / desired_width;
- }
- else
- {
- preview_size->Width = 0;
- preview_size->Height = 0;
- }
- return scale;
-}
-
-void
-PrintPages::ResetPreview()
-{
- m_dxgi_previewtarget->InvalidatePreview();
-}
-
-IFACEMETHODIMP
-PrintPages::MakePage(uint32 desired_jobpage, float width, float height)
-{
- HRESULT hr = (width > 0 && height > 0) ? S_OK : E_INVALIDARG;
-
- if (desired_jobpage == JOB_PAGE_APPLICATION_DEFINED && m_paginate_called)
- desired_jobpage = 1;
-
- if (SUCCEEDED(hr) && m_paginate_called)
- {
- Windows::Foundation::Size preview_size;
- float scale = TransformedPageSize(width, height, &preview_size);
-
- try
- {
- m_renderer->DrawPreviewSurface(preview_size.Width, preview_size.Height,
- scale, m_imageable_rect, desired_jobpage,
- m_dxgi_previewtarget.Get());
- }
- catch (Platform::Exception^ e)
- {
- hr = e->HResult;
- }
- }
- return hr;
-}
-#pragma region IPrintPreviewPageCollection Methods
diff --git a/platform/windows/mupdf_cpp/PrintPage.h b/platform/windows/mupdf_cpp/PrintPage.h
deleted file mode 100644
index 725a5a43..00000000
--- a/platform/windows/mupdf_cpp/PrintPage.h
+++ /dev/null
@@ -1,57 +0,0 @@
-#pragma once
-#include <windows.graphics.printing.h>
-#include <printpreview.h>
-#include <documentsource.h>
-#include "MainPage.xaml.h"
-
-using namespace Microsoft::WRL;
-using namespace mupdf_cpp;
-
-/* This is the interface to the print thread calls */
-class PrintPages : public Microsoft::WRL::RuntimeClass<Microsoft::WRL::RuntimeClassFlags<Microsoft::WRL::WinRtClassicComMix>,
- ABI::Windows::Graphics::Printing::IPrintDocumentSource,
- IPrintDocumentPageSource,
- IPrintPreviewPageCollection>
-{
-private:
- InspectableClass(L"Windows.Graphics.Printing.IPrintDocumentSource", BaseTrust);
-
-public:
- HRESULT RuntimeClassInitialize(IUnknown* pageRenderer)
- {
- HRESULT hr = (pageRenderer != nullptr) ? S_OK : E_INVALIDARG;
-
- if (SUCCEEDED(hr))
- {
- m_paginate_called = false;
- m_totalpages = 1;
- m_height = 0.f;
- m_width = 0.f;
- m_renderer = reinterpret_cast<MainPage^>(pageRenderer);
- }
- return hr;
- }
- IFACEMETHODIMP GetPreviewPageCollection(IPrintDocumentPackageTarget* doc_target,
- IPrintPreviewPageCollection** doc_collection);
- IFACEMETHODIMP MakeDocument(IInspectable* doc_options,
- IPrintDocumentPackageTarget* doc_target);
- IFACEMETHODIMP Paginate(uint32 current_jobpage, IInspectable* doc_options);
- IFACEMETHODIMP MakePage(uint32 desired_jobpage, float width, float height);
- void ResetPreview();
-
-private:
- float TransformedPageSize(float desired_width, float desired_height,
- Windows::Foundation::Size* preview_size);
- uint32 m_totalpages;
- bool m_paginate_called;
- float m_height;
- float m_width;
- D2D1_RECT_F m_imageable_rect;
- MainPage^ m_renderer;
-
- Microsoft::WRL::ComPtr<IPrintPreviewDxgiPackageTarget> m_dxgi_previewtarget;
-
- void DrawPreviewSurface(float width, float height, float scale_in,
- D2D1_RECT_F contentBox, uint32 page_num,
- IPrintPreviewDxgiPackageTarget* previewTarget);
-};
diff --git a/platform/windows/mupdf_cpp/RectList.cpp b/platform/windows/mupdf_cpp/RectList.cpp
deleted file mode 100644
index b9c1560d..00000000
--- a/platform/windows/mupdf_cpp/RectList.cpp
+++ /dev/null
@@ -1,9 +0,0 @@
-#include "pch.h"
-#include "RectList.h"
-
-namespace mupdf_cpp
-{
- RectList::RectList(void)
- {
- }
-}
diff --git a/platform/windows/mupdf_cpp/RectList.h b/platform/windows/mupdf_cpp/RectList.h
deleted file mode 100644
index 999fe3d2..00000000
--- a/platform/windows/mupdf_cpp/RectList.h
+++ /dev/null
@@ -1,153 +0,0 @@
-#pragma once
-
-/* WinRT RectList class for binding a collection of rects to the xaml ui */
-using namespace Windows::UI::Xaml::Media::Imaging;
-using namespace Windows::UI::Xaml::Controls;
-using namespace Platform; /* For String */
-
-namespace mupdf_cpp
-{
- [Windows::UI::Xaml::Data::Bindable] // in c++, adding this attribute to ref classes enables data binding for more info search for 'Bindable' on the page http://go.microsoft.com/fwlink/?LinkId=254639
-
- public ref class RectList sealed
- {
- private:
- int height;
- int width;
- int x;
- int y;
- String^ color;
- /* These are used to store the link infomation */
- int type;
- int pagenum;
- Windows::Foundation::Uri ^uri;
- String^ index; // For identify which rectangle was tapped
- public:
- RectList(void);
-
- property String^ Index
- {
- String^ get()
- {
- return ((String^) index);
- }
-
- void set(String^ value)
- {
- index = value;
- }
- }
-
- property String^ Color
- {
- String^ get()
- {
- return (color);
- }
-
- void set(String^ value)
- {
- color = value;
- }
- }
-
- property int Height
- {
- int get()
- {
- return ((int) height);
- }
-
- void set(int value)
- {
- if (value < 0)
- {
- throw ref new Platform::InvalidArgumentException();
- }
- height = value;
- }
- }
-
- property int Width
- {
- int get()
- {
- return width;
- }
-
- void set(int value)
- {
- if (value < 0)
- {
- throw ref new Platform::InvalidArgumentException();
- }
- width = value;
- }
- }
-
- property int X
- {
- int get()
- {
- return x;
- }
-
- void set(int value)
- {
- x = value;
- }
- }
-
- property int Y
- {
- int get()
- {
- return y;
- }
-
- void set(int value)
- {
- y = value;
- }
- }
-
- property int Type
- {
- int get()
- {
- return type;
- }
-
- void set(int value)
- {
- type = value;
- }
- }
-
- property int PageNum
- {
- int get()
- {
- return pagenum;
- }
-
- void set(int value)
- {
- pagenum = value;
- }
- }
-
- property Windows::Foundation::Uri^ Urilink
- {
- Windows::Foundation::Uri^ get()
- {
- return uri;
- }
-
- void set(Windows::Foundation::Uri^ value)
- {
- uri = value;
- }
- }
- };
-}
diff --git a/platform/windows/mupdf_cpp/mupdf_cpp.rc b/platform/windows/mupdf_cpp/mupdf_cpp.rc
deleted file mode 100644
index 0d7c7a75..00000000
--- a/platform/windows/mupdf_cpp/mupdf_cpp.rc
+++ /dev/null
Binary files differ
diff --git a/platform/windows/mupdf_cpp/mupdf_cpp.vcxproj b/platform/windows/mupdf_cpp/mupdf_cpp.vcxproj
deleted file mode 100644
index eee0eb95..00000000
--- a/platform/windows/mupdf_cpp/mupdf_cpp.vcxproj
+++ /dev/null
@@ -1,280 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|ARM">
- <Configuration>Debug</Configuration>
- <Platform>ARM</Platform>
- </ProjectConfiguration>
- <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|ARM">
- <Configuration>Release</Configuration>
- <Platform>ARM</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">
- <ProjectGuid>{0204a4e7-f1b8-4268-a67c-a2c674b4742d}</ProjectGuid>
- <RootNamespace>mupdf_cpp</RootNamespace>
- <DefaultLanguage>en-US</DefaultLanguage>
- <MinimumVisualStudioVersion>12.0</MinimumVisualStudioVersion>
- <AppContainerApplication>true</AppContainerApplication>
- <ApplicationType>Windows Store</ApplicationType>
- <ApplicationTypeRevision>8.1</ApplicationTypeRevision>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <PackageCertificateThumbprint>03074CFDB8E2AB0CD384A1FFA139F7959DC8A656</PackageCertificateThumbprint>
- <AppxAutoIncrementPackageRevision>True</AppxAutoIncrementPackageRevision>
- <PackageCertificateKeyFile>mupdf_cpp_StoreKey.pfx</PackageCertificateKeyFile>
- <AppxBundlePlatforms>x86|x64|arm</AppxBundlePlatforms>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- <OutDir>$(Platform)\$(Configuration)\$(MSBuildProjectName)\</OutDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- <OutDir>$(Platform)\$(Configuration)\$(MSBuildProjectName)\</OutDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
- <OutDir>$(Platform)\$(Configuration)\$(MSBuildProjectName)\</OutDir>
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- <OutDir>$(Platform)\$(Configuration)\$(MSBuildProjectName)\</OutDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
- <OutDir>$(Platform)\$(Configuration)\$(MSBuildProjectName)\</OutDir>
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <OutDir>$(Platform)\$(Configuration)\$(MSBuildProjectName)\</OutDir>
- <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
- <ClCompile>
- <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
- <DisableSpecificWarnings>4453</DisableSpecificWarnings>
- <AdditionalIncludeDirectories>../../include/;../mupdfwinrt/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <AdditionalDependencies>D3D11.lib;D2d1.lib;kernel32.lib;%(AdditionalDependencies);../$(Platform)/$(Configuration)/libmupdf_winRT.lib;../$(Platform)/$(Configuration)/libthirdparty_winRT.lib;../$(Platform)/$(Configuration)/libmupdf-nov8_winRT.lib;../$(Platform)/$(Configuration)/mupdfwinrt.lib</AdditionalDependencies>
- <AdditionalOptions>/APPCONTAINER %(AdditionalOptions)</AdditionalOptions>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
- <ClCompile>
- <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
- <DisableSpecificWarnings>4453</DisableSpecificWarnings>
- <AdditionalIncludeDirectories>../../include/;../mupdfwinrt/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_UNICODE;NDEBUG;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <Link>
- <AdditionalDependencies>D3D11.lib;D2d1.lib;kernel32.lib;%(AdditionalDependencies);../$(Platform)/$(Configuration)/libmupdf_winRT.lib;../$(Platform)/$(Configuration)/libthirdparty_winRT.lib;../$(Platform)/$(Configuration)/libmupdf-nov8_winRT.lib;../$(Platform)/$(Configuration)/mupdfwinrt.lib</AdditionalDependencies>
- <SectionAlignment>
- </SectionAlignment>
- <AdditionalOptions>/APPCONTAINER %(AdditionalOptions)</AdditionalOptions>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
- <DisableSpecificWarnings>4453</DisableSpecificWarnings>
- <AdditionalIncludeDirectories>../../include/;../mupdfwinrt/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <AdditionalDependencies>D3D11.lib;D2d1.lib;kernel32.lib;%(AdditionalDependencies);../$(Platform)/$(Configuration)/libmupdf_winRT.lib;../$(Platform)/$(Configuration)/libthirdparty_winRT.lib;../$(Platform)/$(Configuration)/mupdfwinrt.lib</AdditionalDependencies>
- <AdditionalOptions>/APPCONTAINER /SAFESEH %(AdditionalOptions)</AdditionalOptions>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
- <DisableSpecificWarnings>4453</DisableSpecificWarnings>
- <AdditionalIncludeDirectories>../../include/;../mupdfwinrt/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_UNICODE;NDEBUG;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <Link>
- <AdditionalDependencies>D3D11.lib;D2d1.lib;kernel32.lib;%(AdditionalDependencies);../$(Platform)/$(Configuration)/libmupdf_winRT.lib;../$(Platform)/$(Configuration)/libthirdparty_winRT.lib;../$(Platform)/$(Configuration)/mupdfwinrt.lib</AdditionalDependencies>
- <SectionAlignment>
- </SectionAlignment>
- <AdditionalOptions>/APPCONTAINER /SAFESEH %(AdditionalOptions)</AdditionalOptions>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
- <DisableSpecificWarnings>4453</DisableSpecificWarnings>
- <AdditionalIncludeDirectories>../../include/;../mupdfwinrt/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <AdditionalDependencies>D3D11.lib;D2d1.lib;kernel32.lib;%(AdditionalDependencies);../$(Platform)/$(Configuration)/libmupdf_winRT.lib;../$(Platform)/$(Configuration)/libthirdparty_winRT.lib;../$(Platform)/$(Configuration)/mupdfwinrt.lib</AdditionalDependencies>
- <AdditionalOptions>/APPCONTAINER %(AdditionalOptions)</AdditionalOptions>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
- <DisableSpecificWarnings>4453</DisableSpecificWarnings>
- <AdditionalIncludeDirectories>../../include/;../mupdfwinrt/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_UNICODE;NDEBUG;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <Link>
- <AdditionalDependencies>D3D11.lib;D2d1.lib;kernel32.lib;%(AdditionalDependencies);../$(Platform)/$(Configuration)/libmupdf_winRT.lib;../$(Platform)/$(Configuration)/libthirdparty_winRT.lib;../$(Platform)/$(Configuration)/mupdfwinrt.lib</AdditionalDependencies>
- <SectionAlignment>
- </SectionAlignment>
- <AdditionalOptions>/APPCONTAINER %(AdditionalOptions)</AdditionalOptions>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClInclude Include="..\mupdfwinrt\Links.h" />
- <ClInclude Include="..\mupdfwinrt\status.h" />
- <ClInclude Include="PrintPage.h" />
- <ClInclude Include="DocumentPage.h" />
- <ClInclude Include="pch.h" />
- <ClInclude Include="App.xaml.h">
- <DependentUpon>App.xaml</DependentUpon>
- </ClInclude>
- <ClInclude Include="MainPage.xaml.h">
- <DependentUpon>MainPage.xaml</DependentUpon>
- </ClInclude>
- <ClInclude Include="RectList.h" />
- </ItemGroup>
- <ItemGroup>
- <ApplicationDefinition Include="App.xaml">
- <SubType>Designer</SubType>
- </ApplicationDefinition>
- <Page Include="Common\StandardStyles.xaml">
- <SubType>Designer</SubType>
- </Page>
- <Page Include="MainPage.xaml">
- <SubType>Designer</SubType>
- </Page>
- </ItemGroup>
- <ItemGroup>
- <AppxManifest Include="Package.appxmanifest">
- <SubType>Designer</SubType>
- </AppxManifest>
- <None Include="mupdf_cpp_StoreKey.pfx" />
- <None Include="mupdf_cpp_TemporaryKey.pfx" />
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="App.xaml.cpp">
- <DependentUpon>App.xaml</DependentUpon>
- </ClCompile>
- <ClCompile Include="PrintPage.cpp" />
- <ClCompile Include="DocumentPage.cpp" />
- <ClCompile Include="MainPage.xaml.cpp">
- <DependentUpon>MainPage.xaml</DependentUpon>
- </ClCompile>
- <ClCompile Include="pch.cpp">
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">Create</PrecompiledHeader>
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">Create</PrecompiledHeader>
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
- </ClCompile>
- <ClCompile Include="RectList.cpp" />
- </ItemGroup>
- <ItemGroup>
- <Image Include="Assets\Logo.Scale-100.png" />
- <Image Include="Assets\Logo.Scale-140.png" />
- <Image Include="Assets\Logo.Scale-180.png" />
- <Image Include="Assets\Logo.Scale-80.png">
- <DeploymentContent>true</DeploymentContent>
- </Image>
- <Image Include="Assets\mupdf_smallogo.png" />
- <Image Include="Assets\mupdf_splash.png" />
- <Image Include="Assets\StoreLogo.scale-100.png">
- <DeploymentContent>true</DeploymentContent>
- </Image>
- <Image Include="Assets\StoreLogo.scale-140.png">
- <DeploymentContent>true</DeploymentContent>
- </Image>
- <Image Include="Assets\StoreLogo.scale-180.png">
- <DeploymentContent>true</DeploymentContent>
- </Image>
- </ItemGroup>
- <ItemGroup>
- <None Include="Package.StoreAssociation.xml" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="..\mupdfwinrt\mupdfwinrt.vcxproj">
- <Project>{9e6ab41d-09a7-45a6-a53b-1e4bf3ac5b33}</Project>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project> \ No newline at end of file
diff --git a/platform/windows/mupdf_cpp/mupdf_cpp.vcxproj.filters b/platform/windows/mupdf_cpp/mupdf_cpp.vcxproj.filters
deleted file mode 100644
index 5d7615b2..00000000
--- a/platform/windows/mupdf_cpp/mupdf_cpp.vcxproj.filters
+++ /dev/null
@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Common">
- <UniqueIdentifier>0204a4e7-f1b8-4268-a67c-a2c674b4742d</UniqueIdentifier>
- </Filter>
- <Filter Include="Assets">
- <UniqueIdentifier>a297f943-f0d7-4847-867e-a7aa1ef7f484</UniqueIdentifier>
- </Filter>
- <Page Include="Common\StandardStyles.xaml">
- <Filter>Common</Filter>
- </Page>
- </ItemGroup>
- <ItemGroup>
- <ApplicationDefinition Include="App.xaml" />
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="App.xaml.cpp" />
- <ClCompile Include="MainPage.xaml.cpp" />
- <ClCompile Include="pch.cpp" />
- <ClCompile Include="DocumentPage.cpp" />
- <ClCompile Include="RectList.cpp" />
- <ClCompile Include="PrintPage.cpp" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="pch.h" />
- <ClInclude Include="App.xaml.h" />
- <ClInclude Include="MainPage.xaml.h" />
- <ClInclude Include="DocumentPage.h" />
- <ClInclude Include="RectList.h" />
- <ClInclude Include="..\mupdfwinrt\status.h" />
- <ClInclude Include="PrintPage.h" />
- <ClInclude Include="..\mupdfwinrt\Links.h" />
- </ItemGroup>
- <ItemGroup>
- <AppxManifest Include="Package.appxmanifest" />
- </ItemGroup>
- <ItemGroup>
- <None Include="mupdf_cpp_TemporaryKey.pfx" />
- <None Include="Package.StoreAssociation.xml" />
- <None Include="mupdf_cpp_StoreKey.pfx" />
- </ItemGroup>
- <ItemGroup>
- <Page Include="MainPage.xaml" />
- </ItemGroup>
- <ItemGroup>
- <Image Include="Assets\mupdf_smallogo.png">
- <Filter>Assets</Filter>
- </Image>
- <Image Include="Assets\Logo.Scale-80.png">
- <Filter>Assets</Filter>
- </Image>
- <Image Include="Assets\Logo.Scale-100.png">
- <Filter>Assets</Filter>
- </Image>
- <Image Include="Assets\Logo.Scale-140.png">
- <Filter>Assets</Filter>
- </Image>
- <Image Include="Assets\Logo.Scale-180.png">
- <Filter>Assets</Filter>
- </Image>
- <Image Include="Assets\mupdf_splash.png">
- <Filter>Assets</Filter>
- </Image>
- <Image Include="Assets\StoreLogo.scale-100.png">
- <Filter>Assets</Filter>
- </Image>
- <Image Include="Assets\StoreLogo.scale-140.png">
- <Filter>Assets</Filter>
- </Image>
- <Image Include="Assets\StoreLogo.scale-180.png">
- <Filter>Assets</Filter>
- </Image>
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/platform/windows/mupdf_cpp/pch.cpp b/platform/windows/mupdf_cpp/pch.cpp
deleted file mode 100644
index 01484ff5..00000000
--- a/platform/windows/mupdf_cpp/pch.cpp
+++ /dev/null
@@ -1,6 +0,0 @@
-//
-// pch.cpp
-// Include the standard header and generate the precompiled header.
-//
-
-#include "pch.h"
diff --git a/platform/windows/mupdf_cpp/pch.h b/platform/windows/mupdf_cpp/pch.h
deleted file mode 100644
index b23c6b70..00000000
--- a/platform/windows/mupdf_cpp/pch.h
+++ /dev/null
@@ -1,18 +0,0 @@
-//
-// pch.h
-// Header for standard system include files.
-//
-
-#pragma once
-
-#include <collection.h>
-#include "App.xaml.h"
-/* DirectX requirements */
-#include <wrl.h>
-#include <wrl\client.h>
-#include <dxgi.h>
-#include <dxgi1_2.h>
-#include <D2d1_1.h>
-#include <D3D11.h>
-#include <PrintPreview.h>
-#include <Wincodec.h>
diff --git a/platform/windows/mupdfnet/mupdfnet.cpp b/platform/windows/mupdfnet/mupdfnet.cpp
deleted file mode 100644
index c544bcd9..00000000
--- a/platform/windows/mupdfnet/mupdfnet.cpp
+++ /dev/null
@@ -1,481 +0,0 @@
-#include "mupdfnet.h"
-#include <strsafe.h>
-#include "muctx.h"
-
-BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
-{
- switch (ul_reason_for_call)
- {
- case DLL_PROCESS_ATTACH:
- case DLL_THREAD_ATTACH:
- case DLL_THREAD_DETACH:
- case DLL_PROCESS_DETACH:
- break;
- }
- return TRUE;
-}
-
-std::shared_ptr<std::vector<sh_content>> gContents;
-std::shared_ptr<std::vector<sh_text>> gTextResults;
-std::shared_ptr<std::vector<sh_link>> gLinkResults;
-
-char* String_to_char(PCWSTR text)
-{
- int cb = WideCharToMultiByte(CP_UTF8, 0, text, -1, nullptr, 0, nullptr, nullptr);
- char* charout = new char[cb];
- if (!charout)
- {
- return nullptr;
- }
- WideCharToMultiByte(CP_UTF8, 0, text, -1, charout, cb, nullptr, nullptr);
- return charout;
-}
-
-PCWSTR char_to_String(const char *char_in)
-{
- size_t size = MultiByteToWideChar(CP_UTF8, 0, char_in, -1, NULL, 0);
- wchar_t *pw;
- pw = new wchar_t[size];
- if (!pw)
- {
- return nullptr;
- }
- MultiByteToWideChar(CP_UTF8, 0, char_in, -1, pw, size);
- return pw;
-}
-
-/* We have to have a C-Style API to access the C++ code */
-SYMBOL_DECLSPEC void* __stdcall mInitialize()
-{
- muctx *mu_ctx = new muctx;
- status_t result = mu_ctx->InitializeContext();
-
- if (result == S_ISOK)
- return static_cast<void*>(mu_ctx);
- else
- return nullptr;
-}
-
-SYMBOL_DECLSPEC int __stdcall mOpenDocument(void *ctx, PCWSTR filename)
-{
- muctx *mu_ctx = static_cast<muctx*>(ctx);
-
- mReleaseContents();
- return mu_ctx->OpenDocument(String_to_char(filename));
-}
-
-SYMBOL_DECLSPEC void __stdcall mCleanUp(void *ctx)
-{
- muctx *mu_ctx = static_cast<muctx*>(ctx);
-
- mReleaseContents();
- mu_ctx->CleanUp();
-}
-
-SYMBOL_DECLSPEC int __stdcall mGetPageCount(void *ctx)
-{
- muctx *mu_ctx = static_cast<muctx*>(ctx);
- return mu_ctx->GetPageCount();
-}
-
-SYMBOL_DECLSPEC bool __stdcall mRequiresPassword(void *ctx)
-{
- muctx *mu_ctx = static_cast<muctx*>(ctx);
- return mu_ctx->RequiresPassword();
-}
-
-SYMBOL_DECLSPEC bool __stdcall mApplyPassword(void *ctx, PCWSTR password)
-{
- muctx *mu_ctx = static_cast<muctx*>(ctx);
- return mu_ctx->ApplyPassword(String_to_char(password));
-}
-
-SYMBOL_DECLSPEC int __stdcall mRenderPage(void *ctx, int page_num,
- byte* bmp_data, int bmp_width,
- int bmp_height, double scale, bool flipy)
-{
- muctx *mu_ctx = static_cast<muctx*>(ctx);
- int code = mu_ctx->RenderPage(page_num, &(bmp_data[0]), bmp_width,
- bmp_height, scale, flipy);
-
- return code;
-}
-
-SYMBOL_DECLSPEC int __stdcall mMeasurePage(void *ctx, int page_num,
- double *width, double *height)
-{
- muctx *mu_ctx = static_cast<muctx*>(ctx);
- point_t size;
-
- int code = mu_ctx->MeasurePage(page_num, &size);
- *width = size.X;
- *height = size.Y;
-
- return code;
-}
-
-SYMBOL_DECLSPEC int __stdcall mGetContents(void *ctx)
-{
- muctx *mu_ctx = static_cast<muctx*>(ctx);
- int has_content;
- sh_vector_content content_smart_ptr_vec(new std::vector<sh_content>());
- gContents = content_smart_ptr_vec;
- has_content = mu_ctx->GetContents(gContents);
- if (has_content)
- return gContents->size();
- else
- return 0;
-}
-
-SYMBOL_DECLSPEC void __stdcall mReleaseContents()
-{
- if (gContents != nullptr)
- gContents.reset();
-}
-
-SYMBOL_DECLSPEC char* __stdcall mGetContentsItem(int k, int *len, int *page)
-{
- char* retstr = NULL;
-
- sh_content muctx_content = gContents->at(k);
- const char* str = (muctx_content->string_margin.c_str());
- *len = strlen(str);
- *page = muctx_content->page;
-
- /* This allocation ensures that Marshal will release in the managed code */
- retstr = (char*)::CoTaskMemAlloc(*len + 1);
- strcpy(retstr, str);
- return retstr;
-}
-
-SYMBOL_DECLSPEC char * __stdcall mGetText(void *ctx, int pagenum, int type)
-{
- char* retstr = NULL;
- muctx *mu_ctx = static_cast<muctx*>(ctx);
- std::string text_cstr;
- int len;
-
- text_cstr = mu_ctx->GetText(pagenum, type);
- if (text_cstr.size() > 0)
- {
- auto text = text_cstr.c_str();
- len = strlen(text);
- retstr = (char*)::CoTaskMemAlloc(len + 1);
- strcpy(retstr, text);
- }
- return retstr;
-}
-
-SYMBOL_DECLSPEC int __stdcall mTextSearchPage(void *ctx, int page_num, PCWSTR needle)
-{
- muctx *mu_ctx = static_cast<muctx*>(ctx);
-
- sh_vector_text text_smart_ptr_vec(new std::vector<sh_text>());
- gTextResults = text_smart_ptr_vec;
-
- return mu_ctx->GetTextSearch(page_num, String_to_char(needle), gTextResults);
-}
-
-SYMBOL_DECLSPEC bool __stdcall mGetTextSearchItem(int k, double *top_x, double
- *top_y, double *height, double *width)
-{
- char* retstr = NULL;
-
- if (k < 0 || k > gTextResults->size())
- return false;
- sh_text muctx_search = gTextResults->at(k);
- *top_x = muctx_search->upper_left.X;
- *top_y = muctx_search->upper_left.Y;
- *width = muctx_search->lower_right.X - muctx_search->upper_left.X;
- *height = muctx_search->lower_right.Y - muctx_search->upper_left.Y;
- return true;
-}
-
-SYMBOL_DECLSPEC void __stdcall mReleaseTextSearch()
-{
- if (gTextResults != nullptr)
- gTextResults.reset();
-}
-
-SYMBOL_DECLSPEC int __stdcall mGetLinksPage(void *ctx, int page_num)
-{
- muctx *mu_ctx = static_cast<muctx*>(ctx);
-
- sh_vector_link link_smart_ptr_vec(new std::vector<sh_link>());
- gLinkResults = link_smart_ptr_vec;
-
- return mu_ctx->GetLinks(page_num, gLinkResults);
-}
-
-SYMBOL_DECLSPEC void __stdcall mSetAA(void *ctx, int level)
-{
- muctx *mu_ctx = static_cast<muctx*>(ctx);
- mu_ctx->SetAA(level);
-}
-
-SYMBOL_DECLSPEC char* __stdcall mGetVers()
-{
- int len = strlen(FZ_VERSION);
- char* retstr = NULL;
-
- if (len > 0)
- {
- /* This allocation ensures that Marshal will release in the managed code */
- retstr = (char*)::CoTaskMemAlloc(len + 1);
- strcpy(retstr, FZ_VERSION);
- }
- return retstr;
-}
-
-SYMBOL_DECLSPEC char* __stdcall mGetLinkItem(int k, double *top_x, double
- *top_y, double *height, double *width, int *topage, int *type)
-{
- char* retstr = NULL;
-
- if (k < 0 || k > gLinkResults->size())
- return false;
- sh_link muctx_link = gLinkResults->at(k);
- *top_x = muctx_link->upper_left.X;
- *top_y = muctx_link->upper_left.Y;
- *width = muctx_link->lower_right.X - muctx_link->upper_left.X;
- *height = muctx_link->lower_right.Y - muctx_link->upper_left.Y;
- *topage = muctx_link->page_num;
- *type = (int) muctx_link->type;
-
- if (muctx_link->type == LINK_URI)
- {
- const char* str = muctx_link->uri.get();
- int len = strlen(str);
- if (len > 0)
- {
- /* This allocation ensures that Marshal will release in the managed code */
- retstr = (char*)::CoTaskMemAlloc(len + 1);
- strcpy(retstr, str);
- }
- muctx_link->uri.release();
- }
- return retstr;
-}
-
-SYMBOL_DECLSPEC void __stdcall mReleaseLink()
-{
- if (gTextResults != nullptr)
- gTextResults.reset();
-}
-
-SYMBOL_DECLSPEC void* __stdcall mCreateDisplayList(void *ctx, int page_num,
- int *page_width, int *page_height)
-{
- muctx *mu_ctx = static_cast<muctx*>(ctx);
- return (void*)mu_ctx->CreateDisplayList(page_num, page_width, page_height);
-}
-
-SYMBOL_DECLSPEC void* __stdcall mCreateDisplayListAnnot(void *ctx, int page_num)
-{
- muctx *mu_ctx = static_cast<muctx*>(ctx);
- return (void*)mu_ctx->CreateAnnotationList(page_num);
-}
-
-SYMBOL_DECLSPEC void* __stdcall mCreateDisplayListText(void *ctx, int page_num,
- int *page_width, int *page_height, void **text_out, int *length)
-{
- muctx *mu_ctx = static_cast<muctx*>(ctx);
- fz_text_page *text;
- void *text_ptr = (void*)mu_ctx->CreateDisplayListText(page_num, page_width, page_height,
- &text, length);
- *text_out = (void*) text;
- return text_ptr;
-}
-
-SYMBOL_DECLSPEC void __stdcall mReleaseLists(void *ctx, void *dlist,
- void *annot_dlist)
-{
- muctx *mu_ctx = static_cast<muctx*>(ctx);
- mu_ctx->ReleaseDisplayLists(dlist, annot_dlist);
- return;
-}
-
-SYMBOL_DECLSPEC int __stdcall mRenderPageMT(void *ctx, void *dlist,
- void *annot_dlist, int page_width, int page_height, byte *bmp_data, int bmp_width,
- int bmp_height, double scale, bool flipy)
-{
- muctx *mu_ctx = static_cast<muctx*>(ctx);
-
- return (int) mu_ctx->RenderPageMT(dlist, annot_dlist, page_width, page_height,
- &(bmp_data[0]), bmp_width, bmp_height,
- scale, flipy, false, { 0, 0 }, { 0, 0 });
-}
-
-SYMBOL_DECLSPEC void __stdcall mReleaseText(void *ctx, void *page)
-{
- muctx *mu_ctx = static_cast<muctx*>(ctx);
- mu_ctx->ReleaseText(page);
-}
-
-/* Information about a block of text */
-SYMBOL_DECLSPEC int __stdcall mGetTextBlock(void *page, int block_num,
- double *top_x, double *top_y, double *height, double *width)
-{
- fz_text_page *text = (fz_text_page*) page;
- fz_text_block *block;
-
- if (text->blocks[block_num].type != FZ_PAGE_BLOCK_TEXT)
- return 0;
- block = text->blocks[block_num].u.text;
-
- *top_x = block->bbox.x0;
- *top_y = block->bbox.y0;
- *height = block->bbox.y1 - *top_y;
- *width = block->bbox.x1 - *top_x;
- return block->len;
-}
-
-/* Information about a line of text */
-SYMBOL_DECLSPEC int __stdcall mGetTextLine(void *page, int block_num, int line_num,
- double *top_x, double *top_y, double *height, double *width)
-{
- int len = 0;
- fz_text_block *block;
- fz_text_line line;
- fz_text_span *span;
- fz_text_page *text = (fz_text_page*)page;
-
- block = text->blocks[block_num].u.text;
- line = block->lines[line_num];
-
- *top_x = line.bbox.x0;
- *top_y = line.bbox.y0;
- *height = line.bbox.y1 - *top_y;
- *width = line.bbox.x1 - *top_x;
-
- for (span = line.first_span; span; span = span->next)
- {
- len += span->len;
- }
- return len;
-}
-
-/* Information down to the character level */
-SYMBOL_DECLSPEC int __stdcall mGetTextCharacter(void *ctx, void *page, int block_num, int line_num,
- int item_num, double *top_x, double *top_y, double *height, double *width)
-{
- fz_text_block *block;
- fz_text_line line;
- fz_text_span *span;
- fz_text_page *text = (fz_text_page*)page;
- fz_char_and_box cab;
- int index = item_num;
- muctx *mu_ctx = static_cast<muctx*>(ctx);
-
- block = text->blocks[block_num].u.text;
- line = block->lines[line_num];
-
- span = line.first_span;
- while (index >= span->len)
- {
- index = index - span->len; /* Reset to start of next span */
- span = span->next; /* Get next span */
- }
-
- cab.c = span->text[index].c;
- mu_ctx->GetCharBBox(&(cab.bbox), span, index);
-
- *top_x = cab.bbox.x0;
- *top_y = cab.bbox.y0;
- *height = cab.bbox.y1 - *top_y;
- *width = cab.bbox.x1 - *top_x;
-
- return cab.c;
-}
-
-/* pdf clean methods */
-SYMBOL_DECLSPEC int __stdcall mExtractPages(PCWSTR infile, PCWSTR outfile,
- PCWSTR password, bool has_password, bool linearize, int num_pages, void *pages)
-{
- int argc = 3 + ((has_password) ? (2) : (0)) + ((linearize) ? (1) : (0)) + ((num_pages > 0) ? (1) : (0));
- char **argv;
- int size_pages;
- char *infilechar = String_to_char(infile);
- char *outfilechar = String_to_char(outfile);
- char *passchar;
- int *pagenum = (int*) pages;
- char *pagenums;
- char* num;
- int num_size;
- int result;
- int pos = 1;
-
- argv = new char*[argc];
-
- if (has_password)
- {
- passchar = String_to_char(password);
- argv[pos++] = "-p";
- argv[pos++] = passchar;
- }
- if (linearize)
- {
- argv[pos++] = "-l";
- }
-
- argv[pos++] = infilechar;
- argv[pos++] = outfilechar;
-
- if (num_pages > 0)
- {
- /* Get last page, for number length and number of pages */
- int last = pagenum[num_pages - 1];
- if (last == 0)
- {
- num_size = 1;
- size_pages = num_size;
- }
- else
- {
- num_size = floor(log10(last)) + 1;
- size_pages = (num_size + 1) * num_pages;
- }
-
- /* Create the list of page numbers */
- pagenums = new char[size_pages + 1];
- pagenums[0] = '\0';
- num = new char[num_size + 2];
- for (int kk = 0; kk < num_pages; kk++)
- {
- if (kk < num_pages - 1)
- sprintf(num, "%d,", pagenum[kk]);
- else
- sprintf(num, "%d", pagenum[kk]);
- strcat(pagenums, num);
- }
- argv[pos++] = pagenums;
- }
-
- fz_optind = 1;
- result = pdfclean_main(argc, argv);
-
- delete[] num;
- delete(infilechar);
- delete(outfilechar);
- if (has_password)
- delete(passchar);
- if (num_pages > 0)
- delete[] pagenums;
- delete(argv);
- return result;
-}
-
-/* output methods */
-SYMBOL_DECLSPEC int __stdcall mSavePage(void *ctx, PCWSTR outfile, int page_num,
- int resolution, int type, bool append)
-{
- muctx *mu_ctx = static_cast<muctx*>(ctx);
- char *outfilechar = String_to_char(outfile);
- status_t result = mu_ctx->SavePage(outfilechar, page_num, resolution, type,
- append);
- delete(outfilechar);
- if (result == S_ISOK)
- return 0;
- else
- return -1;
-}
diff --git a/platform/windows/mupdfnet/mupdfnet.h b/platform/windows/mupdfnet/mupdfnet.h
deleted file mode 100644
index b300b1f6..00000000
--- a/platform/windows/mupdfnet/mupdfnet.h
+++ /dev/null
@@ -1,79 +0,0 @@
-
-#pragma once
-
-#include <windows.h>
-#include<string>
-using namespace std;
-
-#ifdef __cplusplus
-#define EXTERNC extern "C"
-#else
-#define EXTERNC
-#endif
-
-typedef struct sharp_content_s
-{
- int page;
- PCWSTR string_margin;
-} sharp_content_t;
-
-#define SYMBOL_DECLSPEC __declspec(dllexport)
-
-EXTERN_C SYMBOL_DECLSPEC void* __stdcall mInitialize();
-EXTERN_C SYMBOL_DECLSPEC void __stdcall mCleanUp(void *ctx);
-EXTERN_C SYMBOL_DECLSPEC int __stdcall mGetPageCount(void *ctx);
-EXTERN_C SYMBOL_DECLSPEC bool __stdcall mRequiresPassword(void *ctx);
-EXTERN_C SYMBOL_DECLSPEC bool __stdcall mApplyPassword(void *ctx, PCWSTR password);
-EXTERN_C SYMBOL_DECLSPEC int __stdcall mOpenDocument(void *ctx, PCWSTR filename);
-EXTERN_C SYMBOL_DECLSPEC int __stdcall mMeasurePage(void *ctx, int page_num, double *width, double *height);
-EXTERN_C SYMBOL_DECLSPEC int __stdcall mRenderPage(void *ctx, int page_num,
- byte *bmp_data, int bmp_width,
- int bmp_height, double scale, bool flipy);
-EXTERN_C SYMBOL_DECLSPEC int __stdcall mGetContents(void *ctx);
-EXTERN_C SYMBOL_DECLSPEC char* __stdcall mGetContentsItem(int k, int *len, int *page);
-EXTERN_C SYMBOL_DECLSPEC void __stdcall mReleaseContents();
-EXTERN_C SYMBOL_DECLSPEC int __stdcall mTextSearchPage(void *ctx, int page_num, PCWSTR needle);
-EXTERN_C SYMBOL_DECLSPEC bool __stdcall mGetTextSearchItem(int k, double *top_x, double
- *top_y, double *height, double *width);
-EXTERN_C SYMBOL_DECLSPEC void __stdcall mReleaseTextSearch();
-EXTERN_C SYMBOL_DECLSPEC char* __stdcall mGetVers();
-EXTERN_C SYMBOL_DECLSPEC char * __stdcall mGetText(void *ctx, int pagenum, int type);
-
-EXTERN_C SYMBOL_DECLSPEC int __stdcall mGetLinksPage(void *ctx, int page_num);
-EXTERN_C SYMBOL_DECLSPEC char* __stdcall mGetLinkItem(int k, double *top_x, double
- *top_y, double *height, double *width, int *topage, int *type);
-EXTERN_C SYMBOL_DECLSPEC void __stdcall mReleaseLink();
-
-EXTERN_C SYMBOL_DECLSPEC void* __stdcall mCreateDisplayList(void *ctx, int page_num,
- int *page_width, int *page_height);
-EXTERN_C SYMBOL_DECLSPEC void* __stdcall mCreateDisplayListText(void *ctx, int page_num,
- int *page_width, int *page_height, void **textptr, int *length);
-EXTERN_C SYMBOL_DECLSPEC void* __stdcall mCreateDisplayListAnnot(void *ctx,
- int page_num);
-EXTERN_C SYMBOL_DECLSPEC void __stdcall mReleaseLists(void *ctx, void *dlist,
- void *annot_dlist);
-
-EXTERN_C SYMBOL_DECLSPEC int __stdcall mRenderPageMT(void *ctx, void *dlist,
- void *annot_dlist, int page_width, int page_height, byte *bmp_data, int bmp_width,
- int bmp_height, double scale, bool flipy);
-
-EXTERN_C SYMBOL_DECLSPEC int __stdcall mGetTextBlock(void *text, int block_num,
- double *top_x, double *top_y, double *height, double *width);
-
-EXTERN_C SYMBOL_DECLSPEC int __stdcall mGetTextLine(void *text, int block_num,
- int line_num, double *top_x, double *top_y, double *height, double *width);
-
-EXTERN_C SYMBOL_DECLSPEC int __stdcall mGetTextCharacter(void *ctx, void *text,
- int block_num, int line_num, int item_num, double *top_x, double *top_y,
- double *height, double *width);
-
-EXTERN_C SYMBOL_DECLSPEC void __stdcall mReleaseText(void *ctx, void *page);
-
-EXTERN_C SYMBOL_DECLSPEC void __stdcall mSetAA(void *ctx, int level);
-
-/* pdfclean methods */
-EXTERN_C SYMBOL_DECLSPEC int __stdcall mExtractPages(PCWSTR infile, PCWSTR outfile,
- PCWSTR password, bool has_password, bool linearize, int num_pages, void *pages);
-/* output */
-EXTERN_C SYMBOL_DECLSPEC int __stdcall mSavePage(void *ctx, PCWSTR outfile, int page_num,
- int resolution, int type, bool append);
diff --git a/platform/windows/mupdfnet/mupdfnet.vcxproj b/platform/windows/mupdfnet/mupdfnet.vcxproj
deleted file mode 100644
index 2db67449..00000000
--- a/platform/windows/mupdfnet/mupdfnet.vcxproj
+++ /dev/null
@@ -1,221 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.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">
- <ProjectGuid>{4468C2E0-6C90-4FA5-8A48-0A9629776167}</ProjectGuid>
- <RootNamespace>CppDynamicLinkLibrary</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>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v120</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" />
- </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" />
- </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" />
- </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" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)\gsview\bin\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)\gsview\bin\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)\gsview\bin\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)\gsview\bin\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
- <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
- <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
- <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
- <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
- <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
- <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
- <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
- <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
- <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
- <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
- <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <TargetName>$(ProjectName)64</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <TargetName>$(ProjectName)64</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <TargetName>$(ProjectName)32</TargetName>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <TargetName>$(ProjectName)32</TargetName>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;CPPDYNAMICLINKLIBRARY_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
- <AdditionalIncludeDirectories>../../../include/;../mupdfwinrt;</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <ModuleDefinitionFile>
- </ModuleDefinitionFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Windows</SubSystem>
- <TargetMachine>MachineX86</TargetMachine>
- <AdditionalDependencies>../$(Platform)/$(Configuration)/libmupdf.lib;../$(Platform)/$(Configuration)/libthirdparty.lib;%(AdditionalDependencies)</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;CPPDYNAMICLINKLIBRARY_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
- <AdditionalIncludeDirectories>../../../include/;../mupdfwinrt;</AdditionalIncludeDirectories>
- <CompileAsManaged>false</CompileAsManaged>
- </ClCompile>
- <Link>
- <ModuleDefinitionFile>
- </ModuleDefinitionFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Windows</SubSystem>
- <TargetMachine>MachineX64</TargetMachine>
- <AdditionalDependencies>../$(Platform)/$(Configuration)/libmupdf.lib;../$(Platform)/$(Configuration)/libthirdparty.lib;%(AdditionalDependencies)</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <Optimization>MaxSpeed</Optimization>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;CPPDYNAMICLINKLIBRARY_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
- <AdditionalIncludeDirectories>../../../include/;../mupdfwinrt;</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <ModuleDefinitionFile>
- </ModuleDefinitionFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Windows</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <TargetMachine>MachineX86</TargetMachine>
- <AdditionalDependencies>../$(Platform)/$(Configuration)/libmupdf.lib;../$(Platform)/$(Configuration)/libthirdparty.lib;%(AdditionalDependencies)</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>MaxSpeed</Optimization>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;CPPDYNAMICLINKLIBRARY_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
- <AdditionalIncludeDirectories>../../../include/;../mupdfwinrt;</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <ModuleDefinitionFile>
- </ModuleDefinitionFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Windows</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <TargetMachine>MachineX64</TargetMachine>
- <AdditionalDependencies>../$(Platform)/$(Configuration)/libmupdf.lib;../$(Platform)/$(Configuration)/libthirdparty.lib;%(AdditionalDependencies)</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <None Include="Documentation\ReadMe.htm">
- <DeploymentContent>true</DeploymentContent>
- </None>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="..\mupdfwinrt\Cache.cpp" />
- <ClCompile Include="..\mupdfwinrt\muctx.cpp" />
- <ClCompile Include="mupdfnet.cpp" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="..\mupdfwinrt\Cache.h" />
- <ClInclude Include="..\mupdfwinrt\muctx.h" />
- <ClInclude Include="mupdfnet.h" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project> \ No newline at end of file
diff --git a/platform/windows/mupdfnet/mupdfnet.vcxproj.filters b/platform/windows/mupdfnet/mupdfnet.vcxproj.filters
deleted file mode 100644
index e06c17d7..00000000
--- a/platform/windows/mupdfnet/mupdfnet.vcxproj.filters
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
- <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Resource Files">
- <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
- <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <None Include="Documentation\ReadMe.htm" />
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="..\mupdfwinrt\Cache.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\mupdfwinrt\muctx.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="mupdfnet.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="..\mupdfwinrt\Cache.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\mupdfwinrt\muctx.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="mupdfnet.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/platform/windows/mupdfwinrt/Cache.cpp b/platform/windows/mupdfwinrt/Cache.cpp
deleted file mode 100644
index d5108a7c..00000000
--- a/platform/windows/mupdfwinrt/Cache.cpp
+++ /dev/null
@@ -1,124 +0,0 @@
-#include "pch.h"
-#include "Cache.h"
-
-Cache::Cache(void)
-{
- this->size = 0;
- this->head = NULL;
- this->tail = NULL;
-}
-
-Cache::~Cache(void)
-{
-}
-
-void Cache::Empty(fz_context *mu_ctx)
-{
- if (this != nullptr) {
- cache_entry_t *curr_entry = this->head;
-
- while (curr_entry != NULL)
- {
- cache_entry_t *old_entry = curr_entry;
- curr_entry = old_entry->next;
- fz_drop_display_list(mu_ctx, old_entry->dlist);
- delete old_entry;
- }
- this->size = 0;
- this->head = NULL;
- this->tail = NULL;
- }
-}
-
-void Cache::Add(int value, int width_in, int height_in, fz_display_list *dlist,
- fz_context *mu_ctx)
-{
- std::lock_guard<std::mutex> lock(cache_lock);
-
- /* If full, then delete the tail */
- if (size >= MAX_DISPLAY_CACHE_SIZE)
- {
- cache_entry_t *curr_entry = this->tail;
- cache_entry_t *prev_entry = curr_entry->prev;
-
- if (prev_entry != NULL)
- prev_entry->next = NULL;
- else
- head = NULL;
-
- tail = prev_entry;
-
- /* Decrement the caches rc of this list. It is gone from cache but
- may still be in use by other threads, when threads are done they
- should decrement and it should be freed at that time. See
- ReleaseDisplayLists in muctx class */
- fz_drop_display_list(mu_ctx, curr_entry->dlist);
- delete curr_entry;
- size--;
- }
-
- /* Make a new entry and stick at head */
- cache_entry_t *new_entry = new cache_entry_t;
-
- new_entry->dlist = dlist;
- new_entry->index = value;
- new_entry->width = width_in;
- new_entry->height = height_in;
- new_entry->prev = NULL;
- if (head == NULL)
- {
- new_entry->next = NULL;
- head = new_entry;
- tail = new_entry;
- }
- else
- {
- new_entry->next = head;
- head->prev = new_entry;
- head = new_entry;
- }
- size++;
- /* Everytime we add an entry, we are also using it. Increment rc. See above */
- fz_keep_display_list(mu_ctx, dlist);
-}
-
-fz_display_list* Cache::Use(int value, int *width_out, int *height_out, fz_context *mu_ctx)
-{
- std::lock_guard<std::mutex> lock(cache_lock);
- cache_entry_t *curr_entry = this->head;
-
- while (curr_entry != NULL)
- {
- if (curr_entry->index == value)
- break;
- curr_entry = curr_entry->next;
- }
- if (curr_entry != NULL)
- {
- /* Move this to the front */
- if (curr_entry != head)
- {
- cache_entry_t *prev_entry = curr_entry->prev;
- cache_entry_t *next_entry = curr_entry->next;
- prev_entry->next = next_entry;
-
- if (next_entry != NULL)
- next_entry->prev = prev_entry;
- else
- tail = prev_entry;
-
- curr_entry->prev = NULL;
- curr_entry->next = head;
- head->prev = curr_entry;
- head = curr_entry;
- }
- *width_out = curr_entry->width;
- *height_out = curr_entry->height;
- /* We must increment our reference to this one to ensure it is not
- freed when removed from the cache. See above comments */
- fz_keep_display_list(mu_ctx, curr_entry->dlist);
- return curr_entry->dlist;
- }
- else
- return NULL;
-}
diff --git a/platform/windows/mupdfwinrt/Cache.h b/platform/windows/mupdfwinrt/Cache.h
deleted file mode 100644
index e8c9801d..00000000
--- a/platform/windows/mupdfwinrt/Cache.h
+++ /dev/null
@@ -1,38 +0,0 @@
-#pragma once
-
-#include <mutex>
-extern "C" {
- #include "mupdf/fitz.h"
-}
-
-#define MAX_DISPLAY_CACHE_SIZE 3
-
-typedef struct cache_entry_s cache_entry_t;
-
-struct cache_entry_s
-{
- int number;
- int width;
- int height;
- fz_display_list *dlist;
- cache_entry_t *next;
- cache_entry_t *prev;
- int index;
-};
-
-class Cache
-{
-private:
- int size;
- cache_entry_t *head;
- cache_entry_t *tail;
- std::mutex cache_lock;
-
-public:
- Cache(void);
- ~Cache(void);
- void GetSize(int *width, int *height);
- fz_display_list* Use(int value, int *width, int *height, fz_context *mu_ctx);
- void Add(int value, int width, int height, fz_display_list *dlist, fz_context *mu_ctx);
- void Empty(fz_context *mu_ctx);
-};
diff --git a/platform/windows/mupdfwinrt/ContentItem.cpp b/platform/windows/mupdfwinrt/ContentItem.cpp
deleted file mode 100644
index eff1f58b..00000000
--- a/platform/windows/mupdfwinrt/ContentItem.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
-#include "pch.h"
-#include "ContentItem.h"
-
-using namespace mupdfwinrt;
-
-ContentItem::ContentItem(void)
-{
- StringOrig = nullptr;
- StringMargin = nullptr;
- Page = 0;
-}
diff --git a/platform/windows/mupdfwinrt/ContentItem.h b/platform/windows/mupdfwinrt/ContentItem.h
deleted file mode 100644
index 7077127d..00000000
--- a/platform/windows/mupdfwinrt/ContentItem.h
+++ /dev/null
@@ -1,58 +0,0 @@
-#pragma once
-
-using namespace Platform; /* For String */
-
-namespace mupdfwinrt {
- [Windows::UI::Xaml::Data::Bindable]
- public ref class ContentItem sealed
- {
- private:
- int page;
- String^ string_orig;
- String^ string_margin;
-
- public:
- ContentItem(void);
-
- property int Page
- {
- int get()
- {
- return (page);
- }
-
- void set(int value)
- {
- if (value < 0)
- throw ref new Platform::InvalidArgumentException();
- page = value;
- }
- }
-
- property String^ StringOrig
- {
- String^ get()
- {
- return (string_orig);
- }
-
- void set(String^ value)
- {
- string_orig = value;
- }
- }
-
- property String^ StringMargin
- {
- String^ get()
- {
- return (string_margin);
- }
-
- void set(String^ value)
- {
- string_margin = value;
- }
- }
- };
-}
diff --git a/platform/windows/mupdfwinrt/Links.cpp b/platform/windows/mupdfwinrt/Links.cpp
deleted file mode 100644
index 50db8ff2..00000000
--- a/platform/windows/mupdfwinrt/Links.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-#include "pch.h"
-#include "Links.h"
-#include "status.h"
-
-using namespace mupdfwinrt;
-
-Links::Links(void)
-{
- this->uri = nullptr;
- this->page_num = -1;
- this->type = NOT_SET;
-}
diff --git a/platform/windows/mupdfwinrt/Links.h b/platform/windows/mupdfwinrt/Links.h
deleted file mode 100644
index 39ebfc0b..00000000
--- a/platform/windows/mupdfwinrt/Links.h
+++ /dev/null
@@ -1,88 +0,0 @@
-#pragma once
-
-#include "utils.h"
-#include "status.h"
-
-using namespace Windows::Foundation;
-
-namespace mupdfwinrt
-{
- public ref class Links sealed
- {
- private:
- int type;
- Point upper_left;
- Point lower_right;
- Windows::Foundation::Uri ^uri;
- int page_num;
- public:
- Links(void);
-
- property int Type
- {
- int get()
- {
- return (type);
- }
-
- void set(int value)
- {
- if (value > NOT_SET)
- throw ref new Platform::InvalidArgumentException();
- type = value;
- }
- }
-
- property Point UpperLeft
- {
- Point get()
- {
- return upper_left;
- }
-
- void set(Point value)
- {
- upper_left = value;
- }
- }
-
- property Point LowerRight
- {
- Point get()
- {
- return lower_right;
- }
-
- void set(Point value)
- {
- lower_right = value;
- }
- }
-
- property int PageNum
- {
- int get()
- {
- return page_num;
- }
-
- void set(int value)
- {
- page_num = value;
- }
- }
-
- property Windows::Foundation::Uri^ Uri
- {
- Windows::Foundation::Uri^ get()
- {
- return uri;
- }
-
- void set(Windows::Foundation::Uri^ value)
- {
- uri = value;
- }
- }
- };
-}
diff --git a/platform/windows/mupdfwinrt/muctx.cpp b/platform/windows/mupdfwinrt/muctx.cpp
deleted file mode 100644
index f5bd741b..00000000
--- a/platform/windows/mupdfwinrt/muctx.cpp
+++ /dev/null
@@ -1,911 +0,0 @@
-#pragma once
-
-#include "pch.h"
-#include "muctx.h"
-#include "Cache.h"
-#include <mutex>
-
-/* This class interfaces to mupdf API with minimal windows objects
- * (other than the file streaming stuff) */
-static int textlen(fz_text_page *page);
-
-#ifdef _WINRT_DLL
-// Attempt to use t.wait()
-//#include <ppltasks.h>
-//using namespace concurrency;
-/* File streaming set up for WinRT */
-static int win_next_file(fz_context *ctx, fz_stream *stm, int len)
-{
- void *temp = stm->state;
- win_stream_struct *state = reinterpret_cast <win_stream_struct*> (temp);
- IRandomAccessStream^ Stream = state->stream;
- unsigned char *buf = state->public_buffer;
- unsigned long long curr_pos = Stream->Position;
- unsigned long long length = Stream->Size;
- DataReader^ local_reader = ref new DataReader(Stream);
- if (local_reader == nullptr)
- return 0;
-
- // This does not work here. mupdf is not set up to wait for win_next_file
- // to complete in an ansyn manner
- //auto t = create_task(local_reader->LoadAsync(len));
- //t.wait();
- DataReaderLoadOperation^ result = local_reader->LoadAsync(len);
- while (result->Status != AsyncStatus::Completed) {
- }
- result->GetResults();
-
- /* First see what is available */
- int curr_len2 = local_reader->UnconsumedBufferLength;
- if (curr_len2 < len)
- len = curr_len2;
-
- /* And make sure that we have enough room */
- if (len > sizeof(state->public_buffer))
- len = sizeof(state->public_buffer);
-
- Platform::Array<unsigned char>^ arrByte = ref new Platform::Array<unsigned char>(len);
- if (arrByte == nullptr)
- return 0;
- local_reader->ReadBytes(arrByte);
-
- memcpy(buf, arrByte->Data, len);
- local_reader->DetachStream();
-
- stm->rp = buf;
- stm->wp = buf + len;
- stm->pos += len;
- if (len == 0)
- return EOF;
- return *stm->rp++;
-}
-
-static void win_seek_file(fz_context *ctx, fz_stream *stm, int offset, int whence)
-{
- void *temp = stm->state;
- win_stream_struct *stream = reinterpret_cast <win_stream_struct*> (temp);
- IRandomAccessStream^ Stream = stream->stream;
- unsigned long long curr_pos = Stream->Position;
- unsigned long long length = Stream->Size;
- unsigned long long n;
-
- if (whence == SEEK_END)
- {
- n = length + offset;
- }
- else if (whence == SEEK_CUR)
- {
- n = curr_pos + offset;
- }
- else if (whence == SEEK_SET)
- {
- n = offset;
- }
- Stream->Seek(n);
- curr_pos = Stream->Position;
- stm->pos = n;
- stm->wp = stm->rp;
-}
-
-static void win_close_file(fz_context *ctx, void *state)
-{
- win_stream_struct *win_stream = reinterpret_cast <win_stream_struct*> (state);
- IRandomAccessStream^ stream = win_stream->stream;
- delete stream;
-}
-
-status_t muctx::InitializeStream(IRandomAccessStream^ readStream, char *ext)
-{
- win_stream.stream = readStream;
- fz_stream *mu_stream = fz_new_stream(mu_ctx, 0, win_next_file, win_close_file);
- mu_stream->seek = win_seek_file;
- mu_stream->state = reinterpret_cast <void*> (&win_stream);
-
- /* Now lets see if we can open the file */
- fz_try(mu_ctx)
- {
- mu_doc = fz_open_document_with_stream(mu_ctx, ext, mu_stream);
- }
- fz_always(mu_ctx)
- {
- fz_drop_stream(mu_ctx, mu_stream);
- }
- fz_catch(mu_ctx)
- {
- return E_FAILURE;
- }
- return S_ISOK;
-}
-#else
-status_t muctx::OpenDocument(char *filename)
-{
- fz_try(mu_ctx)
- {
- this->mu_doc = fz_open_document(mu_ctx, filename);
- }
- fz_catch(mu_ctx)
- {
- return E_FAILURE;
- }
- return S_ISOK;
-}
-#endif
-
-/* mutext functions see mupdf readme for details */
-static void lock_mutex(void *user, int lock)
-{
- LPCRITICAL_SECTION locks = (LPCRITICAL_SECTION)user;
- EnterCriticalSection(&locks[lock]);
-}
-
-static void unlock_mutex(void *user, int lock)
-{
- LPCRITICAL_SECTION locks = (LPCRITICAL_SECTION)user;
- LeaveCriticalSection(&locks[lock]);
-}
-
-void muctx::CleanUp(void)
-{
- fz_drop_outline(mu_ctx, mu_outline);
- fz_drop_document(mu_ctx, mu_doc);
- page_cache->Empty(mu_ctx);
- annot_cache->Empty(mu_ctx);
- fz_drop_context(mu_ctx);
-
- delete page_cache;
- delete annot_cache;
- annot_cache = NULL;
- page_cache = NULL;
- this->mu_ctx = NULL;
- this->mu_doc = NULL;
- this->mu_outline = NULL;
-}
-
-void muctx::SetAA(int level)
-{
- fz_set_aa_level(mu_ctx, level);
-}
-
-/* Set up the context, mutex and cookie */
-status_t muctx::InitializeContext()
-{
- int i;
-
- /* Get the mutexes set up */
- for (i = 0; i < FZ_LOCK_MAX; i++)
- InitializeCriticalSectionEx(&mu_criticalsec[i], 0, 0);
- mu_locks.user = &mu_criticalsec[0];
- mu_locks.lock = lock_mutex;
- mu_locks.unlock = unlock_mutex;
-
- /* Allocate the context */
- this->mu_ctx = fz_new_context(NULL, &mu_locks, FZ_STORE_DEFAULT);
- if (this->mu_ctx == NULL)
- {
- return E_OUTOFMEM;
- }
- else
- {
- fz_register_document_handlers(this->mu_ctx);
- return S_ISOK;
- }
-}
-
-/* Initializer */
-muctx::muctx(void)
-{
- mu_ctx = NULL;
- mu_doc = NULL;
- mu_outline = NULL;
- page_cache = new Cache();
- annot_cache = new Cache();
-}
-
-/* Destructor */
-muctx::~muctx(void)
-{
- fz_drop_outline(mu_ctx, mu_outline);
- fz_drop_document(mu_ctx, mu_doc);
- page_cache->Empty(mu_ctx);
- annot_cache->Empty(mu_ctx);
- fz_drop_context(mu_ctx);
-
- mu_ctx = NULL;
- mu_doc = NULL;
- mu_outline = NULL;
- delete page_cache;
- page_cache = NULL;
- delete annot_cache;
- annot_cache = NULL;
-}
-
-/* Return the documents page count */
-int muctx::GetPageCount()
-{
- if (mu_doc == NULL)
- return -1;
- else
- return this->mu_doc->count_pages(mu_ctx, mu_doc);
-}
-
-/* Get page size */
-int muctx::MeasurePage(int page_num, point_t *size)
-{
- fz_rect rect;
- fz_page *page = NULL;
- fz_rect *bounds;
-
- fz_try(mu_ctx)
- {
- page = fz_load_page(mu_ctx, mu_doc, page_num);
- bounds = fz_bound_page(mu_ctx, page, &rect);
- size->X = bounds->x1 - bounds->x0;
- size->Y = bounds->y1 - bounds->y0;
- }
- fz_always(mu_ctx)
- {
- fz_drop_page(mu_ctx, page);
- }
- fz_catch(mu_ctx)
- {
- return E_FAIL;
- }
- return 0;
-}
-
-/* Get page size */
-point_t muctx::MeasurePage(fz_page *page)
-{
- point_t pageSize;
- fz_rect rect;
- fz_rect *bounds;
-
- bounds = fz_bound_page(mu_ctx, page, &rect);
- pageSize.X = bounds->x1 - bounds->x0;
- pageSize.Y = bounds->y1 - bounds->y0;
-
- return pageSize;
-}
-
-void muctx::FlattenOutline(fz_outline *outline, int level,
- sh_vector_content contents_vec)
-{
- char indent[8*4+1];
- if (level > 8)
- level = 8;
- memset(indent, ' ', level * 4);
- indent[level * 4] = 0;
-
- std::string indent_str = indent;
- std::string str_indent;
-
- while (outline)
- {
- if (outline->dest.kind == FZ_LINK_GOTO)
- {
- int page = outline->dest.ld.gotor.page;
- if (page >= 0 && outline->title)
- {
- /* Add to the contents std:vec */
- sh_content content_item(new content_t());
- content_item->page = page;
- content_item->string_orig = outline->title;
- str_indent = content_item->string_orig;
- str_indent.insert(0, indent_str);
- content_item->string_margin = str_indent;
- contents_vec->push_back(content_item);
- }
- }
- FlattenOutline(outline->down, level + 1, contents_vec);
- outline = outline->next;
- }
-}
-
-int muctx::GetContents(sh_vector_content contents_vec)
-{
- fz_outline *root = NULL;
- int has_content = 0;
-
- fz_var(root);
- fz_try(mu_ctx)
- {
- root = fz_load_outline(mu_ctx, mu_doc);
- if (root != NULL)
- {
- has_content = 1;
- FlattenOutline(root, 0, contents_vec);
- }
- }
- fz_always(mu_ctx)
- {
- fz_drop_outline(mu_ctx, root);
- }
- fz_catch(mu_ctx)
- {
- return E_FAIL;
- }
- return has_content;
-}
-
-int muctx::GetTextSearch(int page_num, char* needle, sh_vector_text texts_vec)
-{
- fz_page *page = NULL;
- fz_text_sheet *sheet = NULL;
- fz_device *dev = NULL;
- fz_text_page *text = NULL;
- int hit_count = 0;
- int k;
-
- fz_var(page);
- fz_var(sheet);
- fz_var(dev);
- fz_try(mu_ctx)
- {
- page = fz_load_page(mu_ctx, mu_doc, page_num);
- sheet = fz_new_text_sheet(mu_ctx);
- text = fz_new_text_page(mu_ctx);
- dev = fz_new_text_device(mu_ctx, sheet, text);
- fz_run_page(mu_ctx, page, dev, &fz_identity, NULL);
- fz_drop_device(mu_ctx, dev); /* Why does this need to be done here? Seems odd */
- dev = NULL;
- hit_count = fz_search_text_page(mu_ctx, text, needle, mu_hit_bbox, nelem(mu_hit_bbox));
-
- for (k = 0; k < hit_count; k++)
- {
- sh_text text_search(new text_search_t());
- text_search->upper_left.X = mu_hit_bbox[k].x0;
- text_search->upper_left.Y = mu_hit_bbox[k].y0;
- text_search->lower_right.X = mu_hit_bbox[k].x1;
- text_search->lower_right.Y = mu_hit_bbox[k].y1;
- texts_vec->push_back(text_search);
- }
- }
- fz_always(mu_ctx)
- {
- fz_drop_page(mu_ctx, page);
- fz_drop_device(mu_ctx, dev);
- fz_drop_text_sheet(mu_ctx, sheet);
- fz_drop_text_page(mu_ctx, text);
- }
- fz_catch(mu_ctx)
- {
- return E_FAIL;
- }
- return hit_count;
-}
-
-/* Get the links and pack into a smart pointer structure */
-unsigned int muctx::GetLinks(int page_num, sh_vector_link links_vec)
-{
- fz_page *page = NULL;
- fz_link *links = NULL;
- int k = 0;
- unsigned int num_links = 0;
-
- fz_var(page);
- fz_var(links);
- fz_try(mu_ctx)
- {
- page = fz_load_page(mu_ctx, mu_doc, page_num);
- links = fz_load_links(mu_ctx, page);
-
- fz_link *curr_link = links;
- if (curr_link != NULL)
- {
- /* Get our smart pointer structure filled */
- while (curr_link != NULL)
- {
- fz_rect curr_rect = curr_link->rect;
- sh_link link(new document_link_t());
-
- link->upper_left.X = curr_rect.x0;
- link->upper_left.Y = curr_rect.y0;
- link->lower_right.X = curr_rect.x1;
- link->lower_right.Y = curr_rect.y1;
-
- switch (curr_link->dest.kind)
- {
- case FZ_LINK_GOTO:
-
- link->type = LINK_GOTO;
- link->page_num = curr_link->dest.ld.gotor.page;
- break;
-
- case FZ_LINK_URI:
- {
- int lenstr = strlen(curr_link->dest.ld.uri.uri);
- std::unique_ptr<char[]> uri(new char[lenstr + 1]);
- strcpy_s(uri.get(), lenstr + 1, curr_link->dest.ld.uri.uri);
- link->uri.swap(uri);
- link->type = LINK_URI;
- break;
- }
-
- default:
- link->type = NOT_SET;
-
- }
- links_vec->push_back(link);
- curr_link = curr_link->next;
- num_links += 1;
- }
- }
- }
- fz_always(mu_ctx)
- {
- fz_drop_page(mu_ctx, page);
- fz_drop_link(mu_ctx, links);
- }
- fz_catch(mu_ctx)
- {
- return E_FAIL;
- }
- return num_links;
-}
-
-fz_display_list * muctx::CreateAnnotationList(int page_num)
-{
- fz_device *dev = NULL;
- fz_page *page = NULL;
- int width, height;
-
- /* First see if we have this one in the cache */
- fz_display_list *dlist = annot_cache->Use(page_num, &width, &height, mu_ctx);
- if (dlist != NULL)
- return dlist;
-
- /* Apparently not, lets go ahead and create and add to cache */
- fz_var(dev);
- fz_var(page);
- fz_var(dlist);
-
- fz_try(mu_ctx)
- {
- fz_annot *annot;
- page = fz_load_page(mu_ctx, mu_doc, page_num);
- annot = fz_first_annot(mu_ctx, page);
- if (annot != NULL)
- {
- /* Create display list */
- dlist = fz_new_display_list(mu_ctx);
- dev = fz_new_list_device(mu_ctx, dlist);
-
- for (annot = fz_first_annot(mu_ctx, page); annot; annot = fz_next_annot(mu_ctx, page, annot))
- fz_run_annot(mu_ctx, page, annot, dev, &fz_identity, NULL);
- annot_cache->Add(page_num, 0, 0, dlist, mu_ctx);
- }
- }
- fz_always(mu_ctx)
- {
- fz_drop_device(mu_ctx, dev);
- fz_drop_page(mu_ctx, page);
- }
- fz_catch(mu_ctx)
- {
- fz_drop_display_list(mu_ctx, dlist);
- return NULL;
- }
- return dlist;
-}
-
-fz_display_list * muctx::CreateDisplayList(int page_num, int *width, int *height)
-{
- fz_device *dev = NULL;
- fz_page *page = NULL;
- point_t page_size;
-
- /* First see if we have this one in the cache */
- fz_display_list *dlist = page_cache->Use(page_num, width, height, mu_ctx);
- if (dlist != NULL)
- return dlist;
-
- /* Apparently not, lets go ahead and create and add to cache */
- fz_var(dev);
- fz_var(page);
- fz_var(dlist);
-
- fz_try(mu_ctx)
- {
- page = fz_load_page(mu_ctx, mu_doc, page_num);
-
- /* Create a new list */
- dlist = fz_new_display_list(mu_ctx);
- dev = fz_new_list_device(mu_ctx, dlist);
- fz_run_page_contents(mu_ctx, page, dev, &fz_identity, NULL);
- page_size = MeasurePage(page);
- *width = page_size.X;
- *height = page_size.Y;
- /* Add it to the cache and set that it is in use */
- page_cache->Add(page_num, *width, *height, dlist, mu_ctx);
- }
- fz_always(mu_ctx)
- {
- fz_drop_device(mu_ctx, dev);
- fz_drop_page(mu_ctx, page);
- }
- fz_catch(mu_ctx)
- {
- fz_drop_display_list(mu_ctx, dlist);
- return NULL;
- }
- return dlist;
-}
-
-void muctx::ReleaseDisplayLists(void *opdlist, void *opannotlist)
-{
- fz_display_list *dlist = (fz_display_list*) opdlist;
- fz_display_list *annotlist = (fz_display_list*) opannotlist;
-
- if (dlist != NULL)
- {
- fz_drop_display_list(mu_ctx, dlist);
- }
- if (annotlist != NULL)
- {
- fz_drop_display_list(mu_ctx, annotlist);
- }
-}
-
-/* A special version which will create the display list AND get the information
- that we need for various text selection tasks */
-fz_display_list * muctx::CreateDisplayListText(int page_num, int *width, int *height,
- fz_text_page **text_out, int *length)
-{
- fz_text_sheet *sheet = NULL;
- fz_text_page *text = NULL;
- fz_device *dev = NULL;
- fz_device *textdev = NULL;
- fz_page *page = NULL;
-
- point_t page_size;
- *length = 0;
-
- /* First see if we have this one in the cache */
- fz_display_list *dlist = page_cache->Use(page_num, width, height, mu_ctx);
- if (dlist != NULL)
- return dlist;
-
- /* Apparently not, lets go ahead and create and add to cache */
- fz_var(dev);
- fz_var(textdev);
- fz_var(page);
- fz_var(dlist);
- fz_var(sheet);
- fz_var(text);
-
- fz_try(mu_ctx)
- {
- page = fz_load_page(mu_ctx,mu_doc, page_num);
- sheet = fz_new_text_sheet(mu_ctx);
- text = fz_new_text_page(mu_ctx);
-
- /* Create a new list */
- dlist = fz_new_display_list(mu_ctx);
- dev = fz_new_list_device(mu_ctx, dlist);
-
- /* Deal with text device */
- textdev = fz_new_text_device(mu_ctx, sheet, text);
- fz_run_page(mu_ctx, page, textdev, &fz_identity, NULL);
-
- *length = text->len;
- fz_drop_device(mu_ctx, textdev);
- textdev = NULL;
- *text_out = text;
-
- fz_run_page_contents(mu_ctx, page, dev, &fz_identity, NULL);
- page_size = MeasurePage(page);
- *width = page_size.X;
- *height = page_size.Y;
- /* Add it to the cache and set that it is in use */
- page_cache->Add(page_num, *width, *height, dlist, mu_ctx);
- }
- fz_always(mu_ctx)
- {
- fz_drop_device(mu_ctx, dev);
- fz_drop_page(mu_ctx, page);
- fz_drop_text_sheet(mu_ctx, sheet);
-
- }
- fz_catch(mu_ctx)
- {
- fz_drop_display_list(mu_ctx, dlist);
- return NULL;
- }
- return dlist;
-}
-
-/* Render display list bmp_data buffer. No lock needed for this operation */
-status_t muctx::RenderPageMT(void *dlist, void *a_dlist, int page_width, int page_height,
- unsigned char *bmp_data, int bmp_width, int bmp_height,
- float scale, bool flipy, bool tile, point_t top_left,
- point_t bottom_right)
-{
- fz_device *dev = NULL;
- fz_pixmap *pix = NULL;
- fz_matrix ctm, *pctm = &ctm;
- fz_context *ctx_clone = NULL;
- fz_display_list *display_list = (fz_display_list*) dlist;
- fz_display_list *annot_displaylist = (fz_display_list*) a_dlist;
-
- ctx_clone = fz_clone_context(mu_ctx);
-
- fz_var(dev);
- fz_var(pix);
- fz_var(display_list);
- fz_var(annot_displaylist);
-
- fz_try(ctx_clone)
- {
- pctm = fz_scale(pctm, scale, scale);
- /* Flip on Y. */
- if (flipy)
- {
- ctm.f = (float) page_height * ctm.d;
- ctm.d = -ctm.d;
- ctm.f += top_left.Y;
- }
- else
- {
- ctm.f -= top_left.Y;
- }
- ctm.e -= top_left.X;
-
- pix = fz_new_pixmap_with_data(ctx_clone, fz_device_bgr(ctx_clone),
- bmp_width, bmp_height, bmp_data);
- fz_clear_pixmap_with_value(ctx_clone, pix, 255);
- dev = fz_new_draw_device(ctx_clone, pix);
- fz_run_display_list(ctx_clone, display_list, dev, pctm, NULL, NULL);
- if (annot_displaylist != NULL)
- fz_run_display_list(ctx_clone, annot_displaylist, dev, pctm, NULL, NULL);
-
- }
- fz_always(ctx_clone)
- {
- fz_drop_device(ctx_clone, dev);
- fz_drop_pixmap(ctx_clone, pix);
- }
- fz_catch(ctx_clone)
- {
- fz_drop_context(ctx_clone);
- return E_FAILURE;
- }
- fz_drop_context(ctx_clone);
- return S_ISOK;
-}
-
-/* Render page_num to size width by height into bmp_data buffer. Lock needed. */
-status_t muctx::RenderPage(int page_num, unsigned char *bmp_data, int bmp_width,
- int bmp_height, float scale, bool flipy)
-{
- fz_device *dev = NULL;
- fz_pixmap *pix = NULL;
- fz_page *page = NULL;
- fz_matrix ctm, *pctm = &ctm;
- point_t page_size;
-
- fz_var(dev);
- fz_var(pix);
- fz_var(page);
-
- fz_try(mu_ctx)
- {
- page = fz_load_page(mu_ctx, mu_doc, page_num);
- page_size = MeasurePage(page);
- pctm = fz_scale(pctm, scale, scale);
- /* Flip on Y */
- if (flipy)
- {
- ctm.f = bmp_height;
- ctm.d = -ctm.d;
- }
- pix = fz_new_pixmap_with_data(mu_ctx, fz_device_bgr(mu_ctx), bmp_width,
- bmp_height, bmp_data);
- fz_clear_pixmap_with_value(mu_ctx, pix, 255);
- dev = fz_new_draw_device(mu_ctx, pix);
- fz_run_page_contents(mu_ctx, page, dev, pctm, NULL);
-
- fz_annot *annot;
- for (annot = fz_first_annot(mu_ctx, page); annot; annot = fz_next_annot(mu_ctx, page, annot))
- fz_run_annot(mu_ctx, page, annot, dev, pctm, NULL);
- }
- fz_always(mu_ctx)
- {
- fz_drop_device(mu_ctx, dev);
- fz_drop_pixmap(mu_ctx, pix);
- fz_drop_page(mu_ctx, page);
- }
- fz_catch(mu_ctx)
- {
- return E_FAILURE;
- }
- return S_ISOK;
-}
-
-bool muctx::RequiresPassword(void)
-{
- return fz_needs_password(mu_ctx, mu_doc) != 0;
-}
-
-bool muctx::ApplyPassword(char* password)
-{
- return fz_authenticate_password(mu_ctx, mu_doc, password) != 0;
-}
-
-std::string muctx::GetText(int page_num, int type)
-{
- fz_output *out = NULL;
- fz_device *dev = NULL;
- fz_page *page = NULL;
- fz_text_sheet *sheet = NULL;
- fz_text_page *text = NULL;
- fz_buffer *buf = NULL;
- std::string output;
-
- fz_var(dev);
- fz_var(page);
- fz_var(sheet);
- fz_var(text);
- fz_var(buf);
- fz_try(mu_ctx)
- {
- page = fz_load_page(mu_ctx, mu_doc, page_num);
- sheet = fz_new_text_sheet(mu_ctx);
- text = fz_new_text_page(mu_ctx);
- dev = fz_new_text_device(mu_ctx, sheet, text);
- fz_run_page(mu_ctx, page, dev, &fz_identity, NULL);
- fz_drop_device(mu_ctx, dev);
- dev = NULL;
- fz_analyze_text(mu_ctx, sheet, text);
- buf = fz_new_buffer(mu_ctx, 256);
- out = fz_new_output_with_buffer(mu_ctx, buf);
- if (type == HTML)
- {
- fz_print_text_page_html(mu_ctx, out, text);
- }
- else if (type == XML)
- {
- fz_print_text_page_xml(mu_ctx, out, text);
- }
- else
- {
- fz_print_text_page(mu_ctx, out, text);
- }
- output = std::string(((char*)buf->data));
- }
- fz_always(mu_ctx)
- {
- fz_drop_device(mu_ctx, dev);
- fz_drop_page(mu_ctx, page);
- fz_drop_text_sheet(mu_ctx, sheet);
- fz_drop_text_page(mu_ctx, text);
- fz_drop_buffer(mu_ctx, buf);
- }
- fz_catch(mu_ctx)
- {
- return nullptr;
- }
- return output;
-}
-
-void muctx::ReleaseText(void *text)
-{
- fz_text_page *text_page = (fz_text_page*) text;
- fz_drop_text_page(mu_ctx, text_page);
-}
-
-/* To do: banding */
-status_t muctx::SavePage(char *filename, int page_num, int resolution, int type,
- bool append)
-{
- float zoom;
- fz_matrix ctm;
- fz_rect bounds, tbounds;
- FILE *file = NULL;
- fz_output *out = NULL;
- fz_device *dev = NULL;
- int width, height;
- fz_display_list *dlist = NULL;
- fz_display_list *annot_dlist = NULL;
- fz_page *page = NULL;
- bool valid = true;
- fz_pixmap *pix = NULL;
- fz_irect ibounds;
-
- fz_var(dev);
- fz_var(page);
- fz_var(dlist);
- fz_var(annot_dlist);
- fz_var(pix);
-
- fz_try(mu_ctx)
- {
- page = fz_load_page(mu_ctx, mu_doc, page_num);
- fz_bound_page(mu_ctx, page, &bounds);
- zoom = resolution / 72;
- fz_scale(&ctm, zoom, zoom);
- tbounds = bounds;
- fz_transform_rect(&tbounds, &ctm);
- fz_round_rect(&ibounds, &tbounds);
-
- /* First see if we have this one in the cache */
- dlist = page_cache->Use(page_num, &width, &height, mu_ctx);
- annot_dlist = annot_cache->Use(page_num, &width, &height, mu_ctx);
-
- if (type == SVG_OUT)
- {
- file = fopen(filename, "wb");
- if (file == NULL)
- fz_throw(mu_ctx, FZ_ERROR_GENERIC, "cannot open file '%s'", filename);
- out = fz_new_output_with_file(mu_ctx, file, 0);
-
- dev = fz_new_svg_device(mu_ctx, out, tbounds.x1 - tbounds.x0, tbounds.y1 - tbounds.y0);
- if (dlist != NULL)
- fz_run_display_list(mu_ctx, dlist, dev, &ctm, &tbounds, NULL);
- else
- fz_run_page(mu_ctx, page, dev, &ctm, NULL);
- if (annot_dlist != NULL)
- fz_run_display_list(mu_ctx, annot_dlist, dev, &ctm, &tbounds, NULL);
- else
- {
- fz_annot *annot;
- for (annot = fz_first_annot(mu_ctx, page); annot; annot = fz_next_annot(mu_ctx, page, annot))
- fz_run_annot(mu_ctx, page, annot, dev, &fz_identity, NULL);
- }
- }
- else
- {
- pix = fz_new_pixmap_with_bbox(mu_ctx, fz_device_rgb(mu_ctx), &ibounds);
- fz_pixmap_set_resolution(pix, resolution);
- fz_clear_pixmap_with_value(mu_ctx, pix, 255);
- dev = fz_new_draw_device(mu_ctx, pix);
- if (dlist != NULL)
- fz_run_display_list(mu_ctx, dlist, dev, &ctm, &tbounds, NULL);
- else
- fz_run_page(mu_ctx, page, dev, &ctm, NULL);
- if (annot_dlist != NULL)
- fz_run_display_list(mu_ctx, annot_dlist, dev, &ctm, &tbounds, NULL);
- else
- {
- fz_annot *annot;
- for (annot = fz_first_annot(mu_ctx, page); annot; annot = fz_next_annot(mu_ctx, page, annot))
- fz_run_annot(mu_ctx, page, annot, dev, &fz_identity, NULL);
- }
- switch (type)
- {
- case PNM_OUT:
- fz_write_pnm(mu_ctx, pix, filename);
- break;
- case PCL_OUT: /* This can do multi-page */
- fz_pcl_options options;
- fz_pcl_preset(mu_ctx, &options, "ljet4");
- fz_write_pcl(mu_ctx, pix, filename, append, &options);
- break;
- case PWG_OUT: /* This can do multi-page */
- fz_write_pwg(mu_ctx, pix, filename, append, NULL);
- break;
- }
- }
- }
- fz_always(mu_ctx)
- {
- if (pix != NULL)
- fz_drop_pixmap(mu_ctx, pix);
- fz_drop_device(mu_ctx, dev);
- fz_drop_page(mu_ctx, page);
- if (out != NULL)
- {
- fz_drop_output(mu_ctx, out);
- fclose(file);
- }
- }
- fz_catch(mu_ctx)
- {
- return E_FAILURE;
- }
- return S_ISOK;
-}
-
-void muctx::GetCharBBox(fz_rect *rect, fz_text_span *span, int index)
-{
- fz_text_char_bbox(mu_ctx, rect, span, index);
-}
diff --git a/platform/windows/mupdfwinrt/muctx.h b/platform/windows/mupdfwinrt/muctx.h
deleted file mode 100644
index 314d404b..00000000
--- a/platform/windows/mupdfwinrt/muctx.h
+++ /dev/null
@@ -1,125 +0,0 @@
-#pragma once
-
-#include <memory>
-#include <functional>
-#include <vector>
-#include <windows.h>
-#include "status.h"
-#include "Cache.h"
-extern "C" {
-#include "mupdf/fitz.h"
-#include "mupdf/pdf-tools.h"
-}
-
-
-#define MAX_SEARCH 500
-
-enum { SVG_OUT, PNM_OUT, PCL_OUT, PWG_OUT };
-enum { HTML = 0, XML, TEXT };
-
-typedef struct point_s
-{
- double X;
- double Y;
-} point_t;
-
-/* Links */
-typedef struct document_link_s
-{
- link_t type;
- point_t upper_left;
- point_t lower_right;
- std::unique_ptr<char[]> uri;
- int page_num;
-} document_link_t;
-#define sh_link std::shared_ptr<document_link_t>
-#define sh_vector_link std::shared_ptr<std::vector<sh_link>>
-
-/* Text Search */
-typedef struct text_search_s
-{
- point_t upper_left;
- point_t lower_right;
-} text_search_t;
-#define sh_text std::shared_ptr<text_search_t>
-#define sh_vector_text std::shared_ptr<std::vector<sh_text>>
-
-/* Content Results */
-typedef struct content_s
-{
- int page;
- std::string string_orig;
- std::string string_margin;
-} content_t;
-#define sh_content std::shared_ptr<content_t>
-#define sh_vector_content std::shared_ptr<std::vector<sh_content>>
-
-#ifdef _WINRT_DLL
-using namespace Windows::Storage::Streams;
-using namespace Windows::Foundation;
-
-typedef struct win_stream_struct_s
-{
- IRandomAccessStream^ stream;
- unsigned char public_buffer[4096];
-} win_stream_struct;
-#else
-typedef struct win_stream_struct_s
-{
- char* stream;
-} win_stream_struct;
-#endif
-
-class muctx
-{
-private:
- CRITICAL_SECTION mu_criticalsec[FZ_LOCK_MAX];
- win_stream_struct win_stream;
- fz_locks_context mu_locks;
- fz_context *mu_ctx;
- fz_document *mu_doc;
- fz_outline *mu_outline;
- fz_rect mu_hit_bbox[MAX_SEARCH];
- void FlattenOutline(fz_outline *outline, int level,
- sh_vector_content contents_vec);
- Cache *page_cache;
- Cache *annot_cache;
-
-public:
- muctx(void);
- ~muctx(void);
- void CleanUp(void);
- int GetPageCount();
- status_t InitializeContext();
- status_t RenderPage(int page_num, unsigned char *bmp_data, int bmp_width,
- int bmp_height, float scale, bool flipy);
- status_t RenderPageMT(void *dlist, void *a_dlist, int page_width, int page_height,
- unsigned char *bmp_data, int bmp_width, int bmp_height,
- float scale, bool flipy, bool tile, point_t top_left,
- point_t bottom_right);
- fz_display_list* CreateDisplayList(int page_num, int *width, int *height);
- fz_display_list * CreateDisplayListText(int page_num, int *width,
- int *height, fz_text_page **text, int *length);
- fz_display_list * CreateAnnotationList(int page_num);
- void ReleaseDisplayLists(void *dlist, void *annotlist);
- int MeasurePage(int page_num, point_t *size);
- point_t MeasurePage(fz_page *page);
- unsigned int GetLinks(int page_num, sh_vector_link links_vec);
- void SetAA(int level);
- int GetTextSearch(int page_num, char* needle, sh_vector_text texts_vec);
- int GetContents(sh_vector_content contents_vec);
- std::string GetText(int page_num, int type);
- void ReleaseText(void *text);
- bool RequiresPassword(void);
- bool ApplyPassword(char* password);
- status_t SavePage(char *filename, int pagenum, int resolution, int type,
- bool append);
- void GetCharBBox(fz_rect *rect, fz_text_span *span, int index);
-
-#ifdef _WINRT_DLL
- status_t InitializeStream(IRandomAccessStream^ readStream, char *ext);
-#else
- status_t OpenDocument(char *filename);
-#endif
-
-};
diff --git a/platform/windows/mupdfwinrt/mudocument.cpp b/platform/windows/mupdfwinrt/mudocument.cpp
deleted file mode 100644
index 29df67c3..00000000
--- a/platform/windows/mupdfwinrt/mudocument.cpp
+++ /dev/null
@@ -1,474 +0,0 @@
-// mudocument.cpp
-
-/* This file contains the interface between the muctx class, which
- implements the mupdf calls and the WinRT objects enabling calling from
- C#, C++, Visual Basic, JavaScript applications */
-
-#include "pch.h"
-#include "mudocument.h"
-#include "status.h"
-#include "utils.h"
-
-using namespace mupdfwinrt;
-using namespace concurrency;
-using namespace Platform::Collections;
-
-mudocument::mudocument()
-{
- this->mu_object.InitializeContext();
- this->links = nullptr;
-}
-
-bool mudocument::RequiresPassword()
-{
- return mu_object.RequiresPassword();
-}
-
-bool mudocument::ApplyPassword(String^ password)
-{
- char* pass_char = String_to_char(password);
- bool ok = mu_object.ApplyPassword(pass_char);
- delete []pass_char;
- return ok;
-}
-
-void mudocument::CleanUp()
-{
- this->mu_object.CleanUp();
-}
-
-int mudocument::GetNumPages()
-{
- return this->mu_object.GetPageCount();
-}
-
-Point mudocument::GetPageSize(int page_num)
-{
- Point size_out;
- point_t size;
-
- mutex_lock.lock();
- int code = this->mu_object.MeasurePage(page_num, &size);
- mutex_lock.unlock();
- if (code < 0)
- throw ref new Exception(code, ref new String(L"Get Page Size Failed"));
-
- size_out.X = size.X;
- size_out.Y = size.Y;
- return size_out;
-}
-
-Windows::Foundation::IAsyncOperation<int>^ mudocument::OpenFileAsync(StorageFile^ file)
-{
- return create_async([this, file]()
- {
- String^ filetype = file->FileType;
- const wchar_t *w = filetype->Data();
- int cb = WideCharToMultiByte(CP_UTF8, 0, w, -1, nullptr, 0, nullptr, nullptr);
- char* name = new char[cb];
-
- WideCharToMultiByte(CP_UTF8, 0, w ,-1 ,name ,cb ,nullptr, nullptr);
- char *ext = strrchr(name, '.');
-
- auto t = create_task(file->OpenAsync(FileAccessMode::Read));
-
- return t.then([this, file, ext](task<IRandomAccessStream^> task)
- {
- try
- {
- IRandomAccessStream^ readStream = task.get();
- UINT64 const size = readStream->Size;
-
- if (size <= MAXUINT32)
- {
- status_t code = this->mu_object.InitializeStream(readStream, ext);
- if (code != S_ISOK)
- delete readStream;
- return (int) code;
- }
- else
- {
- delete readStream;
- return (int) E_FAILURE;
- }
- }
- catch(COMException^ ex) {
- throw ref new FailureException("Open File Failed");
- }
- });
- });
-}
-
-/* Header info for bmp stream so that we can use the image brush */
-static void Prepare_bmp(int width, int height, DataWriter ^dw)
-{
- int row_size = width * 4;
- int bmp_size = row_size * height + 54;
-
- dw->WriteString("BM");
- dw->ByteOrder = ByteOrder::LittleEndian;
- dw->WriteInt32(bmp_size);
- dw->WriteInt16(0);
- dw->WriteInt16(0);
- dw->WriteInt32(54);
- dw->WriteInt32(40);
- dw->WriteInt32(width);
- dw->WriteInt32(height);
- dw->WriteInt16(1);
- dw->WriteInt16(32);
- dw->WriteInt32(0);
- dw->WriteInt32(row_size * height);
- dw->WriteInt32(2835);
- dw->WriteInt32(2835);
- dw->WriteInt32(0);
- dw->WriteInt32(0);
-}
-
-/* Do the search through the pages with an async task with progress callback */
-Windows::Foundation::IAsyncOperationWithProgress<int, double>^
- mudocument::SearchDocumentWithProgressAsync(String^ textToFind, int dir,
- int start_page, int num_pages)
-{
- return create_async([this, textToFind, dir, start_page, num_pages]
- (progress_reporter<double> reporter) -> int
- {
- double progress;
- int box_count, result;
-
- for (int i = start_page; i >= 0 && i < num_pages; i += dir)
- {
- box_count = this->ComputeTextSearch(textToFind, i);
- result = i;
- if (dir == SEARCH_FORWARD)
- {
- progress = 100.0 * (double) (i + 1) / (double) num_pages;
- }
- else
- {
- progress = 100.0 * (double) (num_pages - i) / (double) num_pages;
- }
- /* We could have it only update with certain percentage changes but
- we are just looping over the pages here so it is not too bad */
- reporter.report(progress);
-
- if (is_task_cancellation_requested())
- {
- // Cancel the current task.
- cancel_current_task();
- }
-
- if (box_count > 0)
- {
- return result;
- }
- if (is_task_cancellation_requested())
- {
- }
- }
- reporter.report(100.0);
- if (box_count == 0)
- return TEXT_NOT_FOUND;
- else
- return result;
- });
-}
-
-/* Pack the page into a bitmap. This is used in the DirectX code for printing
- not in the xaml related code. It is also used by the thumbnail creation
- thread to ensure that the thumbs are created in order and we don't create
- thousands of threads */
-int mudocument::RenderPageBitmapSync(int page_num, int bmp_width, int bmp_height,
- float scale, bool use_dlist, bool flipy, bool tile,
- Point top_left, Point bottom_right,
- Array<unsigned char>^* bit_map)
-{
- status_t code;
- /* Allocate space for bmp */
- Array<unsigned char>^ bmp_data =
- ref new Array<unsigned char>(bmp_height * 4 * bmp_width);
-
- if (bmp_data == nullptr)
- {
- *bit_map = nullptr;
- return E_OUTOFMEM;
- }
-
- if (use_dlist)
- {
- void *dlist;
- void *annotlist;
- int page_height;
- int page_width;
-
- mutex_lock.lock();
- /* This lock will keep out issues in mupdf as well as race conditions
- in the page cache */
- dlist = (void*) mu_object.CreateDisplayList(page_num, &page_width,
- &page_height);
- annotlist = (void*)mu_object.CreateAnnotationList(page_num);
- /* Rendering of display list can occur with other threads so unlock */
- mutex_lock.unlock();
- if (dlist == NULL)
- {
- *bit_map = nullptr;
- return E_FAILURE;
- }
- code = mu_object.RenderPageMT(dlist, annotlist, page_width, page_height,
- &(bmp_data[0]), bmp_width, bmp_height,
- scale, flipy, tile, { top_left.X, top_left.Y },
- { bottom_right.X, bottom_right.Y });
- /* Done with lists */
- mu_object.ReleaseDisplayLists(dlist, annotlist);
- }
- else
- {
- /* Not dealing with the case of tiling and no display list at this time. */
- if (tile)
- {
- *bit_map = nullptr;
- return E_FAILURE;
- }
- /* Rendering in immediate mode. Keep lock in place */
- mutex_lock.lock();
- code = mu_object.RenderPage(page_num, &(bmp_data[0]), bmp_width,
- bmp_height, scale, flipy);
- mutex_lock.unlock();
- }
- if (code != S_ISOK)
- {
- *bit_map = nullptr;
- return E_FAILURE;
- }
-
- *bit_map = bmp_data;
- return (int) code;
-}
-
-/* Pack the page into a bmp stream */
-Windows::Foundation::IAsyncOperation<InMemoryRandomAccessStream^>^
- mudocument::RenderPageAsync(int page_num, int bmp_width, int bmp_height,
- bool use_dlist, float scale)
-{
- return create_async([this, bmp_width, bmp_height, page_num, use_dlist, scale]
- (cancellation_token ct) -> InMemoryRandomAccessStream^
- {
- /* Allocate space for bmp */
- Array<unsigned char>^ bmp_data =
- ref new Array<unsigned char>(bmp_height * 4 * bmp_width);
- if (bmp_data == nullptr)
- return nullptr;
-
- /* Set up the memory stream */
- InMemoryRandomAccessStream ^ras = ref new InMemoryRandomAccessStream();
- if (ras == nullptr)
- return nullptr;
- DataWriter ^dw = ref new DataWriter(ras->GetOutputStreamAt(0));
- if (dw == nullptr)
- return nullptr;
-
- status_t code;
-
- /* Go ahead and write our header data into the memory stream */
- Prepare_bmp(bmp_width, bmp_height, dw);
-
- if (use_dlist)
- {
- void *dlist;
- void *annotlist;
- int page_height;
- int page_width;
-
- mutex_lock.lock();
- /* This lock will keep out issues in mupdf as well as race conditions
- in the page cache */
- dlist = (void*) mu_object.CreateDisplayList(page_num, &page_width,
- &page_height);
- annotlist = (void*)mu_object.CreateAnnotationList(page_num);
- mutex_lock.unlock();
- if (dlist == NULL)
- return nullptr;
- /* Rendering of display list can occur with other threads so unlock */
- code = mu_object.RenderPageMT(dlist, annotlist, page_width, page_height,
- &(bmp_data[0]), bmp_width, bmp_height,
- scale, true, false, { 0.0, 0.0 },
- { (float) bmp_width, (float) bmp_height });
- /* Done with lists */
- mu_object.ReleaseDisplayLists(dlist, annotlist);
- }
- else
- {
- /* Rendering in immediate mode. Keep lock in place */
- mutex_lock.lock();
- code = mu_object.RenderPage(page_num, &(bmp_data[0]), bmp_width,
- bmp_height, scale, true);
- mutex_lock.unlock();
- }
- if (code != S_ISOK)
- return nullptr;
- /* Now the data into the memory stream */
- dw->WriteBytes(bmp_data);
- auto t = create_task(dw->StoreAsync());
- t.wait();
- /* Return raster stream */
- return ras;
- });
-}
-
-unsigned int mudocument::ComputeLinks(int page_num)
-{
- /* We get back a standard smart pointer from muctx interface and go to WinRT
- type here */
- sh_vector_link link_smart_ptr_vec(new std::vector<sh_link>());
- mutex_lock.lock();
- unsigned int num_items = mu_object.GetLinks(page_num, link_smart_ptr_vec);
- mutex_lock.unlock();
- if (num_items == 0 || num_items == E_FAIL)
- return 0;
- /* Pack into winRT type*/
- this->links = ref new Platform::Collections::Vector<Links^>();
- if (this->links == nullptr)
- return 0;
- for (unsigned int k = 0; k < num_items; k++)
- {
- auto new_link = ref new Links();
- if (new_link == nullptr)
- {
- this->links = nullptr;
- return 0;
- }
- sh_link muctx_link = link_smart_ptr_vec->at(k);
- new_link->LowerRight = { (float) muctx_link->lower_right.X, (float) muctx_link->lower_right.Y };
- new_link->UpperLeft = { (float) muctx_link->upper_left.X, (float) muctx_link->upper_left.Y };
- new_link->PageNum = muctx_link->page_num;
- new_link->Type = muctx_link->type;
- if (new_link->Type == LINK_URI)
- {
- String^ str = char_to_String(muctx_link->uri.get());
- // The URI to launch
- new_link->Uri = ref new Windows::Foundation::Uri(str);
- if (new_link->Uri == nullptr)
- {
- this->links = nullptr;
- return 0;
- }
- }
- this->links->Append(new_link);
- }
- return num_items;
-}
-
-Links^ mudocument::GetLink(unsigned int k)
-{
- if (k >= this->links->Size)
- return nullptr;
- return this->links->GetAt(k);
-}
-
-int mudocument::ComputeTextSearch(String^ text, int page_num)
-{
- /* We get back a standard smart pointer from muctx interface and go to
- * WinRT type here */
- char* text_char = String_to_char(text);
- sh_vector_text text_smart_ptr_vec(new std::vector<sh_text>());
- int num_items;
-
- mutex_lock.lock();
- num_items = mu_object.GetTextSearch(page_num, text_char, text_smart_ptr_vec);
- mutex_lock.unlock();
-
- if (num_items == 0)
- return 0;
- /* Pack into winRT type*/
- this->textsearch = ref new Platform::Collections::Vector<Links^>();
- if (this->textsearch == nullptr)
- return 0;
- for (int k = 0; k < num_items; k++)
- {
- auto new_link = ref new Links();
- if (new_link == nullptr)
- {
- this->textsearch = nullptr;
- return 0;
- }
- sh_text muctx_text = text_smart_ptr_vec->at(k);
- new_link->LowerRight = { (float) muctx_text->lower_right.X, (float) muctx_text->lower_right.Y };
- new_link->UpperLeft = { (float) muctx_text->upper_left.X, (float) muctx_text->upper_left.Y };
- new_link->Type = TEXTBOX;
- this->textsearch->Append(new_link);
- }
- delete []text_char;
- return num_items;
-}
-
-/* Return number of hits found on most recent page */
-int mudocument::TextSearchCount(void)
-{
- if (this->textsearch != nullptr)
- return this->textsearch->Size;
- else
- return 0;
-}
-
-/* Returns the kth item for a page after a text search query */
-Links^ mudocument::GetTextSearch(unsigned int k)
-{
- if (k >= this->textsearch->Size)
- return nullptr;
- return this->textsearch->GetAt(k);
-}
-
-unsigned int mudocument::ComputeContents()
-{
- /* We get back a standard smart pointer from muctx interface and go to
- * WinRT type here */
- sh_vector_content content_smart_ptr_vec(new std::vector<sh_content>());
- int has_content;
-
- mutex_lock.lock();
- has_content = mu_object.GetContents(content_smart_ptr_vec);
- mutex_lock.unlock();
-
- if (!has_content)
- return 0;
- /* Pack into winRT type */
- this->contents = ref new Platform::Collections::Vector<ContentItem^>();
- if (this->contents == nullptr)
- return 0;
- unsigned int num_items = content_smart_ptr_vec->size();
-
- for (unsigned int k = 0; k < num_items; k++)
- {
- auto new_content = ref new ContentItem();
- if (new_content == nullptr)
- {
- this->contents = nullptr;
- return 0;
- }
- sh_content muctx_content = content_smart_ptr_vec->at(k);
- new_content->Page = muctx_content->page;
- new_content->StringMargin = char_to_String(muctx_content->string_margin.c_str());
- new_content->StringOrig = char_to_String(muctx_content->string_orig.c_str());
- this->contents->Append(new_content);
- }
- return num_items;
-}
-
-ContentItem^ mudocument::GetContent(unsigned int k)
-{
- if (k >= this->contents->Size)
- return nullptr;
- return this->contents->GetAt(k);
-}
-
-String^ mudocument::ComputeHTML(int page_num)
-{
- String^ html = nullptr;
- std::string html_cstr;
-
- mutex_lock.lock();
- html_cstr = mu_object.GetText(page_num, HTML);
- mutex_lock.unlock();
-
- html = char_to_String(html_cstr.c_str());
- return html;
-}
diff --git a/platform/windows/mupdfwinrt/mudocument.h b/platform/windows/mupdfwinrt/mudocument.h
deleted file mode 100644
index 9ab37ed7..00000000
--- a/platform/windows/mupdfwinrt/mudocument.h
+++ /dev/null
@@ -1,55 +0,0 @@
-#pragma once
-
-/* This file contains the interface between the muctx class, which
- implements the mupdf calls and the WinRT objects enabling calling from
- C#, C++, and JavaScript applications */
-
-#include "muctx.h"
-#include "Links.h"
-#include "ppltasks.h"
-#include "ContentItem.h"
-#include <winnt.h>
-#include <collection.h>
-
-using namespace Windows::Storage;
-using namespace Platform;
-using namespace Concurrency;
-using namespace Platform::Collections;
-
-namespace mupdfwinrt
-{
- public ref class mudocument sealed
- {
- private:
- muctx mu_object;
- std::mutex mutex_lock;
- Platform::Collections::Vector<Links^>^ links;
- Platform::Collections::Vector<Links^>^ textsearch;
- Platform::Collections::Vector<ContentItem^>^ contents;
- public:
- mudocument();
- void CleanUp();
- Windows::Foundation::IAsyncOperation<int>^ OpenFileAsync(StorageFile^ file);
- int GetNumPages(void);
- Point GetPageSize(int page_num);
- Windows::Foundation::IAsyncOperation<InMemoryRandomAccessStream^>^
- RenderPageAsync(int page_num, int width, int height,
- bool use_dlist, float scale);
- int RenderPageBitmapSync(int page_num, int bmp_width, int bmp_height,
- float scale, bool use_dlist, bool flipy, bool tiling, Point top_left,
- Point bottom_right, Array<unsigned char>^* bit_map);
- Windows::Foundation::IAsyncOperationWithProgress<int, double>^
- SearchDocumentWithProgressAsync(String^ textToFind, int dir,
- int start_page, int num_pages);
- String^ ComputeHTML(int page_num);
- int ComputeTextSearch(String^ text, int page_num);
- Links^ GetTextSearch(unsigned int k);
- int TextSearchCount(void);
- unsigned int ComputeContents(void);
- ContentItem^ GetContent(unsigned int k);
- unsigned int ComputeLinks(int page_num);
- Links^ GetLink(unsigned int k);
- bool RequiresPassword();
- bool ApplyPassword(String^ password);
- };
-}
diff --git a/platform/windows/mupdfwinrt/mupdfwinrt.vcxproj b/platform/windows/mupdfwinrt/mupdfwinrt.vcxproj
deleted file mode 100644
index fa162f0e..00000000
--- a/platform/windows/mupdfwinrt/mupdfwinrt.vcxproj
+++ /dev/null
@@ -1,249 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|ARM">
- <Configuration>Debug</Configuration>
- <Platform>ARM</Platform>
- </ProjectConfiguration>
- <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|ARM">
- <Configuration>Release</Configuration>
- <Platform>ARM</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">
- <ProjectGuid>{9e6ab41d-09a7-45a6-a53b-1e4bf3ac5b33}</ProjectGuid>
- <Keyword>Win32Proj</Keyword>
- <ProjectName>mupdfwinrt</ProjectName>
- <RootNamespace>mupdfwinrt</RootNamespace>
- <DefaultLanguage>en-US</DefaultLanguage>
- <MinimumVisualStudioVersion>12.0</MinimumVisualStudioVersion>
- <AppContainerApplication>true</AppContainerApplication>
- <ApplicationType>Windows Store</ApplicationType>
- <ApplicationTypeRevision>8.1</ApplicationTypeRevision>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v120</PlatformToolset>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <GenerateManifest>false</GenerateManifest>
- <OutDir>..\$(Platform)\$(Configuration)\</OutDir>
- <IntDir>..\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <GenerateManifest>false</GenerateManifest>
- <OutDir>..\$(Platform)\$(Configuration)\</OutDir>
- <IntDir>..\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
- <GenerateManifest>false</GenerateManifest>
- <OutDir>..\$(Platform)\$(Configuration)\</OutDir>
- <IntDir>..\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
- <GenerateManifest>false</GenerateManifest>
- <OutDir>..\$(Platform)\$(Configuration)\</OutDir>
- <IntDir>..\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <GenerateManifest>false</GenerateManifest>
- <OutDir>..\$(Platform)\$(Configuration)\</OutDir>
- <IntDir>..\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <GenerateManifest>false</GenerateManifest>
- <OutDir>..\$(Platform)\$(Configuration)\</OutDir>
- <IntDir>..\$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <PrecompiledHeader>Use</PrecompiledHeader>
- <PreprocessorDefinitions>_WINRT_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
- <PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
- <AdditionalUsingDirectories>$(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
- <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
- <AdditionalIncludeDirectories>../../../include/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <AdditionalDependencies>runtimeobject.lib;../$(Platform)/$(Configuration)/libmupdf_winRT.lib;../$(Platform)/$(Configuration)/libthirdparty_winRT.lib</AdditionalDependencies>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PrecompiledHeader>Use</PrecompiledHeader>
- <PreprocessorDefinitions>_WINRT_DLL;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
- <PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
- <AdditionalUsingDirectories>$(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
- <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
- <AdditionalIncludeDirectories>../../../include/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <AdditionalDependencies>runtimeobject.lib;../$(Platform)/$(Configuration)/libmupdf_winRT.lib;../$(Platform)/$(Configuration)/libthirdparty_winRT.lib</AdditionalDependencies>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
- <ClCompile>
- <PrecompiledHeader>Use</PrecompiledHeader>
- <PreprocessorDefinitions>_WINRT_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
- <PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
- <AdditionalUsingDirectories>$(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
- <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
- <AdditionalIncludeDirectories>../../../include/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <AdditionalDependencies>runtimeobject.lib;../$(Platform)/$(Configuration)/libmupdf_winRT.lib;../$(Platform)/$(Configuration)/libthirdparty_winRT.lib;../$(Platform)/$(Configuration)/libmupdf-nov8_winRT.lib</AdditionalDependencies>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
- <ClCompile>
- <PrecompiledHeader>Use</PrecompiledHeader>
- <PreprocessorDefinitions>_WINRT_DLL;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
- <PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
- <AdditionalUsingDirectories>$(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
- <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
- <AdditionalIncludeDirectories>../../../include/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <AdditionalDependencies>runtimeobject.lib;../$(Platform)/$(Configuration)/libmupdf_winRT.lib;../$(Platform)/$(Configuration)/libthirdparty_winRT.lib;../$(Platform)/$(Configuration)/libmupdf-nov8_winRT.lib</AdditionalDependencies>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <PrecompiledHeader>Use</PrecompiledHeader>
- <PreprocessorDefinitions>_WINRT_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
- <PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
- <AdditionalUsingDirectories>$(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
- <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
- <AdditionalIncludeDirectories>../../../include/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <AdditionalDependencies>runtimeobject.lib;../$(Platform)/$(Configuration)/libmupdf_winRT.lib;../$(Platform)/$(Configuration)/libthirdparty_winRT.lib</AdditionalDependencies>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <PrecompiledHeader>Use</PrecompiledHeader>
- <PreprocessorDefinitions>_WINRT_DLL;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
- <PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
- <AdditionalUsingDirectories>$(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
- <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
- <AdditionalIncludeDirectories>../../../include/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <AdditionalDependencies>runtimeobject.lib;../$(Platform)/$(Configuration)/libmupdf_winRT.lib;../$(Platform)/$(Configuration)/libthirdparty_winRT.lib</AdditionalDependencies>
- <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClInclude Include="Cache.h" />
- <ClInclude Include="ContentItem.h" />
- <ClInclude Include="muctx.h" />
- <ClInclude Include="pch.h" />
- <ClInclude Include="mudocument.h" />
- <ClInclude Include="status.h" />
- <ClInclude Include="utils.h" />
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="Cache.cpp" />
- <ClCompile Include="Links.cpp" />
- <ClCompile Include="ContentItem.cpp" />
- <ClCompile Include="muctx.cpp" />
- <ClCompile Include="pch.cpp">
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">Create</PrecompiledHeader>
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">Create</PrecompiledHeader>
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
- </ClCompile>
- <ClCompile Include="mudocument.cpp" />
- <ClCompile Include="utils.cpp" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project> \ No newline at end of file
diff --git a/platform/windows/mupdfwinrt/mupdfwinrt.vcxproj.filters b/platform/windows/mupdfwinrt/mupdfwinrt.vcxproj.filters
deleted file mode 100644
index 99e37356..00000000
--- a/platform/windows/mupdfwinrt/mupdfwinrt.vcxproj.filters
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Resources">
- <UniqueIdentifier>16ec6626-1276-4cf1-b7af-8d28de2c8f75</UniqueIdentifier>
- <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="pch.cpp" />
- <ClCompile Include="mudocument.cpp" />
- <ClCompile Include="muctx.cpp" />
- <ClCompile Include="Links.cpp" />
- <ClCompile Include="ContentItem.cpp" />
- <ClCompile Include="utils.cpp" />
- <ClCompile Include="Cache.cpp" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="pch.h" />
- <ClInclude Include="mudocument.h" />
- <ClInclude Include="muctx.h" />
- <ClInclude Include="utils.h" />
- <ClInclude Include="ContentItem.h" />
- <ClInclude Include="Cache.h" />
- <ClInclude Include="status.h" />
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/platform/windows/mupdfwinrt/pch.cpp b/platform/windows/mupdfwinrt/pch.cpp
deleted file mode 100644
index 01484ff5..00000000
--- a/platform/windows/mupdfwinrt/pch.cpp
+++ /dev/null
@@ -1,6 +0,0 @@
-//
-// pch.cpp
-// Include the standard header and generate the precompiled header.
-//
-
-#include "pch.h"
diff --git a/platform/windows/mupdfwinrt/pch.h b/platform/windows/mupdfwinrt/pch.h
deleted file mode 100644
index f815ac97..00000000
--- a/platform/windows/mupdfwinrt/pch.h
+++ /dev/null
@@ -1,6 +0,0 @@
-//
-// pch.h
-// Header for standard system include files.
-//
-
-#pragma once
diff --git a/platform/windows/mupdfwinrt/status.h b/platform/windows/mupdfwinrt/status.h
deleted file mode 100644
index 9eea09aa..00000000
--- a/platform/windows/mupdfwinrt/status.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#pragma once
-
-typedef enum {
- S_ISOK = 0,
- E_FAILURE = -1,
- E_OUTOFMEM = -2,
- E_NEEDPASSWORD = -3
-} status_t;
-
-typedef enum {
- LINK_GOTO = 0,
- LINK_URI,
- TEXTBOX, /* Do double duty with this class */
- NOT_SET,
-} link_t;
-
-#define SEARCH_FORWARD 1
-#define SEARCH_BACKWARD -1
-#define TEXT_NOT_FOUND -1
diff --git a/platform/windows/mupdfwinrt/utils.cpp b/platform/windows/mupdfwinrt/utils.cpp
deleted file mode 100644
index 9c20c620..00000000
--- a/platform/windows/mupdfwinrt/utils.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-#include "pch.h"
-#include "utils.h"
-
-/* Window string hurdles.... */
-String^ char_to_String(const char *char_in)
-{
- size_t size = MultiByteToWideChar(CP_UTF8, 0, char_in, -1, NULL, 0);
- wchar_t *pw;
- pw = new wchar_t[size];
- if (!pw)
- {
- delete []pw;
- return nullptr;
- }
- MultiByteToWideChar(CP_UTF8, 0, char_in, -1, pw, size );
- String^ str_out = ref new String(pw);
- delete []pw;
- return str_out;
-}
-
-char* String_to_char(String^ text)
-{
- const wchar_t *w = text->Data();
- int cb = WideCharToMultiByte(CP_UTF8, 0, text->Data(), -1, nullptr, 0, nullptr, nullptr);
- char* charout = new char[cb];
- WideCharToMultiByte(CP_UTF8, 0, text->Data() ,-1 ,charout ,cb ,nullptr, nullptr);
- return charout;
-}
diff --git a/platform/windows/mupdfwinrt/utils.h b/platform/windows/mupdfwinrt/utils.h
deleted file mode 100644
index 78f4dbc4..00000000
--- a/platform/windows/mupdfwinrt/utils.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#pragma once
-
-#include "Windows.h"
-using namespace Platform;
-
-String^ char_to_String(const char *char_in);
-char* String_to_char(String^ text);