IconSource.this
()Creates a new #GtkIconSource. A #GtkIconSource contains a #GdkPixbuf (or image filename) that serves as the base image for one or more of the icons in a #GtkIconSet, along with a specification for which icons in the icon set will be based on that pixbuf or image file. An icon set contains a set of icons that represent “the same” logical concept in different states, different global text directions, and different sizes.
So for example a web browser’s “Back to Previous Page” icon might point in a different direction in Hebrew and in English; it might look different when insensitive; and it might change size depending on toolbar mode (small/large icons). So a single icon set would contain all those variants of the icon. #GtkIconSet contains a list of #GtkIconSource from which it can derive specific icon variants in the set.
In the simplest case, #GtkIconSet contains one source pixbuf from which it derives all variants. The convenience function [gtk.icon_set.IconSet.newFromPixbuf] handles this case; if you only have one source pixbuf, just use that function.
If you want to use a different base pixbuf for different icon variants, you create multiple icon sources, mark which variants they’ll be used to create, and add them to the icon set with [gtk.icon_set.IconSet.addSource].
By default, the icon source has all parameters wildcarded. That is, the icon source will be used as the base icon for any desired text direction, widget state, or icon size.