blob: 5807500d9a0c54bc88096ff091419a0faadc7835 [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_PRINT_SETTINGS_INITIALIZER_GTK_H_
6#define PRINTING_PRINT_SETTINGS_INITIALIZER_GTK_H_
7
8#include "base/logging.h"
9#include "printing/page_range.h"
10
11typedef struct _GtkPrintSettings GtkPrintSettings;
12typedef struct _GtkPageSetup GtkPageSetup;
13
14namespace printing {
15
16class PrintSettings;
17
18// Initializes a PrintSettings object from the provided Gtk printer objects.
19class PRINTING_EXPORT PrintSettingsInitializerGtk {
20 public:
21 static void InitPrintSettings(GtkPrintSettings* settings,
22 GtkPageSetup* page_setup,
23 const PageRanges& new_ranges,
24 bool print_selection_only,
25 PrintSettings* print_settings);
26
27 // The default margins, in points. These values are based on 72 dpi,
28 // with 0.25 margins on top, left, and right, and 0.56 on bottom.
29 static const double kTopMarginInInch;
30 static const double kRightMarginInInch;
31 static const double kBottomMarginInInch;
32 static const double kLeftMarginInInch;
33
34 private:
35 DISALLOW_IMPLICIT_CONSTRUCTORS(PrintSettingsInitializerGtk);
36};
37
38} // namespace printing
39
40#endif // PRINTING_PRINT_SETTINGS_INITIALIZER_GTK_H_