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 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_ 39