static IconCache * icon_cache_new (GtkWidget * for_widget, int icon_size) { IconCache * icon_cache; g_return_val_if_fail (for_widget != NULL, NULL); icon_cache = g_new0 (IconCache, 1); icon_cache->icon_theme = gtk_icon_theme_get_for_screen (gtk_widget_get_screen (for_widget)); icon_cache->icon_size = get_size_in_pixels (for_widget, icon_size); icon_cache->cache = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, g_object_unref); g_hash_table_insert (icon_cache->cache, (void*)VOID_PIXBUF_KEY, create_void_pixbuf (icon_cache->icon_size, icon_cache->icon_size)); return icon_cache; }
GthIconCache * gth_icon_cache_new (GtkIconTheme *icon_theme, int icon_size) { GthIconCache *icon_cache; g_return_val_if_fail (icon_theme != NULL, NULL); icon_cache = g_new0 (GthIconCache, 1); icon_cache->icon_theme = icon_theme; icon_cache->icon_size = icon_size; icon_cache->cache = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, g_object_unref); g_hash_table_insert (icon_cache->cache, VOID_PIXBUF_KEY, create_void_pixbuf (icon_cache->icon_size, icon_cache->icon_size)); return icon_cache; }