Skip to main content

atk/auto/
range.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from gir-files (https://github.com/gtk-rs/gir-files)
3// DO NOT EDIT
4
5use crate::ffi;
6use glib::translate::*;
7
8glib::wrapper! {
9    /// A given range or subrange, to be used with [`Value`][crate::Value]
10    ///
11    /// [`Range`][crate::Range] are used on [`Value`][crate::Value], in order to represent the full
12    /// range of a given component (for example an slider or a range
13    /// control), or to define each individual subrange this full range is
14    /// splitted if available. See [`Value`][crate::Value] documentation for further
15    /// details.
16    #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
17    pub struct Range(Boxed<ffi::AtkRange>);
18
19    match fn {
20        copy => |ptr| ffi::atk_range_copy(mut_override(ptr)),
21        free => |ptr| ffi::atk_range_free(ptr),
22        type_ => || ffi::atk_range_get_type(),
23    }
24}
25
26impl Range {
27    /// Creates a new [`Range`][crate::Range].
28    /// ## `lower_limit`
29    /// inferior limit for this range
30    /// ## `upper_limit`
31    /// superior limit for this range
32    /// ## `description`
33    /// human readable description of this range.
34    ///
35    /// # Returns
36    ///
37    /// a new [`Range`][crate::Range]
38    #[doc(alias = "atk_range_new")]
39    pub fn new(lower_limit: f64, upper_limit: f64, description: &str) -> Range {
40        assert_initialized_main_thread!();
41        unsafe {
42            from_glib_full(ffi::atk_range_new(
43                lower_limit,
44                upper_limit,
45                description.to_glib_none().0,
46            ))
47        }
48    }
49
50    /// Returns the human readable description of `self`
51    ///
52    /// # Returns
53    ///
54    /// the human-readable description of `self`
55    #[doc(alias = "atk_range_get_description")]
56    #[doc(alias = "get_description")]
57    pub fn description(&mut self) -> Option<glib::GString> {
58        unsafe { from_glib_none(ffi::atk_range_get_description(self.to_glib_none_mut().0)) }
59    }
60
61    /// Returns the lower limit of `self`
62    ///
63    /// # Returns
64    ///
65    /// the lower limit of `self`
66    #[doc(alias = "atk_range_get_lower_limit")]
67    #[doc(alias = "get_lower_limit")]
68    pub fn lower_limit(&mut self) -> f64 {
69        unsafe { ffi::atk_range_get_lower_limit(self.to_glib_none_mut().0) }
70    }
71
72    /// Returns the upper limit of `self`
73    ///
74    /// # Returns
75    ///
76    /// the upper limit of `self`
77    #[doc(alias = "atk_range_get_upper_limit")]
78    #[doc(alias = "get_upper_limit")]
79    pub fn upper_limit(&mut self) -> f64 {
80        unsafe { ffi::atk_range_get_upper_limit(self.to_glib_none_mut().0) }
81    }
82}