1use crate::{ffi, PageSetup, PrintSettings};
6use glib::translate::*;
7
8glib::wrapper! {
9    #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
10    pub struct PrintSetup(Shared<ffi::GtkPrintSetup>);
11
12    match fn {
13        ref => |ptr| ffi::gtk_print_setup_ref(ptr),
14        unref => |ptr| ffi::gtk_print_setup_unref(ptr),
15        type_ => || ffi::gtk_print_setup_get_type(),
16    }
17}
18
19impl PrintSetup {
20    #[doc(alias = "gtk_print_setup_get_page_setup")]
21    #[doc(alias = "get_page_setup")]
22    pub fn page_setup(&self) -> PageSetup {
23        unsafe { from_glib_none(ffi::gtk_print_setup_get_page_setup(self.to_glib_none().0)) }
24    }
25
26    #[doc(alias = "gtk_print_setup_get_print_settings")]
27    #[doc(alias = "get_print_settings")]
28    pub fn print_settings(&self) -> PrintSettings {
29        unsafe {
30            from_glib_none(ffi::gtk_print_setup_get_print_settings(
31                self.to_glib_none().0,
32            ))
33        }
34    }
35}