| // 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(); |
| virtual uint32 GetBackgroundColor(); |
| |
| private: |
| Client* client_; |
| }; |
| |
| } // namespace chrome_pdf |
| |
| #endif // PDF_PREVIEW_MODE_CLIENT_H_ |