Author: manolo
Date: 2012-05-17 07:42:41 -0700 (Thu, 17 May 2012)
New Revision: 9515
Log:
Some optimization for function int fltk3::event_inside(const fltk3::Widget *o)
Modified:
branches/branch-3.0/src/fltk3/run.cxx
Modified: branches/branch-3.0/src/fltk3/run.cxx
===================================================================
--- branches/branch-3.0/src/fltk3/run.cxx 2012-05-17 13:50:11 UTC (rev
9514)
+++ branches/branch-3.0/src/fltk3/run.cxx 2012-05-17 14:42:41 UTC (rev
9515)
@@ -220,14 +220,16 @@
int dx = e_x, dy = e_y;
Group* g = o->parent();
Widget* e_widget = event_widget();
- if (e_widget && !e_widget->as_window()) {
- dx += e_widget->dx_window();
- dy += e_widget->dy_window();
+ if (e_widget != g) {
+ if (e_widget && !e_widget->as_window()) {
+ dx += e_widget->dx_window();
+ dy += e_widget->dy_window();
+ }
+ if (g && !g->as_window()) {
+ dx -= g->dx_window();
+ dy -= g->dy_window();
+ }
}
- if (g && !g->as_window()) {
- dx -= g->dx_window();
- dy -= g->dy_window();
- }
return o->fltk3::Rectangle::contains(dx, dy);
}
_______________________________________________
fltk-commit mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-commit