summaryrefslogtreecommitdiff
path: root/gtk/gtkpagesetup.h
blob: 559ae439d6de8ca47044a37a4dabf71c66f61779 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
/* GTK - The GIMP Toolkit
 * gtkpagesetup.h: Page Setup
 * Copyright (C) 2006, Red Hat, Inc.
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
 */

#ifndef __GTK_PAGE_SETUP_H__
#define __GTK_PAGE_SETUP_H__


#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
#error "Only <gtk/gtk.h> can be included directly."
#endif

#include <gtk/gtkpapersize.h>


G_BEGIN_DECLS

typedef struct _GtkPageSetup GtkPageSetup;

#define GTK_TYPE_PAGE_SETUP    (gtk_page_setup_get_type ())
#define GTK_PAGE_SETUP(obj)    (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_PAGE_SETUP, GtkPageSetup))
#define GTK_IS_PAGE_SETUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_PAGE_SETUP))

GDK_AVAILABLE_IN_ALL
GType              gtk_page_setup_get_type          (void) G_GNUC_CONST;
GDK_AVAILABLE_IN_ALL
GtkPageSetup *     gtk_page_setup_new               (void);
GDK_AVAILABLE_IN_ALL
GtkPageSetup *     gtk_page_setup_copy              (GtkPageSetup       *other);
GDK_AVAILABLE_IN_ALL
GtkPageOrientation gtk_page_setup_get_orientation   (GtkPageSetup       *setup);
GDK_AVAILABLE_IN_ALL
void               gtk_page_setup_set_orientation   (GtkPageSetup       *setup,
						     GtkPageOrientation  orientation);
GDK_AVAILABLE_IN_ALL
GtkPaperSize *     gtk_page_setup_get_paper_size    (GtkPageSetup       *setup);
GDK_AVAILABLE_IN_ALL
void               gtk_page_setup_set_paper_size    (GtkPageSetup       *setup,
						     GtkPaperSize       *size);
GDK_AVAILABLE_IN_ALL
gdouble            gtk_page_setup_get_top_margin    (GtkPageSetup       *setup,
						     GtkUnit             unit);
GDK_AVAILABLE_IN_ALL
void               gtk_page_setup_set_top_margin    (GtkPageSetup       *setup,
						     gdouble             margin,
						     GtkUnit             unit);
GDK_AVAILABLE_IN_ALL
gdouble            gtk_page_setup_get_bottom_margin (GtkPageSetup       *setup,
						     GtkUnit             unit);
GDK_AVAILABLE_IN_ALL
void               gtk_page_setup_set_bottom_margin (GtkPageSetup       *setup,
						     gdouble             margin,
						     GtkUnit             unit);
GDK_AVAILABLE_IN_ALL
gdouble            gtk_page_setup_get_left_margin   (GtkPageSetup       *setup,
						     GtkUnit             unit);
GDK_AVAILABLE_IN_ALL
void               gtk_page_setup_set_left_margin   (GtkPageSetup       *setup,
						     gdouble             margin,
						     GtkUnit             unit);
GDK_AVAILABLE_IN_ALL
gdouble            gtk_page_setup_get_right_margin  (GtkPageSetup       *setup,
						     GtkUnit             unit);
GDK_AVAILABLE_IN_ALL
void               gtk_page_setup_set_right_margin  (GtkPageSetup       *setup,
						     gdouble             margin,
						     GtkUnit             unit);

GDK_AVAILABLE_IN_ALL
void gtk_page_setup_set_paper_size_and_default_margins (GtkPageSetup    *setup,
							GtkPaperSize    *size);

/* These take orientation, but not margins into consideration */
GDK_AVAILABLE_IN_ALL
gdouble            gtk_page_setup_get_paper_width   (GtkPageSetup       *setup,
						     GtkUnit             unit);
GDK_AVAILABLE_IN_ALL
gdouble            gtk_page_setup_get_paper_height  (GtkPageSetup       *setup,
						     GtkUnit             unit);


/* These take orientation, and margins into consideration */
GDK_AVAILABLE_IN_ALL
gdouble            gtk_page_setup_get_page_width    (GtkPageSetup       *setup,
						     GtkUnit             unit);
GDK_AVAILABLE_IN_ALL
gdouble            gtk_page_setup_get_page_height   (GtkPageSetup       *setup,
						     GtkUnit             unit);

/* Saving and restoring page setup */
GDK_AVAILABLE_IN_ALL
GtkPageSetup	  *gtk_page_setup_new_from_file	    (const gchar         *file_name,
						     GError              **error);
GDK_AVAILABLE_IN_ALL
gboolean	   gtk_page_setup_load_file	    (GtkPageSetup        *setup,
						     const char          *file_name,
						     GError             **error);
GDK_AVAILABLE_IN_ALL
gboolean	   gtk_page_setup_to_file	    (GtkPageSetup        *setup,
						     const char          *file_name,
						     GError             **error);
GDK_AVAILABLE_IN_ALL
GtkPageSetup	  *gtk_page_setup_new_from_key_file (GKeyFile            *key_file,
						     const gchar         *group_name,
						     GError             **error);
GDK_AVAILABLE_IN_ALL
gboolean           gtk_page_setup_load_key_file     (GtkPageSetup        *setup,
				                     GKeyFile            *key_file,
				                     const gchar         *group_name,
				                     GError             **error);
GDK_AVAILABLE_IN_ALL
void		   gtk_page_setup_to_key_file	    (GtkPageSetup        *setup,
						     GKeyFile            *key_file,
						     const gchar         *group_name);

G_END_DECLS

#endif /* __GTK_PAGE_SETUP_H__ */