summaryrefslogtreecommitdiff
path: root/platform/winrt/mupdf_cpp/MainPage.xaml.h
diff options
context:
space:
mode:
Diffstat (limited to 'platform/winrt/mupdf_cpp/MainPage.xaml.h')
-rw-r--r--platform/winrt/mupdf_cpp/MainPage.xaml.h39
1 files changed, 28 insertions, 11 deletions
diff --git a/platform/winrt/mupdf_cpp/MainPage.xaml.h b/platform/winrt/mupdf_cpp/MainPage.xaml.h
index 37d5227c..c7b5e88b 100644
--- a/platform/winrt/mupdf_cpp/MainPage.xaml.h
+++ b/platform/winrt/mupdf_cpp/MainPage.xaml.h
@@ -32,6 +32,7 @@ using namespace Windows::UI::ViewManagement;
using namespace Windows::UI::Popups;
using namespace Windows::UI::Xaml::Navigation;
using namespace Windows::ApplicationModel;
+using namespace Windows::UI::Core;
using namespace mupdfwinrt;
using namespace Windows::Graphics::Display;
@@ -55,6 +56,12 @@ typedef enum {
REN_PAGE /* Used to ignore value when source based setting */
} RenderingStatus_t;
+typedef enum {
+ PRINT_INACTIVE = 0,
+ PRINT_ACTIVE,
+ PRINT_FAILED
+} PrintStatus_t;
+
typedef struct spatial_info_s
{
Point size;
@@ -111,9 +118,6 @@ 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
{
@@ -121,7 +125,15 @@ namespace mupdf_cpp
{
if (FAILED(hr))
{
- throw Platform::Exception::CreateException(hr);
+ /* We are in a different thread in this case. */
+ this->Dispatcher->RunAsync(CoreDispatcherPriority::Low,
+ ref new DispatchedHandler([this]()
+ {
+ this->m_print_active = PRINT_FAILED;
+ xaml_PrintStack->Visibility = Windows::UI::Xaml::Visibility::Collapsed;
+ this->NotifyUser("Print Failed", ErrorMessage);
+ }));
+ throw Platform::Exception::CreateException(hr, "Print Failed");
}
}
@@ -195,7 +207,7 @@ namespace mupdf_cpp
bool m_pageRangeEditVisible;
std::vector<int> m_ppage_num_list;
int m_curr_print_count;
- bool m_print_active;
+ PrintStatus_t m_print_active;
/* DirectX Print Control */
PrintManager ^m_print_manager;
@@ -226,17 +238,18 @@ namespace mupdf_cpp
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 ShowSearchResults(int page_num, unsigned int box_count);
void ClearTextSearch();
void AddTextCanvas();
void GridSizeChanged();
- void UpDateThumbSizes();
+ void UpdateThumbSizes();
+ void UpdatePreRenderedPageSizes();
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 SetThumb(unsigned int page_num);
void ReleasePages(int old_page, int new_page);
void Linker(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
void AddLinkCanvas();
@@ -249,10 +262,9 @@ namespace mupdf_cpp
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 ExitInvokedHandler(Windows::UI::Popups::IUICommand^ command);
void OKInvokedHandler(Windows::UI::Popups::IUICommand^ command);
- Point ComputePageSize(spatial_info_t spatial_info, int page_num);
+ int ComputePageSize(spatial_info_t spatial_info, int page_num, Point *Point);
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);
@@ -272,6 +284,8 @@ namespace mupdf_cpp
void Slider_Common();
void FlipView_Started(Platform::Object^ sender, Windows::UI::Xaml::Input::ManipulationStartedRoutedEventArgs^ e);
void UpdateZoom();
+ String^ GetVisualState();
+ void SetThumbInit(unsigned int page_num);
/* Print Related */
void RegisterForPrinting();
@@ -296,5 +310,8 @@ namespace mupdf_cpp
void SetPrintTarget(void *print_struct);
void PrintProgress(PrintTask^ sender, PrintTaskProgressingEventArgs^ args);
void PrintCompleted(PrintTask^ sender, PrintTaskCompletedEventArgs^ args);
- };
+private:
+ void Testing(Platform::Object^ sender, Windows::UI::Xaml::Input::ManipulationCompletedRoutedEventArgs^ e);
+ void HideProgress(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
+};
}