stylecontext: add gtk_render_icon()
This commit is contained in:
committed by
Benjamin Otte
parent
0cd810ff7c
commit
514e77581a
@ -5642,6 +5642,7 @@ gtk_render_option
|
|||||||
gtk_render_slider
|
gtk_render_slider
|
||||||
gtk_render_activity
|
gtk_render_activity
|
||||||
gtk_render_icon_pixbuf
|
gtk_render_icon_pixbuf
|
||||||
|
gtk_render_icon
|
||||||
|
|
||||||
<SUBSECTION Standard>
|
<SUBSECTION Standard>
|
||||||
GTK_TYPE_STYLE_CONTEXT
|
GTK_TYPE_STYLE_CONTEXT
|
||||||
|
|||||||
@ -2230,6 +2230,7 @@ gtk_render_focus
|
|||||||
gtk_render_frame
|
gtk_render_frame
|
||||||
gtk_render_frame_gap
|
gtk_render_frame_gap
|
||||||
gtk_render_handle
|
gtk_render_handle
|
||||||
|
gtk_render_icon
|
||||||
gtk_render_icon_pixbuf
|
gtk_render_icon_pixbuf
|
||||||
gtk_render_layout
|
gtk_render_layout
|
||||||
gtk_render_line
|
gtk_render_line
|
||||||
|
|||||||
@ -4366,3 +4366,44 @@ gtk_render_icon_pixbuf (GtkStyleContext *context,
|
|||||||
_gtk_theming_engine_set_context (priv->theming_engine, context);
|
_gtk_theming_engine_set_context (priv->theming_engine, context);
|
||||||
return engine_class->render_icon_pixbuf (priv->theming_engine, source, size);
|
return engine_class->render_icon_pixbuf (priv->theming_engine, source, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gtk_render_icon:
|
||||||
|
* @context: a #GtkStyleContext
|
||||||
|
* @cr: a #cairo_t
|
||||||
|
* @pixbuf: a #GdkPixbuf containing the icon to draw
|
||||||
|
* @x: X position for the @pixbuf
|
||||||
|
* @y: Y position for the @pixbuf
|
||||||
|
*
|
||||||
|
* Renders the icon in @pixbuf at the specified @x and @y coordinates.
|
||||||
|
*
|
||||||
|
* Since: 3.2
|
||||||
|
**/
|
||||||
|
void
|
||||||
|
gtk_render_icon (GtkStyleContext *context,
|
||||||
|
cairo_t *cr,
|
||||||
|
GdkPixbuf *pixbuf,
|
||||||
|
gdouble x,
|
||||||
|
gdouble y)
|
||||||
|
{
|
||||||
|
GtkStyleContextPrivate *priv;
|
||||||
|
GtkThemingEngineClass *engine_class;
|
||||||
|
|
||||||
|
g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
|
||||||
|
g_return_if_fail (cr != NULL);
|
||||||
|
|
||||||
|
priv = context->priv;
|
||||||
|
engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine);
|
||||||
|
|
||||||
|
cairo_save (cr);
|
||||||
|
|
||||||
|
store_animation_region (context,
|
||||||
|
x, y,
|
||||||
|
gdk_pixbuf_get_width (pixbuf),
|
||||||
|
gdk_pixbuf_get_height (pixbuf));
|
||||||
|
|
||||||
|
_gtk_theming_engine_set_context (priv->theming_engine, context);
|
||||||
|
engine_class->render_icon (priv->theming_engine, cr, pixbuf, x, y);
|
||||||
|
|
||||||
|
cairo_restore (cr);
|
||||||
|
}
|
||||||
|
|||||||
@ -745,6 +745,11 @@ void gtk_render_activity (GtkStyleContext *context,
|
|||||||
GdkPixbuf * gtk_render_icon_pixbuf (GtkStyleContext *context,
|
GdkPixbuf * gtk_render_icon_pixbuf (GtkStyleContext *context,
|
||||||
const GtkIconSource *source,
|
const GtkIconSource *source,
|
||||||
GtkIconSize size);
|
GtkIconSize size);
|
||||||
|
void gtk_render_icon (GtkStyleContext *context,
|
||||||
|
cairo_t *cr,
|
||||||
|
GdkPixbuf *pixbuf,
|
||||||
|
gdouble x,
|
||||||
|
gdouble y);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user