diff options
author | Tor Andersson <tor.andersson@artifex.com> | 2013-06-19 15:29:44 +0200 |
---|---|---|
committer | Tor Andersson <tor.andersson@artifex.com> | 2013-06-20 16:45:35 +0200 |
commit | 0a927854a10e1e6b9770a81e2e1d9f3093631757 (patch) | |
tree | 3d65d820d9fdba2d0d394d99c36290c851b78ca0 /winrt/mupdf_cpp | |
parent | 1ae8f19179c5f0f8c6352b3c7855465325d5449a (diff) | |
download | mupdf-0a927854a10e1e6b9770a81e2e1d9f3093631757.tar.xz |
Rearrange source files.
Diffstat (limited to 'winrt/mupdf_cpp')
26 files changed, 0 insertions, 4755 deletions
diff --git a/winrt/mupdf_cpp/App.xaml b/winrt/mupdf_cpp/App.xaml deleted file mode 100644 index dfb5d11c..00000000 --- a/winrt/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/winrt/mupdf_cpp/App.xaml.cpp b/winrt/mupdf_cpp/App.xaml.cpp deleted file mode 100644 index d0b9d8c7..00000000 --- a/winrt/mupdf_cpp/App.xaml.cpp +++ /dev/null @@ -1,125 +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 file activations. -void App::OnFileActivated(Windows::ApplicationModel::Activation::FileActivatedEventArgs^ args) -{ - auto rootFrame = ref new Frame(); - TypeName pageType = { "mupdf_cpp.MainPage", TypeKind::Custom }; - rootFrame->Navigate(pageType, args); - Window::Current->Content = rootFrame; - auto rootPage = safe_cast<MainPage^>(rootFrame->Content); - rootPage->FileEvent = args; - rootPage->ProtocolEvent = nullptr; - - 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/winrt/mupdf_cpp/App.xaml.h b/winrt/mupdf_cpp/App.xaml.h deleted file mode 100644 index b62c9979..00000000 --- a/winrt/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/winrt/mupdf_cpp/Assets/Logo.Scale-100.png b/winrt/mupdf_cpp/Assets/Logo.Scale-100.png Binary files differdeleted file mode 100644 index 821cb7d9..00000000 --- a/winrt/mupdf_cpp/Assets/Logo.Scale-100.png +++ /dev/null diff --git a/winrt/mupdf_cpp/Assets/Logo.Scale-140.png b/winrt/mupdf_cpp/Assets/Logo.Scale-140.png Binary files differdeleted file mode 100644 index 94eb9b67..00000000 --- a/winrt/mupdf_cpp/Assets/Logo.Scale-140.png +++ /dev/null diff --git a/winrt/mupdf_cpp/Assets/Logo.Scale-180.png b/winrt/mupdf_cpp/Assets/Logo.Scale-180.png Binary files differdeleted file mode 100644 index 44354901..00000000 --- a/winrt/mupdf_cpp/Assets/Logo.Scale-180.png +++ /dev/null diff --git a/winrt/mupdf_cpp/Assets/Logo.Scale-80.png b/winrt/mupdf_cpp/Assets/Logo.Scale-80.png Binary files differdeleted file mode 100644 index 165bda7a..00000000 --- a/winrt/mupdf_cpp/Assets/Logo.Scale-80.png +++ /dev/null diff --git a/winrt/mupdf_cpp/Assets/StoreLogo.scale-100.png b/winrt/mupdf_cpp/Assets/StoreLogo.scale-100.png Binary files differdeleted file mode 100644 index 5b5635e9..00000000 --- a/winrt/mupdf_cpp/Assets/StoreLogo.scale-100.png +++ /dev/null diff --git a/winrt/mupdf_cpp/Assets/StoreLogo.scale-140.png b/winrt/mupdf_cpp/Assets/StoreLogo.scale-140.png Binary files differdeleted file mode 100644 index 2813a863..00000000 --- a/winrt/mupdf_cpp/Assets/StoreLogo.scale-140.png +++ /dev/null diff --git a/winrt/mupdf_cpp/Assets/StoreLogo.scale-180.png b/winrt/mupdf_cpp/Assets/StoreLogo.scale-180.png Binary files differdeleted file mode 100644 index 1908837d..00000000 --- a/winrt/mupdf_cpp/Assets/StoreLogo.scale-180.png +++ /dev/null diff --git a/winrt/mupdf_cpp/Assets/mupdf_smallogo.png b/winrt/mupdf_cpp/Assets/mupdf_smallogo.png Binary files differdeleted file mode 100644 index 48746c87..00000000 --- a/winrt/mupdf_cpp/Assets/mupdf_smallogo.png +++ /dev/null diff --git a/winrt/mupdf_cpp/Assets/mupdf_splash.png b/winrt/mupdf_cpp/Assets/mupdf_splash.png Binary files differdeleted file mode 100644 index 624f9ae9..00000000 --- a/winrt/mupdf_cpp/Assets/mupdf_splash.png +++ /dev/null diff --git a/winrt/mupdf_cpp/Common/StandardStyles.xaml b/winrt/mupdf_cpp/Common/StandardStyles.xaml deleted file mode 100644 index 771d773c..00000000 --- a/winrt/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"></x:String> - <x:String x:Key="BackButtonSnappedGlyph"></x:String> - </ResourceDictionary> - - <ResourceDictionary x:Key="HighContrast"> - <x:String x:Key="BackButtonGlyph"></x:String> - <x:String x:Key="BackButtonSnappedGlyph"></x:String> - </ResourceDictionary> - </ResourceDictionary.ThemeDictionaries> - - <x:String x:Key="ChevronGlyph"></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="" FontFamily="Segoe UI Symbol" FontSize="53.333" Margin="-4,-19,0,0" Foreground="{StaticResource AppBarItemBackgroundThemeBrush}"/> - <TextBlock x:Name="OutlineGlyph" Text="" 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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </Style> - <Style x:Key="ReflowAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}"> - <Setter Property="AutomationProperties.AutomationId" Value="ReflowAppBarButton"/> - <Setter Property="AutomationProperties.Name" Value="Reflow"/> - <Setter Property="Content" Value=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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=""/> - </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="" Foreground="{StaticResource BackButtonBackgroundThemeBrush}"/> - <TextBlock x:Name="NormalGlyph" Text="{StaticResource BackButtonGlyph}" Foreground="{StaticResource BackButtonForegroundThemeBrush}"/> - <TextBlock x:Name="ArrowGlyph" Text="" 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="" Foreground="{StaticResource BackButtonBackgroundThemeBrush}"/> - <TextBlock x:Name="NormalGlyph" Text="{StaticResource BackButtonSnappedGlyph}" Foreground="{StaticResource BackButtonForegroundThemeBrush}"/> - <TextBlock x:Name="ArrowGlyph" Text="" 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/winrt/mupdf_cpp/DocumentPage.cpp b/winrt/mupdf_cpp/DocumentPage.cpp deleted file mode 100644 index 3ee99dcd..00000000 --- a/winrt/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->Zoom = 1.0; - this->Content = NOTSET; - _isPropertyChangedObserved = false; - } -} diff --git a/winrt/mupdf_cpp/DocumentPage.h b/winrt/mupdf_cpp/DocumentPage.h deleted file mode 100644 index 41c83bc3..00000000 --- a/winrt/mupdf_cpp/DocumentPage.h +++ /dev/null @@ -1,195 +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, - 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 zoom; - 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 double Zoom - { - double get() - { - return zoom; - } - - void set(double value) - { - if (value < 0) - { - throw ref new Platform::InvalidArgumentException(); - } - 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/winrt/mupdf_cpp/MainPage.xaml b/winrt/mupdf_cpp/MainPage.xaml deleted file mode 100644 index 22fbe5da..00000000 --- a/winrt/mupdf_cpp/MainPage.xaml +++ /dev/null @@ -1,276 +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" ValueChanged="Slider_ValueChanged" 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" Visibility="Collapsed"/> - <Button x:Name="PrevSearch" Style="{StaticResource PreviousAppBarButtonStyle}" Visibility="Collapsed" Click="SearchPrev"/> - <Button x:Name="NextSearch" Style="{StaticResource NextAppBarButtonStyle}" Visibility="Collapsed" 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"> - <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"> - <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"> - <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 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 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> - </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> - <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_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/winrt/mupdf_cpp/MainPage.xaml.cpp b/winrt/mupdf_cpp/MainPage.xaml.cpp deleted file mode 100644 index d31c2b94..00000000 --- a/winrt/mupdf_cpp/MainPage.xaml.cpp +++ /dev/null @@ -1,1479 +0,0 @@ -// -// MainPage.xaml.cpp -// Implementation of the MainPage class. -// - -#include "pch.h" -#include "MainPage.xaml.h" - -#define LOOK_AHEAD 0 /* A +/- count on the pages to pre-render */ -#define THUMB_PREADD 10 -#define MIN_SCALE 0.5 - -#define SCALE_THUMB 0.1 - -#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 - -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; - -//****************** 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 */ - -mupdf_cpp::MainPage::MainPage() -{ - InitializeComponent(); - Application::Current->Suspending += - ref new SuspendingEventHandler(this, &MainPage::App_Suspending); - 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>(); - CleanUp(); - RecordMainThread(); - /* So that we can catch special loading events (e.g. open with) */ - _pageLoadedHandlerToken = Loaded += ref new RoutedEventHandler(this, &MainPage::Page_Loaded); -} - -/* Used during launch of application from file */ -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); - } - } -} - -/// <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 mupdf_cpp::MainPage::App_Suspending(Object^ sender, SuspendingEventArgs^ e) -{ - -} - -void mupdf_cpp::MainPage::ExitInvokedHandler(Windows::UI::Popups::IUICommand^ command) -{ - -} - -void mupdf_cpp::MainPage::OKInvokedHandler(Windows::UI::Popups::IUICommand^ command) -{ - -} - -void mupdf_cpp::MainPage::NotifyUser(String^ strMessage, NotifyType_t 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, &mupdf_cpp::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, &mupdf_cpp::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(); -} - -bool mupdf_cpp::MainPage::EnsureUnsnapped() -{ - // FilePicker APIs will not work if the application is in a snapped state. - // If an app wants to show a FilePicker while snapped, it must attempt to unsnap first - - bool unsnapped = (ApplicationView::Value != ApplicationViewState::Snapped || - ApplicationView::TryUnsnap()); - if (!unsnapped) - { - NotifyUser("Cannot unsnap the application", StatusMessage); - } - return unsnapped; -} - -void mupdf_cpp::MainPage::Picker(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) -{ - if (!EnsureUnsnapped()) - 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) -{ - assert(IsMainThread()); - - WriteableBitmap ^bmp = ref new WriteableBitmap(ras_size.X, ras_size.Y); - bmp->SetSource(ras); - - DocumentPage^ doc_page = ref new DocumentPage(); - doc_page->Image = bmp; - - if (content_type == THUMBNAIL) - { - doc_page->Height = ras_size.Y / SCALE_THUMB; - doc_page->Width = ras_size.X / SCALE_THUMB; - } - else - { - doc_page->Height = ras_size.Y; - doc_page->Width = ras_size.X; - } - doc_page->Content = content_type; - - /* 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) -{ - assert(IsMainThread()); - - WriteableBitmap ^bmp = ref new WriteableBitmap(ras_size.X, ras_size.Y); - bmp->SetSource(ras); - - DocumentPage^ doc_page = this->m_docPages->GetAt(page_num); - doc_page->Image = bmp; - - doc_page->Height = ras_size.Y; - doc_page->Width = ras_size.X; -} - -Point MainPage::ComputePageSize(spatial_info_t spatial_info, int page_num) -{ - Point screenSize; - Point pageSize; - Point size = mu_doc->GetPageSize(page_num); - - 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); - pageSize.X = size.X * scale * spatial_info.scale_factor; - pageSize.Y = size.Y * scale * spatial_info.scale_factor; - - return pageSize; -} - -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 = this->ActualHeight; - value.size.X = 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, true); - } - } - } -} - -/* 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(int page_num, bool replace) -{ - /* See what is there now */ - auto doc = this->m_docPages->GetAt(page_num); - if (doc->Content == THUMBNAIL) return; - if (doc->Content == FULL_RESOLUTION && replace == false) return; - - if (this->m_thumbnails->Size > page_num) - { - m_page_update = true; - this->m_docPages->SetAt(page_num, this->m_thumbnails->GetAt(page_num)); - m_page_update = false; - } -} - -/* 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); - /* Set up the memory stream */ - WriteableBitmap ^bmp = ref new WriteableBitmap(width, height); - InMemoryRandomAccessStream ^ras = ref new InMemoryRandomAccessStream(); - DataWriter ^dw = ref new DataWriter(ras->GetOutputStreamAt(0)); - /* 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 != AsyncStatus::Completed) { - } - /* And store in a the image brush */ - bmp->SetSource(ras); - m_BlankBmp = bmp; -} - -void mupdf_cpp::MainPage::SetFlipView() -{ - int height = this->ActualHeight; - int width = 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 mupdf_cpp::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(); - 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; - - this->xaml_PageSlider->Minimum = m_slider_min; - this->xaml_PageSlider->Maximum = m_slider_max; - this->xaml_PageSlider->IsEnabled = false; -} - -/* Create the thumbnail images */ -void mupdf_cpp::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; - Vector<DocumentPage^>^ thumbnails = m_thumbnails; - auto task_thumb = create_task([spatial_info, num_pages, thumbnails, this, ui, token]()-> int - { - spatial_info_t spatial_info_local = spatial_info; - spatial_info_local.scale_factor = SCALE_THUMB; - - for (int k = 0; k < num_pages; k++) - { - Point ras_size = ComputePageSize(spatial_info_local, k); - auto task2 = create_task(mu_doc->RenderPageAsync(k, ras_size.X, ras_size.Y, false)); - - task2.then([this, k, thumbnails, ras_size](InMemoryRandomAccessStream^ ras) - { - assert(IsMainThread()); - WriteableBitmap ^bmp = ref new WriteableBitmap(ras_size.X, ras_size.Y); - bmp->SetSource(ras); - DocumentPage^ doc_page = ref new DocumentPage(); - doc_page->Image = bmp; - doc_page->Height = ras_size.Y / SCALE_THUMB; - doc_page->Width = ras_size.X / SCALE_THUMB; - doc_page->Content = THUMBNAIL; - doc_page->TextBox = nullptr; - doc_page->LinkBox = nullptr; - if (m_init_done) - { - m_thumbnails->SetAt(k, doc_page); /* This avoids out of order returns from task */ - if (k < THUMB_PREADD) /* Flip view gets overwhelmed if I don't do this */ - SetThumb(k, false); - } - }, ui).then([this] (task<void> t) - { - try - { - t.get(); - } - catch(Platform::InvalidArgumentException^ e) - { - //TODO handle error. - } - }, token); //end task chain */ - - /* If cancelled then save the last one as the continuation will not - have occured. */ - if (is_task_cancellation_requested()) - { - cancel_current_task(); - } - } - return num_pages; /* all done with thumbnails! */ - }, token).then([this](task<int> the_task) - { - /* Finish adding them, but not if we were cancelled. */ - bool is_cancelled = false; - try - { - the_task.get(); - } - catch (const task_canceled& e) - { - (void) e; // Unused parameter - is_cancelled = true; - } - if (!is_cancelled) - { - for (int k = THUMB_PREADD; k < m_num_pages; k++) - SetThumb(k, false); - } - this->m_ren_status = REN_AVAILABLE; - }, task_continuation_context::use_current()); - -} - -void mupdf_cpp::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 mupdf_cpp::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 mupdf_cpp::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(); - doc_page->Image = m_BlankBmp; - doc_page->Height = BLANK_HEIGHT; - doc_page->Width = 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 */ - Vector<RectList^>^ temp_link = ref new Vector<RectList^>(); - 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 = ComputePageSize(spatial_info, k); - - auto render_task = - create_task(mu_doc->RenderPageAsync(k, ras_size.X, ras_size.Y, true)); - - render_task.then([this, k, ras_size] (InMemoryRandomAccessStream^ ras) - { - UpdatePage(k, ras, ras_size, FULL_RESOLUTION); - }, 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 mupdf_cpp::MainPage::RenderRange(int curr_page) -{ - /* Render +/- the look ahead from where we are if blank page is present */ - spatial_info_t spatial_info = InitSpatial(1); - 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) - { - Point ras_size = ComputePageSize(spatial_info, k); - auto render_task = - create_task(mu_doc->RenderPageAsync(k, ras_size.X, ras_size.Y, true)); - - render_task.then([this, k, ras_size] (InMemoryRandomAccessStream^ ras) - { - UpdatePage(k, ras, ras_size, FULL_RESOLUTION); - }, 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; - } - },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; - } - } - } - 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 mupdf_cpp::MainPage::Slider_ValueChanged(Platform::Object^ sender, Windows::UI::Xaml::Controls::Primitives::RangeBaseValueChangedEventArgs^ e) -{ - int newValue = (int) this->xaml_PageSlider->Value - 1; /* zero based */ - - if (IsNotStandardView()) - return; - - if (m_update_flip) - { - m_update_flip = false; - return; - } - 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) - { - spatial_info_t spatial_info = InitSpatial(1); - Point ras_size = ComputePageSize(spatial_info, newValue); - auto render_task = - create_task(mu_doc->RenderPageAsync(newValue, ras_size.X, ras_size.Y, true)); - - render_task.then([this, newValue, ras_size] (InMemoryRandomAccessStream^ ras) - { - UpdatePage(newValue, ras, ras_size, FULL_RESOLUTION); - this->m_currpage = newValue; - m_sliderchange = true; - this->m_curr_flipView->SelectedIndex = newValue; - }, task_continuation_context::use_current()); - } - else - { - this->m_curr_flipView->SelectedIndex = newValue; - } - } -} - -void mupdf_cpp::MainPage::FlipView_SelectionChanged(Object^ sender, SelectionChangedEventArgs^ e) -{ - if (m_init_done && !m_page_update) - { - int pos = this->m_curr_flipView->SelectedIndex; - - if (pos >= 0) - { - m_update_flip = true; - if (xaml_PageSlider->IsEnabled) - { - xaml_PageSlider->Value = pos; - } - 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->RenderRange(pos); - this->ReleasePages(curr_page, pos); - } - } -} - -/* Search Related Code */ -void mupdf_cpp::MainPage::Searcher(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) -{ - ShowSearchBox(); - UpdateAppBarButtonViewState(); -} - -void mupdf_cpp::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 snapped view for now to simplify UI - in this cramped case. So see if we can get out of snapped mode. */ - if (!EnsureUnsnapped()) - 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 mupdf_cpp::MainPage::ClearTextSearch() -{ - /* Clear out any old search result */ - if (m_text_list->Size > 0) - m_text_list->Clear(); -} - -void mupdf_cpp::MainPage::ShowSearchResults(int page_num, 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 = this->ActualHeight; - screenSize.X = this->ActualWidth; - screenSize.X *= screenScale; - screenSize.Y *= screenScale; - pageSize = mu_doc->GetPageSize(m_currpage); - scale = fitPageToScreen(pageSize, screenSize); - auto doc_page = this->m_docPages->GetAt(old_page); - - /* Construct our list of rectangles */ - for (int k = 0; k < box_count; k++) - { - RectList^ rect_item = ref new RectList(); - auto curr_box = mu_doc->GetTextSearch(k); - - rect_item->Color = m_textcolor; - rect_item->Height = curr_box->LowerRight.Y - curr_box->UpperLeft.Y; - 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->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 mupdf_cpp::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 mupdf_cpp::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 mupdf_cpp::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 mupdf_cpp::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 mupdf_cpp::MainPage::SearchProgress(IAsyncOperationWithProgress<int, double>^ operation, double status) -{ - xaml_Progress->Value = status; -} - -void mupdf_cpp::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); - 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, box_count); - } - } - }, task_continuation_context::use_current()); -} - -/* This is here to handle when we rotate or go into the snapview mode */ -void mupdf_cpp::MainPage::GridSizeChanged() -{ - int height = this->ActualHeight; - int width = 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) - { - int height = xaml_OutsideGrid->ActualHeight; - int height_app = TopAppBar1->ActualHeight; - - xaml_WebView->Height = height - height_app; - } - - UpDatePageSizes(); - - 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 */ - this->m_curr_flipView->SelectedIndex = this->m_currpage; - FlipView_SelectionChanged(nullptr, nullptr); - } -} - -void mupdf_cpp::MainPage::UpDatePageSizes() -{ - /* Reset the thumb view scaling value */ - if (m_num_pages > 0) - { - int num_items = m_thumbnails->Size; - for (int i = 0; i < num_items; i++) - { - DocumentPage ^thumb_page = m_thumbnails->GetAt(i); - if (thumb_page != nullptr && thumb_page->Image != nullptr) - { - int curr_height = thumb_page->Height; - int curr_width = thumb_page->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 / min_scale; - thumb_page->Width = curr_width / min_scale; - } - } - } -}; - -/* Link related code */ -void mupdf_cpp::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 mupdf_cpp::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 mupdf_cpp::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 mupdf_cpp::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); - int num_links = mu_doc->ComputeLinks(m_currpage); - if (num_links == 0) return; - - Point screenSize; - Point pageSize; - Point scale; - - screenSize.Y = this->ActualHeight; - screenSize.X = this->ActualWidth; - screenSize.X *= screenScale; - screenSize.Y *= screenScale; - pageSize = mu_doc->GetPageSize(m_currpage); - scale = fitPageToScreen(pageSize, screenSize); - - /* Create a new RectList collection */ - auto link_list = ref new Platform::Collections::Vector<RectList^>(); - - /* Now add the rects */ - for (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(); - rect_item->Color = m_linkcolor; - rect_item->Height = curr_link->LowerRight.Y - curr_link->UpperLeft.Y; - 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->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 mupdf_cpp::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 = _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 mupdf_cpp::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) - { - int size_content = mu_doc->ComputeContents(); - /* Bring up the content now */ - for (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 mupdf_cpp::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 mupdf_cpp::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; - xaml_WebView->Visibility = Windows::UI::Xaml::Visibility::Collapsed; - xaml_WebView->Opacity = 0.0; - - } - 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 - 2 * this->BottomAppBar->ActualHeight; - /* Check if thumb rendering is done. If not then restart */ - } -} - -/* Need to handle resizing of app bar to make sure everything fits */ -void mupdf_cpp::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 */ - if (ApplicationView::Value == ApplicationViewState::Snapped && m_insearch) - ShowSearchBox(); - UpdateAppBarButtonViewState(); -} - -void mupdf_cpp::MainPage::UpdateAppBarButtonViewState() -{ - String ^viewState = Windows::UI::ViewManagement::ApplicationView::Value.ToString(); - 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); -} - -/* Manipulation zooming with touch input */ -void mupdf_cpp::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); - - if (scrollviewer->ZoomFactor == doc_page->Zoom) - return; - - if (!e->IsIntermediate) - { - doc_page->Zoom = scrollviewer->ZoomFactor; - int page = m_currpage; - - /* Render at new resolution */ - spatial_info_t spatial_info = InitSpatial(doc_page->Zoom); - Point ras_size = ComputePageSize(spatial_info, page); - - /* 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] (InMemoryRandomAccessStream^ ras) - { - ReplaceImage(page, ras, ras_size); - }, 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 mupdf_cpp::MainPage::ZoomInPress(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) -{ - if (!m_init_done || IsNotStandardView()) return; - NonTouchZoom(ZOOM_IN); -} - -void mupdf_cpp::MainPage::ZoomOutPress(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) -{ - if (!m_init_done || IsNotStandardView()) return; - NonTouchZoom(ZOOM_OUT); -} - -void MainPage::NonTouchZoom(int zoom) -{ - 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; - - double curr_zoom = scrollviewer->ZoomFactor; - 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; - - scrollviewer->ZoomToFactor(curr_zoom); -} - -/* 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 mupdf_cpp::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 mupdf_cpp::MainPage::IsNotStandardView() -{ - return (this->xaml_ListView->Opacity == 1.0 || - xaml_WebView->Visibility == Windows::UI::Xaml::Visibility::Visible); -} diff --git a/winrt/mupdf_cpp/MainPage.xaml.h b/winrt/mupdf_cpp/MainPage.xaml.h deleted file mode 100644 index 80978bc8..00000000 --- a/winrt/mupdf_cpp/MainPage.xaml.h +++ /dev/null @@ -1,177 +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" - -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 mupdfwinrt; - -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 struct spatial_info_s -{ - Point size; - double scale_factor; -} spatial_info_t; - -namespace mupdf_cpp -{ - /// <summary> - /// An empty page that can be used on its own or navigated to within a Frame. - /// </summary> - public ref class MainPage sealed - { - 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; } - } - - protected: - virtual void OnNavigatedTo(Windows::UI::Xaml::Navigation::NavigationEventArgs^ e) override; - virtual void OnKeyDown(Windows::UI::Xaml::Input::KeyRoutedEventArgs^ e) override; - - 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; - int m_rectlist_page; - mudocument^ mu_doc; - 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; - bool m_update_flip; - double m_Progress; - - void ReplaceImage(int page_num, InMemoryRandomAccessStream^ ras, Point ras_size); - 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); - void CreateBlank(int width, int height); - void HandleFileNotFoundException(Platform::COMException^ e); - void NotifyUserFileNotExist(); - void SetFlipView(); - void Slider_ValueChanged(Platform::Object^ sender, Windows::UI::Xaml::Controls::Primitives::RangeBaseValueChangedEventArgs^ e); - void Slider_Released(Platform::Object^ sender, Windows::UI::Xaml::Controls::Primitives::RangeBaseValueChangedEventArgs^ e); - 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, int box_count); - void ClearTextSearch(); - void AddTextCanvas(); - void GridSizeChanged(); - void UpDatePageSizes(); - 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(int page_num, bool replace); - 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(); - bool EnsureUnsnapped(); - void NotifyUser(String^ strMessage, NotifyType_t type); - void ExitInvokedHandler(Windows::UI::Popups::IUICommand^ command); - void OKInvokedHandler(Windows::UI::Popups::IUICommand^ command); - Point ComputePageSize(spatial_info_t spatial_info, int page_num); - 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 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; - }; -} diff --git a/winrt/mupdf_cpp/Package.appxmanifest b/winrt/mupdf_cpp/Package.appxmanifest deleted file mode 100644 index 862154f8..00000000 --- a/winrt/mupdf_cpp/Package.appxmanifest +++ /dev/null @@ -1,37 +0,0 @@ -<?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.0" /> - <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> - </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"> - <EditFlags OpenIsSafe="true" /> - <SupportedFileTypes> - <FileType>.pdf</FileType> - <FileType>.xps</FileType> - <FileType>.cbz</FileType> - <FileType>.oxps</FileType> - </SupportedFileTypes> - </FileTypeAssociation> - </Extension> - </Extensions> - </Application> - </Applications> -</Package>
\ No newline at end of file diff --git a/winrt/mupdf_cpp/RectList.cpp b/winrt/mupdf_cpp/RectList.cpp deleted file mode 100644 index b9c1560d..00000000 --- a/winrt/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/winrt/mupdf_cpp/RectList.h b/winrt/mupdf_cpp/RectList.h deleted file mode 100644 index 999fe3d2..00000000 --- a/winrt/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/winrt/mupdf_cpp/mupdf_cpp.rc b/winrt/mupdf_cpp/mupdf_cpp.rc Binary files differdeleted file mode 100644 index 0d7c7a75..00000000 --- a/winrt/mupdf_cpp/mupdf_cpp.rc +++ /dev/null diff --git a/winrt/mupdf_cpp/mupdf_cpp.vcxproj b/winrt/mupdf_cpp/mupdf_cpp.vcxproj deleted file mode 100644 index b5da02da..00000000 --- a/winrt/mupdf_cpp/mupdf_cpp.vcxproj +++ /dev/null @@ -1,269 +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="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>11.0</MinimumVisualStudioVersion> - <AppContainerApplication>true</AppContainerApplication> - </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> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v110</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v110</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <WholeProgramOptimization>true</WholeProgramOptimization> - <PlatformToolset>v110</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <WholeProgramOptimization>true</WholeProgramOptimization> - <PlatformToolset>v110</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <WholeProgramOptimization>true</WholeProgramOptimization> - <PlatformToolset>v110</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> - <PackageCertificateKeyFile>mupdf_cpp_StoreKey.pfx</PackageCertificateKeyFile> - <PackageCertificateThumbprint>CD9F039F746ECFA4533010958399D3B0FFB6B3B5</PackageCertificateThumbprint> - <AppxAutoIncrementPackageRevision>True</AppxAutoIncrementPackageRevision> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'"> - <OutDir>$(SolutionDir)$(Configuration)\$(MSBuildProjectName)\</OutDir> - <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir> - <OutDir>$(SolutionDir)$(Configuration)\$(MSBuildProjectName)\</OutDir> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'"> - <OutDir>$(SolutionDir)$(Configuration)\$(MSBuildProjectName)\</OutDir> - <IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <OutDir>$(SolutionDir)$(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>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> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'"> - <ClCompile> - <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions> - <DisableSpecificWarnings>4453</DisableSpecificWarnings> - <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> - <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>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> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions> - <DisableSpecificWarnings>4453</DisableSpecificWarnings> - <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> - <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>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> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <ClCompile> - <AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions> - <DisableSpecificWarnings>4453</DisableSpecificWarnings> - <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> - <SectionAlignment> - </SectionAlignment> - <AdditionalOptions>/APPCONTAINER %(AdditionalOptions)</AdditionalOptions> - </Link> - </ItemDefinitionGroup> - <ItemGroup> - <ClInclude Include="..\mupdfwinrt\status.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="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> - <ProjectReference Include="..\mupdfwinrt\mupdfwinrt.vcxproj"> - <Project>{9e6ab41d-09a7-45a6-a53b-1e4bf3ac5b33}</Project> - </ProjectReference> - </ItemGroup> - <ItemGroup> - <None Include="Package.StoreAssociation.xml" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - </ImportGroup> -</Project>
\ No newline at end of file diff --git a/winrt/mupdf_cpp/mupdf_cpp.vcxproj.filters b/winrt/mupdf_cpp/mupdf_cpp.vcxproj.filters deleted file mode 100644 index c1791b26..00000000 --- a/winrt/mupdf_cpp/mupdf_cpp.vcxproj.filters +++ /dev/null @@ -1,72 +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" /> - </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" /> - </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/winrt/mupdf_cpp/pch.cpp b/winrt/mupdf_cpp/pch.cpp deleted file mode 100644 index 01484ff5..00000000 --- a/winrt/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/winrt/mupdf_cpp/pch.h b/winrt/mupdf_cpp/pch.h deleted file mode 100644 index fadf910d..00000000 --- a/winrt/mupdf_cpp/pch.h +++ /dev/null @@ -1,9 +0,0 @@ -// -// pch.h -// Header for standard system include files. -// - -#pragma once - -#include <collection.h> -#include "App.xaml.h" |