* gtk_theming_engine_get_border:
* @engine: a #GtkthemingEngine
* @state: state to retrieve the border for
- * @color: (out): return value for the border settings
+ * @border: (out): return value for the border settings
*
* Gets the border for a given state as a #GtkBorder.
*
* gtk_theming_engine_get_padding:
* @engine: a #GtkthemingEngine
* @state: state to retrieve the padding for
- * @color: (out): return value for the padding settings
+ * @padding: (out): return value for the padding settings
*
* Gets the padding for a given state as a #GtkBorder.
*
/**
* gtk_theming_engine_get_margin:
- * @engien: a #GtkThemingEngine
+ * @engine: a #GtkThemingEngine
* @state: state to retrieve the border for
- * @color: (out): return value for the margin settings
+ * @margin: (out): return value for the margin settings
*
* Gets the margin for a given state as a #GtkBorder.
*
gtk_style_context_get_margin (priv->context, state, margin);
}
+/**
+ * gtk_theming_engine_get_font:
+ * @engine: a #GtkThemingEngine
+ * @state: state to retrieve the font for
+ *
+ * Returns the font description for a given state.
+ *
+ * Returns: the #PangoFontDescription for the given state. This
+ * object is owned by GTK+ and should not be freed.
+ *
+ * Since: 3.0
+ **/
+const PangoFontDescription *
+gtk_theming_engine_get_font (GtkThemingEngine *engine,
+ GtkStateFlags state)
+{
+ GtkThemingEnginePrivate *priv;
+
+ g_return_val_if_fail (GTK_IS_THEMING_ENGINE (engine), NULL);
+
+ priv = engine->priv;
+ return gtk_style_context_get_font (priv->context, state);
+}
/* GtkThemingModule */
if (!running)
progress = (flags & GTK_STATE_FLAG_ACTIVE) ? 1 : 0;
- if (is_rtl)
- angle = (G_PI) - ((G_PI / 2) * progress);
+ if (gtk_theming_engine_has_class (engine, GTK_STYLE_CLASS_VERTICAL))
+ {
+ if (is_rtl)
+ angle = (G_PI) - ((G_PI / 2) * progress);
+ else
+ angle = (G_PI / 2) * progress;
+ }
else
- angle = (G_PI / 2) * progress;
+ {
+ if (is_rtl)
+ angle = (G_PI / 2) + ((G_PI / 2) * progress);
+ else
+ angle = (G_PI / 2) - ((G_PI / 2) * progress);
+ }
interp = progress;
cairo_set_matrix (cr, &cairo_matrix);
}
else
- cairo_translate (cr, x, y);
+ cairo_move_to (cr, x, y);
if (flags & GTK_STATE_FLAG_INSENSITIVE)
{
cairo_save (cr);
cairo_set_source_rgb (cr, 1, 1, 1);
- cairo_move_to (cr, 1, 1);
+ cairo_move_to (cr, x + 1, y + 1);
_gtk_pango_fill_layout (cr, layout);
cairo_restore (cr);
}
cairo_rectangle (cr, x, y, width, height);
cairo_fill (cr);
- if (gtk_theming_engine_has_class (engine, "grip"))
+ if (gtk_theming_engine_has_class (engine, GTK_STYLE_CLASS_GRIP))
{
GtkJunctionSides sides;
gint skip = -1;
cairo_restore (cr);
}
- else if (gtk_theming_engine_has_class (engine, "paned"))
+ else if (gtk_theming_engine_has_class (engine, GTK_STYLE_CLASS_PANE_SEPARATOR))
{
if (width > height)
for (xx = x + width / 2 - 15; xx <= x + width / 2 + 15; xx += 5)
gdouble half;
gint i;
- num_steps = 0;
-
- gtk_theming_engine_get_style (engine,
- "num-steps", &num_steps,
- NULL);
+ num_steps = 12;
state = gtk_theming_engine_get_state (engine);
gtk_theming_engine_get (engine, state,
"color", &color,
NULL);
- if (num_steps == 0)
- num_steps = 12;
if (gtk_theming_engine_state_is_running (engine, GTK_STATE_ACTIVE, &progress))
step = (guint) (progress * num_steps);