summaryrefslogtreecommitdiffstats
path: root/printing/printing_context_mac.h
diff options
context:
space:
mode:
authorjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-06 22:21:17 +0000
committerjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-06 22:21:17 +0000
commit51e8d9357bb1738b462baa48da9f86e016f936ce (patch)
tree463241b65d5c3993992f62e313d49aebce220bfc /printing/printing_context_mac.h
parentc27a5ed3f25971f028dd1baedd73efb59497ceeb (diff)
downloadchromium_src-51e8d9357bb1738b462baa48da9f86e016f936ce.zip
chromium_src-51e8d9357bb1738b462baa48da9f86e016f936ce.tar.gz
chromium_src-51e8d9357bb1738b462baa48da9f86e016f936ce.tar.bz2
Printing: Convert PrintingContext into an interface implemented by the separate
platforms. BUG=none TEST=none Review URL: http://codereview.chromium.org/3610013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61714 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'printing/printing_context_mac.h')
-rw-r--r--printing/printing_context_mac.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/printing/printing_context_mac.h b/printing/printing_context_mac.h
new file mode 100644
index 0000000..f94fae2
--- /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_