+ //----------------------------------------------------------------------------
+ void EventManager::handleMove( const MouseEventPtr& event,
+ const EventPropagationPath& path )
+ {
+ if( _last_mouse_over.path == path )
+ return;
+
+ if( !_last_mouse_over.path.empty() )
+ {
+ MouseEventPtr mouseout(new MouseEvent(*event));
+ mouseout->type = Event::MOUSE_OUT;
+ propagateEvent(mouseout, _last_mouse_over.path);
+ }
+
+ if( !path.empty() )
+ {
+ MouseEventPtr mouseover(new MouseEvent(*event));
+ mouseover->type = Event::MOUSE_OVER;
+ propagateEvent(mouseover, path);
+ }
+
+ _last_mouse_over.path = path;
+ }
+