gtkmm: Gtk::IconInfo Class Reference

gtkmm 3.24.7

Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | Related Functions | List of all members
Gtk::IconInfo Class Reference

`#include <gtkmm/iconinfo.h>`

## Public Types
typedef const void * | BoolExpr
| This typedef is just to make it more obvious that our operator const void* should be used like operator bool(). More...

## Public Member Functions
| IconInfo ()
| IconInfo (GtkIconInfo * gobject, bool make_a_copy=true)
| IconInfo (const IconInfo & other)
IconInfo & | operator= (const IconInfo & other)
| IconInfo (IconInfo && other) noexcept
IconInfo & | operator= (IconInfo && other) noexcept
| ~IconInfo () noexcept
void | swap (IconInfo & other) noexcept
GtkIconInfo * | gobj ()
| Provides access to the underlying C instance. More...
const GtkIconInfo * | gobj () const
| Provides access to the underlying C instance. More...
GtkIconInfo * | gobj_copy () const
| Provides access to the underlying C instance. The caller is responsible for freeing it. Use when directly setting fields in structs. More...
| IconInfo (const Glib::RefPtr< IconTheme > & icon_theme, const Glib::RefPtr< Gdk::Pixbuf > & pixbuf)
| operator BoolExpr () const
| Tests whether the IconInfo is valid. More...
| operator bool () const
| Tests whether the IconInfo is valid. More...
int | get_base_size () const
| Gets the base size for the icon. More...
int | get_base_scale () const
| Gets the base scale for the icon. More...
Glib::ustring | get_filename () const
| Gets the filename for the icon. More...
Glib::RefPtr< Gdk::Pixbuf > | get_builtin_pixbuf ()
| Gets the built-in image for this icon, if any. More...
Glib::RefPtr< const Gdk::Pixbuf > | get_builtin_pixbuf () const
| Gets the built-in image for this icon, if any. More...
Glib::RefPtr< Gdk::Pixbuf > | load_icon () const
| Renders an icon previously looked up in an icon theme using Gtk::IconTheme::lookup_icon(); the size will be based on the size passed to Gtk::IconTheme::lookup_icon(). More...
::Cairo::RefPtr< ::Cairo::Surface > | load_surface (const Glib::RefPtr< Gdk::Window > & for_window)
| Renders an icon previously looked up in an icon theme using Gtk::IconTheme::lookup_icon(); the size will be based on the size passed to Gtk::IconTheme::lookup_icon(). More...
Glib::RefPtr< Gdk::Pixbuf > | load_symbolic (const Gdk::RGBA & fg, const Gdk::RGBA & success_color, const Gdk::RGBA & warning_color, const Gdk::RGBA & error_color, bool & was_symbolic) const
void | load_icon_async (const Gio::SlotAsyncReady & slot, const Glib::RefPtr< Gio::Cancellable > & cancellable)
| Asynchronously load, render and scale an icon previously looked up from the icon theme using Gtk::IconTheme::lookup_icon(). More...
void | load_icon_async (const Gio::SlotAsyncReady & slot)
| Asynchronously load, render and scale an icon previously looked up from the icon theme using Gtk::IconTheme::lookup_icon(). More...
Glib::RefPtr< Gdk::Pixbuf > | load_icon_finish (const Glib::RefPtr< Gio::AsyncResult > & result)
| Finishes an async icon load, see load_icon_async(). More...
Glib::RefPtr< Gdk::Pixbuf > | load_symbolic (const Glib::RefPtr< StyleContext > & style, bool & was_symbolic)
| Loads an icon, modifying it to match the system colors for the foreground, success, warning and error colors provided. More...
void | load_symbolic_for_context_async (const Glib::RefPtr< StyleContext > & context, const Gio::SlotAsyncReady & slot, const Glib::RefPtr< Gio::Cancellable > & cancellable)
| Asynchronously load, render and scale a symbolic icon previously looked up from the icon theme using Gtk::IconTheme::lookup_icon(). More...
void | load_symbolic_for_context_async (const Glib::RefPtr< StyleContext > & context, const Gio::SlotAsyncReady & slot)
| Asynchronously load, render and scale a symbolic icon previously looked up from the icon theme using Gtk::IconTheme::lookup_icon(). More...
Glib::RefPtr< Gdk::Pixbuf > | load_symbolic_for_context_finish (const Glib::RefPtr< Gio::AsyncResult > & result, bool & was_symbolic)
| Finishes an async icon load, see load_symbolic_for_context_async(). More...
void | load_symbolic_async (const Gdk::RGBA & fg, const Gdk::RGBA & success_color, const Gdk::RGBA & warning_color, const Gdk::RGBA & error_color, const Gio::SlotAsyncReady & slot, const Glib::RefPtr< Gio::Cancellable > & cancellable)
void | load_symbolic_async (const Gdk::RGBA & fg, const Gdk::RGBA & success_color, const Gdk::RGBA & warning_color, const Gdk::RGBA & error_color, const Gio::SlotAsyncReady & slot)
Glib::RefPtr< Gdk::Pixbuf > | load_symbolic_finish (const Glib::RefPtr< Gio::AsyncResult > & result, bool & was_symbolic)
| Finishes an async icon load, see load_symbolic_async(). More...
void | set_raw_coordinates (bool raw_coordinates=true)
| Sets whether the coordinates returned by get_embedded_rect() and get_attach_points() should be returned in their original form as specified in the icon theme, instead of scaled appropriately for the pixbuf returned by load_icon(). More...
bool | get_embedded_rect (Gdk::Rectangle & rectangle) const
| This function is deprecated and always returns `false`. More...
std::vector< Gdk::Point > | get_attach_points () const
Glib::ustring | get_display_name () const
| This function is deprecated and always returns `nullptr`. More...
bool | is_symbolic () const
| Checks if the icon is symbolic or not. More...

## Static Public Member Functions
static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system. More...

## Protected Attributes
GtkIconInfo * | gobject_

## Related Functions
(Note that these are not member functions.)
void | swap (IconInfo & lhs, IconInfo & rhs) noexcept
Gtk::IconInfo | wrap (GtkIconInfo * object, bool take_copy=false)
| A Glib::wrap() method for this object. More...

## Member Typedef Documentation

## ◆ BoolExpr

typedef const void* Gtk::IconInfo::BoolExpr

This typedef is just to make it more obvious that our operator const void* should be used like operator bool().

Deprecated:
  Use the explicit operator bool() instead.

## Constructor & Destructor Documentation

## ◆ IconInfo() [1/5]

Gtk::IconInfo::IconInfo | ( |  | ) |

## ◆ IconInfo() [2/5]

Gtk::IconInfo::IconInfo | ( | GtkIconInfo * | gobject,
|  | bool | make_a_copy = `true`
| ) |  |
| explicit

## ◆ IconInfo() [3/5]

Gtk::IconInfo::IconInfo | ( | const IconInfo & | other | ) |

## ◆ IconInfo() [4/5]

Gtk::IconInfo::IconInfo | ( | IconInfo && | other | ) |
| noexcept

## ◆ ~IconInfo()

Gtk::IconInfo::~IconInfo | ( |  | ) |
| noexcept

## ◆ IconInfo() [5/5]

Gtk::IconInfo::IconInfo | ( | const Glib::RefPtr< IconTheme > & | icon_theme,
|  | const Glib::RefPtr< Gdk::Pixbuf > & | pixbuf
| ) |  |

## Member Function Documentation

## ◆ get_attach_points()

std::vector< Gdk::Point > Gtk::IconInfo::get_attach_points | ( |  | ) | const

Deprecated:
  Attachment points are deprecated.

## ◆ get_base_scale()

int Gtk::IconInfo::get_base_scale | ( |  | ) | const

Gets the base scale for the icon.

The base scale is a scale for the icon that was specified by the icon theme creator. For instance an icon drawn for a high-dpi screen with window scale 2 for a base size of 32 will be 64 pixels tall and have a base scale of 2.

Since gtkmm 3.10:

Returns
  The base scale.

## ◆ get_base_size()

int Gtk::IconInfo::get_base_size | ( |  | ) | const

Gets the base size for the icon.

The base size is a size for the icon that was specified by the icon theme creator. This may be different than the actual size of image; an example of this is small emblem icons that can be attached to a larger icon. These icons will be given the same base size as the larger icons to which they are attached.

Note that for scaled icons the base size does not include the base scale.

Since gtkmm 2.4:

Returns
  The base size, or 0, if no base size is known for the icon.

## ◆ get_builtin_pixbuf() [1/2]

Glib::RefPtr< Gdk::Pixbuf > Gtk::IconInfo::get_builtin_pixbuf | ( |  | ) |

Gets the built-in image for this icon, if any.

To allow GTK+ to use built in icon images, you must pass the Gtk::ICON_LOOKUP_USE_BUILTIN to Gtk::IconTheme::lookup_icon().

Since gtkmm 2.4:

Deprecated: 3.14: This function is deprecated, use Gtk::IconTheme::add_resource_path() instead of builtin icons.

Deprecated:
  Use Gtk::IconTheme::add_resource_path() instead of builtin icons.

Returns
  The built-in image pixbuf, or `nullptr`. The returned image must not be modified.

## ◆ get_builtin_pixbuf() [2/2]

Glib::RefPtr< const Gdk::Pixbuf > Gtk::IconInfo::get_builtin_pixbuf | ( |  | ) | const

Gets the built-in image for this icon, if any.

To allow GTK+ to use built in icon images, you must pass the Gtk::ICON_LOOKUP_USE_BUILTIN to Gtk::IconTheme::lookup_icon().

Since gtkmm 2.4:

Deprecated: 3.14: This function is deprecated, use Gtk::IconTheme::add_resource_path() instead of builtin icons.

Deprecated:
  Use Gtk::IconTheme::add_resource_path() instead of builtin icons.

Returns
  The built-in image pixbuf, or `nullptr`. The returned image must not be modified.

## ◆ get_display_name()

Glib::ustring Gtk::IconInfo::get_display_name | ( |  | ) | const

This function is deprecated and always returns `nullptr`.

Since gtkmm 2.4:

Deprecated: 3.14: Display names are deprecated

Deprecated:
  Display names are deprecated.

Returns
  `nullptr`.

## ◆ get_embedded_rect()

bool Gtk::IconInfo::get_embedded_rect | ( | Gdk::Rectangle & | rectangle | ) | const

This function is deprecated and always returns `false`.

Since gtkmm 2.4:

Deprecated: 3.14: Embedded rectangles are deprecated

Deprecated:
  Embedded rectangles are deprecated.

Parameters

  rectangle | Gdk::Rectangle in which to store embedded rectangle coordinates; coordinates are only stored when this function returns `true`.

Returns
  `false`.

## ◆ get_filename()

Glib::ustring Gtk::IconInfo::get_filename | ( |  | ) | const

Gets the filename for the icon.

If the Gtk::ICON_LOOKUP_USE_BUILTIN flag was passed to Gtk::IconTheme::lookup_icon(), there may be no filename if a builtin icon is returned; in this case, you should use get_builtin_pixbuf().

Since gtkmm 2.4:

Returns
  The filename for the icon, or `nullptr` if get_builtin_pixbuf() should be used instead.

## ◆ get_type()

static GType Gtk::IconInfo::get_type | ( |  | ) |
| static

Get the GType for this class, for use with the underlying GObject type system.

## ◆ gobj() [1/2]

GtkIconInfo * Gtk::IconInfo::gobj | ( |  | ) |
| inline

Provides access to the underlying C instance.

## ◆ gobj() [2/2]

const GtkIconInfo * Gtk::IconInfo::gobj | ( |  | ) | const
| inline

Provides access to the underlying C instance.

## ◆ gobj_copy()

GtkIconInfo * Gtk::IconInfo::gobj_copy | ( |  | ) | const

Provides access to the underlying C instance. The caller is responsible for freeing it. Use when directly setting fields in structs.

## ◆ is_symbolic()

bool Gtk::IconInfo::is_symbolic | ( |  | ) | const

Checks if the icon is symbolic or not.

This currently uses only the file name and not the file contents for determining this. This behaviour may change in the future.

Since gtkmm 3.12:

Returns
  `true` if the icon is symbolic, `false` otherwise.

## ◆ load_icon()

Glib::RefPtr< Gdk::Pixbuf > Gtk::IconInfo::load_icon | ( |  | ) | const

Renders an icon previously looked up in an icon theme using Gtk::IconTheme::lookup_icon(); the size will be based on the size passed to Gtk::IconTheme::lookup_icon().

Note that the resulting pixbuf may not be exactly this size; an icon theme may have icons that differ slightly from their nominal sizes, and in addition GTK+ will avoid scaling icons that it considers sufficiently close to the requested size or for which the source image would have to be scaled up too far. (This maintains sharpness.). This behaviour can be changed by passing the Gtk::ICON_LOOKUP_FORCE_SIZE flag when obtaining the Gtk::IconInfo. If this flag has been specified, the pixbuf returned by this function will be scaled to the exact size.

Since gtkmm 2.4:

Returns
  The rendered icon; this may be a newly created icon or a new reference to an internal icon, so you must not modify the icon. Use Glib::object_unref() to release your reference to the icon.

Exceptions

  Glib::Error |

## ◆ load_icon_async() [1/2]

void Gtk::IconInfo::load_icon_async | ( | const Gio::SlotAsyncReady & | slot | ) |

Asynchronously load, render and scale an icon previously looked up from the icon theme using Gtk::IconTheme::lookup_icon().

Parameters

  slot | A callback slot to call when the request is satisfied.

Since gtkmm 3.8:

## ◆ load_icon_async() [2/2]

void Gtk::IconInfo::load_icon_async | ( | const Gio::SlotAsyncReady & | slot,
|  | const Glib::RefPtr< Gio::Cancellable > & | cancellable
| ) |  |

Asynchronously load, render and scale an icon previously looked up from the icon theme using Gtk::IconTheme::lookup_icon().

Parameters

  slot | A callback slot to call when the request is satisfied.
  cancellable | A Cancellable object which can be used to cancel the operation.

Since gtkmm 3.8:

## ◆ load_icon_finish()

Glib::RefPtr< Gdk::Pixbuf > Gtk::IconInfo::load_icon_finish | ( | const Glib::RefPtr< Gio::AsyncResult > & | result | ) |

Finishes an async icon load, see load_icon_async().

Since gtkmm 3.8:

Parameters

  result | A Gio::AsyncResult.

Returns
  The rendered icon; this may be a newly created icon or a new reference to an internal icon, so you must not modify the icon. Use Glib::object_unref() to release your reference to the icon.

Exceptions

  Glib::Error |

## ◆ load_surface()

::Cairo::RefPtr< ::Cairo::Surface > Gtk::IconInfo::load_surface | ( | const Glib::RefPtr< Gdk::Window > & | for_window | ) |

Renders an icon previously looked up in an icon theme using Gtk::IconTheme::lookup_icon(); the size will be based on the size passed to Gtk::IconTheme::lookup_icon().

Note that the resulting surface may not be exactly this size; an icon theme may have icons that differ slightly from their nominal sizes, and in addition GTK+ will avoid scaling icons that it considers sufficiently close to the requested size or for which the source image would have to be scaled up too far. (This maintains sharpness.). This behaviour can be changed by passing the Gtk::ICON_LOOKUP_FORCE_SIZE flag when obtaining the Gtk::IconInfo. If this flag has been specified, the pixbuf returned by this function will be scaled to the exact size.

Since gtkmm 3.10:

Parameters

  for_window | Gdk::Window to optimize drawing for, or `nullptr`.

Returns
  The rendered icon; this may be a newly created icon or a new reference to an internal icon, so you must not modify the icon. Use cairo_surface_destroy() to release your reference to the icon.

Exceptions

  Glib::Error |

## ◆ load_symbolic() [1/2]

Glib::RefPtr< Gdk::Pixbuf > Gtk::IconInfo::load_symbolic | ( | const Gdk::RGBA & | fg,
|  | const Gdk::RGBA & | success_color,
|  | const Gdk::RGBA & | warning_color,
|  | const Gdk::RGBA & | error_color,
|  | bool & | was_symbolic
| ) |  | const

## ◆ load_symbolic() [2/2]

Glib::RefPtr< Gdk::Pixbuf > Gtk::IconInfo::load_symbolic | ( | const Glib::RefPtr< StyleContext > & | style,
|  | bool & | was_symbolic
| ) |  |

Loads an icon, modifying it to match the system colors for the foreground, success, warning and error colors provided.

If the icon is not a symbolic one, this method will return the result from load_icon(). This method uses the regular foreground color and the symbolic colors with the names "success_color", "warning_color" and "error_color" from the context.

This allows loading symbolic icons that will match the system theme.

Parameters

  style | A StyleContext.
  was_symbolic | Whether the loaded icon was a symbolic one and whether the fg color was applied to it.

## ◆ load_symbolic_async() [1/2]

void Gtk::IconInfo::load_symbolic_async | ( | const Gdk::RGBA & | fg,
|  | const Gdk::RGBA & | success_color,
|  | const Gdk::RGBA & | warning_color,
|  | const Gdk::RGBA & | error_color,
|  | const Gio::SlotAsyncReady & | slot
| ) |  |

## ◆ load_symbolic_async() [2/2]

void Gtk::IconInfo::load_symbolic_async | ( | const Gdk::RGBA & | fg,
|  | const Gdk::RGBA & | success_color,
|  | const Gdk::RGBA & | warning_color,
|  | const Gdk::RGBA & | error_color,
|  | const Gio::SlotAsyncReady & | slot,
|  | const Glib::RefPtr< Gio::Cancellable > & | cancellable
| ) |  |

## ◆ load_symbolic_finish()

Glib::RefPtr< Gdk::Pixbuf > Gtk::IconInfo::load_symbolic_finish | ( | const Glib::RefPtr< Gio::AsyncResult > & | result,
|  | bool & | was_symbolic
| ) |  |

Finishes an async icon load, see load_symbolic_async().

Since gtkmm 3.8:

Parameters

  result | A Gio::AsyncResult.
  was_symbolic | A `bool`, returns whether the loaded icon was a symbolic one and whether the fg color was applied to it.

Returns
  The rendered icon; this may be a newly created icon or a new reference to an internal icon, so you must not modify the icon. Use Glib::object_unref() to release your reference to the icon.

Exceptions

  Glib::Error |

## ◆ load_symbolic_for_context_async() [1/2]

void Gtk::IconInfo::load_symbolic_for_context_async | ( | const Glib::RefPtr< StyleContext > & | context,
|  | const Gio::SlotAsyncReady & | slot
| ) |  |

Asynchronously load, render and scale a symbolic icon previously looked up from the icon theme using Gtk::IconTheme::lookup_icon().

For more details, see load_symbolic() which is the synchronous version of this call.

Parameters

  context | A StyleContext.
  slot | A callback slot to call when the request is satisfied.

Since gtkmm 3.8:

## ◆ load_symbolic_for_context_async() [2/2]

void Gtk::IconInfo::load_symbolic_for_context_async | ( | const Glib::RefPtr< StyleContext > & | context,
|  | const Gio::SlotAsyncReady & | slot,
|  | const Glib::RefPtr< Gio::Cancellable > & | cancellable
| ) |  |

Asynchronously load, render and scale a symbolic icon previously looked up from the icon theme using Gtk::IconTheme::lookup_icon().

For more details, see load_symbolic() which is the synchronous version of this call.

Parameters

  context | A StyleContext.
  slot | A callback slot to call when the request is satisfied.
  cancellable | A Cancellable object which can be used to cancel the operation.

Since gtkmm 3.8:

## ◆ load_symbolic_for_context_finish()

Glib::RefPtr< Gdk::Pixbuf > Gtk::IconInfo::load_symbolic_for_context_finish | ( | const Glib::RefPtr< Gio::AsyncResult > & | result,
|  | bool & | was_symbolic
| ) |  |

Finishes an async icon load, see load_symbolic_for_context_async().

Since gtkmm 3.8:

Parameters

  result | A Gio::AsyncResult.
  was_symbolic | A `bool`, returns whether the loaded icon was a symbolic one and whether the fg color was applied to it.

Returns
  The rendered icon; this may be a newly created icon or a new reference to an internal icon, so you must not modify the icon. Use Glib::object_unref() to release your reference to the icon.

Exceptions

  Glib::Error |

## ◆ operator bool()

Gtk::IconInfo::operator bool | ( |  | ) | const
| explicit

Tests whether the IconInfo is valid.

Since gtkmm 3.22:

## ◆ operator BoolExpr()

Gtk::IconInfo::operator BoolExpr | ( |  | ) | const

Tests whether the IconInfo is valid.

For instance,

if(iconinfo)
do_something()

Deprecated:
  Use the explicit operator bool() instead.

## ◆ operator=() [1/2]

IconInfo & Gtk::IconInfo::operator= | ( | const IconInfo & | other | ) |

## ◆ operator=() [2/2]

IconInfo & Gtk::IconInfo::operator= | ( | IconInfo && | other | ) |
| noexcept

## ◆ set_raw_coordinates()

void Gtk::IconInfo::set_raw_coordinates | ( | bool | raw_coordinates = `true` | ) |

Sets whether the coordinates returned by get_embedded_rect() and get_attach_points() should be returned in their original form as specified in the icon theme, instead of scaled appropriately for the pixbuf returned by load_icon().

Raw coordinates are somewhat strange; they are specified to be with respect to the unscaled pixmap for PNG and XPM icons, but for SVG icons, they are in a 1000x1000 coordinate space that is scaled to the final size of the icon. You can determine if the icon is an SVG icon by using get_filename(), and seeing if it is non-`nullptr` and ends in “.svg”.

This function is provided primarily to allow compatibility wrappers for older API's, and is not expected to be useful for applications.

Since gtkmm 2.4:

Deprecated: 3.14: Embedded rectangles and attachment points are deprecated

Deprecated:
  Embedded rectangles and attachment points are deprecated.

Parameters

  raw_coordinates | Whether the coordinates of embedded rectangles and attached points should be returned in their original (unscaled) form.

## ◆ swap()

void Gtk::IconInfo::swap | ( | IconInfo & | other | ) |
| noexcept

## Friends And Related Function Documentation

## ◆ swap()

void swap | ( | IconInfo & | lhs,
|  | IconInfo & | rhs
| ) |  |
| related

Parameters

  lhs | The left-hand side
  rhs | The right-hand side

## ◆ wrap()

Gtk::IconInfo wrap | ( | GtkIconInfo * | object,
|  | bool | take_copy = `false`
| ) |  |
| related

A Glib::wrap() method for this object.

Parameters

  object | The C instance.
  take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

Returns
  A C++ instance that wraps this C instance.

## Member Data Documentation

## ◆ gobject_

GtkIconInfo* Gtk::IconInfo::gobject_
| protected