diff options
author | Michael Vrhel <michael.vrhel@artifex.com> | 2013-05-06 13:41:42 -0700 |
---|---|---|
committer | Robin Watts <robin.watts@artifex.com> | 2013-05-16 19:25:46 +0100 |
commit | 7a9a18d03019ee21bd9c3362523d5599e03dd919 (patch) | |
tree | fbbf7ceb887cff58e9303f1bd5d9b43c348cc959 /winrt/mupdf_cpp | |
parent | 7b861bf1835bc247bcc2016e72899f5672d0fa61 (diff) | |
download | mupdf-7a9a18d03019ee21bd9c3362523d5599e03dd919.tar.xz |
Addition of html viewing with winRT library call
Diffstat (limited to 'winrt/mupdf_cpp')
-rw-r--r-- | winrt/mupdf_cpp/MainPage.xaml | 17 | ||||
-rw-r--r-- | winrt/mupdf_cpp/MainPage.xaml.cpp | 42 |
2 files changed, 16 insertions, 43 deletions
diff --git a/winrt/mupdf_cpp/MainPage.xaml b/winrt/mupdf_cpp/MainPage.xaml index 54318e75..b9af3dd9 100644 --- a/winrt/mupdf_cpp/MainPage.xaml +++ b/winrt/mupdf_cpp/MainPage.xaml @@ -134,16 +134,13 @@ </ListView.Background> </ListView> </Grid> - <StackPanel x:Name="xaml_RichGrid" Orientation="Vertical" Margin="5,5,5,50" - Width="Auto" Height="Auto" Visibility="Collapsed"> - <TextBlock HorizontalAlignment="Center" Text="FontSize:" FontSize="18" Margin="0, 10, 0, -10"/> - <Slider x:Name="fontSizeSlider" Width="200" Value="20" Minimum="8" Maximum="40" - TickFrequency="4" Orientation="Horizontal" HorizontalAlignment="Center" /> - <RichEditBox x:Name="xaml_RichText" FontSize="{Binding Value, ElementName=fontSizeSlider}" - Visibility="Collapsed" HorizontalAlignment="Center" - VerticalAlignment="Top"> - </RichEditBox> - </StackPanel> + <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"/> </Grid> </Page> diff --git a/winrt/mupdf_cpp/MainPage.xaml.cpp b/winrt/mupdf_cpp/MainPage.xaml.cpp index af38b6d3..a75f1500 100644 --- a/winrt/mupdf_cpp/MainPage.xaml.cpp +++ b/winrt/mupdf_cpp/MainPage.xaml.cpp @@ -1094,12 +1094,12 @@ void mupdf_cpp::MainPage::GridSizeChanged() xaml_vert_flipView->Opacity = 0; } - if (xaml_RichText->Visibility == Windows::UI::Xaml::Visibility::Visible) + if (xaml_WebView->Visibility == Windows::UI::Xaml::Visibility::Visible) { int height = xaml_OutsideGrid->ActualHeight; int height_app = TopAppBar1->ActualHeight; - xaml_RichText->Height = height - height_app; + xaml_WebView->Height = height - height_app; } UpDatePageSizes(); @@ -1416,17 +1416,16 @@ void mupdf_cpp::MainPage::ContentSelected(Platform::Object^ sender, Windows::UI: void mupdf_cpp::MainPage::Reflower(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { -#if 0 if (this->m_num_pages < 0) return; - if (xaml_RichText->Visibility == Windows::UI::Xaml::Visibility::Visible) + if (xaml_WebView->Visibility == Windows::UI::Xaml::Visibility::Visible) { /* Go back to flip view */ - xaml_RichText->Visibility = Windows::UI::Xaml::Visibility::Collapsed; + xaml_WebView->Visibility = Windows::UI::Xaml::Visibility::Collapsed; this->xaml_MainGrid->Opacity = 1.0; this->m_curr_flipView->IsEnabled = true; - xaml_RichGrid->Visibility = Windows::UI::Xaml::Visibility::Collapsed; - xaml_RichGrid->Opacity = 0.0; + xaml_WebView->Visibility = Windows::UI::Xaml::Visibility::Collapsed; + xaml_WebView->Opacity = 0.0; } else if (this->m_curr_flipView->IsEnabled) @@ -1443,39 +1442,16 @@ void mupdf_cpp::MainPage::Reflower(Platform::Object^ sender, Windows::UI::Xaml:: } }).then([this]() { - fz_rect bounds; - fz_output *out; - fz_page *page = fz_load_page(m_doc, this->m_currpage); - fz_text_sheet *sheet = fz_new_text_sheet(ctx); - fz_text_page *text = fz_new_text_page(ctx, &fz_empty_rect); - fz_device *dev = fz_new_text_device(ctx, sheet, text); - - fz_run_page(m_doc, page, dev, &fz_identity, NULL); - fz_free_device(dev); - dev = NULL; - fz_text_analysis(ctx, sheet, text); - fz_buffer *buf = fz_new_buffer(ctx, 256); - out = fz_new_output_buffer(ctx, buf); - fz_print_text_page(ctx, out, text); - xaml_RichText->Visibility = Windows::UI::Xaml::Visibility::Visible; + 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; - String^ html_string = char_to_String((char*) buf->data); - - xaml_RichGrid->Visibility = Windows::UI::Xaml::Visibility::Visible; - xaml_RichGrid->Opacity = 1.0; - int height = xaml_OutsideGrid->ActualHeight; - int height_app = TopAppBar1->ActualHeight; - - xaml_RichText->Height = height - height_app; - this->xaml_RichText->Document->SetText(Windows::UI::Text::TextSetOptions::FormatRtf, html_string); - + this->xaml_WebView->NavigateToString(html_string); /* Check if thumb rendering is done. If not then restart */ if (this->m_num_pages != this->m_thumb_page_start) this->RenderThumbs(); }, task_continuation_context::use_current()); } -#endif } /* Need to handle resizing of app bar to make sure everything fits */ |