|  |  | GTK+ Reference Manual |
Top | Description | Object Hierarchy

## GtkPageSetup

GtkPageSetup — Сохраняет параметры страницы

## Краткое описание

    #include <gtk/gtk.h>

                GtkPageSetup;
    GtkPageSetup* gtk_page_setup_new            (void);
    GtkPageSetup* gtk_page_setup_copy           (GtkPageSetup *other);
    GtkPageOrientation gtk_page_setup_get_orientation
                                                (GtkPageSetup *setup);
    void        gtk_page_setup_set_orientation  (GtkPageSetup *setup,
                                                 GtkPageOrientation orientation);
    GtkPaperSize* gtk_page_setup_get_paper_size (GtkPageSetup *setup);
    void        gtk_page_setup_set_paper_size   (GtkPageSetup *setup,
                                                 GtkPaperSize *size);
    gdouble     gtk_page_setup_get_top_margin   (GtkPageSetup *setup,
                                                 GtkUnit unit);
    void        gtk_page_setup_set_top_margin   (GtkPageSetup *setup,
                                                 gdouble margin,
                                                 GtkUnit unit);
    gdouble     gtk_page_setup_get_bottom_margin
                                                (GtkPageSetup *setup,
                                                 GtkUnit unit);
    void        gtk_page_setup_set_bottom_margin
                                                (GtkPageSetup *setup,
                                                 gdouble margin,
                                                 GtkUnit unit);
    gdouble     gtk_page_setup_get_left_margin  (GtkPageSetup *setup,
                                                 GtkUnit unit);
    void        gtk_page_setup_set_left_margin  (GtkPageSetup *setup,
                                                 gdouble margin,
                                                 GtkUnit unit);
    gdouble     gtk_page_setup_get_right_margin (GtkPageSetup *setup,
                                                 GtkUnit unit);
    void        gtk_page_setup_set_right_margin (GtkPageSetup *setup,
                                                 gdouble margin,
                                                 GtkUnit unit);
    void        gtk_page_setup_set_paper_size_and_default_margins
                                                (GtkPageSetup *setup,
                                                 GtkPaperSize *size);
    gdouble     gtk_page_setup_get_paper_width  (GtkPageSetup *setup,
                                                 GtkUnit unit);
    gdouble     gtk_page_setup_get_paper_height (GtkPageSetup *setup,
                                                 GtkUnit unit);
    gdouble     gtk_page_setup_get_page_width   (GtkPageSetup *setup,
                                                 GtkUnit unit);
    gdouble     gtk_page_setup_get_page_height  (GtkPageSetup *setup,
                                                 GtkUnit unit);

## Иерархия объектов

      GObject
       +----GtkPageSetup

## Описание

GtkPageSetup объект сохраняет размер страницы, ориентацию и границы. Идея заключается в том, что вы можете получить один объект из диалога параметров страниц, а затем помещать его в GtkPrittntOperation когда печатаете. Польза отделения от GtkPrintSettings в том, что он влияет только на фактическое выравнивание страницы, и таким образом должен устанавливаться перед печатью.

Границы определенные в этом объекте являются "границами печати", то есть часть страницы на которой принтер не будет печатать. Это отличается от границ выравнивания которые использует текстовый редактор; они обычно используются для определения минимального размера для границ выравнивания.

Определяя GtkPageSetup используйте `gtk_page_setup_new()` для получения значений по умолчанию, или используйте `gtk_print_run_page_setup_dialog()` для отображения диалога параметров страницы и получения результирующих параметров страницы.

Пример 3. Диалог параметров страницы

    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;
    }

Печать поддерживается начиная с версии GTK+ 2.10.

## Детали

### GtkPageSetup

    typedef struct _GtkPageSetup GtkPageSetup;

### gtk_page_setup_new ()

    GtkPageSetup* gtk_page_setup_new            (void);

Создаёт новый GtkPageSetup.

Возвращает : | новый GtkPageSetup.

Начиная с версии 2.10

### gtk_page_setup_copy ()

    GtkPageSetup* gtk_page_setup_copy           (GtkPageSetup *other);

Копирует GtkPageSetup.

`other` : | GtkPageSetup для копирования
Возвращает : | копию `other`

Начиная с версии 2.10

### gtk_page_setup_get_orientation ()

    GtkPageOrientation gtk_page_setup_get_orientation
                                                (GtkPageSetup *setup);

Определяет ориентацию страницы GtkPageSetup.

`setup` : | GtkPageSetup
Возвращает : | Ориентация страницы

Начиная с версии 2.10

### gtk_page_setup_set_orientation ()

    void        gtk_page_setup_set_orientation  (GtkPageSetup *setup,
                                                 GtkPageOrientation orientation);

Устанавливает страничную ориентацию GtkPageSetup.

`setup` : | GtkPageSetup
`orientation` : | Значение GtkPageOrientation

Начиная с версии 2.10

### gtk_page_setup_get_paper_size ()

    GtkPaperSize* gtk_page_setup_get_paper_size (GtkPageSetup *setup);

Определяет размер страницы GtkPageSetup.

`setup` : | GtkPageSetup
Возвращает : | Размер страницы

Начиная с версии 2.10

### gtk_page_setup_set_paper_size ()

    void        gtk_page_setup_set_paper_size   (GtkPageSetup *setup,
                                                 GtkPaperSize *size);

Устанавливает размер страницы GtkPageSetup не изменяя границы. Смотрите `gtk_page_setup_set_paper_size_and_default_margins()`.

`setup` : | GtkPageSetup
`size` : | GtkPaperSize

Начиная с версии 2.10

### gtk_page_setup_get_top_margin ()

    gdouble     gtk_page_setup_get_top_margin   (GtkPageSetup *setup,
                                                 GtkUnit unit);

Определяет верхнюю границу в единицах `unit`.

`setup` : | GtkPageSetup
`unit` : | Единицы измерения возвращаемого значения
Возвращает : | Верхняя граница

Начиная с версии 2.10

### gtk_page_setup_set_top_margin ()

    void        gtk_page_setup_set_top_margin   (GtkPageSetup *setup,
                                                 gdouble margin,
                                                 GtkUnit unit);

Устанавливает верхнюю границу GtkPageSetup.

`setup` : | GtkPageSetup
`margin` : | Новая верхняя граница в единицах измерения `unit`
`unit` : | Единицы измерения для `margin`

Начиная с версии 2.10

### gtk_page_setup_get_bottom_margin ()

    gdouble     gtk_page_setup_get_bottom_margin
                                                (GtkPageSetup *setup,
                                                 GtkUnit unit);

Определяет нижнюю границу в единицах измерения `unit`.

`setup` : | GtkPageSetup
`unit` : | Единицы измерения возвращаемого значения
Возвращает : | Нижняя граница

Начиная с версии 2.10

### gtk_page_setup_set_bottom_margin ()

    void        gtk_page_setup_set_bottom_margin
                                                (GtkPageSetup *setup,
                                                 gdouble margin,
                                                 GtkUnit unit);

Устанавливает нижнюю границу GtkPageSetup.

`setup` : | GtkPageSetup
`margin` : | Новая нижняя граница в единицах измерения `unit`
`unit` : | Единицы измерения `margin`

Начиная с версии 2.10

### gtk_page_setup_get_left_margin ()

    gdouble     gtk_page_setup_get_left_margin  (GtkPageSetup *setup,
                                                 GtkUnit unit);

Определяет левую границу в единицах измерения `unit`.

`setup` : | GtkPageSetup
`unit` : | Единицы измерения возвращаемого значения
Возвращает : | Левая граница

Начиная с версии 2.10

### gtk_page_setup_set_left_margin ()

    void        gtk_page_setup_set_left_margin  (GtkPageSetup *setup,
                                                 gdouble margin,
                                                 GtkUnit unit);

Устанавливает левую границу GtkPageSetup.

`setup` : | GtkPageSetup
`margin` : | Новая левая граница в единицах измерения `unit`
`unit` : | Единицы измерения `margin`

Начиная с версии 2.10

### gtk_page_setup_get_right_margin ()

    gdouble     gtk_page_setup_get_right_margin (GtkPageSetup *setup,
                                                 GtkUnit unit);

Определяет правую границу в единицах измерения `unit`.

`setup` : | GtkPageSetup
`unit` : | Единицы измерения возвращаемого значения
Возвращает : | Правая граница

Начиная с версии 2.10

### gtk_page_setup_set_right_margin ()

    void        gtk_page_setup_set_right_margin (GtkPageSetup *setup,
                                                 gdouble margin,
                                                 GtkUnit unit);

Устанавливает правую границу GtkPageSetup.

`setup` : | GtkPageSetup
`margin` : | Новая правая граница в единицах измерения `unit`
`unit` : | Единицы измерения `margin`

Начиная с версии 2.10

### gtk_page_setup_set_paper_size_and_default_margins ()

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

Устанавливает размер бумаги GtkPageSetup и изменяет границы согласно новому размеру бумаги.

`setup` : | GtkPageSetup
`size` : | GtkPaperSize

Начиная с версии 2.10

### gtk_page_setup_get_paper_width ()

    gdouble     gtk_page_setup_get_paper_width  (GtkPageSetup *setup,
                                                 GtkUnit unit);

Возвращает размер бумаги в единицах измерения `unit`.

Помните что эта функция рассматривает ориентацию а не границы. Смотрите `gtk_page_setup_get_page_width()`.

`setup` : | GtkPageSetup
`unit` : | Единицы измерения возвращаемого значения
Возвращает : | Ширина бумаги.

Начиная с версии 2.10

### gtk_page_setup_get_paper_height ()

    gdouble     gtk_page_setup_get_paper_height (GtkPageSetup *setup,
                                                 GtkUnit unit);

Возвращает высоту бумаги в единицах измерения `unit`.

Помните что эта функция рассматривает ориентацию а не границы. Смотрите `gtk_page_setup_get_page_height()`.

`setup` : | GtkPageSetup
`unit` : | Единицы измерения возвращаемого значения
Возвращает : | Высота бумаги.

Начиная с версии 2.10

### gtk_page_setup_get_page_width ()

    gdouble     gtk_page_setup_get_page_width   (GtkPageSetup *setup,
                                                 GtkUnit unit);

Возвращает ширину страницы в единицах измерения `unit`.

Помните что эта функция рассматривает ориентацию а не границы. Смотрите `gtk_page_setup_get_paper_width()`.

`setup` : | GtkPageSetup
`unit` : | Единицы измерения возвращаемого значения
Возвращает : | Ширина страницы.

Начиная с версии 2.10

### gtk_page_setup_get_page_height ()

    gdouble     gtk_page_setup_get_page_height  (GtkPageSetup *setup,
                                                 GtkUnit unit);

Возвращает высоту страницы в единицах измерения `unit`.

Помните что эта функция рассматривает ориентацию а не границы. Смотрите `gtk_page_setup_get_paper_height()`.

`setup` : | GtkPageSetup
`unit` : | Единицы измерения возвращаемого значения
Возвращает : | Высота страницы.

Начиная с версии 2.10