• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
EventHandler()12 EventHandler::EventHandler() {
13 }
14 
~EventHandler()15 EventHandler::~EventHandler() {
16   while (!dispatchers_.empty()) {
17     EventDispatcher* dispatcher = dispatchers_.top();
18     dispatchers_.pop();
19     dispatcher->OnHandlerDestroyed(this);
20   }
21 }
22 
OnEvent(Event * event)23 void EventHandler::OnEvent(Event* event) {
24   // TODO(tdanderson): Encapsulate static_casts in ui::Event for all
25   //                   event types.
26   if (event->IsKeyEvent())
27     OnKeyEvent(static_cast<KeyEvent*>(event));
28   else if (event->IsMouseEvent())
29     OnMouseEvent(static_cast<MouseEvent*>(event));
30   else if (event->IsScrollEvent())
31     OnScrollEvent(static_cast<ScrollEvent*>(event));
32   else if (event->IsTouchEvent())
33     OnTouchEvent(static_cast<TouchEvent*>(event));
34   else if (event->IsGestureEvent())
35     OnGestureEvent(event->AsGestureEvent());
36   else if (event->type() == ET_CANCEL_MODE)
37     OnCancelMode(static_cast<CancelModeEvent*>(event));
38 }
39 
OnKeyEvent(KeyEvent * event)40 void EventHandler::OnKeyEvent(KeyEvent* event) {
41 }
42 
OnMouseEvent(MouseEvent * event)43 void EventHandler::OnMouseEvent(MouseEvent* event) {
44 }
45 
OnScrollEvent(ScrollEvent * event)46 void EventHandler::OnScrollEvent(ScrollEvent* event) {
47 }
48 
OnTouchEvent(TouchEvent * event)49 void EventHandler::OnTouchEvent(TouchEvent* event) {
50 }
51 
OnGestureEvent(GestureEvent * event)52 void EventHandler::OnGestureEvent(GestureEvent* event) {
53 }
54 
OnCancelMode(CancelModeEvent * event)55 void EventHandler::OnCancelMode(CancelModeEvent* event) {
56 }
57 
58 }  // namespace ui
59