1use atk_sys;
6use glib::translate::*;
7use glib::GString;
8
9glib_wrapper! {
10 #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
11 pub struct Range(Boxed<atk_sys::AtkRange>);
12
13 match fn {
14 copy => |ptr| atk_sys::atk_range_copy(mut_override(ptr)),
15 free => |ptr| atk_sys::atk_range_free(ptr),
16 get_type => || atk_sys::atk_range_get_type(),
17 }
18}
19
20impl Range {
21 pub fn new(lower_limit: f64, upper_limit: f64, description: &str) -> Range {
22 assert_initialized_main_thread!();
23 unsafe {
24 from_glib_full(atk_sys::atk_range_new(
25 lower_limit,
26 upper_limit,
27 description.to_glib_none().0,
28 ))
29 }
30 }
31
32 pub fn get_description(&mut self) -> Option<GString> {
33 unsafe {
34 from_glib_none(atk_sys::atk_range_get_description(
35 self.to_glib_none_mut().0,
36 ))
37 }
38 }
39
40 pub fn get_lower_limit(&mut self) -> f64 {
41 unsafe { atk_sys::atk_range_get_lower_limit(self.to_glib_none_mut().0) }
42 }
43
44 pub fn get_upper_limit(&mut self) -> f64 {
45 unsafe { atk_sys::atk_range_get_upper_limit(self.to_glib_none_mut().0) }
46 }
47}