• 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_utils.h"
6 
7 #include <vector>
8 
9 #include "ui/events/event.h"
10 #include "ui/gfx/display.h"
11 #include "ui/gfx/screen.h"
12 
13 namespace ui {
14 
15 namespace {
16 int g_custom_event_types = ET_LAST;
17 }  // namespace
18 
EventCanceledDefaultHandling(const Event & event)19 bool EventCanceledDefaultHandling(const Event& event) {
20   return event.phase() == EP_POSTTARGET && event.result() != ER_UNHANDLED;
21 }
22 
RegisterCustomEventType()23 int RegisterCustomEventType() {
24   return ++g_custom_event_types;
25 }
26 
EventTimeForNow()27 base::TimeDelta EventTimeForNow() {
28   return base::TimeDelta::FromInternalValue(
29       base::TimeTicks::Now().ToInternalValue());
30 }
31 
ShouldDefaultToNaturalScroll()32 bool ShouldDefaultToNaturalScroll() {
33   gfx::Screen* screen = gfx::Screen::GetScreenByType(gfx::SCREEN_TYPE_NATIVE);
34   if (!screen)
35     return false;
36   const std::vector<gfx::Display>& displays = screen->GetAllDisplays();
37   for (std::vector<gfx::Display>::const_iterator it = displays.begin();
38        it != displays.end(); ++it) {
39     const gfx::Display& display = *it;
40     if (display.IsInternal() &&
41         display.touch_support() == gfx::Display::TOUCH_SUPPORT_AVAILABLE)
42       return true;
43   }
44   return false;
45 }
46 
47 }  // namespace ui
48