1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
use crate::IconTheme;
use glib::translate::*;
impl IconTheme {
#[doc(alias = "gtk_icon_theme_get_icon_sizes")]
#[doc(alias = "get_icon_sizes")]
pub fn icon_sizes(&self, icon_name: &str) -> Vec<i32> {
unsafe {
let sizes_ptr = ffi::gtk_icon_theme_get_icon_sizes(
self.to_glib_none().0,
icon_name.to_glib_none().0,
);
let mut sizes = Vec::new();
let mut i = 0;
loop {
let ret = std::ptr::read(sizes_ptr.add(i));
if ret == 0 {
break;
}
sizes.push(ret);
i += 1;
}
glib::ffi::g_free(sizes_ptr as *mut _);
sizes
}
}
}