blob: 828c34d12907a3dc832d729ad9c744cf23aa9bf8 [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,
Torne (Richard Coles)58218062012-11-14 11:43:16 +000023 PrintSettings* print_settings);
24
25 // The default margins, in points. These values are based on 72 dpi,
26 // with 0.25 margins on top, left, and right, and 0.56 on bottom.
27 static const double kTopMarginInInch;
28 static const double kRightMarginInInch;
29 static const double kBottomMarginInInch;
30 static const double kLeftMarginInInch;
31
32 private:
33 DISALLOW_IMPLICIT_CONSTRUCTORS(PrintSettingsInitializerGtk);
34};
35
36} // namespace printing
37
38#endif // PRINTING_PRINT_SETTINGS_INITIALIZER_GTK_H_