IconIF

#GIcon is a very minimal interface for icons. It provides functions for checking the equality of two icons, hashing of icons and serializing an icon to and from strings.

#GIcon does not provide the actual pixmap for the icon as this is out of GIO's scope, however implementations of #GIcon may contain the name of an icon (see #GThemedIcon), or the path to an icon (see #GLoadableIcon).

To obtain a hash of a #GIcon, see g_icon_hash().

To check if two #GIcons are equal, see g_icon_equal().

For serializing a #GIcon, use g_icon_serialize() and g_icon_deserialize().

If you want to consume #GIcon (for example, in a toolkit) you must be prepared to handle at least the three following cases: #GLoadableIcon, #GThemedIcon and #GEmblemedIcon. It may also make sense to have fast-paths for other cases (like handling #GdkPixbuf directly, for example) but all compliant #GIcon implementations outside of GIO must implement #GLoadableIcon.

If your application or library provides one or more #GIcon implementations you need to ensure that your new implementation also implements #GLoadableIcon. Additionally, you must provide an implementation of g_icon_serialize() that gives a result that is understood by g_icon_deserialize(), yielding one of the built-in icon types.

Members

Functions

equal
bool equal(IconIF icon2)

Checks if two icons are equal.

getIconStruct
GIcon* getIconStruct(bool transferOwnership)

Get the main Gtk struct

getStruct
void* getStruct()

the main Gtk struct as a void*

serialize
Variant serialize()

Serializes a #GIcon into a #GVariant. An equivalent #GIcon can be retrieved back by calling g_icon_deserialize() on the returned value. As serialization will avoid using raw icon data when possible, it only makes sense to transfer the #GVariant between processes on the same machine, (as opposed to over the network), and within the same file system namespace.

toString
string toString()

Generates a textual representation of @icon that can be used for serialization such as when passing @icon to a different process or saving it to persistent storage. Use g_icon_new_for_string() to get @icon back from the returned string.

Static functions

deserialize
IconIF deserialize(Variant value)

Deserializes a #GIcon previously serialized using g_icon_serialize().

getType
GType getType()
hash
uint hash(void* icon)

Gets a hash for an icon.

Meta