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

#include <gtkmm/iconinfo.h>

Public Member Functions

 IconInfo ()
 
 IconInfo (GtkIconInfo* gobject, bool make_a_copy=true)
 
 IconInfo (const IconInfo& other)
 
IconInfooperator= (const IconInfo& other)
 
 IconInfo (IconInfo&& other) noexcept
 
IconInfooperator= (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 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::Pixbufload_icon ()
 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::Surfaceload_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::Pixbufload_symbolic (const Gdk::RGBA& fg, const Gdk::RGBA& success_color, const Gdk::RGBA& warning_color, const Gdk::RGBA& error_color, bool& was_symbolic)
 
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::Pixbufload_icon_finish (const Glib::RefPtr< Gio::AsyncResult >& result)
 Finishes an async icon load, see load_icon_async(). More...
 
Glib::RefPtr< Gdk::Pixbufload_symbolic_for_context (const Glib::RefPtr< StyleContext >& context, 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::Pixbufload_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::Pixbufload_symbolic_finish (const Glib::RefPtr< Gio::AsyncResult >& result, bool& was_symbolic)
 Finishes an async icon load, see load_symbolic_async(). 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...
 

Constructor & Destructor Documentation

Gtk::IconInfo::IconInfo ( )
Gtk::IconInfo::IconInfo ( GtkIconInfo *  gobject,
bool  make_a_copy = true 
)
explicit
Gtk::IconInfo::IconInfo ( const IconInfo other)
Gtk::IconInfo::IconInfo ( IconInfo&&  other)
noexcept
Gtk::IconInfo::~IconInfo ( )
noexcept
Gtk::IconInfo::IconInfo ( const Glib::RefPtr< IconTheme >&  icon_theme,
const Glib::RefPtr< Gdk::Pixbuf >&  pixbuf 
)

Member Function Documentation

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.
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.
Glib::ustring Gtk::IconInfo::get_filename ( ) const

Gets the filename for the icon.

If the Gtk::IconLookupFlags::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 gtk_icon_info_get_builtin_pixbuf().

Since gtkmm 2.4:
Returns
The filename for the icon, or nullptr if gtk_icon_info_get_builtin_pixbuf() should be used instead.
static GType Gtk::IconInfo::get_type ( )
static

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

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

Provides access to the underlying C instance.

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

Provides access to the underlying C instance.

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.

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.
Glib::RefPtr<Gdk::Pixbuf> Gtk::IconInfo::load_icon ( )

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::IconLookupFlags::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.
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
slotA callback slot to call when the request is satisfied.
cancellableA Cancellable object which can be used to cancel the operation.
Since gtkmm 3.8:
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
slotA callback slot to call when the request is satisfied.
Since gtkmm 3.8:
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
resultA 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.
::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::IconLookupFlags::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_windowGdk::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.
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 
)
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 
)
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 
)
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
resultA Gio::AsyncResult.
was_symbolicA 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.
Glib::RefPtr<Gdk::Pixbuf> Gtk::IconInfo::load_symbolic_for_context ( const Glib::RefPtr< StyleContext >&  context,
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
contextA StyleContext.
was_symbolicWhether the loaded icon was a symbolic one and whether the fg color was applied to it.
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_for_context() which is the synchronous version of this call.

Parameters
contextA StyleContext.
slotA callback slot to call when the request is satisfied.
cancellableA Cancellable object which can be used to cancel the operation.
Since gtkmm 3.8:
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_for_context() which is the synchronous version of this call.

Parameters
contextA StyleContext.
slotA callback slot to call when the request is satisfied.
Since gtkmm 3.8:
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
resultA Gio::AsyncResult.
was_symbolicA 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.
Gtk::IconInfo::operator bool ( ) const
explicit

Tests whether the IconInfo is valid.

Since gtkmm 3.22:
IconInfo& Gtk::IconInfo::operator= ( const IconInfo other)
IconInfo& Gtk::IconInfo::operator= ( IconInfo&&  other)
noexcept
void Gtk::IconInfo::swap ( IconInfo other)
noexcept

Friends And Related Function Documentation

void swap ( IconInfo lhs,
IconInfo rhs 
)
related
Parameters
lhsThe left-hand side
rhsThe right-hand side
Gtk::IconInfo wrap ( GtkIconInfo *  object,
bool  take_copy = false 
)
related

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

Parameters
objectThe C instance.
take_copyFalse 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

GtkIconInfo* Gtk::IconInfo::gobject_
protected