GdkPixbuf object from stock icons
Hi! I was looking for a non-hackish way of creating a GdkPixbuf object out of stock icon. The first thing that comes to mind is: --CODE SNIPPET BEGIN-- image = gtk_image_new_from_stock (stock_id, size); pixbuf = gtk_image_get_pixbuf (image); --CODE SNIPPET END- However that doesn't work since the created image if of storage type GTK_IMAGE_STOCK and gtk_image_get_pixbuf() doesn't like that. Following is the only way i could come up with: --CODE SNIPPET BEGIN-- image = gtk_image_new (); pixbuf = gtk_widget_render_icon (image, stock_id, size, NULL); --CODE SNIPPET END- This one works quite fine but is obviously hackish, Does anyone know of any better way of doing the same? -- Regards, Zeeshan Ali FSF member#5124 ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
GdkPixbuf object from stock icons
Hi! I was looking for a non-hackish way of creating a GdkPixbuf object out of stock icon. The first thing that comes to mind is: --CODE SNIPPET BEGIN-- image = gtk_image_new_from_stock (stock_id, size); pixbuf = gtk_image_get_pixbuf (image); --CODE SNIPPET END- However that doesn't work since the created image if of storage type GTK_IMAGE_STOCK and gtk_image_get_pixbuf() doesn't like that. Following is the only way i could come up with: --CODE SNIPPET BEGIN-- image = gtk_image_new (); pixbuf = gtk_widget_render_icon (image, stock_id, size, NULL); --CODE SNIPPET END- This one works quite fine but is obviously hackish, Does anyone know of any better way of doing the same? -- Regards, Zeeshan Ali FSF member#5124 ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: GdkPixbuf object from stock icons
On Sat, Sep 22, 2007 at 03:17:51PM +0300, Zeeshan Ali wrote: I was looking for a non-hackish way of creating a GdkPixbuf object out of stock icon. The first thing that comes to mind is: --CODE SNIPPET BEGIN-- image = gtk_image_new_from_stock (stock_id, size); pixbuf = gtk_image_get_pixbuf (image); --CODE SNIPPET END- However that doesn't work since the created image if of storage type GTK_IMAGE_STOCK and gtk_image_get_pixbuf() doesn't like that. Yes, the image is not backed by a pixbuf therefore it cannot return it (a GtkImage method to render the image to a pixbuf whatever it is backed with could be perhaps written, but it would be something different). Following is the only way i could come up with: --CODE SNIPPET BEGIN-- image = gtk_image_new (); pixbuf = gtk_widget_render_icon (image, stock_id, size, NULL); --CODE SNIPPET END- This one works quite fine but is obviously hackish, Does anyone know of any better way of doing the same? Not so obviously. The primary difficulty is that your problem is ill-posed. The stock icon look is affected by theme, state and whatnot. It can even differ for different widgets. So depending on your preferred amount of manual work you have the choice of gtk_widget_render_icon() gtk_icon_set_render_icon() gtk_style_render_icon() The most raw method is gtk_icon_theme_lookup_icon() + gtk_icon_info_load_icon() However, the icon will probably end up rendered on some widget -- and then use gtk_widget_render_icon() for this widget. Yeti -- http://gwyddion.net/ ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: GdkPixbuf object from stock icons
Hi! Not so obviously. The primary difficulty is that your problem is ill-posed. The stock icon look is affected by theme, state and whatnot. It can even differ for different widgets. I know that and that is why i only using the stock icons where the change of actual icon image doesn't make any difference to the user of my app. i-e use GTK_STOCK_DIRECTORY to represent a directory. So depending on your preferred amount of manual work you have the choice of gtk_widget_render_icon() gtk_icon_set_render_icon() gtk_style_render_icon() The most raw method is gtk_icon_theme_lookup_icon() + gtk_icon_info_load_icon() I thought icon theme is different from stock icons? -- Regards, Zeeshan Ali FSF member#5124 ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list