Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(161)

Unified Diff: printing/printed_document.h

Issue 10483006: Print support for Windows Metro... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Working version Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: printing/printed_document.h
diff --git a/printing/printed_document.h b/printing/printed_document.h
index bdb092fc3223d6055f138c63c8de9443e75eda61..b253f72ed7fd9be9a543b405215373106ca5d287 100644
--- a/printing/printed_document.h
+++ b/printing/printed_document.h
@@ -32,10 +32,21 @@ class PrintingContext;
class PRINTING_EXPORT PrintedDocument
: public base::RefCountedThreadSafe<PrintedDocument> {
public:
+ // A delegate can be used to deviated the rendering of the pages to a
+ // specific destination.
+ class Delegate: public base::RefCountedThreadSafe<Delegate> {
Albert Bodenhamer 2012/06/15 18:41:24 Perhaps "PrintDestinationInterface" instead of "De
MAD 2012/06/19 14:24:10 Good idea... Will do...
MAD 2012/06/28 15:48:14 Done.
+ public:
+ virtual void SetPageCount(int page_count) = 0;
+ virtual void SetPageContent(int page_number,
+ void* content,
+ size_t content_size) = 0;
+ };
+
// The cookie shall be unique and has a specific relationship with its
// originating source and settings.
PrintedDocument(const PrintSettings& settings,
PrintedPagesSource* source,
+ Delegate* delegate,
int cookie);
// Sets a page's data. 0-based. Takes metafile ownership.
@@ -136,7 +147,9 @@ class PRINTING_EXPORT PrintedDocument
// any lock held. This is because it can't be changed after the object's
// construction.
struct Immutable {
- Immutable(const PrintSettings& settings, PrintedPagesSource* source,
+ Immutable(const PrintSettings& settings,
+ PrintedPagesSource* source,
+ Delegate* delegate,
int cookie);
~Immutable();
@@ -149,6 +162,9 @@ class PRINTING_EXPORT PrintedDocument
// Document name. Immutable.
string16 name_;
+ // A potential Delegate where to redirect page rendering if not NULL.
+ Delegate* delegate_;
+
// Cookie to uniquely identify this document. It is used to make sure that a
// PrintedPage is correctly belonging to the PrintedDocument. Since
// PrintedPage generation is completely asynchronous, it could be easy to

Powered by Google App Engine
This is Rietveld 408576698