Home | History | Annotate | Download | only in events
      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 
     19 bool EventCanceledDefaultHandling(const Event& event) {
     20   return event.phase() == EP_POSTTARGET && event.result() != ER_UNHANDLED;
     21 }
     22 
     23 int RegisterCustomEventType() {
     24   return ++g_custom_event_types;
     25 }
     26 
     27 base::TimeDelta EventTimeForNow() {
     28   return base::TimeDelta::FromInternalValue(
     29       base::TimeTicks::Now().ToInternalValue());
     30 }
     31 
     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