summaryrefslogtreecommitdiff
path: root/libs/gtkmm2ext/utils.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/gtkmm2ext/utils.cc')
-rw-r--r--libs/gtkmm2ext/utils.cc27
1 files changed, 27 insertions, 0 deletions
diff --git a/libs/gtkmm2ext/utils.cc b/libs/gtkmm2ext/utils.cc
index f3c5b6795f..b4926ac43b 100644
--- a/libs/gtkmm2ext/utils.cc
+++ b/libs/gtkmm2ext/utils.cc
@@ -754,6 +754,33 @@ Gtkmm2ext::disable_tooltips ()
gtk_rc_parse_string ("gtk-enable-tooltips = 0");
}
+bool
+Gtkmm2ext::event_inside_widget_window (Gtk::Widget& widget, GdkEvent* ev)
+{
+ gdouble evx, evy;
+
+ if (!gdk_event_get_root_coords (ev, &evx, &evy)) {
+ return false;
+ }
+
+ gint wx;
+ gint wy;
+ gint width, height, depth;
+ gint x, y;
+
+ Glib::RefPtr<Gdk::Window> widget_window = widget.get_window();
+
+ widget_window->get_geometry (x, y, width, height, depth);
+ widget_window->get_root_origin (wx, wy);
+
+ if ((evx >= wx && evx < wx + width) &&
+ (evy >= wy && evy < wy + height)) {
+ return true;
+ }
+
+ return false;
+}
+
const char*
Gtkmm2ext::event_type_string (int event_type)
{