| 98 | |
| 99 | |
| 100 | void EventState::setHoveredWidget(widget::Widget* w) { |
| 101 | if (w == hoveredWidget) |
| 102 | return; |
| 103 | |
| 104 | if (hoveredWidget) { |
| 105 | // Dispatch LeaveEvent |
| 106 | Widget::LeaveEvent eLeave; |
| 107 | hoveredWidget->onLeave(eLeave); |
| 108 | hoveredWidget = NULL; |
| 109 | } |
| 110 | |
| 111 | if (w) { |
| 112 | // Dispatch EnterEvent |
| 113 | EventContext cEnter; |
| 114 | cEnter.target = w; |
| 115 | Widget::EnterEvent eEnter; |
| 116 | eEnter.context = &cEnter; |
| 117 | w->onEnter(eEnter); |
| 118 | hoveredWidget = cEnter.target; |
| 119 | } |
| 120 | } |
| 121 | |
| 122 | void EventState::setDraggedWidget(widget::Widget* w, int button) { |
| 123 | if (w == draggedWidget) |