diff options
author | Michael Vrhel <michael.vrhel@artifex.com> | 2013-03-08 12:48:46 -0800 |
---|---|---|
committer | Robin Watts <robin.watts@artifex.com> | 2013-05-16 19:25:26 +0100 |
commit | f39201f4aaa37cceaa86b2d86743f2f6df436eac (patch) | |
tree | f14979b73d2d8d0e290d4242076e472c753db29c | |
parent | aa53d64e4249dec39c333c371e66beec797e7ee7 (diff) | |
download | mupdf-f39201f4aaa37cceaa86b2d86743f2f6df436eac.tar.xz |
More clean up and also some work on getting things working for different orientation and scaling
-rw-r--r-- | winRT/winapp/MainPage.xaml | 55 | ||||
-rw-r--r-- | winRT/winapp/MainPage.xaml.cpp | 90 | ||||
-rw-r--r-- | winRT/winapp/MainPage.xaml.h | 1 | ||||
-rw-r--r-- | winRT/winapp/Package.appxmanifest | 8 |
4 files changed, 79 insertions, 75 deletions
diff --git a/winRT/winapp/MainPage.xaml b/winRT/winapp/MainPage.xaml index 27dbc087..c56501e6 100644 --- a/winRT/winapp/MainPage.xaml +++ b/winRT/winapp/MainPage.xaml @@ -6,44 +6,15 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"> - <Page.Resources> - <Style x:Key="ButtonStyle1" TargetType="Button"> - <Setter Property="Template"> - <Setter.Value> - <ControlTemplate TargetType="Button"> - <Grid> - <VisualStateManager.VisualStateGroups> - <VisualStateGroup x:Name="CommonStates"> - <VisualState x:Name="Pressed"/> - <VisualState x:Name="Disabled"/> - <VisualState x:Name="PointerOver"/> - </VisualStateGroup> - <VisualStateGroup x:Name="FocusStates"> - <VisualState x:Name="Focused"/> - <VisualState x:Name="PointerFocused"/> - </VisualStateGroup> - </VisualStateManager.VisualStateGroups> - <Image Source="Assets/mupdf_splash.png" Stretch="Fill"/> - <ContentPresenter x:Name="Mupdf_button" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/> - </Grid> - </ControlTemplate> - </Setter.Value> - </Setter> - </Style> - </Page.Resources> <Page.BottomAppBar> <AppBar> - <Grid Background="{StaticResource AppBarBackgroundThemeBrush}" HorizontalAlignment="Left" Width="1346"> - <Grid.RowDefinitions> - <RowDefinition Height="Auto"/> - <RowDefinition Height="Auto"/> - </Grid.RowDefinitions> - <StackPanel x:Name="LeftBottomPanel" Orientation="Horizontal" HorizontalAlignment="Left"> - <Slider x:Name="xaml_PageSlider" Minimum="0" Maximum="10" ValueChanged="Slider_ValueChanged" HorizontalAlignment="Left" Width="1122" Margin="10,12,0,12" /> - </StackPanel> - <StackPanel x:Name="RightBottomPanel" Orientation="Horizontal" HorizontalAlignment="Right"> - <Button x:Name="Find_File" Style="{StaticResource OpenFileAppBarButtonStyle}" Tag="OpenFile" Click="Picker"/> - </StackPanel> + <Grid> + <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> @@ -85,8 +56,18 @@ </Grid.Background> <ProgressBar x:Name="xaml_Progress" IsIndeterminate="False" Maximum="100" Value="0" Height="10" Width="400" IsEnabled="False" Opacity="0"/> + + <Grid x:Name="xaml_MainGrid" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" SizeChanged="GridSizeChanged"> + <Canvas x:Name="xaml_zoomCanvas" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" DoubleTapped="Canvas_Double" + ManipulationDelta="Canvas_ManipulationDelta" ManipulationStarted="Canvas_ManipulationStarted" + ManipulationStarting="Canvas_ManipulationStarting" ManipulationMode="All"> + + <Rectangle Canvas.Left="30" Canvas.Top="30" + Fill="Red" Width="200" Height="200" /> + - <Grid x:Name="xaml_MainGrid" Margin="-106,10,106,-10" HorizontalAlignment="Center" VerticalAlignment="Top"> + </Canvas> </Grid> </Grid> + <!-- Resources to allow me to switch between vertical and horizontal scrolling --> </Page> diff --git a/winRT/winapp/MainPage.xaml.cpp b/winRT/winapp/MainPage.xaml.cpp index e36f0871..4e39f3b9 100644 --- a/winRT/winapp/MainPage.xaml.cpp +++ b/winRT/winapp/MainPage.xaml.cpp @@ -26,6 +26,7 @@ using namespace Windows::UI::Xaml::Data; using namespace Windows::UI::Xaml::Media; using namespace Windows::UI::Xaml::Navigation; using namespace Windows::UI::Xaml::Shapes; +using namespace Windows::Graphics::Display; //****************** Added ***************** using namespace Windows::Storage::Pickers; @@ -54,6 +55,7 @@ MainPage::MainPage() // Create the image brush m_renderedImage = ref new ImageBrush(); m_ZoomCanvas = nullptr; + m_doc = NULL; CleanUp(); // use at most 128M for resource cache @@ -369,29 +371,10 @@ void winapp::MainPage::SetupZoomCanvas() int height = this->ActualHeight; int width = this->ActualWidth; - m_ZoomCanvas = ref new Canvas(); - - m_ZoomCanvas->Height = height; - m_ZoomCanvas->Width = width; - - m_ZoomCanvas->VerticalAlignment = Windows::UI::Xaml::VerticalAlignment::Center; - m_ZoomCanvas->HorizontalAlignment = Windows::UI::Xaml::HorizontalAlignment::Center; - m_ZoomCanvas->ManipulationMode = Windows::UI::Xaml::Input::ManipulationModes::All; - m_ZoomCanvas->ManipulationDelta += - ref new ManipulationDeltaEventHandler(this, &MainPage::Canvas_ManipulationDelta); - m_ZoomCanvas->ManipulationStarted += - ref new ManipulationStartedEventHandler(this, &MainPage::Canvas_ManipulationStarted); - m_ZoomCanvas->ManipulationStarting += - ref new ManipulationStartingEventHandler(this, &MainPage::Canvas_ManipulationStarting); - m_ZoomCanvas->DoubleTapped += - ref new DoubleTappedEventHandler(this, &MainPage::Canvas_Double); - m_ZoomCanvas->Name = "zoomCanvas"; - CreateBlank(width, height); - m_ZoomCanvas->Background = this->m_blankPage; - m_ZoomCanvas->Children->Append(m_flipView); - xaml_MainGrid->Children->Append(m_ZoomCanvas); - m_ZoomCanvas->Background->Opacity = 0; + xaml_zoomCanvas->Background = this->m_blankPage; + this->xaml_zoomCanvas->Children->Append(m_flipView); + xaml_zoomCanvas->Background->Opacity = 0; } /* Clean up everything as we are opening a new document after having another @@ -399,11 +382,18 @@ void winapp::MainPage::SetupZoomCanvas() void winapp::MainPage::CleanUp() { - /* Blow away the flip view object and the canvas */ - if (m_ZoomCanvas != nullptr) - m_ZoomCanvas->Children->Clear(); + FlipView^ old_flip = (FlipView^) xaml_zoomCanvas->FindName("flipView"); + if (old_flip != nullptr) + { + unsigned int index; + if (xaml_zoomCanvas->Children->IndexOf(old_flip, &index)) + xaml_zoomCanvas->Children->RemoveAt(index); + } + /* Clean up mupdf */ + if (this->m_doc != NULL) + fz_close_document(m_doc); - xaml_MainGrid->Children->Clear(); + // xaml_MainGrid->Children->Clear(); m_currpage = 0; m_file_open = false; m_doc = NULL; @@ -613,9 +603,9 @@ void winapp::MainPage::Canvas_ManipulationDelta(Object^ sender, ManipulationDelt if (m_curr_zoom < MIN_SCALE) m_curr_zoom = MIN_SCALE; if (m_curr_zoom > MAX_SCALE) m_curr_zoom = MAX_SCALE; this->RenderPage(m_doc, page, &width, &height, m_curr_zoom); - this->m_ZoomCanvas->Background = this->m_renderedImage; - this->m_ZoomCanvas->Width = width; - this->m_ZoomCanvas->Height = height; + this->xaml_zoomCanvas->Background = this->m_renderedImage; + this->xaml_zoomCanvas->Width = width; + this->xaml_zoomCanvas->Height = height; m_zoom_size.X = width; m_zoom_size.Y = height; m_first_time = false; @@ -645,7 +635,7 @@ void winapp::MainPage::Canvas_ManipulationDelta(Object^ sender, ManipulationDelt trans_transform->X = m_canvas_translate.X; trans_transform->Y = m_canvas_translate.Y; - this->m_ZoomCanvas->RenderTransform = trans_transform; + this->xaml_zoomCanvas->RenderTransform = trans_transform; } void winapp::MainPage::FlipView_Double(Object^ sender, DoubleTappedRoutedEventArgs^ e) @@ -657,8 +647,8 @@ void winapp::MainPage::FlipView_Double(Object^ sender, DoubleTappedRoutedEventAr FlipViewItem ^flipview_temp = (FlipViewItem^) m_flipView->Items->GetAt(pos); Canvas^ Curr_Canvas = (Canvas^) (flipview_temp->Content); m_flipView->IsEnabled = false; - this->m_ZoomCanvas->Background = Curr_Canvas->Background; - this->m_ZoomCanvas->Background->Opacity = 1; + this->xaml_zoomCanvas->Background = Curr_Canvas->Background; + this->xaml_zoomCanvas->Background->Opacity = 1; this->m_flipView->Opacity = 0.0; m_zoom_handled = true; m_first_time = true; @@ -677,23 +667,23 @@ void winapp::MainPage::Canvas_Double(Object^ sender, DoubleTappedRoutedEventArgs FlipViewItem ^flipview_temp = (FlipViewItem^) m_flipView->Items->GetAt(pos); Canvas^ Curr_Canvas = (Canvas^) (flipview_temp->Content); - if (this->m_ZoomCanvas->Background != Curr_Canvas->Background) - this->m_ZoomCanvas->Background->Opacity = 0; + if (this->xaml_zoomCanvas->Background != Curr_Canvas->Background) + this->xaml_zoomCanvas->Background->Opacity = 0; else - this->m_ZoomCanvas->Background = nullptr; + this->xaml_zoomCanvas->Background = nullptr; this->m_flipView->Opacity = 1; m_flipView->IsEnabled = true; m_first_time = true; } m_zoom_handled = false; m_curr_zoom = 1.0; - this->m_ZoomCanvas->Height = this->ActualHeight; - this->m_ZoomCanvas->Width = this->ActualWidth; + this->xaml_zoomCanvas->Height = this->ActualHeight; + this->xaml_zoomCanvas->Width = this->ActualWidth; trans_transform->X = 0; trans_transform->Y = 0; m_canvas_translate.X = 0; m_canvas_translate.Y = 0; - this->m_ZoomCanvas->RenderTransform = trans_transform; + this->xaml_zoomCanvas->RenderTransform = trans_transform; } /* Search Related Code */ @@ -915,3 +905,27 @@ void winapp::MainPage::SearchInDirection(int dir, String^ textToFind) } }, ui); } + +/* This is here to handle when we rotate or go into the snapview mode */ +void winapp::MainPage::GridSizeChanged() +{ + if (DisplayProperties::CurrentOrientation == DisplayOrientations::Portrait || + DisplayProperties::CurrentOrientation == DisplayOrientations::PortraitFlipped) + { + + int t; + + t = 1; + + } + else + { + + int s; + + s = 1; + + } + +} + diff --git a/winRT/winapp/MainPage.xaml.h b/winRT/winapp/MainPage.xaml.h index c45ca650..169b0a76 100644 --- a/winRT/winapp/MainPage.xaml.h +++ b/winRT/winapp/MainPage.xaml.h @@ -107,5 +107,6 @@ namespace winapp void CancelSearch(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); void SearchInDirection(int dir, String^ textToFind); void ShowSearchResults(SearchResult_t result); + void GridSizeChanged(); }; } diff --git a/winRT/winapp/Package.appxmanifest b/winRT/winapp/Package.appxmanifest index 36a26c27..b890a743 100644 --- a/winRT/winapp/Package.appxmanifest +++ b/winRT/winapp/Package.appxmanifest @@ -18,6 +18,12 @@ <VisualElements DisplayName="winapp" Logo="Assets\mupdf_logo.png" SmallLogo="Assets\mupdf_smallogo.png" Description="winapp" ForegroundText="light" BackgroundColor="#464646"> <DefaultTile ShowName="allLogos" /> <SplashScreen Image="Assets\mupdf_splash.png" /> + <InitialRotationPreference> + <Rotation Preference="portrait" /> + <Rotation Preference="landscape" /> + <Rotation Preference="portraitFlipped" /> + <Rotation Preference="landscapeFlipped" /> + </InitialRotationPreference> </VisualElements> <Extensions> <Extension Category="windows.fileOpenPicker"> @@ -33,6 +39,8 @@ <FileTypeAssociation Name=".pdf"> <SupportedFileTypes> <FileType>.pdf</FileType> + <FileType>.xps</FileType> + <FileType>.oxps</FileType> </SupportedFileTypes> </FileTypeAssociation> </Extension> |