# Gtk::PaperSize Class Reference
Printing

PaperSize handles paper sizes. More...

List of all members.

## Public Types

typedef const void* | BoolExpr
| This typedef is just to make it more obvious that our operator const void* should be used like operator bool().

## Public Member Functions

| PaperSize ()
| PaperSize (GtkPaperSize* gobject, bool make_a_copy=true)
| PaperSize (const PaperSize& other)
PaperSize& | operator= (const PaperSize& other)
| ~PaperSize ()
void | swap (PaperSize& other)
GtkPaperSize* | gobj ()
| Provides access to the underlying C instance.
const GtkPaperSize* | gobj () const
| Provides access to the underlying C instance.
GtkPaperSize* | gobj_copy () const
| Provides access to the underlying C instance. The caller is responsible for freeing it. Use when directly setting fields in structs.
| PaperSize (const Glib::ustring& name)
| PaperSize (const Glib::ustring& ppd_name, const Glib::ustring& ppd_display_name, double width, double height)
| PaperSize (const Glib::ustring& name, const Glib::ustring& display_name, double width, double height, Unit unit)
| PaperSize (const Glib::KeyFile& key_file, const Glib::ustring& group_name=Glib::ustring())
bool | equal (const PaperSize& other) const
| operator BoolExpr () const
| Returns true if the PaperSize is a valid object.
Glib::ustring | get_name () const
| Gets the name of the Gtk::PaperSize.
Glib::ustring | get_display_name () const
| Gets the human-readable name of the Gtk::PaperSize.
Glib::ustring | get_ppd_name () const
| Gets the PPD name of the Gtk::PaperSize, which may be `0`.
double | get_width (Unit unit) const
| Gets the paper width of the Gtk::PaperSize, in units of unit.
double | get_height (Unit unit) const
| Gets the paper height of the Gtk::PaperSize, in units of unit.
bool | is_custom () const
| Returns `true` if size is not a standard paper size.
void | set_size (double width, double height, Unit unit)
| Changes the dimensions of a size to width x height.
double | get_default_top_margin (Unit unit) const
| Gets the default top margin for the Gtk::PaperSize.
double | get_default_bottom_margin (Unit unit) const
| Gets the default bottom margin for the Gtk::PaperSize.
double | get_default_left_margin (Unit unit) const
| Gets the default left margin for the Gtk::PaperSize.
double | get_default_right_margin (Unit unit) const
| Gets the default right margin for the Gtk::PaperSize.
void | save_to_key_file (Glib::KeyFile& key_file, const Glib::ustring& group_name)
| This function adds the paper size from size to key_file.
void | save_to_key_file (Glib::KeyFile& key_file)
| This function adds the paper size to key_file in the first group.

## Static Public Member Functions

static std::vector< PaperSize > | get_paper_sizes (bool include_custom=true)
| Creates a list of known paper sizes.
static Glib::ustring | get_default ()
| Returns the name of the default paper size, which depends on the current locale.

## Protected Attributes

GtkPaperSize* | gobject_

## Related Functions

(Note that these are not member functions.)
bool | operator== (const PaperSize& lhs, const PaperSize& rhs)
bool | operator!= (const PaperSize& lhs, const PaperSize& rhs)
void | swap (PaperSize& lhs, PaperSize& rhs)
Gtk::PaperSize | wrap (GtkPaperSize* object, bool take_copy=false)
| A Glib::wrap() method for this object.

## Detailed Description

PaperSize handles paper sizes.

It uses the standard called "PWG 5101.1-2002 PWG: Standard for Media Standardized Names" to name the paper sizes (and to get the data for the page sizes). In addition to standard paper sizes, PaperSize allows to construct custom paper sizes with arbitrary dimensions.

The PaperSize object stores not only the dimensions (width and height) of a paper size and its name, it also provides default print margins.

Since gtkmm 2.10:

## Member Typedef Documentation

typedef const void* Gtk::PaperSize::BoolExpr

This typedef is just to make it more obvious that our operator const void* should be used like operator bool().

## Constructor & Destructor Documentation

Gtk::PaperSize::PaperSize | ( |  | ) |

Gtk::PaperSize::PaperSize | ( | GtkPaperSize * | gobject,
|  | bool | make_a_copy = `true`
| ) |  | `[explicit]`

Gtk::PaperSize::PaperSize | ( | const PaperSize& | other | ) |

Gtk::PaperSize::~PaperSize | ( |  | ) |

Gtk::PaperSize::PaperSize | ( | const Glib::ustring & | name | ) | `[explicit]`

Gtk::PaperSize::PaperSize | ( | const Glib::ustring & | ppd_name,
|  | const Glib::ustring & | ppd_display_name,
|  | double | width,
|  | double | height
| ) |  | `[explicit]`

Gtk::PaperSize::PaperSize | ( | const Glib::ustring & | name,
|  | const Glib::ustring & | display_name,
|  | double | width,
|  | double | height,
|  | Unit | unit
| ) |  | `[explicit]`

Gtk::PaperSize::PaperSize | ( | const Glib::KeyFile & | key_file,
|  | const Glib::ustring & | group_name = `Glib::ustring()`
| ) |  | `[explicit]`

## Member Function Documentation

bool Gtk::PaperSize::equal | ( | const PaperSize& | other | ) | const

static Glib::ustring Gtk::PaperSize::get_default | ( |  | ) | `[static]`

Returns the name of the default paper size, which depends on the current locale.

Since gtkmm 2.10:

Returns:
  The name of the default paper size. The string is owned by GTK+ and should not be modified.

double Gtk::PaperSize::get_default_bottom_margin | ( | Unit | unit | ) | const

Gets the default bottom margin for the Gtk::PaperSize.

Since gtkmm 2.10:

Parameters:

  unit | The unit for the return value.

Returns:
  The default bottom margin.

double Gtk::PaperSize::get_default_left_margin | ( | Unit | unit | ) | const

Gets the default left margin for the Gtk::PaperSize.

Since gtkmm 2.10:

Parameters:

  unit | The unit for the return value.

Returns:
  The default left margin.

double Gtk::PaperSize::get_default_right_margin | ( | Unit | unit | ) | const

Gets the default right margin for the Gtk::PaperSize.

Since gtkmm 2.10:

Parameters:

  unit | The unit for the return value.

Returns:
  The default right margin.

double Gtk::PaperSize::get_default_top_margin | ( | Unit | unit | ) | const

Gets the default top margin for the Gtk::PaperSize.

Since gtkmm 2.10:

Parameters:

  unit | The unit for the return value.

Returns:
  The default top margin.

Glib::ustring Gtk::PaperSize::get_display_name | ( |  | ) | const

Gets the human-readable name of the Gtk::PaperSize.

Since gtkmm 2.10:

Returns:
  The human-readable name of size.

double Gtk::PaperSize::get_height | ( | Unit | unit | ) | const

Gets the paper height of the Gtk::PaperSize, in units of unit.

Since gtkmm 2.10:

Parameters:

  unit | The unit for the return value.

Returns:
  The paper height.

Glib::ustring Gtk::PaperSize::get_name | ( |  | ) | const

Gets the name of the Gtk::PaperSize.

Since gtkmm 2.10:

Returns:
  The name of size.

static std::vector<PaperSize> Gtk::PaperSize::get_paper_sizes | ( | bool | include_custom = `true` | ) | `[static]`

Creates a list of known paper sizes.

Since gtkmm 2.12:

Parameters:

  include_custom | Whether to include custom paper sizes as defined in the page setup dialog.

Returns:
  A newly allocated list of newly allocated Gtk::PaperSize objects.

Glib::ustring Gtk::PaperSize::get_ppd_name | ( |  | ) | const

Gets the PPD name of the Gtk::PaperSize, which may be `0`.

Since gtkmm 2.10:

Returns:
  The PPD name of size.

double Gtk::PaperSize::get_width | ( | Unit | unit | ) | const

Gets the paper width of the Gtk::PaperSize, in units of unit.

Since gtkmm 2.10:

Parameters:

  unit | The unit for the return value.

Returns:
  The paper width.

const GtkPaperSize* Gtk::PaperSize::gobj | ( |  | ) | const`[inline]`

Provides access to the underlying C instance.

GtkPaperSize* Gtk::PaperSize::gobj | ( |  | ) | `[inline]`

Provides access to the underlying C instance.

GtkPaperSize* Gtk::PaperSize::gobj_copy | ( |  | ) | const

Provides access to the underlying C instance. The caller is responsible for freeing it. Use when directly setting fields in structs.

bool Gtk::PaperSize::is_custom | ( |  | ) | const

Returns `true` if size is not a standard paper size.

Returns:
  Whether size is a custom paper size.

Gtk::PaperSize::operator BoolExpr | ( |  | ) | const

Returns true if the PaperSize is a valid object.

For instance,

     if(papersize)
       do_something()

Since gtkmm 2.12:

PaperSize& Gtk::PaperSize::operator= | ( | const PaperSize& | other | ) |

void Gtk::PaperSize::save_to_key_file | ( | Glib::KeyFile & | key_file,
|  | const Glib::ustring & | group_name
| ) |  |

This function adds the paper size from size to key_file.

Since gtkmm 2.12:

Parameters:

  key_file | The KeyFile to save the paper size to.
  group_name | The group to add the settings to in key_file.

void Gtk::PaperSize::save_to_key_file | ( | Glib::KeyFile & | key_file | ) |

This function adds the paper size to key_file in the first group.

Since gtkmm 2.12:

Parameters:

  key_file | The Glib::KeyFile to save the paper size to.

void Gtk::PaperSize::set_size | ( | double | width,
|  | double | height,
|  | Unit | unit
| ) |  |

Changes the dimensions of a size to width x height.

Since gtkmm 2.10:

Parameters:

  width | The new width in units of unit.
  height | The new height in units of unit.
  unit | The unit for width and height.

void Gtk::PaperSize::swap | ( | PaperSize& | other | ) |

## Friends And Related Function Documentation

bool operator!= | ( | const PaperSize& | lhs,
|  | const PaperSize& | rhs
| ) |  | `[related]`

bool operator== | ( | const PaperSize& | lhs,
|  | const PaperSize& | rhs
| ) |  | `[related]`

void swap | ( | PaperSize& | lhs,
|  | PaperSize& | rhs
| ) |  | `[related]`

Parameters:

  lhs | The left-hand side
  rhs | The right-hand side

Gtk::PaperSize wrap | ( | GtkPaperSize * | object,
|  | bool | take_copy = `false`
| ) |  | `[related]`

A Glib::wrap() method for this object.

Parameters:

  object | The C instance.
  take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

Returns:
  A C++ instance that wraps this C instance.

## Member Data Documentation

GtkPaperSize* Gtk::PaperSize::gobject_`[protected]`

The documentation for this class was generated from the following file:

- gtkmm/papersize.h