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