sourceview5/auto/
functions.rs1use crate::ffi;
7use glib::translate::*;
8#[cfg(feature = "v5_2")]
9#[cfg_attr(docsrs, doc(cfg(feature = "v5_2")))]
10use std::boxed::Box as Box_;
11
12#[doc(alias = "gtk_source_check_version")]
13pub fn check_version(major: u32, minor: u32, micro: u32) -> bool {
14 assert_initialized_main_thread!();
15 unsafe { from_glib(ffi::gtk_source_check_version(major, minor, micro)) }
16}
17
18#[doc(alias = "gtk_source_finalize")]
19pub fn finalize() {
20 assert_initialized_main_thread!();
21 unsafe {
22 ffi::gtk_source_finalize();
23 }
24}
25
26#[doc(alias = "gtk_source_get_major_version")]
27#[doc(alias = "get_major_version")]
28pub fn major_version() -> u32 {
29 assert_initialized_main_thread!();
30 unsafe { ffi::gtk_source_get_major_version() }
31}
32
33#[doc(alias = "gtk_source_get_micro_version")]
34#[doc(alias = "get_micro_version")]
35pub fn micro_version() -> u32 {
36 assert_initialized_main_thread!();
37 unsafe { ffi::gtk_source_get_micro_version() }
38}
39
40#[doc(alias = "gtk_source_get_minor_version")]
41#[doc(alias = "get_minor_version")]
42pub fn minor_version() -> u32 {
43 assert_initialized_main_thread!();
44 unsafe { ffi::gtk_source_get_minor_version() }
45}
46
47#[doc(alias = "gtk_source_init")]
48pub fn init() {
49 assert_initialized_main_thread!();
50 unsafe {
51 ffi::gtk_source_init();
52 }
53}
54
55#[cfg(feature = "v5_2")]
56#[cfg_attr(docsrs, doc(cfg(feature = "v5_2")))]
57#[doc(alias = "gtk_source_scheduler_add")]
58pub fn scheduler_add<P: Fn(i64) -> bool + Send + Sync + 'static>(callback: P) -> usize {
59 assert_initialized_main_thread!();
60 let callback_data: Box_<P> = Box_::new(callback);
61 unsafe extern "C" fn callback_func<P: Fn(i64) -> bool + Send + Sync + 'static>(
62 deadline: i64,
63 user_data: glib::ffi::gpointer,
64 ) -> glib::ffi::gboolean {
65 unsafe {
66 let callback = &*(user_data as *mut P);
67 (*callback)(deadline).into_glib()
68 }
69 }
70 let callback = Some(callback_func::<P> as _);
71 let super_callback0: Box_<P> = callback_data;
72 unsafe { ffi::gtk_source_scheduler_add(callback, Box_::into_raw(super_callback0) as *mut _) }
73}
74
75#[cfg(feature = "v5_2")]
76#[cfg_attr(docsrs, doc(cfg(feature = "v5_2")))]
77#[doc(alias = "gtk_source_scheduler_add_full")]
78pub fn scheduler_add_full<P: Fn(i64) -> bool + Send + Sync + 'static>(callback: P) -> usize {
79 assert_initialized_main_thread!();
80 let callback_data: Box_<P> = Box_::new(callback);
81 unsafe extern "C" fn callback_func<P: Fn(i64) -> bool + Send + Sync + 'static>(
82 deadline: i64,
83 user_data: glib::ffi::gpointer,
84 ) -> glib::ffi::gboolean {
85 unsafe {
86 let callback = &*(user_data as *mut P);
87 (*callback)(deadline).into_glib()
88 }
89 }
90 let callback = Some(callback_func::<P> as _);
91 unsafe extern "C" fn notify_func<P: Fn(i64) -> bool + Send + Sync + 'static>(
92 data: glib::ffi::gpointer,
93 ) {
94 unsafe {
95 let _callback = Box_::from_raw(data as *mut P);
96 }
97 }
98 let destroy_call2 = Some(notify_func::<P> as _);
99 let super_callback0: Box_<P> = callback_data;
100 unsafe {
101 ffi::gtk_source_scheduler_add_full(
102 callback,
103 Box_::into_raw(super_callback0) as *mut _,
104 destroy_call2,
105 )
106 }
107}
108
109#[cfg(feature = "v5_2")]
110#[cfg_attr(docsrs, doc(cfg(feature = "v5_2")))]
111#[doc(alias = "gtk_source_scheduler_remove")]
112pub fn scheduler_remove(handler_id: usize) {
113 assert_initialized_main_thread!();
114 unsafe {
115 ffi::gtk_source_scheduler_remove(handler_id);
116 }
117}
118
119#[doc(alias = "gtk_source_utils_escape_search_text")]
120pub fn utils_escape_search_text(text: &str) -> glib::GString {
121 assert_initialized_main_thread!();
122 unsafe {
123 from_glib_full(ffi::gtk_source_utils_escape_search_text(
124 text.to_glib_none().0,
125 ))
126 }
127}
128
129#[doc(alias = "gtk_source_utils_unescape_search_text")]
130pub fn utils_unescape_search_text(text: &str) -> glib::GString {
131 assert_initialized_main_thread!();
132 unsafe {
133 from_glib_full(ffi::gtk_source_utils_unescape_search_text(
134 text.to_glib_none().0,
135 ))
136 }
137}