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