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

Reply via email to