1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "ui/events/event_handler.h" 6 7 #include "ui/events/event.h" 8 #include "ui/events/event_dispatcher.h" 9 10 namespace ui { 11 12 EventHandler::EventHandler() { 13 } 14 15 EventHandler::~EventHandler() { 16 while (!dispatchers_.empty()) { 17 EventDispatcher* dispatcher = dispatchers_.top(); 18 dispatchers_.pop(); 19 dispatcher->OnHandlerDestroyed(this); 20 } 21 } 22 23 void EventHandler::OnEvent(Event* event) { 24 if (event->IsKeyEvent()) 25 OnKeyEvent(static_cast<KeyEvent*>(event)); 26 else if (event->IsMouseEvent()) 27 OnMouseEvent(static_cast<MouseEvent*>(event)); 28 else if (event->IsScrollEvent()) 29 OnScrollEvent(static_cast<ScrollEvent*>(event)); 30 else if (event->IsTouchEvent()) 31 OnTouchEvent(static_cast<TouchEvent*>(event)); 32 else if (event->IsGestureEvent()) 33 OnGestureEvent(static_cast<GestureEvent*>(event)); 34 else if (event->type() == ET_CANCEL_MODE) 35 OnCancelMode(static_cast<CancelModeEvent*>(event)); 36 } 37 38 void EventHandler::OnKeyEvent(KeyEvent* event) { 39 } 40 41 void EventHandler::OnMouseEvent(MouseEvent* event) { 42 } 43 44 void EventHandler::OnScrollEvent(ScrollEvent* event) { 45 } 46 47 void EventHandler::OnTouchEvent(TouchEvent* event) { 48 } 49 50 void EventHandler::OnGestureEvent(GestureEvent* event) { 51 } 52 53 void EventHandler::OnCancelMode(CancelModeEvent* event) { 54 } 55 56 } // namespace ui 57