2 #include "icon_tools.h"
13 GValue *icons = ghb_resource_get("icons");
14 ghb_dict_iter_init(&iter, icons);
15 // middle (void*) cast prevents gcc warning "defreferencing type-punned
16 // pointer will break strict-aliasing rules"
17 while (g_hash_table_iter_next(
18 &iter, (gpointer*)(void*)&name, (gpointer*)(void*)&gval))
20 gint colorspace, bps, width, height, rowstride;
26 colorspace = ghb_value_int(ghb_dict_lookup(gval, "colorspace"));
27 alpha = ghb_value_boolean(ghb_dict_lookup(gval, "alpha"));
28 bps = ghb_value_int(ghb_dict_lookup(gval, "bps"));
29 width = ghb_value_int(ghb_dict_lookup(gval, "width"));
30 height = ghb_value_int(ghb_dict_lookup(gval, "height"));
31 rowstride = ghb_value_int(ghb_dict_lookup(gval, "rowstride"));
32 rd = g_value_get_boxed(ghb_dict_lookup(gval, "data"));
33 pb = gdk_pixbuf_new_from_data(
34 rd->data, colorspace, alpha, bps,
35 width, height, rowstride,
37 size = gdk_pixbuf_get_height(pb);
38 gtk_icon_theme_add_builtin_icon(name, size, pb);