add Gtkmm2ext::event_inside_widget_window()
This commit is contained in:
@@ -49,6 +49,8 @@ namespace Gtk {
|
||||
namespace Gtkmm2ext {
|
||||
LIBGTKMM2EXT_API void init (const char*);
|
||||
|
||||
LIBGTKMM2EXT_API bool event_inside_widget_window (Gtk::Widget& widget, GdkEvent* ev);
|
||||
|
||||
LIBGTKMM2EXT_API std::string fit_to_pixels (const std::string&, int pixel_width, Pango::FontDescription& font, int& actual_width, bool with_ellipses = false);
|
||||
LIBGTKMM2EXT_API std::pair<std::string, double> fit_to_pixels (cairo_t *, std::string, double);
|
||||
LIBGTKMM2EXT_API int pixel_width (const std::string& str, Pango::FontDescription& font);
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user