Revision: d8bd7bb08319
Author: Etsushi Kato <[email protected]>
Date: Mon Apr 30 21:39:16 2012
Log: * gtk2/immodule/uim-cand-win-horizontal-gtk.c (label_draw)
- Redraw unselected text with normal color in GTK+3 horizontal
candidate window.
* gtk2/candwin/horizontal-gtk.c (label_draw)
- Ditto.
http://code.google.com/p/uim/source/detail?r=d8bd7bb08319
Modified:
/gtk2/candwin/horizontal-gtk.c
/gtk2/immodule/uim-cand-win-horizontal-gtk.c
=======================================
--- /gtk2/candwin/horizontal-gtk.c Wed Jan 11 00:17:24 2012
+++ /gtk2/candwin/horizontal-gtk.c Mon Apr 30 21:39:16 2012
@@ -279,32 +279,33 @@
if (selected)
selected_label = gtk_bin_get_child(GTK_BIN(selected->button));
- if (label == selected_label) {
- GdkRGBA *bg_color, *fg_color;
- GtkStyleContext *context;
- PangoLayout *layout;
- gint x, y;
- GtkStateFlags state;
-
- layout = gtk_label_get_layout(GTK_LABEL(label));
- gtk_label_get_layout_offsets(GTK_LABEL(label), &x, &y);
-
- context = gtk_widget_get_style_context(label);
-
+ GdkRGBA *bg_color, *fg_color;
+ GtkStyleContext *context;
+ PangoLayout *layout;
+ gint x, y;
+ GtkStateFlags state;
+
+ layout = gtk_label_get_layout(GTK_LABEL(label));
+ gtk_label_get_layout_offsets(GTK_LABEL(label), &x, &y);
+
+ context = gtk_widget_get_style_context(label);
+
+ if (label == selected_label)
state = GTK_STATE_FLAG_SELECTED;
- gtk_style_context_get (context, state, "background-color",
&bg_color, "color", &fg_color, NULL);
-
- cairo_save(cr);
- gdk_cairo_set_source_rgba(cr, bg_color);
- cairo_paint(cr);
- cairo_restore(cr);
- gdk_rgba_free(bg_color);
- gdk_rgba_free(fg_color);
-
-
- gtk_style_context_set_state (context, state);
- gtk_render_layout (context, cr, x, y, layout);
- }
+ else
+ state = GTK_STATE_FLAG_NORMAL;
+
+ gtk_style_context_get (context, state, "background-color",
&bg_color, "color", &fg_color, NULL);
+
+ cairo_save(cr);
+ gdk_cairo_set_source_rgba(cr, bg_color);
+ cairo_paint(cr);
+ cairo_restore(cr);
+ gdk_rgba_free(bg_color);
+ gdk_rgba_free(fg_color);
+
+ gtk_style_context_set_state (context, state);
+ gtk_render_layout (context, cr, x, y, layout);
return FALSE;
}
=======================================
--- /gtk2/immodule/uim-cand-win-horizontal-gtk.c Wed Jan 11 00:17:24 2012
+++ /gtk2/immodule/uim-cand-win-horizontal-gtk.c Mon Apr 30 21:39:16 2012
@@ -216,32 +216,33 @@
if (selected)
selected_label = gtk_bin_get_child(GTK_BIN(selected->button));
- if (label == selected_label) {
- GdkRGBA *bg_color, *fg_color;
- GtkStyleContext *context;
- PangoLayout *layout;
- gint x, y;
- GtkStateFlags state;
-
- layout = gtk_label_get_layout(GTK_LABEL(label));
- gtk_label_get_layout_offsets(GTK_LABEL(label), &x, &y);
-
- context = gtk_widget_get_style_context(label);
-
+ GdkRGBA *bg_color, *fg_color;
+ GtkStyleContext *context;
+ PangoLayout *layout;
+ gint x, y;
+ GtkStateFlags state;
+
+ layout = gtk_label_get_layout(GTK_LABEL(label));
+ gtk_label_get_layout_offsets(GTK_LABEL(label), &x, &y);
+
+ context = gtk_widget_get_style_context(label);
+
+ if (label == selected_label)
state = GTK_STATE_FLAG_SELECTED;
- gtk_style_context_get (context, state, "background-color",
&bg_color, "color", &fg_color, NULL);
-
- cairo_save(cr);
- gdk_cairo_set_source_rgba(cr, bg_color);
- cairo_paint(cr);
- cairo_restore(cr);
- gdk_rgba_free(bg_color);
- gdk_rgba_free(fg_color);
-
-
- gtk_style_context_set_state (context, state);
- gtk_render_layout (context, cr, x, y, layout);
- }
+ else
+ state = GTK_STATE_FLAG_NORMAL;
+
+ gtk_style_context_get (context, state, "background-color",
&bg_color, "color", &fg_color, NULL);
+
+ cairo_save(cr);
+ gdk_cairo_set_source_rgba(cr, bg_color);
+ cairo_paint(cr);
+ cairo_restore(cr);
+ gdk_rgba_free(bg_color);
+ gdk_rgba_free(fg_color);
+
+ gtk_style_context_set_state (context, state);
+ gtk_render_layout (context, cr, x, y, layout);
return FALSE;
}