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

Unified Diff: ash/touch/touch_transformer_controller.cc

Issue 336863002: Moving input device hotplug event processing outside of ui/display (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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
Index: ash/touch/touch_transformer_controller.cc
diff --git a/ash/touch/touch_transformer_controller.cc b/ash/touch/touch_transformer_controller.cc
index 67cbab2b5bdc57d6c1536bfc52270acf766a1773..7686760a746f195171f85fdf9bb04f691e3b4de2 100644
--- a/ash/touch/touch_transformer_controller.cc
+++ b/ash/touch/touch_transformer_controller.cc
@@ -22,6 +22,17 @@ DisplayManager* GetDisplayManager() {
return Shell::GetInstance()->display_manager();
}
+gfx::Size GetNativeModeSize(const DisplayInfo& display) {
+ const std::vector<DisplayMode>& modes = display.display_modes();
+ for (size_t i = 0; i < modes.size(); ++i) {
+ if (modes[i].native) {
Daniel Erat 2014/06/17 21:59:18 nit: remove these curly brackets
dnicoara 2014/06/20 17:01:05 Done.
+ return modes[i].size;
+ }
+ }
+
+ return gfx::Size();
+}
+
} // namespace
// This function computes the extended mode TouchTransformer for
@@ -49,18 +60,20 @@ bool TouchTransformerController::ShouldComputeMirrorModeTouchTransformer(
if (touch_display.touch_device_id() == 0)
return false;
- const ui::DisplayConfigurator::DisplayState* state = NULL;
- const std::vector<ui::DisplayConfigurator::DisplayState>& cached_displays =
- Shell::GetInstance()->display_configurator()->cached_displays();
- for (size_t i = 0; i < cached_displays.size(); i++) {
- if (cached_displays[i].touch_device_id == touch_display.touch_device_id()) {
- state = &cached_displays[i];
+ DisplayManager* display_manager = Shell::GetInstance()->display_manager();
+ const std::vector<gfx::Display>& displays = display_manager->displays();
+ const DisplayInfo* info = NULL;
+ for (size_t i = 0; i < displays.size(); i++) {
+ const DisplayInfo& current_info =
+ display_manager->GetDisplayInfo(displays[i].id());
+ if (current_info.touch_device_id() == touch_display.touch_device_id()) {
+ info = &current_info;
break;
}
}
- if (!state || state->mirror_mode == state->display->native_mode() ||
- !state->display->is_aspect_preserving_scaling()) {
+ if (!info || info->size_in_pixel() == GetNativeModeSize(*info) ||
+ !info->is_aspect_preserving_scaling()) {
return false;
}
return true;

Powered by Google App Engine
This is Rietveld 408576698