1use crate::ffi;
6use glib::translate::*;
7
8glib::wrapper! {
9 #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
10 pub struct ScrollInfo(Shared<ffi::GtkScrollInfo>);
11
12 match fn {
13 ref => |ptr| ffi::gtk_scroll_info_ref(ptr),
14 unref => |ptr| ffi::gtk_scroll_info_unref(ptr),
15 type_ => || ffi::gtk_scroll_info_get_type(),
16 }
17}
18
19impl ScrollInfo {
20 #[doc(alias = "gtk_scroll_info_new")]
21 pub fn new() -> ScrollInfo {
22 assert_initialized_main_thread!();
23 unsafe { from_glib_full(ffi::gtk_scroll_info_new()) }
24 }
25
26 #[doc(alias = "gtk_scroll_info_get_enable_horizontal")]
27 #[doc(alias = "get_enable_horizontal")]
28 pub fn enables_horizontal(&self) -> bool {
29 unsafe {
30 from_glib(ffi::gtk_scroll_info_get_enable_horizontal(
31 self.to_glib_none().0,
32 ))
33 }
34 }
35
36 #[doc(alias = "gtk_scroll_info_get_enable_vertical")]
37 #[doc(alias = "get_enable_vertical")]
38 pub fn enables_vertical(&self) -> bool {
39 unsafe {
40 from_glib(ffi::gtk_scroll_info_get_enable_vertical(
41 self.to_glib_none().0,
42 ))
43 }
44 }
45
46 #[doc(alias = "gtk_scroll_info_set_enable_horizontal")]
47 pub fn set_enable_horizontal(&self, horizontal: bool) {
48 unsafe {
49 ffi::gtk_scroll_info_set_enable_horizontal(
50 self.to_glib_none().0,
51 horizontal.into_glib(),
52 );
53 }
54 }
55
56 #[doc(alias = "gtk_scroll_info_set_enable_vertical")]
57 pub fn set_enable_vertical(&self, vertical: bool) {
58 unsafe {
59 ffi::gtk_scroll_info_set_enable_vertical(self.to_glib_none().0, vertical.into_glib());
60 }
61 }
62}
63
64#[cfg(feature = "v4_12")]
65#[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
66impl Default for ScrollInfo {
67 fn default() -> Self {
68 Self::new()
69 }
70}