Functions
gtk_icon_source_copy ()
GtkIconSource *
gtk_icon_source_copy (const GtkIconSource *source);
gtk_icon_source_copy has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Creates a copy of source
; mostly useful for language bindings.
gtk_icon_source_free ()
void
gtk_icon_source_free (GtkIconSource *source);
gtk_icon_source_free has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Frees a dynamically-allocated icon source, along with its
filename, size, and pixbuf fields if those are not NULL.
gtk_icon_factory_add ()
void
gtk_icon_factory_add (GtkIconFactory *factory,
const gchar *stock_id,
GtkIconSet *icon_set);
gtk_icon_factory_add has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Adds the given icon_set
to the icon factory, under the name
stock_id
. stock_id
should be namespaced for your application,
e.g. “myapp-whatever-icon”. Normally applications create a
GtkIconFactory, then add it to the list of default factories with
gtk_icon_factory_add_default(). Then they pass the stock_id
to
widgets such as GtkImage to display the icon. Themes can provide
an icon with the same name (such as "myapp-whatever-icon") to
override your application’s default icons. If an icon already
existed in factory
for stock_id
, it is unreferenced and replaced
with the new icon_set
.
gtk_icon_factory_add_default ()
void
gtk_icon_factory_add_default (GtkIconFactory *factory);
gtk_icon_factory_add_default has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Adds an icon factory to the list of icon factories searched by
gtk_style_lookup_icon_set(). This means that, for example,
gtk_image_new_from_stock() will be able to find icons in factory
.
There will normally be an icon factory added for each library or
application that comes with icons. The default icon factories
can be overridden by themes.
gtk_icon_factory_lookup ()
GtkIconSet *
gtk_icon_factory_lookup (GtkIconFactory *factory,
const gchar *stock_id);
gtk_icon_factory_lookup has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Looks up stock_id
in the icon factory, returning an icon set
if found, otherwise NULL. For display to the user, you should
use gtk_style_lookup_icon_set() on the GtkStyle for the
widget that will display the icon, instead of using this
function directly, so that themes are taken into account.
Returns
icon set of stock_id
.
[transfer none]
gtk_icon_factory_lookup_default ()
GtkIconSet *
gtk_icon_factory_lookup_default (const gchar *stock_id);
gtk_icon_factory_lookup_default has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Looks for an icon in the list of default icon factories. For
display to the user, you should use gtk_style_lookup_icon_set() on
the GtkStyle for the widget that will display the icon, instead of
using this function directly, so that themes are taken into
account.
gtk_icon_factory_new ()
GtkIconFactory *
gtk_icon_factory_new (void);
gtk_icon_factory_new has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Creates a new GtkIconFactory. An icon factory manages a collection
of GtkIconSets; a GtkIconSet manages a set of variants of a
particular icon (i.e. a GtkIconSet contains variants for different
sizes and widget states). Icons in an icon factory are named by a
stock ID, which is a simple string identifying the icon. Each
GtkStyle has a list of GtkIconFactorys derived from the current
theme; those icon factories are consulted first when searching for
an icon. If the theme doesn’t set a particular icon, GTK+ looks for
the icon in a list of default icon factories, maintained by
gtk_icon_factory_add_default() and
gtk_icon_factory_remove_default(). Applications with icons should
add a default icon factory with their icons, which will allow
themes to override the icons for the application.
gtk_icon_factory_remove_default ()
void
gtk_icon_factory_remove_default (GtkIconFactory *factory);
gtk_icon_factory_remove_default has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Removes an icon factory from the list of default icon
factories. Not normally used; you might use it for a library that
can be unloaded or shut down.
gtk_icon_set_add_source ()
void
gtk_icon_set_add_source (GtkIconSet *icon_set,
const GtkIconSource *source);
gtk_icon_set_add_source has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Icon sets have a list of GtkIconSource, which they use as base
icons for rendering icons in different states and sizes. Icons are
scaled, made to look insensitive, etc. in
gtk_icon_set_render_icon(), but GtkIconSet needs base images to
work with. The base images and when to use them are described by
a GtkIconSource.
This function copies source
, so you can reuse the same source immediately
without affecting the icon set.
An example of when you’d use this function: 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, and you might add a separate source for each one.
You should nearly always add a “default” icon source with all
fields wildcarded, which will be used as a fallback if no more
specific source matches. GtkIconSet always prefers more specific
icon sources to more generic icon sources. The order in which you
add the sources to the icon set does not matter.
gtk_icon_set_new_from_pixbuf() creates a new icon set with a
default icon source based on the given pixbuf.
gtk_icon_set_copy ()
GtkIconSet *
gtk_icon_set_copy (GtkIconSet *icon_set);
gtk_icon_set_copy has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Copies icon_set
by value.
gtk_icon_set_new ()
GtkIconSet *
gtk_icon_set_new (void);
gtk_icon_set_new has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Creates a new GtkIconSet. A GtkIconSet represents a single icon
in various sizes and widget states. It can provide a GdkPixbuf
for a given size and state on request, and automatically caches
some of the rendered GdkPixbuf objects.
Normally you would use gtk_widget_render_icon_pixbuf() instead of
using GtkIconSet directly. The one case where you’d use
GtkIconSet is to create application-specific icon sets to place in
a GtkIconFactory.
gtk_icon_set_new_from_pixbuf ()
GtkIconSet *
gtk_icon_set_new_from_pixbuf (GdkPixbuf *pixbuf);
gtk_icon_set_new_from_pixbuf has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Creates a new GtkIconSet with pixbuf
as the default/fallback
source image. If you don’t add any additional GtkIconSource to the
icon set, all variants of the icon will be created from pixbuf
,
using scaling, pixelation, etc. as required to adjust the icon size
or make the icon look insensitive/prelighted.
gtk_icon_set_ref ()
GtkIconSet *
gtk_icon_set_ref (GtkIconSet *icon_set);
gtk_icon_set_ref has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Increments the reference count on icon_set
.
gtk_icon_set_render_icon ()
GdkPixbuf *
gtk_icon_set_render_icon (GtkIconSet *icon_set,
GtkStyle *style,
GtkTextDirection direction,
GtkStateType state,
GtkIconSize size,
GtkWidget *widget,
const gchar *detail);
Renders an icon using gtk_style_render_icon(). In most cases,
gtk_widget_render_icon() is better, since it automatically provides
most of the arguments from the current widget settings. This
function never returns NULL; if the icon can’t be rendered
(perhaps because an image file fails to load), a default "missing
image" icon will be returned instead.
Returns
a GdkPixbuf to be displayed.
[transfer full]
gtk_icon_set_render_icon_pixbuf ()
GdkPixbuf *
gtk_icon_set_render_icon_pixbuf (GtkIconSet *icon_set,
GtkStyleContext *context,
GtkIconSize size);
gtk_icon_set_render_icon_pixbuf has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Renders an icon using gtk_render_icon_pixbuf(). In most cases,
gtk_widget_render_icon_pixbuf() is better, since it automatically provides
most of the arguments from the current widget settings. This
function never returns NULL; if the icon can’t be rendered
(perhaps because an image file fails to load), a default "missing
image" icon will be returned instead.
Returns
a GdkPixbuf to be displayed.
[transfer full]
Since: 3.0
gtk_icon_set_render_icon_surface ()
cairo_surface_t *
gtk_icon_set_render_icon_surface (GtkIconSet *icon_set,
GtkStyleContext *context,
GtkIconSize size,
int scale,
GdkWindow *for_window);
gtk_icon_set_render_icon_surface has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Renders an icon using gtk_render_icon_pixbuf() and converts it to a
cairo surface.
This function never returns NULL; if the icon can’t be rendered
(perhaps because an image file fails to load), a default "missing
image" icon will be returned instead.
Since: 3.10
gtk_icon_set_unref ()
void
gtk_icon_set_unref (GtkIconSet *icon_set);
gtk_icon_set_unref has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Decrements the reference count on icon_set
, and frees memory
if the reference count reaches 0.
gtk_icon_size_lookup ()
gboolean
gtk_icon_size_lookup (GtkIconSize size,
gint *width,
gint *height);
Obtains the pixel size of a semantic icon size size
:
GTK_ICON_SIZE_MENU, GTK_ICON_SIZE_BUTTON, etc. This function
isn’t normally needed, gtk_icon_theme_load_icon() is the usual
way to get an icon for rendering, then just look at the size of
the rendered pixbuf. The rendered pixbuf may not even correspond to
the width/height returned by gtk_icon_size_lookup(), because themes
are free to render the pixbuf however they like, including changing
the usual size.
Returns
TRUE if size
was a valid size
gtk_icon_size_lookup_for_settings ()
gboolean
gtk_icon_size_lookup_for_settings (GtkSettings *settings,
GtkIconSize size,
gint *width,
gint *height);
gtk_icon_size_lookup_for_settings has been deprecated since version 3.10 and should not be used in newly-written code.
Use gtk_icon_size_lookup() instead.
Obtains the pixel size of a semantic icon size, possibly
modified by user preferences for a particular
GtkSettings. Normally size
would be
GTK_ICON_SIZE_MENU, GTK_ICON_SIZE_BUTTON, etc. This function
isn’t normally needed, gtk_widget_render_icon_pixbuf() is the usual
way to get an icon for rendering, then just look at the size of
the rendered pixbuf. The rendered pixbuf may not even correspond to
the width/height returned by gtk_icon_size_lookup(), because themes
are free to render the pixbuf however they like, including changing
the usual size.
Returns
TRUE if size
was a valid size
Since: 2.2
gtk_icon_size_register ()
GtkIconSize
gtk_icon_size_register (const gchar *name,
gint width,
gint height);
gtk_icon_size_register has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Registers a new icon size, along the same lines as GTK_ICON_SIZE_MENU,
etc. Returns the integer value for the size.
Returns
integer value representing the size (GtkIconSize).
[type int]
gtk_icon_size_register_alias ()
void
gtk_icon_size_register_alias (const gchar *alias,
GtkIconSize target);
gtk_icon_size_register_alias has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Registers alias
as another name for target
.
So calling gtk_icon_size_from_name() with alias
as argument
will return target
.
gtk_icon_size_from_name ()
GtkIconSize
gtk_icon_size_from_name (const gchar *name);
gtk_icon_size_from_name has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Looks up the icon size associated with name
.
gtk_icon_size_get_name ()
const gchar *
gtk_icon_size_get_name (GtkIconSize size);
gtk_icon_size_get_name has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Gets the canonical name of the given icon size. The returned string
is statically allocated and should not be freed.
Returns
the name of the given icon size.
gtk_icon_set_get_sizes ()
void
gtk_icon_set_get_sizes (GtkIconSet *icon_set,
GtkIconSize **sizes,
gint *n_sizes);
gtk_icon_set_get_sizes has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Obtains a list of icon sizes this icon set can render. The returned
array must be freed with g_free().
gtk_icon_source_get_direction ()
GtkTextDirection
gtk_icon_source_get_direction (const GtkIconSource *source);
gtk_icon_source_get_direction has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Obtains the text direction this icon source applies to. The return
value is only useful/meaningful if the text direction is not
wildcarded.
Returns
text direction this source matches
gtk_icon_source_get_direction_wildcarded ()
gboolean
gtk_icon_source_get_direction_wildcarded
(const GtkIconSource *source);
gtk_icon_source_get_direction_wildcarded has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Gets the value set by gtk_icon_source_set_direction_wildcarded().
Returns
TRUE if this icon source is a base for any text direction variant
gtk_icon_source_get_filename ()
const gchar *
gtk_icon_source_get_filename (const GtkIconSource *source);
gtk_icon_source_get_filename has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Retrieves the source filename, or NULL if none is set. The
filename is not a copy, and should not be modified or expected to
persist beyond the lifetime of the icon source.
Returns
image filename. This string must not
be modified or freed.
[type filename]
gtk_icon_source_get_pixbuf ()
GdkPixbuf *
gtk_icon_source_get_pixbuf (const GtkIconSource *source);
gtk_icon_source_get_pixbuf has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Retrieves the source pixbuf, or NULL if none is set.
In addition, if a filename source is in use, this
function in some cases will return the pixbuf from
loaded from the filename. This is, for example, true
for the GtkIconSource passed to the GtkStyle render_icon()
virtual function. The reference count on the pixbuf is
not incremented.
Returns
source pixbuf.
[transfer none]
gtk_icon_source_get_icon_name ()
const gchar *
gtk_icon_source_get_icon_name (const GtkIconSource *source);
gtk_icon_source_get_icon_name has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Retrieves the source icon name, or NULL if none is set. The
icon_name is not a copy, and should not be modified or expected to
persist beyond the lifetime of the icon source.
Returns
icon name. This string must not be modified or freed.
gtk_icon_source_get_size ()
GtkIconSize
gtk_icon_source_get_size (const GtkIconSource *source);
gtk_icon_source_get_size has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Obtains the icon size this source applies to. The return value
is only useful/meaningful if the icon size is not wildcarded.
Returns
icon size (GtkIconSize) this source matches.
[type int]
gtk_icon_source_get_size_wildcarded ()
gboolean
gtk_icon_source_get_size_wildcarded (const GtkIconSource *source);
gtk_icon_source_get_size_wildcarded has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Gets the value set by gtk_icon_source_set_size_wildcarded().
Returns
TRUE if this icon source is a base for any icon size variant
gtk_icon_source_get_state ()
GtkStateType
gtk_icon_source_get_state (const GtkIconSource *source);
gtk_icon_source_get_state has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Obtains the widget state this icon source applies to. The return
value is only useful/meaningful if the widget state is not
wildcarded.
Returns
widget state this source matches
gtk_icon_source_get_state_wildcarded ()
gboolean
gtk_icon_source_get_state_wildcarded (const GtkIconSource *source);
gtk_icon_source_get_state_wildcarded has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Gets the value set by gtk_icon_source_set_state_wildcarded().
Returns
TRUE if this icon source is a base for any widget state variant
gtk_icon_source_new ()
GtkIconSource *
gtk_icon_source_new (void);
gtk_icon_source_new has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
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_new_from_pixbuf() 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_add_source().
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.
gtk_icon_source_set_direction ()
void
gtk_icon_source_set_direction (GtkIconSource *source,
GtkTextDirection direction);
gtk_icon_source_set_direction has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Sets the text direction this icon source is intended to be used
with.
Setting the text direction on an icon source makes no difference
if the text direction is wildcarded. Therefore, you should usually
call gtk_icon_source_set_direction_wildcarded() to un-wildcard it
in addition to calling this function.
gtk_icon_source_set_direction_wildcarded ()
void
gtk_icon_source_set_direction_wildcarded
(GtkIconSource *source,
gboolean setting);
gtk_icon_source_set_direction_wildcarded has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
If the text direction is wildcarded, this source can be used
as the base image for an icon in any GtkTextDirection.
If the text direction is not wildcarded, then the
text direction the icon source applies to should be set
with gtk_icon_source_set_direction(), and the icon source
will only be used with that text direction.
GtkIconSet prefers non-wildcarded sources (exact matches) over
wildcarded sources, and will use an exact match when possible.
gtk_icon_source_set_filename ()
void
gtk_icon_source_set_filename (GtkIconSource *source,
const gchar *filename);
gtk_icon_source_set_filename has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Sets the name of an image file to use as a base image when creating
icon variants for GtkIconSet. The filename must be absolute.
gtk_icon_source_set_pixbuf ()
void
gtk_icon_source_set_pixbuf (GtkIconSource *source,
GdkPixbuf *pixbuf);
gtk_icon_source_set_pixbuf has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Sets a pixbuf to use as a base image when creating icon variants
for GtkIconSet.
gtk_icon_source_set_icon_name ()
void
gtk_icon_source_set_icon_name (GtkIconSource *source,
const gchar *icon_name);
gtk_icon_source_set_icon_name has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Sets the name of an icon to look up in the current icon theme
to use as a base image when creating icon variants for GtkIconSet.
gtk_icon_source_set_size ()
void
gtk_icon_source_set_size (GtkIconSource *source,
GtkIconSize size);
gtk_icon_source_set_size has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Sets the icon size this icon source is intended to be used
with.
Setting the icon size on an icon source makes no difference
if the size is wildcarded. Therefore, you should usually
call gtk_icon_source_set_size_wildcarded() to un-wildcard it
in addition to calling this function.
gtk_icon_source_set_size_wildcarded ()
void
gtk_icon_source_set_size_wildcarded (GtkIconSource *source,
gboolean setting);
gtk_icon_source_set_size_wildcarded has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
If the icon size is wildcarded, this source can be used as the base
image for an icon of any size. If the size is not wildcarded, then
the size the source applies to should be set with
gtk_icon_source_set_size() and the icon source will only be used
with that specific size.
GtkIconSet prefers non-wildcarded sources (exact matches) over
wildcarded sources, and will use an exact match when possible.
GtkIconSet will normally scale wildcarded source images to produce
an appropriate icon at a given size, but will not change the size
of source images that match exactly.
gtk_icon_source_set_state ()
void
gtk_icon_source_set_state (GtkIconSource *source,
GtkStateType state);
gtk_icon_source_set_state has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
Sets the widget state this icon source is intended to be used
with.
Setting the widget state on an icon source makes no difference
if the state is wildcarded. Therefore, you should usually
call gtk_icon_source_set_state_wildcarded() to un-wildcard it
in addition to calling this function.
gtk_icon_source_set_state_wildcarded ()
void
gtk_icon_source_set_state_wildcarded (GtkIconSource *source,
gboolean setting);
gtk_icon_source_set_state_wildcarded has been deprecated since version 3.10 and should not be used in newly-written code.
Use GtkIconTheme instead.
If the widget state is wildcarded, this source can be used as the
base image for an icon in any GtkStateType. If the widget state
is not wildcarded, then the state the source applies to should be
set with gtk_icon_source_set_state() and the icon source will
only be used with that specific state.
GtkIconSet prefers non-wildcarded sources (exact matches) over
wildcarded sources, and will use an exact match when possible.
GtkIconSet will normally transform wildcarded source images to
produce an appropriate icon for a given state, for example
lightening an image on prelight, but will not modify source images
that match exactly.