1 // 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 11 typedef struct _GtkPrintSettings GtkPrintSettings; 12 typedef struct _GtkPageSetup GtkPageSetup; 13 14 namespace printing { 15 16 class PrintSettings; 17 18 // Initializes a PrintSettings object from the provided Gtk printer objects. 19 class 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_ 41