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

Side by Side Diff: ui/views/widget/desktop_aura/desktop_native_widget_aura.cc

Issue 1426933002: Refactor Windows DPI Point, Rect, and Size for Multiple Monitor DPI Awareness (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed Other Unit Tests - Moved Inner Classes Outside Created 4 years, 11 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
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 "ui/views/widget/desktop_aura/desktop_native_widget_aura.h" 5 #include "ui/views/widget/desktop_aura/desktop_native_widget_aura.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "base/trace_event/trace_event.h" 9 #include "base/trace_event/trace_event.h"
10 #include "build/build_config.h" 10 #include "build/build_config.h"
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 #include "ui/wm/core/shadow_controller.h" 54 #include "ui/wm/core/shadow_controller.h"
55 #include "ui/wm/core/shadow_types.h" 55 #include "ui/wm/core/shadow_types.h"
56 #include "ui/wm/core/visibility_controller.h" 56 #include "ui/wm/core/visibility_controller.h"
57 #include "ui/wm/core/window_animations.h" 57 #include "ui/wm/core/window_animations.h"
58 #include "ui/wm/core/window_modality_controller.h" 58 #include "ui/wm/core/window_modality_controller.h"
59 #include "ui/wm/public/activation_client.h" 59 #include "ui/wm/public/activation_client.h"
60 #include "ui/wm/public/drag_drop_client.h" 60 #include "ui/wm/public/drag_drop_client.h"
61 61
62 #if defined(OS_WIN) 62 #if defined(OS_WIN)
63 #include "ui/base/win/shell.h" 63 #include "ui/base/win/shell.h"
64 #include "ui/gfx/win/dpi.h" 64 #include "ui/gfx/screen_win.h"
65 #endif 65 #endif
66 66
67 DECLARE_EXPORTED_WINDOW_PROPERTY_TYPE(VIEWS_EXPORT, 67 DECLARE_EXPORTED_WINDOW_PROPERTY_TYPE(VIEWS_EXPORT,
68 views::DesktopNativeWidgetAura*); 68 views::DesktopNativeWidgetAura*);
69 69
70 namespace views { 70 namespace views {
71 71
72 DEFINE_WINDOW_PROPERTY_KEY(DesktopNativeWidgetAura*, 72 DEFINE_WINDOW_PROPERTY_KEY(DesktopNativeWidgetAura*,
73 kDesktopNativeWidgetAuraKey, NULL); 73 kDesktopNativeWidgetAuraKey, NULL);
74 74
(...skipping 607 matching lines...) Expand 10 before | Expand all | Expand 10 after
682 } 682 }
683 683
684 gfx::Rect DesktopNativeWidgetAura::GetRestoredBounds() const { 684 gfx::Rect DesktopNativeWidgetAura::GetRestoredBounds() const {
685 return content_window_ ? 685 return content_window_ ?
686 desktop_window_tree_host_->GetRestoredBounds() : gfx::Rect(); 686 desktop_window_tree_host_->GetRestoredBounds() : gfx::Rect();
687 } 687 }
688 688
689 void DesktopNativeWidgetAura::SetBounds(const gfx::Rect& bounds) { 689 void DesktopNativeWidgetAura::SetBounds(const gfx::Rect& bounds) {
690 if (!content_window_) 690 if (!content_window_)
691 return; 691 return;
692 // TODO(ananta)
693 // This code by default scales the bounds rectangle by 1.
694 // We could probably get rid of this and similar logic from
695 // the DesktopNativeWidgetAura::OnWindowTreeHostResized function.
696 float scale = 1;
697 aura::Window* root = host_->window(); 692 aura::Window* root = host_->window();
698 if (root) { 693 gfx::Screen* screen = gfx::Screen::GetScreenFor(root);
699 scale = gfx::Screen::GetScreenFor(root)-> 694 gfx::Rect bounds_in_pixels = screen->DIPToScreenRectInWindow(root, bounds);
700 GetDisplayNearestWindow(root).device_scale_factor();
701 }
702 gfx::Rect bounds_in_pixels =
703 gfx::ScaleToEnclosingRect(bounds, scale, scale);
704 desktop_window_tree_host_->AsWindowTreeHost()->SetBounds(bounds_in_pixels); 695 desktop_window_tree_host_->AsWindowTreeHost()->SetBounds(bounds_in_pixels);
705 } 696 }
706 697
707 void DesktopNativeWidgetAura::SetSize(const gfx::Size& size) { 698 void DesktopNativeWidgetAura::SetSize(const gfx::Size& size) {
708 if (content_window_) 699 if (content_window_)
709 desktop_window_tree_host_->SetSize(size); 700 desktop_window_tree_host_->SetSize(size);
710 } 701 }
711 702
712 void DesktopNativeWidgetAura::StackAbove(gfx::NativeView native_view) { 703 void DesktopNativeWidgetAura::StackAbove(gfx::NativeView native_view) {
713 if (content_window_) 704 if (content_window_)
(...skipping 492 matching lines...) Expand 10 before | Expand all | Expand 10 after
1206 if (cursor_reference_count_ == 0) { 1197 if (cursor_reference_count_ == 0) {
1207 // We are the last DesktopNativeWidgetAura instance, and we are responsible 1198 // We are the last DesktopNativeWidgetAura instance, and we are responsible
1208 // for cleaning up |cursor_manager_|. 1199 // for cleaning up |cursor_manager_|.
1209 delete cursor_manager_; 1200 delete cursor_manager_;
1210 native_cursor_manager_ = NULL; 1201 native_cursor_manager_ = NULL;
1211 cursor_manager_ = NULL; 1202 cursor_manager_ = NULL;
1212 } 1203 }
1213 } 1204 }
1214 1205
1215 } // namespace views 1206 } // namespace views
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698