gtk/page_range.rs
1// Take a look at the license at the top of the repository in the LICENSE file.
2
3use glib::translate::*;
4use std::fmt;
5
6glib::wrapper! {
7 /// See also [`PrintSettings::set_page_ranges()`][crate::PrintSettings::set_page_ranges()].
8 #[doc(alias = "GtkPageRange")]
9 pub struct PageRange(BoxedInline<ffi::GtkPageRange>);
10}
11
12impl PageRange {
13 pub fn new(start: i32, end: i32) -> PageRange {
14 skip_assert_initialized!();
15 unsafe { PageRange::unsafe_from(ffi::GtkPageRange { start, end }) }
16 }
17
18 #[doc(alias = "get_start")]
19 pub fn start(&self) -> i32 {
20 self.inner.start
21 }
22
23 #[doc(alias = "get_end")]
24 pub fn end(&self) -> i32 {
25 self.inner.end
26 }
27}
28
29impl fmt::Debug for PageRange {
30 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
31 f.debug_struct("PageRange")
32 .field("start", &self.start())
33 .field("end", &self.end())
34 .finish()
35 }
36}