[go: up one dir, main page]

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}