diff options
Diffstat (limited to 'platform/winrt')
-rw-r--r-- | platform/winrt/libmupdf-nov8_winRT.vcxproj | 24 | ||||
-rw-r--r-- | platform/winrt/libmupdf_winRT.vcxproj | 24 | ||||
-rw-r--r-- | platform/winrt/libthirdparty_winRT.vcxproj | 26 | ||||
-rw-r--r-- | platform/winrt/mupdf_cpp/DocumentPage.cpp | 2 | ||||
-rw-r--r-- | platform/winrt/mupdf_cpp/DocumentPage.h | 10 | ||||
-rw-r--r-- | platform/winrt/mupdf_cpp/MainPage.xaml | 6 | ||||
-rw-r--r-- | platform/winrt/mupdf_cpp/MainPage.xaml.cpp | 217 | ||||
-rw-r--r-- | platform/winrt/mupdf_cpp/MainPage.xaml.h | 4 | ||||
-rw-r--r-- | platform/winrt/mupdf_cpp/Package.appxmanifest | 20 | ||||
-rw-r--r-- | platform/winrt/mupdf_cpp/mupdf_cpp.vcxproj | 28 | ||||
-rw-r--r-- | platform/winrt/mupdfwinrt/mupdfwinrt.vcxproj | 18 |
11 files changed, 207 insertions, 172 deletions
diff --git a/platform/winrt/libmupdf-nov8_winRT.vcxproj b/platform/winrt/libmupdf-nov8_winRT.vcxproj index 2119e3e4..6cb6b4d6 100644 --- a/platform/winrt/libmupdf-nov8_winRT.vcxproj +++ b/platform/winrt/libmupdf-nov8_winRT.vcxproj @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup Label="ProjectConfigurations"> <ProjectConfiguration Include="Debug|ARM"> <Configuration>Debug</Configuration> @@ -47,57 +47,59 @@ <ProjectName>libmupdf-nov8_winRT</ProjectName> <RootNamespace>libmupdf_nov8_winRT</RootNamespace> <DefaultLanguage>en-US</DefaultLanguage> - <MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion> + <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>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|Win32'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|ARM'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|x64'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> <WholeProgramOptimization>true</WholeProgramOptimization> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> <WholeProgramOptimization>true</WholeProgramOptimization> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> <WholeProgramOptimization>true</WholeProgramOptimization> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> diff --git a/platform/winrt/libmupdf_winRT.vcxproj b/platform/winrt/libmupdf_winRT.vcxproj index 944323d4..76fa65a7 100644 --- a/platform/winrt/libmupdf_winRT.vcxproj +++ b/platform/winrt/libmupdf_winRT.vcxproj @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup Label="ProjectConfigurations"> <ProjectConfiguration Include="Debug|ARM"> <Configuration>Debug</Configuration> @@ -232,57 +232,59 @@ <ProjectName>libmupdf_winRT</ProjectName> <RootNamespace>libmupdf_winRT</RootNamespace> <DefaultLanguage>en-US</DefaultLanguage> - <MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion> + <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>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|Win32'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|ARM'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|x64'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> <WholeProgramOptimization>true</WholeProgramOptimization> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> <WholeProgramOptimization>true</WholeProgramOptimization> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> <WholeProgramOptimization>true</WholeProgramOptimization> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> diff --git a/platform/winrt/libthirdparty_winRT.vcxproj b/platform/winrt/libthirdparty_winRT.vcxproj index aa131220..1def5f1b 100644 --- a/platform/winrt/libthirdparty_winRT.vcxproj +++ b/platform/winrt/libthirdparty_winRT.vcxproj @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup Label="ProjectConfigurations"> <ProjectConfiguration Include="Debug|ARM"> <Configuration>Debug</Configuration> @@ -263,57 +263,59 @@ <ProjectName>libthirdparty_winRT</ProjectName> <RootNamespace>libthirdparty_winRT</RootNamespace> <DefaultLanguage>en-US</DefaultLanguage> - <MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion> + <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>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|Win32'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|ARM'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Memento|x64'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> <WholeProgramOptimization>true</WholeProgramOptimization> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> <WholeProgramOptimization>true</WholeProgramOptimization> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> <ConfigurationType>StaticLibrary</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> <WholeProgramOptimization>true</WholeProgramOptimization> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> @@ -484,7 +486,7 @@ <CompileAsWinRT>false</CompileAsWinRT> <SDLCheck>false</SDLCheck> <AdditionalIncludeDirectories>..\..\scripts;..\..\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> + <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> diff --git a/platform/winrt/mupdf_cpp/DocumentPage.cpp b/platform/winrt/mupdf_cpp/DocumentPage.cpp index 3ee99dcd..39a22aa9 100644 --- a/platform/winrt/mupdf_cpp/DocumentPage.cpp +++ b/platform/winrt/mupdf_cpp/DocumentPage.cpp @@ -8,7 +8,7 @@ namespace mupdf_cpp this->Image = nullptr; this->Height = 0; this->Width = 0; - this->Zoom = 1.0; + this->PageZoom = 1.0; this->Content = NOTSET; _isPropertyChangedObserved = false; } diff --git a/platform/winrt/mupdf_cpp/DocumentPage.h b/platform/winrt/mupdf_cpp/DocumentPage.h index 89bf6674..383d63d1 100644 --- a/platform/winrt/mupdf_cpp/DocumentPage.h +++ b/platform/winrt/mupdf_cpp/DocumentPage.h @@ -27,7 +27,7 @@ namespace mupdf_cpp private: int height; int width; - double zoom; + double page_zoom; int native_height; int native_width; WriteableBitmap^ image; @@ -97,7 +97,6 @@ namespace mupdf_cpp throw ref new Platform::InvalidArgumentException(); } height = value; - DocumentPage::OnPropertyChanged("Height"); } } @@ -115,7 +114,6 @@ namespace mupdf_cpp throw ref new Platform::InvalidArgumentException(); } width = value; - DocumentPage::OnPropertyChanged("Width"); } } property int NativeHeight @@ -152,11 +150,11 @@ namespace mupdf_cpp } } - property double Zoom + property double PageZoom { double get() { - return zoom; + return page_zoom; } void set(double value) @@ -165,7 +163,7 @@ namespace mupdf_cpp { throw ref new Platform::InvalidArgumentException(); } - zoom = value; + page_zoom = value; } } diff --git a/platform/winrt/mupdf_cpp/MainPage.xaml b/platform/winrt/mupdf_cpp/MainPage.xaml index a38ba136..30403229 100644 --- a/platform/winrt/mupdf_cpp/MainPage.xaml +++ b/platform/winrt/mupdf_cpp/MainPage.xaml @@ -68,7 +68,7 @@ <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"> + HorizontalAlignment="Center" UseTouchAnimationsForAllNavigation="False"> <FlipView.ItemsPanel> <ItemsPanelTemplate> <VirtualizingStackPanel Orientation="Horizontal"/> @@ -87,7 +87,7 @@ HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" MinZoomFactor="0.25" - MaxZoomFactor="4"> + 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"/> @@ -147,7 +147,7 @@ </FlipView> <!-- Vertical flip view --> <FlipView x:Name="xaml_vert_flipView" SelectionChanged="FlipView_SelectionChanged" VerticalAlignment="Center" - HorizontalAlignment="Center" IsEnabled="False" Opacity="0"> + HorizontalAlignment="Center" IsEnabled="False" Opacity="0" UseTouchAnimationsForAllNavigation="False"> <FlipView.ItemsPanel> <ItemsPanelTemplate> <VirtualizingStackPanel Orientation="Vertical"/> diff --git a/platform/winrt/mupdf_cpp/MainPage.xaml.cpp b/platform/winrt/mupdf_cpp/MainPage.xaml.cpp index 9ef47e76..3a2fbdc3 100644 --- a/platform/winrt/mupdf_cpp/MainPage.xaml.cpp +++ b/platform/winrt/mupdf_cpp/MainPage.xaml.cpp @@ -9,7 +9,6 @@ #include <sstream> #define LOOK_AHEAD 1 /* A +/- count on the pages to pre-render */ -#define LOOK_AHEAD_SCALE 2 /* A +/- count on the pages to adjust for scale change */ #define THUMB_PREADD 10 #define MIN_SCALE 0.5 @@ -183,7 +182,7 @@ void MainPage::ExceptionHandler(Object^ sender, UnhandledExceptionEventArgs^ e) else { e->Handled = true; - NotifyUser("A error was encountered", ErrorMessage); + NotifyUser("An error was encountered", ErrorMessage); } } @@ -309,7 +308,7 @@ void MainPage::UpdatePage(int page_num, InMemoryRandomAccessStream^ ras, doc_page->Width = ras_size.X; } doc_page->Content = content_type; - doc_page->Zoom = zoom_in; + doc_page->PageZoom = zoom_in; /* We do not want flipview change notification to occur for ourselves */ m_page_update = true; @@ -331,7 +330,7 @@ void MainPage::ReplaceImage(int page_num, InMemoryRandomAccessStream^ ras, doc_page->Height = ras_size.Y; doc_page->Width = ras_size.X; - doc_page->Zoom = page_zoom; + doc_page->PageZoom = page_zoom; } Point MainPage::ComputePageSize(spatial_info_t spatial_info, int page_num) @@ -772,7 +771,6 @@ void MainPage::InitialRender() this->m_init_done = true; } - void MainPage::RenderRange(int curr_page) { /* Render +/- the look ahead from where we are if blank page is present */ @@ -790,16 +788,25 @@ void MainPage::RenderRange(int curr_page) /* Check if page is already rendered */ auto doc = this->m_docPages->GetAt(k); if (doc->Content != FULL_RESOLUTION || - doc->Zoom != m_doczoom) + doc->PageZoom != m_doczoom) { Point ras_size = ComputePageSize(spatial_info, k); double zoom = m_doczoom; auto render_task = create_task(mu_doc->RenderPageAsync(k, ras_size.X, ras_size.Y, true)); - render_task.then([this, k, ras_size, zoom] (InMemoryRandomAccessStream^ ras) + render_task.then([this, k, ras_size, zoom, curr_page](InMemoryRandomAccessStream^ ras) { - UpdatePage(k, ras, ras_size, FULL_RESOLUTION, zoom); + 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 scroll viewer. It make 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 = new_ras_size.X / zoom; + new_ras_size.Y = 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) @@ -810,6 +817,11 @@ void MainPage::RenderRange(int curr_page) AddTextCanvas(); m_flip_from_searchlink = false; } + if (k == curr_page) + { + m_curr_flipView->UpdateLayout(); + UpdateZoom(); + } },task_continuation_context::use_current()); } else @@ -818,7 +830,10 @@ void MainPage::RenderRange(int curr_page) 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(); + } } } } @@ -851,13 +866,13 @@ void MainPage::FlipView_SelectionChanged(Object^ sender, SelectionChangedEventAr } else { - /* Make sure to clear any text search */ + /* 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; - UpdateZoom(pos, false); + this->m_currpage = pos; this->RenderRange(pos); this->ReleasePages(curr_page, pos); } @@ -878,41 +893,16 @@ void MainPage::Slider_Key(Platform::Object^ sender, Windows::UI::Xaml::Input::Ke void MainPage::Slider_Common() { - if (IsNotStandardView()) + 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) { - /* Make sure to clear any text search */ - auto doc_old = this->m_docPages->GetAt(m_currpage); - doc_old->TextBox = nullptr; - - auto doc = this->m_docPages->GetAt(newValue); - if (doc->Content != FULL_RESOLUTION || doc->Zoom != m_doczoom) - { - spatial_info_t spatial_info = InitSpatial(m_doczoom); - Point ras_size = ComputePageSize(spatial_info, newValue); - auto render_task = - create_task(mu_doc->RenderPageAsync(newValue, ras_size.X, ras_size.Y, true)); - double zoom = m_doczoom; - - render_task.then([this, newValue, ras_size, zoom] (InMemoryRandomAccessStream^ ras) - { - UpdatePage(newValue, ras, ras_size, FULL_RESOLUTION, zoom); - this->m_currpage = newValue; - m_sliderchange = true; - this->m_curr_flipView->SelectedIndex = newValue; - }, task_continuation_context::use_current()); - } - else - { - m_sliderchange = true; - this->m_curr_flipView->SelectedIndex = newValue; - } - UpdateZoom(newValue, false); + this->m_curr_flipView->SelectedIndex = this->xaml_PageSlider->Value - 1; } + return; } /* Search Related Code */ @@ -986,8 +976,8 @@ void MainPage::ShowSearchResults(int page_num, int box_count) rect_item->Width = curr_box->LowerRight.X - curr_box->UpperLeft.X; rect_item->X = curr_box->UpperLeft.X * scale.X; rect_item->Y = curr_box->UpperLeft.Y * scale.Y; - rect_item->Width *= (scale.X * doc_page->Zoom); - rect_item->Height *= (scale.Y * doc_page->Zoom); + rect_item->Width *= (scale.X); + rect_item->Height *= (scale.Y); rect_item->Index = k.ToString(); m_text_list->Append(rect_item); } @@ -1155,21 +1145,29 @@ void MainPage::GridSizeChanged() xaml_WebView->Height = height - height_app; } - UpDatePageSizes(); + 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(); - auto doc = this->m_docPages->GetAt(m_currpage); - doc->Content = OLD_RESOLUTION; /* To force a rerender */ + + /* 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::UpDatePageSizes() +void MainPage::UpDateThumbSizes() { /* Reset the thumb view scaling value */ if (m_num_pages > 0) @@ -1183,14 +1181,12 @@ void MainPage::UpDatePageSizes() 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 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 = curr_height * m_doczoom / min_scale; thumb_page->Width = curr_width * m_doczoom / min_scale; - thumb_page->NativeHeight = thumb_page->NativeHeight / min_scale; - thumb_page->NativeWidth = thumb_page->NativeWidth / min_scale; } } } @@ -1270,8 +1266,8 @@ void MainPage::AddLinkCanvas() rect_item->Width = curr_link->LowerRight.X - curr_link->UpperLeft.X; rect_item->X = curr_link->UpperLeft.X * scale.X; rect_item->Y = curr_link->UpperLeft.Y * scale.Y; - rect_item->Width *= (scale.X * doc_page->Zoom); - rect_item->Height *= (scale.Y * doc_page->Zoom); + rect_item->Width *= scale.X; + rect_item->Height *= scale.Y; rect_item->Type = curr_link->Type; rect_item->Urilink = curr_link->Uri; rect_item->PageNum = curr_link->PageNum; @@ -1410,8 +1406,6 @@ void MainPage::Reflower(Platform::Object^ sender, Windows::UI::Xaml::RoutedEvent this->m_curr_flipView->IsEnabled = true; this->xaml_PageSlider->IsEnabled = true; xaml_WebView->Visibility = Windows::UI::Xaml::Visibility::Collapsed; - xaml_WebView->Opacity = 0.0; - } else if (this->m_curr_flipView->IsEnabled) { @@ -1422,7 +1416,6 @@ void MainPage::Reflower(Platform::Object^ sender, Windows::UI::Xaml::RoutedEvent this->xaml_PageSlider->IsEnabled = false; this->xaml_WebView->NavigateToString(html_string); this->xaml_WebView->Height = this->ActualHeight - 2 * this->BottomAppBar->ActualHeight; - /* Check if thumb rendering is done. If not then restart */ } } @@ -1448,36 +1441,44 @@ void MainPage::UpdateAppBarButtonViewState() VisualStateManager::GoToState(NextSearch, viewState, true); } -/* Manipulation zooming with touch input */ +/* 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_zoom = scrollviewer->ZoomFactor; + double new_scroll_zoom = scrollviewer->ZoomFactor; - if (new_zoom == 1.0) + /* 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_zoom * m_doczoom; - new_zoom = m_doczoom; - /* Render at new resolution */ - spatial_info_t spatial_info = InitSpatial(new_zoom); + 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 = ComputePageSize(spatial_info, page); + doc_page->PageZoom = m_doczoom; - /* Go ahead and create display list if we dont have one for this page */ auto render_task = create_task(mu_doc->RenderPageAsync(page, ras_size.X, ras_size.Y, true)); - render_task.then([this, page, ras_size, new_zoom, scrollviewer] (InMemoryRandomAccessStream^ ras) - { - scrollviewer->ZoomToFactor(1.0); - ReplaceImage(page, ras, ras_size, new_zoom); + render_task.then([this, page, ras_size, scrollviewer](InMemoryRandomAccessStream^ ras) + { + ReplaceImage(page, ras, ras_size, m_doczoom); }, task_continuation_context::use_current()); - UpdateZoom(m_currpage, false); + UpDateThumbSizes(); } } @@ -1518,8 +1519,27 @@ void MainPage::ZoomOutPress(Platform::Object^ sender, Windows::UI::Xaml::RoutedE void MainPage::NonTouchZoom(int zoom) { - double curr_zoom = m_doczoom; - int page = m_currpage; + 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->ItemContainerGenerator->ContainerFromIndex(m_currpage)); + auto item2 = m_curr_flipView->ItemContainerGenerator->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) { @@ -1533,39 +1553,42 @@ void MainPage::NonTouchZoom(int zoom) } else return; - auto doc_page = this->m_docPages->GetAt(page); - - /* Render at new resolution */ - spatial_info_t spatial_info = InitSpatial(curr_zoom); - Point ras_size = ComputePageSize(spatial_info, page); + /* 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); - /* Render and replace */ - auto render_task = - create_task(mu_doc->RenderPageAsync(page, ras_size.X, ras_size.Y, true)); - render_task.then([this, page, ras_size, curr_zoom] (InMemoryRandomAccessStream^ ras) - { - ReplaceImage(page, ras, ras_size, curr_zoom); - }, task_continuation_context::use_current()); - m_doczoom = curr_zoom; - UpdateZoom(page, false); + scrollviewer->ChangeView(nullptr, nullptr, box_zoom, false); } -/* Get adjacent pages properly scaled when zoom changed */ -void MainPage::UpdateZoom(int page_num, bool ignore_curr) +/* Adjust the page scrollviewer to the current zoom level */ +void MainPage::UpdateZoom() { - for (int k = page_num - LOOK_AHEAD_SCALE; k <= page_num + LOOK_AHEAD_SCALE; k++) - { - bool skip = !(k == page_num && ignore_curr); - if (k >= 0 && k < m_num_pages) - { - auto page = this->m_docPages->GetAt(k); - if (page->Zoom != m_doczoom && skip) - { - page->Height = (int) ((double) page->NativeHeight * m_doczoom); - page->Width = (int) ((double) page->NativeWidth * m_doczoom); - } - } - } + ScrollViewer^ scrollviewer; + FlipViewItem^ item = safe_cast<FlipViewItem^> + (m_curr_flipView->ItemContainerGenerator->ContainerFromIndex(m_currpage)); + auto item2 = m_curr_flipView->ItemContainerGenerator->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. */ diff --git a/platform/winrt/mupdf_cpp/MainPage.xaml.h b/platform/winrt/mupdf_cpp/MainPage.xaml.h index f229123e..37d5227c 100644 --- a/platform/winrt/mupdf_cpp/MainPage.xaml.h +++ b/platform/winrt/mupdf_cpp/MainPage.xaml.h @@ -230,7 +230,7 @@ namespace mupdf_cpp void ClearTextSearch(); void AddTextCanvas(); void GridSizeChanged(); - void UpDatePageSizes(); + void UpDateThumbSizes(); void ShowThumbnail(); void Canvas_ManipulationCompleted(Platform::Object^ sender, Windows::UI::Xaml::Input::ManipulationCompletedRoutedEventArgs^ e); void AddThumbNail(int page_num, FlipView^ flip_view); @@ -271,7 +271,7 @@ namespace mupdf_cpp 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(int page_num, bool ignore_curr); + void UpdateZoom(); /* Print Related */ void RegisterForPrinting(); diff --git a/platform/winrt/mupdf_cpp/Package.appxmanifest b/platform/winrt/mupdf_cpp/Package.appxmanifest index 2eb9d462..08e2b538 100644 --- a/platform/winrt/mupdf_cpp/Package.appxmanifest +++ b/platform/winrt/mupdf_cpp/Package.appxmanifest @@ -1,24 +1,20 @@ <?xml version="1.0" encoding="utf-8"?> -<Package xmlns="http://schemas.microsoft.com/appx/2010/manifest"> - <Identity Name="ArtifexSoftware.MuPDF" Publisher="CN=B93265AA-82AD-458A-A08E-7069B8ED88B5" Version="1.0.0.10" /> +<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.1.0.10" /> <Properties> <DisplayName>MuPDF</DisplayName> <PublisherDisplayName>Artifex Software</PublisherDisplayName> <Logo>Assets\StoreLogo.png</Logo> </Properties> <Prerequisites> - <OSMinVersion>6.2.1</OSMinVersion> - <OSMaxVersionTested>6.2.1</OSMaxVersionTested> + <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"> - <VisualElements DisplayName="MuPDF" Logo="Assets\Logo.png" SmallLogo="assets/mupdf_smallogo.png" Description="A lightweight, high quality PDF/XPS/CBZ viewer for Windows 8 devices." ForegroundText="light" BackgroundColor="#464646"> - <DefaultTile ShowName="allLogos" /> - <SplashScreen Image="Assets\mupdf_splash.png" /> - </VisualElements> <Extensions> <Extension Category="windows.fileTypeAssociation"> <FileTypeAssociation Name=".pdf"> @@ -32,6 +28,14 @@ </FileTypeAssociation> </Extension> </Extensions> + <m2:VisualElements DisplayName="MuPDF" Description="A lightweight, high quality PDF/XPS/CBZ viewer for Windows 8 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/winrt/mupdf_cpp/mupdf_cpp.vcxproj b/platform/winrt/mupdf_cpp/mupdf_cpp.vcxproj index baa51c03..2827fa75 100644 --- a/platform/winrt/mupdf_cpp/mupdf_cpp.vcxproj +++ b/platform/winrt/mupdf_cpp/mupdf_cpp.vcxproj @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup Label="ProjectConfigurations"> <ProjectConfiguration Include="Debug|ARM"> <Configuration>Debug</Configuration> @@ -30,42 +30,44 @@ <ProjectGuid>{0204a4e7-f1b8-4268-a67c-a2c674b4742d}</ProjectGuid> <RootNamespace>mupdf_cpp</RootNamespace> <DefaultLanguage>en-US</DefaultLanguage> - <MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion> + <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>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> <WholeProgramOptimization>true</WholeProgramOptimization> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> <WholeProgramOptimization>true</WholeProgramOptimization> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> <WholeProgramOptimization>true</WholeProgramOptimization> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <ImportGroup Label="ExtensionSettings"> @@ -125,7 +127,7 @@ <AdditionalIncludeDirectories>../../include/;../mupdfwinrt/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> <Link> - <AdditionalDependencies>kernel32.lib;%(AdditionalDependencies);../$(Platform)/$(Configuration)/libmupdf_winRT.lib;../$(Platform)/$(Configuration)/libthirdparty_winRT.lib;../$(Platform)/$(Configuration)/libmupdf-nov8_winRT.lib;../$(Platform)/$(Configuration)/mupdfwinrt.lib</AdditionalDependencies> + <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> @@ -136,7 +138,7 @@ <AdditionalIncludeDirectories>../../include/;../mupdfwinrt/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> <Link> - <AdditionalDependencies>kernel32.lib;%(AdditionalDependencies);../$(Platform)/$(Configuration)/libmupdf_winRT.lib;../$(Platform)/$(Configuration)/libthirdparty_winRT.lib;../$(Platform)/$(Configuration)/libmupdf-nov8_winRT.lib;../$(Platform)/$(Configuration)/mupdfwinrt.lib</AdditionalDependencies> + <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> @@ -149,7 +151,7 @@ <AdditionalIncludeDirectories>../../include/;../mupdfwinrt/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> <Link> - <AdditionalDependencies>kernel32.lib;%(AdditionalDependencies);../$(Platform)/$(Configuration)/libmupdf_winRT.lib;../$(Platform)/$(Configuration)/libthirdparty_winRT.lib;../$(Platform)/$(Configuration)/libmupdf-nov8_winRT.lib;../$(Platform)/$(Configuration)/mupdfwinrt.lib</AdditionalDependencies> + <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 /SAFESEH %(AdditionalOptions)</AdditionalOptions> </Link> </ItemDefinitionGroup> @@ -160,7 +162,7 @@ <AdditionalIncludeDirectories>../../include/;../mupdfwinrt/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> <Link> - <AdditionalDependencies>kernel32.lib;%(AdditionalDependencies);../$(Platform)/$(Configuration)/libmupdf_winRT.lib;../$(Platform)/$(Configuration)/libthirdparty_winRT.lib;../$(Platform)/$(Configuration)/libmupdf-nov8_winRT.lib;../$(Platform)/$(Configuration)/mupdfwinrt.lib</AdditionalDependencies> + <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 /SAFESEH %(AdditionalOptions)</AdditionalOptions> @@ -184,7 +186,7 @@ <AdditionalIncludeDirectories>../../include/;../mupdfwinrt/;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ClCompile> <Link> - <AdditionalDependencies>kernel32.lib;%(AdditionalDependencies);../$(Platform)/$(Configuration)/libmupdf_winRT.lib;../$(Platform)/$(Configuration)/libthirdparty_winRT.lib;../$(Platform)/$(Configuration)/libmupdf-nov8_winRT.lib;../$(Platform)/$(Configuration)/mupdfwinrt.lib</AdditionalDependencies> + <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> diff --git a/platform/winrt/mupdfwinrt/mupdfwinrt.vcxproj b/platform/winrt/mupdfwinrt/mupdfwinrt.vcxproj index 9df0ab18..5917a638 100644 --- a/platform/winrt/mupdfwinrt/mupdfwinrt.vcxproj +++ b/platform/winrt/mupdfwinrt/mupdfwinrt.vcxproj @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup Label="ProjectConfigurations"> <ProjectConfiguration Include="Debug|ARM"> <Configuration>Debug</Configuration> @@ -32,42 +32,44 @@ <ProjectName>mupdfwinrt</ProjectName> <RootNamespace>mupdfwinrt</RootNamespace> <DefaultLanguage>en-US</DefaultLanguage> - <MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion> + <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>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration"> <ConfigurationType>DynamicLibrary</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> <ConfigurationType>DynamicLibrary</ConfigurationType> <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> <ConfigurationType>DynamicLibrary</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> <WholeProgramOptimization>true</WholeProgramOptimization> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration"> <ConfigurationType>DynamicLibrary</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> <WholeProgramOptimization>true</WholeProgramOptimization> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> <ConfigurationType>DynamicLibrary</ConfigurationType> <UseDebugLibraries>false</UseDebugLibraries> <WholeProgramOptimization>true</WholeProgramOptimization> - <PlatformToolset>v110</PlatformToolset> + <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> |