GtkPrintSettings — Stores print settings
GObject ╰── GtkPrintSettings
#include <gtk/gtk.h>
A GtkPrintSettings object represents the settings of a print dialog in a system-independent way. The main use for this object is that once you’ve printed you can get a settings object that represents the settings the user chose, and the next time you print you can pass that object in so that the user doesn’t have to re-set all his settings.
Its also possible to enumerate the settings so that you can easily save the settings for the next time your app runs, or even store them in a document. The predefined keys try to use shared values as much as possible so that moving such a document between systems still works.
void (*GtkPrintSettingsFunc) (const char *key, const char *value, gpointer user_data);
GtkPrintSettings *
gtk_print_settings_new (void
);
Creates a new GtkPrintSettings object.
a new GtkPrintSettings object
GtkPrintSettings *
gtk_print_settings_copy (GtkPrintSettings *other
);
Copies a GtkPrintSettings object.
other |
a newly allocated copy of other
.
[transfer full]
gboolean gtk_print_settings_has_key (GtkPrintSettings *settings
,const char *key
);
Returns TRUE
, if a value is associated with key
.
settings | ||
key | a key |
TRUE
, if key
has a value
const char * gtk_print_settings_get (GtkPrintSettings *settings
,const char *key
);
Looks up the string value associated with key
.
settings | ||
key | a key |
the string value for key
void gtk_print_settings_set (GtkPrintSettings *settings
,const char *key
,const char *value
);
Associates value
with key
.
settings | ||
key | a key | |
value | a string value, or | [allow-none] |
void gtk_print_settings_unset (GtkPrintSettings *settings
,const char *key
);
Removes any value associated with key
. This has the same effect as setting the value to NULL
.
settings | ||
key | a key |
void gtk_print_settings_foreach (GtkPrintSettings *settings
,GtkPrintSettingsFunc func
,gpointer user_data
);
Calls func
for each key-value pair of settings
.
settings | ||
func | the function to call. | [scope call] |
user_data | user data for | [closure] |
gboolean gtk_print_settings_get_bool (GtkPrintSettings *settings
,const char *key
);
Returns the boolean represented by the value that is associated with key
.
The string “true” represents TRUE
, any other string FALSE
.
settings | ||
key | a key |
TRUE
, if key
maps to a true value.
void gtk_print_settings_set_bool (GtkPrintSettings *settings
,const char *key
,gboolean value
);
Sets key
to a boolean value.
settings | ||
key | a key | |
value | a boolean |
double gtk_print_settings_get_double (GtkPrintSettings *settings
,const char *key
);
Returns the double value associated with key
, or 0.
settings | ||
key | a key |
the double value of key
double gtk_print_settings_get_double_with_default (GtkPrintSettings *settings
,const char *key
,double def
);
Returns the floating point number represented by the value that is associated with key
, or default_val
if the value does not represent a floating point number.
Floating point numbers are parsed with g_ascii_strtod()
.
settings | ||
key | a key | |
def | the default value |
the floating point number associated with key
void gtk_print_settings_set_double (GtkPrintSettings *settings
,const char *key
,double value
);
Sets key
to a double value.
settings | ||
key | a key | |
value | a double value |
double gtk_print_settings_get_length (GtkPrintSettings *settings
,const char *key
,GtkUnit unit
);
Returns the value associated with key
, interpreted as a length. The returned value is converted to units
.
settings | ||
key | a key | |
unit | the unit of the return value |
the length value of key
, converted to unit
void gtk_print_settings_set_length (GtkPrintSettings *settings
,const char *key
,double value
,GtkUnit unit
);
Associates a length in units of unit
with key
.
settings | ||
key | a key | |
value | a length | |
unit | the unit of |
int gtk_print_settings_get_int (GtkPrintSettings *settings
,const char *key
);
Returns the integer value of key
, or 0.
settings | ||
key | a key |
the integer value of key
int gtk_print_settings_get_int_with_default (GtkPrintSettings *settings
,const char *key
,int def
);
Returns the value of key
, interpreted as an integer, or the default value.
settings | ||
key | a key | |
def | the default value |
the integer value of key
void gtk_print_settings_set_int (GtkPrintSettings *settings
,const char *key
,int value
);
Sets key
to an integer value.
settings | ||
key | a key | |
value | an integer |
const char *
gtk_print_settings_get_printer (GtkPrintSettings *settings
);
Convenience function to obtain the value of GTK_PRINT_SETTINGS_PRINTER
.
settings |
the printer name
void gtk_print_settings_set_printer (GtkPrintSettings *settings
,const char *printer
);
Convenience function to set GTK_PRINT_SETTINGS_PRINTER
to printer
.
settings | ||
printer | the printer name |
GtkPageOrientation
gtk_print_settings_get_orientation (GtkPrintSettings *settings
);
Get the value of GTK_PRINT_SETTINGS_ORIENTATION
, converted to a GtkPageOrientation.
settings |
the orientation
void gtk_print_settings_set_orientation (GtkPrintSettings *settings
,GtkPageOrientation orientation
);
Sets the value of GTK_PRINT_SETTINGS_ORIENTATION
.
settings | ||
orientation | a page orientation |
GtkPaperSize *
gtk_print_settings_get_paper_size (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_PAPER_FORMAT
, converted to a GtkPaperSize.
settings |
the paper size
void gtk_print_settings_set_paper_size (GtkPrintSettings *settings
,GtkPaperSize *paper_size
);
Sets the value of GTK_PRINT_SETTINGS_PAPER_FORMAT
, GTK_PRINT_SETTINGS_PAPER_WIDTH
and GTK_PRINT_SETTINGS_PAPER_HEIGHT
.
settings | ||
paper_size | a paper size |
double gtk_print_settings_get_paper_width (GtkPrintSettings *settings
,GtkUnit unit
);
Gets the value of GTK_PRINT_SETTINGS_PAPER_WIDTH
, converted to unit
.
settings | ||
unit | the unit for the return value |
the paper width, in units of unit
void gtk_print_settings_set_paper_width (GtkPrintSettings *settings
,double width
,GtkUnit unit
);
Sets the value of GTK_PRINT_SETTINGS_PAPER_WIDTH
.
settings | ||
width | the paper width | |
unit | the units of |
double gtk_print_settings_get_paper_height (GtkPrintSettings *settings
,GtkUnit unit
);
Gets the value of GTK_PRINT_SETTINGS_PAPER_HEIGHT
, converted to unit
.
settings | ||
unit | the unit for the return value |
the paper height, in units of unit
void gtk_print_settings_set_paper_height (GtkPrintSettings *settings
,double height
,GtkUnit unit
);
Sets the value of GTK_PRINT_SETTINGS_PAPER_HEIGHT
.
settings | ||
height | the paper height | |
unit | the units of |
gboolean
gtk_print_settings_get_use_color (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_USE_COLOR
.
settings |
whether to use color
void gtk_print_settings_set_use_color (GtkPrintSettings *settings
,gboolean use_color
);
Sets the value of GTK_PRINT_SETTINGS_USE_COLOR
.
settings | ||
use_color | whether to use color |
gboolean
gtk_print_settings_get_collate (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_COLLATE
.
settings |
whether to collate the printed pages
void gtk_print_settings_set_collate (GtkPrintSettings *settings
,gboolean collate
);
Sets the value of GTK_PRINT_SETTINGS_COLLATE
.
settings | ||
collate | whether to collate the output |
gboolean
gtk_print_settings_get_reverse (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_REVERSE
.
settings |
whether to reverse the order of the printed pages
void gtk_print_settings_set_reverse (GtkPrintSettings *settings
,gboolean reverse
);
Sets the value of GTK_PRINT_SETTINGS_REVERSE
.
settings | ||
reverse | whether to reverse the output |
GtkPrintDuplex
gtk_print_settings_get_duplex (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_DUPLEX
.
settings |
whether to print the output in duplex.
void gtk_print_settings_set_duplex (GtkPrintSettings *settings
,GtkPrintDuplex duplex
);
Sets the value of GTK_PRINT_SETTINGS_DUPLEX
.
settings | ||
duplex | a GtkPrintDuplex value |
GtkPrintQuality
gtk_print_settings_get_quality (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_QUALITY
.
settings |
the print quality
void gtk_print_settings_set_quality (GtkPrintSettings *settings
,GtkPrintQuality quality
);
Sets the value of GTK_PRINT_SETTINGS_QUALITY
.
settings | ||
quality | a GtkPrintQuality value |
int
gtk_print_settings_get_n_copies (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_N_COPIES
.
settings |
the number of copies to print
void gtk_print_settings_set_n_copies (GtkPrintSettings *settings
,int num_copies
);
Sets the value of GTK_PRINT_SETTINGS_N_COPIES
.
settings | ||
num_copies | the number of copies |
int
gtk_print_settings_get_number_up (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_NUMBER_UP
.
settings |
the number of pages per sheet
void gtk_print_settings_set_number_up (GtkPrintSettings *settings
,int number_up
);
Sets the value of GTK_PRINT_SETTINGS_NUMBER_UP
.
settings | ||
number_up | the number of pages per sheet |
GtkNumberUpLayout
gtk_print_settings_get_number_up_layout
(GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT
.
settings |
layout of page in number-up mode
void gtk_print_settings_set_number_up_layout (GtkPrintSettings *settings
,GtkNumberUpLayout number_up_layout
);
Sets the value of GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT
.
settings | ||
number_up_layout | a GtkNumberUpLayout value |
int
gtk_print_settings_get_resolution (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_RESOLUTION
.
settings |
the resolution in dpi
void gtk_print_settings_set_resolution (GtkPrintSettings *settings
,int resolution
);
Sets the values of GTK_PRINT_SETTINGS_RESOLUTION
, GTK_PRINT_SETTINGS_RESOLUTION_X
and GTK_PRINT_SETTINGS_RESOLUTION_Y
.
settings | ||
resolution | the resolution in dpi |
void gtk_print_settings_set_resolution_xy (GtkPrintSettings *settings
,int resolution_x
,int resolution_y
);
Sets the values of GTK_PRINT_SETTINGS_RESOLUTION
, GTK_PRINT_SETTINGS_RESOLUTION_X
and GTK_PRINT_SETTINGS_RESOLUTION_Y
.
settings | ||
resolution_x | the horizontal resolution in dpi | |
resolution_y | the vertical resolution in dpi |
int
gtk_print_settings_get_resolution_x (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_RESOLUTION_X
.
settings |
the horizontal resolution in dpi
int
gtk_print_settings_get_resolution_y (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_RESOLUTION_Y
.
settings |
the vertical resolution in dpi
double
gtk_print_settings_get_printer_lpi (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_PRINTER_LPI
.
settings |
the resolution in lpi (lines per inch)
void gtk_print_settings_set_printer_lpi (GtkPrintSettings *settings
,double lpi
);
Sets the value of GTK_PRINT_SETTINGS_PRINTER_LPI
.
settings | ||
lpi | the resolution in lpi (lines per inch) |
double
gtk_print_settings_get_scale (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_SCALE
.
settings |
the scale in percent
void gtk_print_settings_set_scale (GtkPrintSettings *settings
,double scale
);
Sets the value of GTK_PRINT_SETTINGS_SCALE
.
settings | ||
scale | the scale in percent |
GtkPrintPages
gtk_print_settings_get_print_pages (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_PRINT_PAGES
.
settings |
which pages to print
void gtk_print_settings_set_print_pages (GtkPrintSettings *settings
,GtkPrintPages pages
);
Sets the value of GTK_PRINT_SETTINGS_PRINT_PAGES
.
settings | ||
pages | a GtkPrintPages value |
GtkPageRange * gtk_print_settings_get_page_ranges (GtkPrintSettings *settings
,int *num_ranges
);
Gets the value of GTK_PRINT_SETTINGS_PAGE_RANGES
.
settings | ||
num_ranges | return location for the length of the returned array. | [out] |
an array of GtkPageRanges. Use g_free()
to free the array when it is no longer needed.
[array length=num_ranges][transfer full]
void gtk_print_settings_set_page_ranges (GtkPrintSettings *settings
,GtkPageRange *page_ranges
,int num_ranges
);
Sets the value of GTK_PRINT_SETTINGS_PAGE_RANGES
.
settings | ||
page_ranges | an array of GtkPageRanges. | [array length=num_ranges] |
num_ranges | the length of |
GtkPageSet
gtk_print_settings_get_page_set (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_PAGE_SET
.
settings |
the set of pages to print
void gtk_print_settings_set_page_set (GtkPrintSettings *settings
,GtkPageSet page_set
);
Sets the value of GTK_PRINT_SETTINGS_PAGE_SET
.
settings | ||
page_set | a GtkPageSet value |
const char *
gtk_print_settings_get_default_source (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_DEFAULT_SOURCE
.
settings |
the default source
void gtk_print_settings_set_default_source (GtkPrintSettings *settings
,const char *default_source
);
Sets the value of GTK_PRINT_SETTINGS_DEFAULT_SOURCE
.
settings | ||
default_source | the default source |
const char *
gtk_print_settings_get_media_type (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_MEDIA_TYPE
.
The set of media types is defined in PWG 5101.1-2002 PWG.
settings |
the media type
void gtk_print_settings_set_media_type (GtkPrintSettings *settings
,const char *media_type
);
Sets the value of GTK_PRINT_SETTINGS_MEDIA_TYPE
.
The set of media types is defined in PWG 5101.1-2002 PWG.
settings | ||
media_type | the media type |
const char *
gtk_print_settings_get_dither (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_DITHER
.
settings |
the dithering that is used
void gtk_print_settings_set_dither (GtkPrintSettings *settings
,const char *dither
);
Sets the value of GTK_PRINT_SETTINGS_DITHER
.
settings | ||
dither | the dithering that is used |
const char *
gtk_print_settings_get_finishings (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_FINISHINGS
.
settings |
the finishings
void gtk_print_settings_set_finishings (GtkPrintSettings *settings
,const char *finishings
);
Sets the value of GTK_PRINT_SETTINGS_FINISHINGS
.
settings | ||
finishings | the finishings |
const char *
gtk_print_settings_get_output_bin (GtkPrintSettings *settings
);
Gets the value of GTK_PRINT_SETTINGS_OUTPUT_BIN
.
settings |
the output bin
void gtk_print_settings_set_output_bin (GtkPrintSettings *settings
,const char *output_bin
);
Sets the value of GTK_PRINT_SETTINGS_OUTPUT_BIN
.
settings | ||
output_bin | the output bin |
GtkPrintSettings * gtk_print_settings_new_from_file (const char *file_name
,GError **error
);
Reads the print settings from file_name
. Returns a new GtkPrintSettings object with the restored settings, or NULL
if an error occurred. If the file could not be loaded then error is set to either a GFileError or GKeyFileError. See gtk_print_settings_to_file()
.
file_name | the filename to read the settings from. | [type filename] |
error | return location for errors, or | [allow-none] |
the restored GtkPrintSettings
GtkPrintSettings * gtk_print_settings_new_from_key_file (GKeyFile *key_file
,const char *group_name
,GError **error
);
Reads the print settings from the group group_name
in key_file
. Returns a new GtkPrintSettings object with the restored settings, or NULL
if an error occurred. If the file could not be loaded then error is set to either a GFileError or GKeyFileError.
key_file | the GKeyFile to retrieve the settings from | |
group_name | the name of the group to use, or | [allow-none] |
error | return location for errors, or | [allow-none] |
the restored GtkPrintSettings
GtkPrintSettings *
gtk_print_settings_new_from_gvariant (GVariant *variant
);
Deserialize print settings from an a{sv} variant in the format produced by gtk_print_settings_to_gvariant()
.
variant | an a{sv} GVariant |
gboolean gtk_print_settings_load_file (GtkPrintSettings *settings
,const char *file_name
,GError **error
);
Reads the print settings from file_name
. If the file could not be loaded then error is set to either a GFileError or GKeyFileError. See gtk_print_settings_to_file()
.
settings | ||
file_name | the filename to read the settings from. | [type filename] |
error | return location for errors, or | [allow-none] |
TRUE
on success
gboolean gtk_print_settings_load_key_file (GtkPrintSettings *settings
,GKeyFile *key_file
,const char *group_name
,GError **error
);
Reads the print settings from the group group_name
in key_file
. If the file could not be loaded then error is set to either a GFileError or GKeyFileError.
settings | ||
key_file | the GKeyFile to retrieve the settings from | |
group_name | the name of the group to use, or | [allow-none] |
error | return location for errors, or | [allow-none] |
TRUE
on success
gboolean gtk_print_settings_to_file (GtkPrintSettings *settings
,const char *file_name
,GError **error
);
This function saves the print settings from settings
to file_name
. If the file could not be loaded then error is set to either a GFileError or GKeyFileError.
settings | ||
file_name | the file to save to. | [type filename] |
error | return location for errors, or | [allow-none] |
TRUE
on success
void gtk_print_settings_to_key_file (GtkPrintSettings *settings
,GKeyFile *key_file
,const char *group_name
);
This function adds the print settings from settings
to key_file
.
settings | ||
key_file | the GKeyFile to save the print settings to | |
group_name | the group to add the settings to in | [nullable] |
GVariant *
gtk_print_settings_to_gvariant (GtkPrintSettings *settings
);
Serialize print settings to an a{sv} variant.
settings |
a new, floating, GVariant.
[transfer none]
typedef struct _GtkPrintSettings GtkPrintSettings;
#define GTK_PRINT_SETTINGS_PRINTER "printer"
See also gtk_print_settings_set_orientation()
.
GTK_PAGE_ORIENTATION_PORTRAIT | Portrait mode. | |
GTK_PAGE_ORIENTATION_LANDSCAPE | Landscape mode. | |
GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT | Reverse portrait mode. | |
GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE | Reverse landscape mode. |
#define GTK_PRINT_SETTINGS_ORIENTATION "orientation"
#define GTK_PRINT_SETTINGS_PAPER_FORMAT "paper-format"
#define GTK_PRINT_SETTINGS_PAPER_WIDTH "paper-width"
#define GTK_PRINT_SETTINGS_PAPER_HEIGHT "paper-height"
#define GTK_PRINT_SETTINGS_USE_COLOR "use-color"
#define GTK_PRINT_SETTINGS_COLLATE "collate"
#define GTK_PRINT_SETTINGS_REVERSE "reverse"
See also gtk_print_settings_set_duplex()
.
GTK_PRINT_DUPLEX_SIMPLEX | No duplex. | |
GTK_PRINT_DUPLEX_HORIZONTAL | Horizontal duplex. | |
GTK_PRINT_DUPLEX_VERTICAL | Vertical duplex. |
#define GTK_PRINT_SETTINGS_DUPLEX "duplex"
See also gtk_print_settings_set_quality()
.
GTK_PRINT_QUALITY_LOW | Low quality. | |
GTK_PRINT_QUALITY_NORMAL | Normal quality. | |
GTK_PRINT_QUALITY_HIGH | High quality. | |
GTK_PRINT_QUALITY_DRAFT | Draft quality. |
#define GTK_PRINT_SETTINGS_QUALITY "quality"
#define GTK_PRINT_SETTINGS_N_COPIES "n-copies"
#define GTK_PRINT_SETTINGS_NUMBER_UP "number-up"
Used to determine the layout of pages on a sheet when printing multiple pages per sheet.
GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_TOP_TO_BOTTOM |
| |
GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_BOTTOM_TO_TOP |
| |
GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_TOP_TO_BOTTOM |
| |
GTK_NUMBER_UP_LAYOUT_RIGHT_TO_LEFT_BOTTOM_TO_TOP |
| |
GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_LEFT_TO_RIGHT |
| |
GTK_NUMBER_UP_LAYOUT_TOP_TO_BOTTOM_RIGHT_TO_LEFT |
| |
GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_LEFT_TO_RIGHT |
| |
GTK_NUMBER_UP_LAYOUT_BOTTOM_TO_TOP_RIGHT_TO_LEFT |
|
#define GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT "number-up-layout"
#define GTK_PRINT_SETTINGS_RESOLUTION "resolution"
#define GTK_PRINT_SETTINGS_RESOLUTION_X "resolution-x"
#define GTK_PRINT_SETTINGS_RESOLUTION_Y "resolution-y"
#define GTK_PRINT_SETTINGS_PRINTER_LPI "printer-lpi"
#define GTK_PRINT_SETTINGS_SCALE "scale"
See also gtk_print_job_set_pages()
GTK_PRINT_PAGES_ALL | All pages. | |
GTK_PRINT_PAGES_CURRENT | Current page. | |
GTK_PRINT_PAGES_RANGES | Range of pages. | |
GTK_PRINT_PAGES_SELECTION | Selected pages. |
#define GTK_PRINT_SETTINGS_PRINT_PAGES "print-pages"
struct GtkPageRange { int start; int end; };
See also gtk_print_settings_set_page_ranges()
.
int | start of page range. | |
int | end of page range. |
#define GTK_PRINT_SETTINGS_PAGE_RANGES "page-ranges"
See also gtk_print_job_set_page_set()
.
GTK_PAGE_SET_ALL | All pages. | |
GTK_PAGE_SET_EVEN | Even pages. | |
GTK_PAGE_SET_ODD | Odd pages. |
#define GTK_PRINT_SETTINGS_PAGE_SET "page-set"
#define GTK_PRINT_SETTINGS_DEFAULT_SOURCE "default-source"
#define GTK_PRINT_SETTINGS_MEDIA_TYPE "media-type"
#define GTK_PRINT_SETTINGS_DITHER "dither"
#define GTK_PRINT_SETTINGS_FINISHINGS "finishings"
#define GTK_PRINT_SETTINGS_OUTPUT_BIN "output-bin"
#define GTK_PRINT_SETTINGS_OUTPUT_DIR "output-dir"
The key used by the “Print to file” printer to store the directory to which the output should be written.
#define GTK_PRINT_SETTINGS_OUTPUT_BASENAME "output-basename"
The key used by the “Print to file” printer to store the file name of the output without the path to the directory and the file extension.
#define GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT "output-file-format"
The key used by the “Print to file” printer to store the format of the output. The supported values are “PS” and “PDF”.
#define GTK_PRINT_SETTINGS_OUTPUT_URI "output-uri"
The key used by the “Print to file” printer to store the URI to which the output should be written. GTK itself supports only “file://” URIs.
#define GTK_PRINT_SETTINGS_WIN32_DRIVER_EXTRA "win32-driver-extra"
#define GTK_PRINT_SETTINGS_WIN32_DRIVER_VERSION "win32-driver-version"
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk4/4.0/GtkPrintSettings.html