Bug 487667 - Clone documents for printing, r=roc+jst+joe+dbaron

This commit is contained in:
Olli Pettay
2009-12-10 20:02:13 -08:00
parent be28d4906a
commit 2e3d0c93fe
73 changed files with 1422 additions and 495 deletions

View File

@@ -41,10 +41,15 @@
class nsIDocument;
class nsStyleSet;
class nsIPresShell;
class nsPresContext;
class nsIWidget;
class nsIViewManager;
// {D0B7F354-D575-43fd-903D-5AA35A193EDA}
// {c6f255cf-cadd-4382-b57f-cd2a9874169b}
#define NS_IDOCUMENT_VIEWER_PRINT_IID \
{ 0xd0b7f354, 0xd575, 0x43fd, { 0x90, 0x3d, 0x5a, 0xa3, 0x5a, 0x19, 0x3e, 0xda } }
{ 0xc6f255cf, 0xcadd, 0x4382, \
{ 0xb5, 0x7f, 0xcd, 0x2a, 0x98, 0x74, 0x16, 0x9b } }
/**
* A DocumentViewerPrint is an INTERNAL Interface used for interaction
@@ -72,6 +77,23 @@ public:
virtual void OnDonePrinting() = 0;
/**
* Returns PR_TRUE is InitializeForPrintPreview() has been called.
*/
virtual PRBool IsInitializedForPrintPreview() = 0;
/**
* Marks this viewer to be used for print preview.
*/
virtual void InitializeForPrintPreview() = 0;
/**
* Replaces the current presentation with print preview presentation.
*/
virtual void SetPrintPreviewPresentation(nsIWidget* aWidget,
nsIViewManager* aViewManager,
nsPresContext* aPresContext,
nsIPresShell* aPresShell) = 0;
};
NS_DEFINE_STATIC_IID_ACCESSOR(nsIDocumentViewerPrint,
@@ -86,6 +108,12 @@ NS_DEFINE_STATIC_IID_ACCESSOR(nsIDocumentViewerPrint,
virtual nsresult CreateStyleSet(nsIDocument* aDocument, nsStyleSet** aStyleSet); \
virtual void IncrementDestroyRefCount(); \
virtual void ReturnToGalleyPresentation(); \
virtual void OnDonePrinting();
virtual void OnDonePrinting(); \
virtual PRBool IsInitializedForPrintPreview(); \
virtual void InitializeForPrintPreview(); \
virtual void SetPrintPreviewPresentation(nsIWidget* aWidget, \
nsIViewManager* aViewManager, \
nsPresContext* aPresContext, \
nsIPresShell* aPresShell);
#endif /* nsIDocumentViewerPrint_h___ */