diff options
author | jhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-06 22:21:17 +0000 |
---|---|---|
committer | jhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-06 22:21:17 +0000 |
commit | 51e8d9357bb1738b462baa48da9f86e016f936ce (patch) | |
tree | 463241b65d5c3993992f62e313d49aebce220bfc /printing/printing_context_mac.h | |
parent | c27a5ed3f25971f028dd1baedd73efb59497ceeb (diff) | |
download | chromium_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.h | 55 |
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_ |