summaryrefslogtreecommitdiff
path: root/xfa_test/pdf/preview_mode_client.h
diff options
context:
space:
mode:
authorBo Xu <bo_xu@foxitsoftware.com>2014-10-28 23:03:33 -0700
committerBo Xu <bo_xu@foxitsoftware.com>2014-11-03 11:10:11 -0800
commitfdc00a7042d912aafaabddae4d9c84199921ef23 (patch)
tree32ab8ac91cc68d2cd15b9168782a71b3f3f5e7b9 /xfa_test/pdf/preview_mode_client.h
parente9b38fa38de2c95d8260be31c57d9272c4d127ed (diff)
downloadpdfium-fdc00a7042d912aafaabddae4d9c84199921ef23.tar.xz
Merge XFA to PDFium master at 4dc95e7 on 10/28/2014
Diffstat (limited to 'xfa_test/pdf/preview_mode_client.h')
-rw-r--r--xfa_test/pdf/preview_mode_client.h77
1 files changed, 77 insertions, 0 deletions
diff --git a/xfa_test/pdf/preview_mode_client.h b/xfa_test/pdf/preview_mode_client.h
new file mode 100644
index 0000000000..0e766f949f
--- /dev/null
+++ b/xfa_test/pdf/preview_mode_client.h
@@ -0,0 +1,77 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef PDF_PREVIEW_MODE_CLIENT_H_
+#define PDF_PREVIEW_MODE_CLIENT_H_
+
+#include <string>
+#include <vector>
+
+#include "pdf/pdf_engine.h"
+
+namespace chrome_pdf {
+
+// The interface that's provided to the print preview rendering engine.
+class PreviewModeClient : public PDFEngine::Client {
+ public:
+ class Client {
+ public:
+ virtual void PreviewDocumentLoadFailed() = 0;
+ virtual void PreviewDocumentLoadComplete() = 0;
+ };
+ explicit PreviewModeClient(Client* client);
+ virtual ~PreviewModeClient() {}
+
+ // PDFEngine::Client implementation.
+ virtual void DocumentSizeUpdated(const pp::Size& size);
+ virtual void Invalidate(const pp::Rect& rect);
+ virtual void Scroll(const pp::Point& point);
+ virtual void ScrollToX(int position);
+ virtual void ScrollToY(int position);
+ virtual void ScrollToPage(int page);
+ virtual void NavigateTo(const std::string& url, bool open_in_new_tab);
+ virtual void UpdateCursor(PP_CursorType_Dev cursor);
+ virtual void UpdateTickMarks(const std::vector<pp::Rect>& tickmarks);
+ virtual void NotifyNumberOfFindResultsChanged(int total,
+ bool final_result);
+ virtual void NotifySelectedFindResultChanged(int current_find_index);
+ virtual void GetDocumentPassword(
+ pp::CompletionCallbackWithOutput<pp::Var> callback);
+ virtual void Alert(const std::string& message);
+ virtual bool Confirm(const std::string& message);
+ virtual std::string Prompt(const std::string& question,
+ const std::string& default_answer);
+ virtual std::string GetURL();
+ virtual void Email(const std::string& to,
+ const std::string& cc,
+ const std::string& bcc,
+ const std::string& subject,
+ const std::string& body);
+ virtual void Print();
+ virtual void SubmitForm(const std::string& url,
+ const void* data,
+ int length);
+ virtual std::string ShowFileSelectionDialog();
+ virtual pp::URLLoader CreateURLLoader();
+ virtual void ScheduleCallback(int id, int delay_in_ms);
+ virtual void SearchString(const base::char16* string,
+ const base::char16* term,
+ bool case_sensitive,
+ std::vector<SearchStringResult>* results);
+ virtual void DocumentPaintOccurred();
+ virtual void DocumentLoadComplete(int page_count);
+ virtual void DocumentLoadFailed();
+ virtual pp::Instance* GetPluginInstance();
+ virtual void DocumentHasUnsupportedFeature(const std::string& feature);
+ virtual void DocumentLoadProgress(uint32 available, uint32 doc_size);
+ virtual void FormTextFieldFocusChange(bool in_focus);
+ virtual bool IsPrintPreview();
+
+ private:
+ Client* client_;
+};
+
+} // namespace chrome_pdf
+
+#endif // PDF_PREVIEW_MODE_CLIENT_H_