summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vrhel <michael.vrhel@artifex.com>2013-03-08 12:48:46 -0800
committerRobin Watts <robin.watts@artifex.com>2013-05-16 19:25:26 +0100
commitf39201f4aaa37cceaa86b2d86743f2f6df436eac (patch)
treef14979b73d2d8d0e290d4242076e472c753db29c
parentaa53d64e4249dec39c333c371e66beec797e7ee7 (diff)
downloadmupdf-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.xaml55
-rw-r--r--winRT/winapp/MainPage.xaml.cpp90
-rw-r--r--winRT/winapp/MainPage.xaml.h1
-rw-r--r--winRT/winapp/Package.appxmanifest8
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>