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