Updating branch refs/heads/master
to b4fbbd60e6b44b350baca709126f2fc82c5906e6 (commit)
from 00e6df9fcdb4ef3b23dd4eca33d0d94d9a2a18a4 (commit)
commit b4fbbd60e6b44b350baca709126f2fc82c5906e6
Author: Mike Massonnet <[email protected]>
Date: Sun Nov 11 00:05:14 2012 +0100
Button effect for IconButton on mouse hover (only GTK+3)
Since GTK+3 has only background and foreground colors, the icon-button class
has a button like effect on mouse hover when sensitive.
lib/icon-button.vala | 15 +++++++++++++--
1 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/lib/icon-button.vala b/lib/icon-button.vala
index 670691f..5b7fb7f 100644
--- a/lib/icon-button.vala
+++ b/lib/icon-button.vala
@@ -31,7 +31,9 @@ namespace Xnp {
set_visible_window (false);
set_above_child (true);
set_size_request (22, 22);
+#if !ENABLE_GTK3
set_border_width (2);
+#endif
enter_notify_event.connect (on_enter_notify_event);
leave_notify_event.connect (on_leave_notify_event);
@@ -42,8 +44,17 @@ namespace Xnp {
protected void set_widget_source_color (Cairo.Context cr) {
#if ENABLE_GTK3
- if (sensitive && active)
- Gdk.cairo_set_source_rgba (cr,
get_style_context ().get_color (Gtk.StateFlags.PRELIGHT));
+ if (sensitive && active) {
+ int width = get_allocated_width ();
+ int height = get_allocated_height ();
+ var style_context = get_style_context ();
+ style_context.save ();
+ style_context.add_class
(Gtk.STYLE_CLASS_BUTTON);
+ style_context.render_frame (cr, 0, 0, width,
height);
+ style_context.render_background (cr, 0, 0,
width, height);
+ style_context.restore ();
+ Gdk.cairo_set_source_rgba (cr,
style_context.get_color (Gtk.StateFlags.PRELIGHT));
+ }
else if (sensitive && !active)
Gdk.cairo_set_source_rgba (cr,
get_style_context ().get_color (Gtk.StateFlags.NORMAL));
else if (!sensitive)
_______________________________________________
Xfce4-commits mailing list
[email protected]
https://mail.xfce.org/mailman/listinfo/xfce4-commits