Index: printing/printing_context_win.h |
diff --git a/printing/printing_context_win.h b/printing/printing_context_win.h |
index 99a7e3ef2b0c076964f92234973605b6185a69a2..f6222ad103ed31fb72804f0063bcd891166ac18d 100644 |
--- a/printing/printing_context_win.h |
+++ b/printing/printing_context_win.h |
@@ -40,24 +40,45 @@ class PRINTING_EXPORT PrintingContextWin : public PrintingContext { |
virtual void ReleaseContext() OVERRIDE; |
virtual gfx::NativeDrawingContext context() const OVERRIDE; |
+ // Allocates the HDC for a specific DEVMODE. |
+ static bool AllocateContext(const std::wstring& printer_name, |
Vitaly Buka (NO REVIEWS)
2014/09/08 09:43:59
I'll restore this under !DISABLE_BASIC_PRINTING wh
|
+ const DEVMODE* dev_mode, |
+ gfx::NativeDrawingContext* context); |
+ |
protected: |
- virtual scoped_ptr<DEVMODE, base::FreeDeleter> ShowPrintDialog( |
- HANDLE printer, |
- gfx::NativeView parent_view, |
- DEVMODE* dev_mode); |
+ virtual HRESULT ShowPrintDialog(PRINTDLGEX* options); |
private: |
+ // Class that manages the PrintDlgEx() callbacks. This is meant to be a |
+ // temporary object used during the Print... dialog display. |
+ class CallbackHandler; |
+ |
// Used in response to the user canceling the printing. |
static BOOL CALLBACK AbortProc(HDC hdc, int nCode); |
// Reads the settings from the selected device context. Updates settings_ and |
// its margins. |
- virtual Result InitializeSettings(const base::string16& device_name, |
- DEVMODE* dev_mode); |
+ bool InitializeSettings(const DEVMODE& dev_mode, |
+ const std::wstring& new_device_name, |
+ const PRINTPAGERANGE* ranges, |
+ int number_ranges, |
+ bool selection_only); |
+ |
+ // Retrieves the printer's default low-level settings. On Windows, context_ is |
+ // allocated with this call. |
+ bool GetPrinterSettings(HANDLE printer, |
+ const std::wstring& device_name); |
+ |
+ // Parses the result of a PRINTDLGEX result. |
+ Result ParseDialogResultEx(const PRINTDLGEX& dialog_options); |
+ Result ParseDialogResult(const PRINTDLG& dialog_options); |
// The selected printer context. |
HDC context_; |
+ // The dialog box for the time it is shown. |
+ volatile HWND dialog_box_; |
+ |
DISALLOW_COPY_AND_ASSIGN(PrintingContextWin); |
}; |