mirror of
https://github.com/brl/mutter.git
synced 2024-11-22 08:00:42 -05:00
theme: Port from GtkStateType to GtkStateFlags
We now use GtkStyleContext exclusively, so it's a bit weird to store widget state as GtkStateType and translate it always to GtkStateFlags. Just use GtkStateFlags instead of GtkStateType. https://bugzilla.gnome.org/show_bug.cgi?id=650586
This commit is contained in:
parent
03457029f7
commit
d95da2dfbe
@ -2320,7 +2320,7 @@ parse_draw_op_element (GMarkupParseContext *context,
|
|||||||
const char *height;
|
const char *height;
|
||||||
const char *filled;
|
const char *filled;
|
||||||
gboolean filled_val;
|
gboolean filled_val;
|
||||||
GtkStateType state_val;
|
GtkStateFlags state_val;
|
||||||
GtkShadowType shadow_val;
|
GtkShadowType shadow_val;
|
||||||
GtkArrowType arrow_val;
|
GtkArrowType arrow_val;
|
||||||
|
|
||||||
@ -2410,7 +2410,7 @@ parse_draw_op_element (GMarkupParseContext *context,
|
|||||||
const char *y;
|
const char *y;
|
||||||
const char *width;
|
const char *width;
|
||||||
const char *height;
|
const char *height;
|
||||||
GtkStateType state_val;
|
GtkStateFlags state_val;
|
||||||
GtkShadowType shadow_val;
|
GtkShadowType shadow_val;
|
||||||
|
|
||||||
if (!locate_attributes (context, element_name, attribute_names, attribute_values,
|
if (!locate_attributes (context, element_name, attribute_names, attribute_values,
|
||||||
@ -2478,7 +2478,7 @@ parse_draw_op_element (GMarkupParseContext *context,
|
|||||||
const char *x;
|
const char *x;
|
||||||
const char *y1;
|
const char *y1;
|
||||||
const char *y2;
|
const char *y2;
|
||||||
GtkStateType state_val;
|
GtkStateFlags state_val;
|
||||||
|
|
||||||
if (!locate_attributes (context, element_name, attribute_names, attribute_values,
|
if (!locate_attributes (context, element_name, attribute_names, attribute_values,
|
||||||
error,
|
error,
|
||||||
|
@ -308,7 +308,7 @@ struct _MetaColorSpec
|
|||||||
} basic;
|
} basic;
|
||||||
struct {
|
struct {
|
||||||
MetaGtkColorComponent component;
|
MetaGtkColorComponent component;
|
||||||
GtkStateType state;
|
GtkStateFlags state;
|
||||||
} gtk;
|
} gtk;
|
||||||
struct {
|
struct {
|
||||||
MetaColorSpec *foreground;
|
MetaColorSpec *foreground;
|
||||||
@ -553,7 +553,7 @@ struct _MetaDrawOp
|
|||||||
} image;
|
} image;
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
GtkStateType state;
|
GtkStateFlags state;
|
||||||
GtkShadowType shadow;
|
GtkShadowType shadow;
|
||||||
GtkArrowType arrow;
|
GtkArrowType arrow;
|
||||||
gboolean filled;
|
gboolean filled;
|
||||||
@ -565,7 +565,7 @@ struct _MetaDrawOp
|
|||||||
} gtk_arrow;
|
} gtk_arrow;
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
GtkStateType state;
|
GtkStateFlags state;
|
||||||
GtkShadowType shadow;
|
GtkShadowType shadow;
|
||||||
MetaDrawSpec *x;
|
MetaDrawSpec *x;
|
||||||
MetaDrawSpec *y;
|
MetaDrawSpec *y;
|
||||||
@ -574,7 +574,7 @@ struct _MetaDrawOp
|
|||||||
} gtk_box;
|
} gtk_box;
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
GtkStateType state;
|
GtkStateFlags state;
|
||||||
MetaDrawSpec *x;
|
MetaDrawSpec *x;
|
||||||
MetaDrawSpec *y1;
|
MetaDrawSpec *y1;
|
||||||
MetaDrawSpec *y2;
|
MetaDrawSpec *y2;
|
||||||
@ -958,7 +958,7 @@ MetaColorSpec* meta_color_spec_new (MetaColorSpecType type);
|
|||||||
MetaColorSpec* meta_color_spec_new_from_string (const char *str,
|
MetaColorSpec* meta_color_spec_new_from_string (const char *str,
|
||||||
GError **err);
|
GError **err);
|
||||||
MetaColorSpec* meta_color_spec_new_gtk (MetaGtkColorComponent component,
|
MetaColorSpec* meta_color_spec_new_gtk (MetaGtkColorComponent component,
|
||||||
GtkStateType state);
|
GtkStateFlags state);
|
||||||
void meta_color_spec_free (MetaColorSpec *spec);
|
void meta_color_spec_free (MetaColorSpec *spec);
|
||||||
void meta_color_spec_render (MetaColorSpec *spec,
|
void meta_color_spec_render (MetaColorSpec *spec,
|
||||||
GtkStyleContext *style_gtk,
|
GtkStyleContext *style_gtk,
|
||||||
@ -1208,8 +1208,8 @@ const char* meta_frame_focus_to_string (MetaFrameFocus f
|
|||||||
MetaFrameType meta_frame_type_from_string (const char *str);
|
MetaFrameType meta_frame_type_from_string (const char *str);
|
||||||
MetaGradientType meta_gradient_type_from_string (const char *str);
|
MetaGradientType meta_gradient_type_from_string (const char *str);
|
||||||
const char* meta_gradient_type_to_string (MetaGradientType type);
|
const char* meta_gradient_type_to_string (MetaGradientType type);
|
||||||
GtkStateType meta_gtk_state_from_string (const char *str);
|
GtkStateFlags meta_gtk_state_from_string (const char *str);
|
||||||
const char* meta_gtk_state_to_string (GtkStateType state);
|
const char* meta_gtk_state_to_string (GtkStateFlags state);
|
||||||
GtkShadowType meta_gtk_shadow_from_string (const char *str);
|
GtkShadowType meta_gtk_shadow_from_string (const char *str);
|
||||||
const char* meta_gtk_shadow_to_string (GtkShadowType shadow);
|
const char* meta_gtk_shadow_to_string (GtkShadowType shadow);
|
||||||
GtkArrowType meta_gtk_arrow_from_string (const char *str);
|
GtkArrowType meta_gtk_arrow_from_string (const char *str);
|
||||||
|
103
src/ui/theme.c
103
src/ui/theme.c
@ -1185,7 +1185,7 @@ meta_color_spec_new_from_string (const char *str,
|
|||||||
const char *bracket;
|
const char *bracket;
|
||||||
const char *end_bracket;
|
const char *end_bracket;
|
||||||
char *tmp;
|
char *tmp;
|
||||||
GtkStateType state;
|
GtkStateFlags state;
|
||||||
MetaGtkColorComponent component;
|
MetaGtkColorComponent component;
|
||||||
|
|
||||||
bracket = str;
|
bracket = str;
|
||||||
@ -1400,7 +1400,7 @@ meta_color_spec_new_from_string (const char *str,
|
|||||||
*/
|
*/
|
||||||
MetaColorSpec*
|
MetaColorSpec*
|
||||||
meta_color_spec_new_gtk (MetaGtkColorComponent component,
|
meta_color_spec_new_gtk (MetaGtkColorComponent component,
|
||||||
GtkStateType state)
|
GtkStateFlags state)
|
||||||
{
|
{
|
||||||
MetaColorSpec *spec;
|
MetaColorSpec *spec;
|
||||||
|
|
||||||
@ -1436,42 +1436,23 @@ meta_gtk_style_get_dark_color (GtkStyleContext *style,
|
|||||||
static void
|
static void
|
||||||
meta_set_color_from_style (GdkRGBA *color,
|
meta_set_color_from_style (GdkRGBA *color,
|
||||||
GtkStyleContext *context,
|
GtkStyleContext *context,
|
||||||
GtkStateType state,
|
GtkStateFlags state,
|
||||||
MetaGtkColorComponent component)
|
MetaGtkColorComponent component)
|
||||||
{
|
{
|
||||||
GdkRGBA other;
|
GdkRGBA other;
|
||||||
GtkStateFlags flags;
|
|
||||||
|
|
||||||
switch (state)
|
|
||||||
{
|
|
||||||
case GTK_STATE_ACTIVE:
|
|
||||||
flags = GTK_STATE_FLAG_ACTIVE;
|
|
||||||
break;
|
|
||||||
case GTK_STATE_PRELIGHT:
|
|
||||||
flags = GTK_STATE_FLAG_PRELIGHT;
|
|
||||||
break;
|
|
||||||
case GTK_STATE_SELECTED:
|
|
||||||
flags = GTK_STATE_FLAG_SELECTED;
|
|
||||||
break;
|
|
||||||
case GTK_STATE_INSENSITIVE:
|
|
||||||
flags = GTK_STATE_FLAG_INSENSITIVE;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
flags = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (component)
|
switch (component)
|
||||||
{
|
{
|
||||||
case META_GTK_COLOR_BG:
|
case META_GTK_COLOR_BG:
|
||||||
case META_GTK_COLOR_BASE:
|
case META_GTK_COLOR_BASE:
|
||||||
gtk_style_context_get_background_color (context, flags, color);
|
gtk_style_context_get_background_color (context, state, color);
|
||||||
break;
|
break;
|
||||||
case META_GTK_COLOR_FG:
|
case META_GTK_COLOR_FG:
|
||||||
case META_GTK_COLOR_TEXT:
|
case META_GTK_COLOR_TEXT:
|
||||||
gtk_style_context_get_color (context, flags, color);
|
gtk_style_context_get_color (context, state, color);
|
||||||
break;
|
break;
|
||||||
case META_GTK_COLOR_TEXT_AA:
|
case META_GTK_COLOR_TEXT_AA:
|
||||||
gtk_style_context_get_color (context, flags, color);
|
gtk_style_context_get_color (context, state, color);
|
||||||
meta_set_color_from_style (&other, context, state, META_GTK_COLOR_BASE);
|
meta_set_color_from_style (&other, context, state, META_GTK_COLOR_BASE);
|
||||||
|
|
||||||
color->red = (color->red + other.red) / 2;
|
color->red = (color->red + other.red) / 2;
|
||||||
@ -1479,18 +1460,18 @@ meta_set_color_from_style (GdkRGBA *color,
|
|||||||
color->blue = (color->blue + other.blue) / 2;
|
color->blue = (color->blue + other.blue) / 2;
|
||||||
break;
|
break;
|
||||||
case META_GTK_COLOR_MID:
|
case META_GTK_COLOR_MID:
|
||||||
meta_gtk_style_get_light_color (context, flags, color);
|
meta_gtk_style_get_light_color (context, state, color);
|
||||||
meta_gtk_style_get_dark_color (context, flags, &other);
|
meta_gtk_style_get_dark_color (context, state, &other);
|
||||||
|
|
||||||
color->red = (color->red + other.red) / 2;
|
color->red = (color->red + other.red) / 2;
|
||||||
color->green = (color->green + other.green) / 2;
|
color->green = (color->green + other.green) / 2;
|
||||||
color->blue = (color->blue + other.blue) / 2;
|
color->blue = (color->blue + other.blue) / 2;
|
||||||
break;
|
break;
|
||||||
case META_GTK_COLOR_LIGHT:
|
case META_GTK_COLOR_LIGHT:
|
||||||
meta_gtk_style_get_light_color (context, flags, color);
|
meta_gtk_style_get_light_color (context, state, color);
|
||||||
break;
|
break;
|
||||||
case META_GTK_COLOR_DARK:
|
case META_GTK_COLOR_DARK:
|
||||||
meta_gtk_style_get_dark_color (context, flags, color);
|
meta_gtk_style_get_dark_color (context, state, color);
|
||||||
break;
|
break;
|
||||||
case META_GTK_COLOR_LAST:
|
case META_GTK_COLOR_LAST:
|
||||||
g_assert_not_reached ();
|
g_assert_not_reached ();
|
||||||
@ -3526,29 +3507,6 @@ fill_env (MetaPositionExprEnv *env,
|
|||||||
env->theme = meta_current_theme;
|
env->theme = meta_current_theme;
|
||||||
}
|
}
|
||||||
|
|
||||||
static GtkStateFlags
|
|
||||||
state_flags_from_gtk_state (GtkStateType state)
|
|
||||||
{
|
|
||||||
switch (state)
|
|
||||||
{
|
|
||||||
case GTK_STATE_NORMAL:
|
|
||||||
return 0;
|
|
||||||
case GTK_STATE_PRELIGHT:
|
|
||||||
return GTK_STATE_FLAG_PRELIGHT;
|
|
||||||
case GTK_STATE_ACTIVE:
|
|
||||||
return GTK_STATE_FLAG_ACTIVE;
|
|
||||||
case GTK_STATE_SELECTED:
|
|
||||||
return GTK_STATE_FLAG_SELECTED;
|
|
||||||
case GTK_STATE_INSENSITIVE:
|
|
||||||
return GTK_STATE_FLAG_INSENSITIVE;
|
|
||||||
case GTK_STATE_INCONSISTENT:
|
|
||||||
return GTK_STATE_FLAG_INCONSISTENT;
|
|
||||||
case GTK_STATE_FOCUSED:
|
|
||||||
return GTK_STATE_FLAG_FOCUSED;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* This code was originally rendering anti-aliased using X primitives, and
|
/* This code was originally rendering anti-aliased using X primitives, and
|
||||||
* now has been switched to draw anti-aliased using cairo. In general, the
|
* now has been switched to draw anti-aliased using cairo. In general, the
|
||||||
@ -3852,8 +3810,7 @@ meta_draw_op_draw_with_env (const MetaDrawOp *op,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
gtk_style_context_set_state (style_gtk,
|
gtk_style_context_set_state (style_gtk, op->data.gtk_arrow.state);
|
||||||
state_flags_from_gtk_state (op->data.gtk_arrow.state));
|
|
||||||
gtk_render_arrow (style_gtk, cr, angle, rx, ry, size);
|
gtk_render_arrow (style_gtk, cr, angle, rx, ry, size);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -3867,8 +3824,7 @@ meta_draw_op_draw_with_env (const MetaDrawOp *op,
|
|||||||
rwidth = parse_size_unchecked (op->data.gtk_box.width, env);
|
rwidth = parse_size_unchecked (op->data.gtk_box.width, env);
|
||||||
rheight = parse_size_unchecked (op->data.gtk_box.height, env);
|
rheight = parse_size_unchecked (op->data.gtk_box.height, env);
|
||||||
|
|
||||||
gtk_style_context_set_state (style_gtk,
|
gtk_style_context_set_state (style_gtk, op->data.gtk_box.state);
|
||||||
state_flags_from_gtk_state (op->data.gtk_box.state));
|
|
||||||
gtk_render_background (style_gtk, cr, rx, ry, rwidth, rheight);
|
gtk_render_background (style_gtk, cr, rx, ry, rwidth, rheight);
|
||||||
gtk_render_frame (style_gtk, cr, rx, ry, rwidth, rheight);
|
gtk_render_frame (style_gtk, cr, rx, ry, rwidth, rheight);
|
||||||
}
|
}
|
||||||
@ -3882,8 +3838,7 @@ meta_draw_op_draw_with_env (const MetaDrawOp *op,
|
|||||||
ry1 = parse_y_position_unchecked (op->data.gtk_vline.y1, env);
|
ry1 = parse_y_position_unchecked (op->data.gtk_vline.y1, env);
|
||||||
ry2 = parse_y_position_unchecked (op->data.gtk_vline.y2, env);
|
ry2 = parse_y_position_unchecked (op->data.gtk_vline.y2, env);
|
||||||
|
|
||||||
gtk_style_context_set_state (style_gtk,
|
gtk_style_context_set_state (style_gtk, op->data.gtk_vline.state);
|
||||||
state_flags_from_gtk_state (op->data.gtk_vline.state));
|
|
||||||
gtk_render_line (style_gtk, cr, rx, ry1, rx, ry2);
|
gtk_render_line (style_gtk, cr, rx, ry1, rx, ry2);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -6369,45 +6324,45 @@ meta_gradient_type_to_string (MetaGradientType type)
|
|||||||
return "<unknown>";
|
return "<unknown>";
|
||||||
}
|
}
|
||||||
|
|
||||||
GtkStateType
|
GtkStateFlags
|
||||||
meta_gtk_state_from_string (const char *str)
|
meta_gtk_state_from_string (const char *str)
|
||||||
{
|
{
|
||||||
if (g_ascii_strcasecmp ("normal", str) == 0)
|
if (g_ascii_strcasecmp ("normal", str) == 0)
|
||||||
return GTK_STATE_NORMAL;
|
return GTK_STATE_FLAG_NORMAL;
|
||||||
else if (g_ascii_strcasecmp ("prelight", str) == 0)
|
else if (g_ascii_strcasecmp ("prelight", str) == 0)
|
||||||
return GTK_STATE_PRELIGHT;
|
return GTK_STATE_FLAG_PRELIGHT;
|
||||||
else if (g_ascii_strcasecmp ("active", str) == 0)
|
else if (g_ascii_strcasecmp ("active", str) == 0)
|
||||||
return GTK_STATE_ACTIVE;
|
return GTK_STATE_FLAG_ACTIVE;
|
||||||
else if (g_ascii_strcasecmp ("selected", str) == 0)
|
else if (g_ascii_strcasecmp ("selected", str) == 0)
|
||||||
return GTK_STATE_SELECTED;
|
return GTK_STATE_FLAG_SELECTED;
|
||||||
else if (g_ascii_strcasecmp ("insensitive", str) == 0)
|
else if (g_ascii_strcasecmp ("insensitive", str) == 0)
|
||||||
return GTK_STATE_INSENSITIVE;
|
return GTK_STATE_FLAG_INSENSITIVE;
|
||||||
else if (g_ascii_strcasecmp ("inconsistent", str) == 0)
|
else if (g_ascii_strcasecmp ("inconsistent", str) == 0)
|
||||||
return GTK_STATE_INCONSISTENT;
|
return GTK_STATE_FLAG_INCONSISTENT;
|
||||||
else if (g_ascii_strcasecmp ("focused", str) == 0)
|
else if (g_ascii_strcasecmp ("focused", str) == 0)
|
||||||
return GTK_STATE_FOCUSED;
|
return GTK_STATE_FLAG_FOCUSED;
|
||||||
else
|
else
|
||||||
return -1; /* hack */
|
return -1; /* hack */
|
||||||
}
|
}
|
||||||
|
|
||||||
const char*
|
const char*
|
||||||
meta_gtk_state_to_string (GtkStateType state)
|
meta_gtk_state_to_string (GtkStateFlags state)
|
||||||
{
|
{
|
||||||
switch (state)
|
switch (state)
|
||||||
{
|
{
|
||||||
case GTK_STATE_NORMAL:
|
case GTK_STATE_FLAG_NORMAL:
|
||||||
return "NORMAL";
|
return "NORMAL";
|
||||||
case GTK_STATE_PRELIGHT:
|
case GTK_STATE_FLAG_PRELIGHT:
|
||||||
return "PRELIGHT";
|
return "PRELIGHT";
|
||||||
case GTK_STATE_ACTIVE:
|
case GTK_STATE_FLAG_ACTIVE:
|
||||||
return "ACTIVE";
|
return "ACTIVE";
|
||||||
case GTK_STATE_SELECTED:
|
case GTK_STATE_FLAG_SELECTED:
|
||||||
return "SELECTED";
|
return "SELECTED";
|
||||||
case GTK_STATE_INSENSITIVE:
|
case GTK_STATE_FLAG_INSENSITIVE:
|
||||||
return "INSENSITIVE";
|
return "INSENSITIVE";
|
||||||
case GTK_STATE_INCONSISTENT:
|
case GTK_STATE_FLAG_INCONSISTENT:
|
||||||
return "INCONSISTENT";
|
return "INCONSISTENT";
|
||||||
case GTK_STATE_FOCUSED:
|
case GTK_STATE_FLAG_FOCUSED:
|
||||||
return "FOCUSED";
|
return "FOCUSED";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user