diff options
Diffstat (limited to 'xfa_test/pdf/preview_mode_client.h')
-rw-r--r-- | xfa_test/pdf/preview_mode_client.h | 77 |
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_ |