blob: 720abae7f7951077676e6f54ef479fe1274a11ff [file] [log] [blame]
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef PRINTING_PRINTING_SETTINGS_INITIALIZER_WIN_H_
6#define PRINTING_PRINTING_SETTINGS_INITIALIZER_WIN_H_
7
8#include <string>
9
10#include "base/logging.h"
11#include "printing/page_range.h"
12
13typedef struct HDC__* HDC;
14typedef struct _devicemodeW DEVMODE;
15
16namespace printing {
17
18class PrintSettings;
19
20// Initializes a PrintSettings object from the provided device context.
21class PRINTING_EXPORT PrintSettingsInitializerWin {
22 public:
23 static void InitPrintSettings(HDC hdc,
24 const DEVMODE& dev_mode,
25 const PageRanges& new_ranges,
26 const std::wstring& new_device_name,
27 bool print_selection_only,
28 PrintSettings* print_settings);
29
30 private:
31 DISALLOW_IMPLICIT_CONSTRUCTORS(PrintSettingsInitializerWin);
32};
33
34} // namespace printing
35
36#endif // PRINTING_PRINTING_SETTINGS_INITIALIZER_WIN_H_