Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(234)

Unified Diff: ui/base/touch/touch_device_win.cc

Issue 2301073002: Optimization: avoid making 4 JNI calls to get touch device attributes. (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« ui/base/touch/touch_device.h ('K') | « ui/base/touch/touch_device_linux.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/base/touch/touch_device_win.cc
diff --git a/ui/base/touch/touch_device_win.cc b/ui/base/touch/touch_device_win.cc
index 26554862ef7e8b376699486f02d5bbc5ae5bd427..62fd6a4bd9352daeaf5ddf12966e00c9924a41d9 100644
--- a/ui/base/touch/touch_device_win.cc
+++ b/ui/base/touch/touch_device_win.cc
@@ -33,6 +33,10 @@ int MaxTouchPoints() {
return GetSystemMetrics(SM_MAXIMUMTOUCHES);
}
+std::pair<int, int> GetAvailablePointerAndHoverTypes() {
+ return std::make_pair(GetAvailablePointerTypes(), GetAvailableHoverTypes());
+}
+
int GetAvailablePointerTypes() {
int available_pointer_types = 0;
if (IsTouchDevicePresent())
@@ -47,8 +51,7 @@ int GetAvailablePointerTypes() {
return available_pointer_types;
}
-PointerType GetPrimaryPointerType() {
- int available_pointer_types = GetAvailablePointerTypes();
+PointerType GetPrimaryPointerType(int available_pointer_types) {
if (available_pointer_types & POINTER_TYPE_FINE)
return POINTER_TYPE_FINE;
if (available_pointer_types & POINTER_TYPE_COARSE)
@@ -57,6 +60,10 @@ PointerType GetPrimaryPointerType() {
return POINTER_TYPE_NONE;
}
+PointerType GetPrimaryPointerType() {
+ return GetPrimaryPointerType(GetAvailablePointerTypes());
+}
+
int GetAvailableHoverTypes() {
int available_hover_types = 0;
if (IsTouchDevicePresent())
@@ -70,8 +77,7 @@ int GetAvailableHoverTypes() {
return available_hover_types;
}
-HoverType GetPrimaryHoverType() {
- int available_hover_types = GetAvailableHoverTypes();
+HoverType GetPrimaryHoverType(int available_hover_types) {
if (available_hover_types & HOVER_TYPE_HOVER)
return HOVER_TYPE_HOVER;
if (available_hover_types & HOVER_TYPE_ON_DEMAND)
@@ -80,4 +86,8 @@ HoverType GetPrimaryHoverType() {
return HOVER_TYPE_NONE;
}
+HoverType GetPrimaryHoverType() {
+ return GetPrimaryHoverType(GetAvailableHoverTypes());
+}
+
} // namespace ui
« ui/base/touch/touch_device.h ('K') | « ui/base/touch/touch_device_linux.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698