blob: 720abae7f7951077676e6f54ef479fe1274a11ff [file] [log] [blame]
[email protected]69f5b1e62011-09-01 06:34:041// Copyright (c) 2011 The Chromium Authors. All rights reserved.
[email protected]4993f342010-10-26 17:57:522// 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.
[email protected]69f5b1e62011-09-01 06:34:0421class PRINTING_EXPORT PrintSettingsInitializerWin {
[email protected]4993f342010-10-26 17:57:5222 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_