diff Framework/Viewport/WidgetViewport.cpp @ 54:01aa453d4d5b wasm

IWidget::HasRenderMouseOver
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 27 Apr 2017 17:49:29 +0200
parents c2dc924f1a63
children f0f354a97581
line wrap: on
line diff
--- a/Framework/Viewport/WidgetViewport.cpp	Thu Apr 27 16:57:49 2017 +0200
+++ b/Framework/Viewport/WidgetViewport.cpp	Thu Apr 27 17:49:29 2017 +0200
@@ -204,7 +204,7 @@
       mouseTracker_.reset(NULL);
     }      
 
-    observers_.NotifyChange(this);;
+    observers_.NotifyChange(this);
   }
 
 
@@ -219,7 +219,7 @@
     {
       mouseTracker_->MouseUp();
       mouseTracker_.reset(NULL);
-      observers_.NotifyChange(this);;
+      observers_.NotifyChange(this);
     }
   }
 
@@ -235,13 +235,23 @@
     lastMouseX_ = x;
     lastMouseY_ = y;
 
+    bool repaint = false;
+    
     if (mouseTracker_.get() != NULL)
     {
       mouseTracker_->MouseMove(x, y);
+      repaint = true;
+    }
+    else
+    {
+      repaint = centralWidget_->HasRenderMouseOver(x, y);
     }
 
-    // The scene must be repainted
-    observers_.NotifyChange(this);
+    if (repaint)
+    {
+      // The scene must be repainted, notify the observers
+      observers_.NotifyChange(this);
+    }
   }