Index: printing/printing_context_mac.h |
diff --git a/printing/printing_context_mac.h b/printing/printing_context_mac.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..f94fae2158f47dbc11216e8a723db0373a5363a3 |
--- /dev/null |
+++ b/printing/printing_context_mac.h |
@@ -0,0 +1,55 @@ |
+// Copyright (c) 2010 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 PRINTING_PRINTING_CONTEXT_MAC_H_ |
+#define PRINTING_PRINTING_CONTEXT_MAC_H_ |
+ |
+#include "printing/printing_context.h" |
+ |
+#ifdef __OBJC__ |
+@class NSPrintInfo; |
+#else |
+class NSPrintInfo; |
+#endif // __OBJC__ |
+ |
+namespace printing { |
+ |
+class PrintingContextMac : public PrintingContext { |
+ public: |
+ PrintingContextMac(); |
+ ~PrintingContextMac(); |
+ |
+ // PrintingContext implementation. |
+ virtual void AskUserForSettings(gfx::NativeView parent_view, |
+ int max_pages, |
+ bool has_selection, |
+ PrintSettingsCallback* callback); |
+ virtual Result UseDefaultSettings(); |
+ virtual Result InitWithSettings(const PrintSettings& settings); |
+ virtual Result NewDocument(const string16& document_name); |
+ virtual Result NewPage(); |
+ virtual Result PageDone(); |
+ virtual Result DocumentDone(); |
+ virtual void Cancel(); |
+ virtual void DismissDialog(); |
+ virtual void ReleaseContext(); |
+ virtual gfx::NativeDrawingContext context() const; |
+ |
+ private: |
+ // Read the settings from the given NSPrintInfo (and cache it for later use). |
+ void ParsePrintInfo(NSPrintInfo* print_info); |
+ |
+ // The native print info object. |
+ NSPrintInfo* print_info_; |
+ |
+ // The current page's context; only valid between NewPage and PageDone call |
+ // pairs. |
+ CGContext* context_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(PrintingContextMac); |
+}; |
+ |
+} // namespace printing |
+ |
+#endif // PRINTING_PRINTING_CONTEXT_MAC_H_ |