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

Side by Side Diff: ash/magnifier/partial_magnification_controller.cc

Issue 2644713002: cros: Use runtime stylus detection for ash palette. (Closed)
Patch Set: Fix test Created 3 years, 10 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 unified diff | Download patch
« no previous file with comments | « ash/laser/laser_pointer_controller.cc ('k') | ash/shell/shell_delegate_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ash/magnifier/partial_magnification_controller.h" 5 #include "ash/magnifier/partial_magnification_controller.h"
6 6
7 #include "ash/common/system/chromeos/palette/palette_utils.h" 7 #include "ash/common/system/chromeos/palette/palette_utils.h"
8 #include "ash/shell.h" 8 #include "ash/shell.h"
9 #include "third_party/skia/include/core/SkDrawLooper.h" 9 #include "third_party/skia/include/core/SkDrawLooper.h"
10 #include "ui/aura/window_event_dispatcher.h" 10 #include "ui/aura/window_event_dispatcher.h"
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after
276 return; 276 return;
277 277
278 // Compute the event location in screen space. 278 // Compute the event location in screen space.
279 aura::Window* target = static_cast<aura::Window*>(event->target()); 279 aura::Window* target = static_cast<aura::Window*>(event->target());
280 aura::Window* event_root = target->GetRootWindow(); 280 aura::Window* event_root = target->GetRootWindow();
281 gfx::Point screen_point = event->root_location(); 281 gfx::Point screen_point = event->root_location();
282 wm::ConvertPointToScreen(event_root, &screen_point); 282 wm::ConvertPointToScreen(event_root, &screen_point);
283 283
284 // If the stylus is pressed on the palette icon or widget, do not activate. 284 // If the stylus is pressed on the palette icon or widget, do not activate.
285 if (event->type() == ui::ET_TOUCH_PRESSED && 285 if (event->type() == ui::ET_TOUCH_PRESSED &&
286 !PaletteContainsPointInScreen(screen_point)) { 286 !palette_utils::PaletteContainsPointInScreen(screen_point)) {
287 SetActive(true); 287 SetActive(true);
288 } 288 }
289 289
290 if (event->type() == ui::ET_TOUCH_RELEASED) 290 if (event->type() == ui::ET_TOUCH_RELEASED)
291 SetActive(false); 291 SetActive(false);
292 292
293 if (!is_active_) 293 if (!is_active_)
294 return; 294 return;
295 295
296 // If the previous root window was detached host_widget_ will be null; 296 // If the previous root window was detached host_widget_ will be null;
297 // reconstruct it. We also need to change the root window if the cursor has 297 // reconstruct it. We also need to change the root window if the cursor has
298 // crossed display boundries. 298 // crossed display boundries.
299 SwitchTargetRootWindowIfNeeded(GetCurrentRootWindow()); 299 SwitchTargetRootWindowIfNeeded(GetCurrentRootWindow());
300 300
301 // If that failed for any reason return. 301 // If that failed for any reason return.
302 if (!host_widget_) { 302 if (!host_widget_) {
303 SetActive(false); 303 SetActive(false);
304 return; 304 return;
305 } 305 }
306 306
307 // Remap point from where it was captured to the display it is actually on. 307 // Remap point from where it was captured to the display it is actually on.
308 gfx::Point point = event->root_location(); 308 gfx::Point point = event->root_location();
309 aura::Window::ConvertPointToTarget( 309 aura::Window::ConvertPointToTarget(
310 event_root, host_widget_->GetNativeView()->GetRootWindow(), &point); 310 event_root, host_widget_->GetNativeView()->GetRootWindow(), &point);
311 host_widget_->SetBounds(GetBounds(point)); 311 host_widget_->SetBounds(GetBounds(point));
312 312
313 // If the stylus is over the palette icon or widget, do not consume the event. 313 // If the stylus is over the palette icon or widget, do not consume the event.
314 if (!PaletteContainsPointInScreen(screen_point)) 314 if (!palette_utils::PaletteContainsPointInScreen(screen_point))
315 event->StopPropagation(); 315 event->StopPropagation();
316 } 316 }
317 317
318 void PartialMagnificationController::CreateMagnifierWindow( 318 void PartialMagnificationController::CreateMagnifierWindow(
319 aura::Window* root_window) { 319 aura::Window* root_window) {
320 if (host_widget_ || !root_window) 320 if (host_widget_ || !root_window)
321 return; 321 return;
322 322
323 root_window->AddObserver(this); 323 root_window->AddObserver(this);
324 324
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
373 373
374 void PartialMagnificationController::RemoveZoomWidgetObservers() { 374 void PartialMagnificationController::RemoveZoomWidgetObservers() {
375 DCHECK(host_widget_); 375 DCHECK(host_widget_);
376 host_widget_->RemoveObserver(this); 376 host_widget_->RemoveObserver(this);
377 aura::Window* root_window = host_widget_->GetNativeView()->GetRootWindow(); 377 aura::Window* root_window = host_widget_->GetNativeView()->GetRootWindow();
378 DCHECK(root_window); 378 DCHECK(root_window);
379 root_window->RemoveObserver(this); 379 root_window->RemoveObserver(this);
380 } 380 }
381 381
382 } // namespace ash 382 } // namespace ash
OLDNEW
« no previous file with comments | « ash/laser/laser_pointer_controller.cc ('k') | ash/shell/shell_delegate_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698