
@c %start of fragment

@node GtkPageSetup
@chapter GtkPageSetup
Stores page setup information

@section Overview
A GtkPageSetup object stores the page size, orientation and margins. The idea is
that you can get one of these from the page setup dialog and then pass it to the
@code{<gtk-print-operation>} when printing. The benefit of splitting this out of
the @code{<gtk-print-settings>} is that these affect the actual layout of the
page, and thus need to be set long before user prints.

The margins specified in this object are the "print margins", i.e. the parts of
the page that the printer cannot print on. These are different from the layout
margins that a word processor uses; they are typically used to determine the
@emph{minimal} size for the layout margins.

To obtain a @code{<gtk-page-setup>} use @code{gtk-page-setup-new} to get the
defaults, or use @code{gtk-print-run-page-setup-dialog} to show the page setup
dialog and receive the resulting page setup.

@example 

static GtkPrintSettings *settings = NULL;
static GtkPageSetup *page_setup = NULL;

static void
do_page_setup (void)
@{
  GtkPageSetup *new_page_setup;

  if (settings == NULL)
    settings = gtk_print_settings_new ();

  new_page_setup = gtk_print_run_page_setup_dialog (GTK_WINDOW (main_window),
                                                    page_setup, settings);

  if (page_setup)
    g_object_unref (page_setup);

  page_setup = new_page_setup;
@}
@end example

Printing support was added in GTK+ 2.10.

@section Usage
@include defuns-gtkpagesetup.xml.texi

@c %end of fragment
