Skip to main content

sourceview5/auto/
functions.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from
3// from gir-files (https://github.com/gtk-rs/gir-files)
4// DO NOT EDIT
5
6use 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}