|  |  | GTK+ Reference Manual |
Top | Description

## GtkPaperSize

GtkPaperSize — Поддержка именованных размеров бумаги

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

    #include <gtk/gtk.h>

                GtkPaperSize;
    enum        GtkUnit;
    #define     GTK_PAPER_NAME_A3
    #define     GTK_PAPER_NAME_A4
    #define     GTK_PAPER_NAME_A5
    #define     GTK_PAPER_NAME_B5
    #define     GTK_PAPER_NAME_LETTER
    #define     GTK_PAPER_NAME_EXECUTIVE
    #define     GTK_PAPER_NAME_LEGAL
    GtkPaperSize* gtk_paper_size_new            (const gchar *name);
    GtkPaperSize* gtk_paper_size_new_from_ppd   (const gchar *ppd_name,
                                                 const gchar *ppd_display_name,
                                                 gdouble width,
                                                 gdouble height);
    GtkPaperSize* gtk_paper_size_new_custom     (const gchar *name,
                                                 const gchar *display_name,
                                                 gdouble width,
                                                 gdouble height,
                                                 GtkUnit unit);
    GtkPaperSize* gtk_paper_size_copy           (GtkPaperSize *other);
    void        gtk_paper_size_free             (GtkPaperSize *size);
    gboolean    gtk_paper_size_is_equal         (GtkPaperSize *size1,
                                                 GtkPaperSize *size2);
    const gchar* gtk_paper_size_get_name        (GtkPaperSize *size);
    const gchar* gtk_paper_size_get_display_name
                                                (GtkPaperSize *size);
    const gchar* gtk_paper_size_get_ppd_name    (GtkPaperSize *size);
    gdouble     gtk_paper_size_get_width        (GtkPaperSize *size,
                                                 GtkUnit unit);
    gdouble     gtk_paper_size_get_height       (GtkPaperSize *size,
                                                 GtkUnit unit);
    gboolean    gtk_paper_size_is_custom        (GtkPaperSize *size);
    void        gtk_paper_size_set_size         (GtkPaperSize *size,
                                                 gdouble width,
                                                 gdouble height,
                                                 GtkUnit unit);
    gdouble     gtk_paper_size_get_default_top_margin
                                                (GtkPaperSize *size,
                                                 GtkUnit unit);
    gdouble     gtk_paper_size_get_default_bottom_margin
                                                (GtkPaperSize *size,
                                                 GtkUnit unit);
    gdouble     gtk_paper_size_get_default_left_margin
                                                (GtkPaperSize *size,
                                                 GtkUnit unit);
    gdouble     gtk_paper_size_get_default_right_margin
                                                (GtkPaperSize *size,
                                                 GtkUnit unit);
    const gchar* gtk_paper_size_get_default     (void);

## Описание

GtkPaperSize обрабатывает размеры бумаги. Он использует стандарт "PWG 5101.1-2002 PWG: Standard for Media Standardized Names" для имен размеров бумаги (и получения данных размера страниц). В дополнение к стандартному размеру страницы, GtkPaperSize позволяет создавать выборочный размер бумаги с произвольными размерами.

GtkPaperSize объект сохраняет не только размеры (ширину и высоту) бумаги но и имя размера, он также обеспечивает значение по умолчанию print margins.

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

## Детали

### GtkPaperSize

    typedef struct _GtkPaperSize GtkPaperSize;

### enum GtkUnit

    typedef enum {
      GTK_UNIT_PIXEL,
      GTK_UNIT_POINTS,
      GTK_UNIT_INCH,
      GTK_UNIT_MM
    } GtkUnit;

### GTK_PAPER_NAME_A3

    #define GTK_PAPER_NAME_A3 "iso_a3"

Имя для размера бумаги A3.

### GTK_PAPER_NAME_A4

    #define GTK_PAPER_NAME_A4 "iso_a4"

Имя для размера бумаги A4.

### GTK_PAPER_NAME_A5

    #define GTK_PAPER_NAME_A5 "iso_a5"

Имя для размера бумаги A5.

### GTK_PAPER_NAME_B5

    #define GTK_PAPER_NAME_B5 "iso_b5"

Имя для размера бумаги B5.

### GTK_PAPER_NAME_LETTER

    #define GTK_PAPER_NAME_LETTER "na_letter"

Имя для размера бумаги Letter (письмо).

### GTK_PAPER_NAME_EXECUTIVE

    #define GTK_PAPER_NAME_EXECUTIVE "na_executive"

Имя размера бумаги Executive.

### GTK_PAPER_NAME_LEGAL

    #define GTK_PAPER_NAME_LEGAL "na_legal"

Имя размера бумаги Legal.

### gtk_paper_size_new ()

    GtkPaperSize* gtk_paper_size_new            (const gchar *name);

Создаёт новый объект GtkPaperSize анализируя имя бумаги PWG 5101.1-2002 PWG.

Если `name` это `NULL`, возвращается размер по умолчанию, смотрите `gtk_paper_size_get_default()`.

`name` : | имя размера бумаги, или `NULL`
Возвращает : | новый GtkPaperSize, используйте `gtk_paper_size_free()` для его освобождения

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

### gtk_paper_size_new_from_ppd ()

    GtkPaperSize* gtk_paper_size_new_from_ppd   (const gchar *ppd_name,
                                                 const gchar *ppd_display_name,
                                                 gdouble width,
                                                 gdouble height);

Создаёт новый объект GtkPaperSize используя информацию PPD.

Если `ppd_name` не поддерживаемое PPD имя размера, `ppd_display_name`, `width` и `height` используются для создания выборочного объекта GtkPaperSize.

`ppd_name` : | Имя бумаги PPD
`ppd_display_name` : | Сообщает читабельное имя
`width` : | Ширина бумаги, в точках
`height` : | Высота бумаги, в точках
Возвращает : | новый GtkPaperSize, используйте `gtk_paper_size_free()` для его освобождения

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

### gtk_paper_size_new_custom ()

    GtkPaperSize* gtk_paper_size_new_custom     (const gchar *name,
                                                 const gchar *display_name,
                                                 gdouble width,
                                                 gdouble height,
                                                 GtkUnit unit);

Создаёт новый GtkPaperSize объект с полученными параметрами.

`name` : | Имя бумаги
`display_name` : | Читабельное имя
`width` : | Ширина бумаги, в единицах измерения `unit`
`height` : | Высота бумаги, в единицах измерения `unit`
`unit` : | Единицы измерения для `width` и `height`
Возвращает : | новый GtkPaperSize объект, используйте `gtk_paper_size_free()` для его освобождения

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

### gtk_paper_size_copy ()

    GtkPaperSize* gtk_paper_size_copy           (GtkPaperSize *other);

Копирует существующий GtkPaperSize.

`other` : | GtkPaperSize
Возвращает : | копия `other`

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

### gtk_paper_size_free ()

    void        gtk_paper_size_free             (GtkPaperSize *size);

Освобождает полученный объект GtkPaperSize.

`size` : | GtkPaperSize

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

### gtk_paper_size_is_equal ()

    gboolean    gtk_paper_size_is_equal         (GtkPaperSize *size1,
                                                 GtkPaperSize *size2);

Сравнивает два объекта GtkPaperSize.

`size1` : | GtkPaperSize объект
`size2` : | другой `GtkPaperSize` объект
Возвращает : | `TRUE`, если `size1` и `size2` представляют одинаковый размер бумаги

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

### gtk_paper_size_get_name ()

    const gchar* gtk_paper_size_get_name        (GtkPaperSize *size);

Определяет имя GtkPaperSize.

`size` : | GtkPaperSize объект
Возвращает : | имя `size`

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

### gtk_paper_size_get_display_name ()

    const gchar* gtk_paper_size_get_display_name
                                                (GtkPaperSize *size);

Определяет удобочитаемое имя GtkPaperSize.

`size` : | GtkPaperSize объект
Возвращает : | Удобочитаемое имя `size`

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

### gtk_paper_size_get_ppd_name ()

    const gchar* gtk_paper_size_get_ppd_name    (GtkPaperSize *size);

Определяет PPD имя GtkPaperSize, которое может быть `NULL`.

`size` : | GtkPaperSize объект
Возвращает : | PPD имя `size`

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

### gtk_paper_size_get_width ()

    gdouble     gtk_paper_size_get_width        (GtkPaperSize *size,
                                                 GtkUnit unit);

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

`size` : | GtkPaperSize объект
`unit` : | Единицы измерения возвращаемого значения
Возвращает : | Ширина бумаги

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

### gtk_paper_size_get_height ()

    gdouble     gtk_paper_size_get_height       (GtkPaperSize *size,
                                                 GtkUnit unit);

Определяет высоту бумаги GtkPaperSize, в единицах измерения `unit`.

`size` : | GtkPaperSize объект
`unit` : | Единицы измерения возвращаемого значения
Возвращает : | Высота бумаги

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

### gtk_paper_size_is_custom ()

    gboolean    gtk_paper_size_is_custom        (GtkPaperSize *size);

Возвращает `TRUE` если `size` не стандартный размер бумаги.

`size` : | GtkPaperSize объект
Возвращает : | Является ли `size` произвольным размером бумаги.

### gtk_paper_size_set_size ()

    void        gtk_paper_size_set_size         (GtkPaperSize *size,
                                                 gdouble width,
                                                 gdouble height,
                                                 GtkUnit unit);

Изменяет размер `size` в `width` x `height`.

`size` : | Произвольный GtkPaperSize объект
`width` : | Новая ширина в единицах измерения `unit`
`height` : | Новая высота в единицах измерения `unit`
`unit` : | Единицы измерения для `width` и `height`

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

### gtk_paper_size_get_default_top_margin ()

    gdouble     gtk_paper_size_get_default_top_margin
                                                (GtkPaperSize *size,
                                                 GtkUnit unit);

Определяет значение по умолчанию верхней границы для GtkPaperSize.

`size` : | GtkPaperSize объект
`unit` : | Единицы измерения возвращаемого значения
Возвращает : | Значение по умолчанию верхней границы

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

### gtk_paper_size_get_default_bottom_margin ()

    gdouble     gtk_paper_size_get_default_bottom_margin
                                                (GtkPaperSize *size,
                                                 GtkUnit unit);

Определяет нижнюю границу для GtkPaperSize.

`size` : | GtkPaperSize объект
`unit` : | Единицы измерения возвращаемого значения
Возвращает : | Значение по умолчанию нижней границы

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

### gtk_paper_size_get_default_left_margin ()

    gdouble     gtk_paper_size_get_default_left_margin
                                                (GtkPaperSize *size,
                                                 GtkUnit unit);

Определяет значение по умолчанию левой границы GtkPaperSize.

`size` : | GtkPaperSize объект
`unit` : | Единицы измерения возвращаемого значения
Возвращает : | Значение по умолчанию левой границы

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

### gtk_paper_size_get_default_right_margin ()

    gdouble     gtk_paper_size_get_default_right_margin
                                                (GtkPaperSize *size,
                                                 GtkUnit unit);

Определяет значение по умолчанию правой границы GtkPaperSize.

`size` : | GtkPaperSize объект
`unit` : | Единицы измерения возвращаемого значения
Возвращает : | Значение по умолчанию правой границы

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

### gtk_paper_size_get_default ()

    const gchar* gtk_paper_size_get_default     (void);

Возвращает имя по умолчанию размера бумаги, которое зависит от текущих настроек локализации (locale).

Возвращает : | Имя размера бумаги по умолчанию. Строкой владеет GTK+ и она не должна изменяться.

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

## Смотрите также

GtkPageSetup