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

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

Issue 1608733002: Remove ui/gfx/screen_type_delegate.h (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@metro-mode-4
Patch Set: and another rebase Created 4 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
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_window_tree_host_x11.h" 5 #include "ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h"
6 6
7 #include <X11/Xatom.h> 7 #include <X11/Xatom.h>
8 #include <X11/Xregion.h> 8 #include <X11/Xregion.h>
9 #include <X11/Xutil.h> 9 #include <X11/Xutil.h>
10 #include <X11/extensions/XInput2.h> 10 #include <X11/extensions/XInput2.h>
(...skipping 802 matching lines...) Expand 10 before | Expand all | Expand 10 after
813 Maximize(); 813 Maximize();
814 814
815 // Try to guess the size we will have after the switch to/from fullscreen: 815 // Try to guess the size we will have after the switch to/from fullscreen:
816 // - (may) avoid transient states 816 // - (may) avoid transient states
817 // - works around Flash content which expects to have the size updated 817 // - works around Flash content which expects to have the size updated
818 // synchronously. 818 // synchronously.
819 // See https://crbug.com/361408 819 // See https://crbug.com/361408
820 if (fullscreen) { 820 if (fullscreen) {
821 restored_bounds_in_pixels_ = bounds_in_pixels_; 821 restored_bounds_in_pixels_ = bounds_in_pixels_;
822 const gfx::Display display = 822 const gfx::Display display =
823 gfx::Screen::GetScreenFor(NULL)->GetDisplayNearestWindow(window()); 823 gfx::Screen::GetScreen()->GetDisplayNearestWindow(window());
824 bounds_in_pixels_ = ToPixelRect(display.bounds()); 824 bounds_in_pixels_ = ToPixelRect(display.bounds());
825 } else { 825 } else {
826 bounds_in_pixels_ = restored_bounds_in_pixels_; 826 bounds_in_pixels_ = restored_bounds_in_pixels_;
827 } 827 }
828 OnHostMoved(bounds_in_pixels_.origin()); 828 OnHostMoved(bounds_in_pixels_.origin());
829 OnHostResized(bounds_in_pixels_.size()); 829 OnHostResized(bounds_in_pixels_.size());
830 830
831 if (HasWMSpecProperty("_NET_WM_STATE_FULLSCREEN") == fullscreen) { 831 if (HasWMSpecProperty("_NET_WM_STATE_FULLSCREEN") == fullscreen) {
832 Relayout(); 832 Relayout();
833 ResetWindowRegion(); 833 ResetWindowRegion();
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
931 } 931 }
932 932
933 void DesktopWindowTreeHostX11::SizeConstraintsChanged() { 933 void DesktopWindowTreeHostX11::SizeConstraintsChanged() {
934 UpdateMinAndMaxSize(); 934 UpdateMinAndMaxSize();
935 } 935 }
936 936
937 //////////////////////////////////////////////////////////////////////////////// 937 ////////////////////////////////////////////////////////////////////////////////
938 // DesktopWindowTreeHostX11, aura::WindowTreeHost implementation: 938 // DesktopWindowTreeHostX11, aura::WindowTreeHost implementation:
939 939
940 gfx::Transform DesktopWindowTreeHostX11::GetRootTransform() const { 940 gfx::Transform DesktopWindowTreeHostX11::GetRootTransform() const {
941 gfx::Display display = gfx::Screen::GetNativeScreen()->GetPrimaryDisplay(); 941 gfx::Display display = gfx::Screen::GetScreen()->GetPrimaryDisplay();
942 if (window_mapped_) { 942 if (window_mapped_) {
943 aura::Window* win = const_cast<aura::Window*>(window()); 943 aura::Window* win = const_cast<aura::Window*>(window());
944 display = gfx::Screen::GetNativeScreen()->GetDisplayNearestWindow(win); 944 display = gfx::Screen::GetScreen()->GetDisplayNearestWindow(win);
945 } 945 }
946 946
947 float scale = display.device_scale_factor(); 947 float scale = display.device_scale_factor();
948 gfx::Transform transform; 948 gfx::Transform transform;
949 transform.Scale(scale, scale); 949 transform.Scale(scale, scale);
950 return transform; 950 return transform;
951 } 951 }
952 952
953 ui::EventSource* DesktopWindowTreeHostX11::GetEventSource() { 953 ui::EventSource* DesktopWindowTreeHostX11::GetEventSource() {
954 return this; 954 return this;
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after
1280 if (window_icon) { 1280 if (window_icon) {
1281 SetWindowIcons(gfx::ImageSkia(), *window_icon); 1281 SetWindowIcons(gfx::ImageSkia(), *window_icon);
1282 } 1282 }
1283 CreateCompositor(); 1283 CreateCompositor();
1284 OnAcceleratedWidgetAvailable(); 1284 OnAcceleratedWidgetAvailable();
1285 } 1285 }
1286 1286
1287 gfx::Size DesktopWindowTreeHostX11::AdjustSize( 1287 gfx::Size DesktopWindowTreeHostX11::AdjustSize(
1288 const gfx::Size& requested_size_in_pixels) { 1288 const gfx::Size& requested_size_in_pixels) {
1289 std::vector<gfx::Display> displays = 1289 std::vector<gfx::Display> displays =
1290 gfx::Screen::GetScreenByType(gfx::SCREEN_TYPE_NATIVE)->GetAllDisplays(); 1290 gfx::Screen::GetScreen()->GetAllDisplays();
1291 // Compare against all monitor sizes. The window manager can move the window 1291 // Compare against all monitor sizes. The window manager can move the window
1292 // to whichever monitor it wants. 1292 // to whichever monitor it wants.
1293 for (size_t i = 0; i < displays.size(); ++i) { 1293 for (size_t i = 0; i < displays.size(); ++i) {
1294 if (requested_size_in_pixels == displays[i].GetSizeInPixel()) { 1294 if (requested_size_in_pixels == displays[i].GetSizeInPixel()) {
1295 return gfx::Size(requested_size_in_pixels.width() - 1, 1295 return gfx::Size(requested_size_in_pixels.width() - 1,
1296 requested_size_in_pixels.height() - 1); 1296 requested_size_in_pixels.height() - 1);
1297 } 1297 }
1298 } 1298 }
1299 1299
1300 // Do not request a 0x0 window size. It causes an XError. 1300 // Do not request a 0x0 window size. It causes an XError.
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
1526 1526
1527 void DesktopWindowTreeHostX11::DispatchKeyEvent(ui::KeyEvent* event) { 1527 void DesktopWindowTreeHostX11::DispatchKeyEvent(ui::KeyEvent* event) {
1528 GetInputMethod()->DispatchKeyEvent(event); 1528 GetInputMethod()->DispatchKeyEvent(event);
1529 } 1529 }
1530 1530
1531 void DesktopWindowTreeHostX11::ConvertEventToDifferentHost( 1531 void DesktopWindowTreeHostX11::ConvertEventToDifferentHost(
1532 ui::LocatedEvent* located_event, 1532 ui::LocatedEvent* located_event,
1533 DesktopWindowTreeHostX11* host) { 1533 DesktopWindowTreeHostX11* host) {
1534 DCHECK_NE(this, host); 1534 DCHECK_NE(this, host);
1535 const gfx::Display display_src = 1535 const gfx::Display display_src =
1536 gfx::Screen::GetNativeScreen()->GetDisplayNearestWindow(window()); 1536 gfx::Screen::GetScreen()->GetDisplayNearestWindow(window());
1537 const gfx::Display display_dest = 1537 const gfx::Display display_dest =
1538 gfx::Screen::GetNativeScreen()->GetDisplayNearestWindow(host->window()); 1538 gfx::Screen::GetScreen()->GetDisplayNearestWindow(host->window());
1539 DCHECK_EQ(display_src.device_scale_factor(), 1539 DCHECK_EQ(display_src.device_scale_factor(),
1540 display_dest.device_scale_factor()); 1540 display_dest.device_scale_factor());
1541 gfx::Vector2d offset = GetLocationOnNativeScreen() - 1541 gfx::Vector2d offset = GetLocationOnNativeScreen() -
1542 host->GetLocationOnNativeScreen(); 1542 host->GetLocationOnNativeScreen();
1543 gfx::PointF location_in_pixel_in_host = 1543 gfx::PointF location_in_pixel_in_host =
1544 located_event->location_f() + gfx::Vector2dF(offset); 1544 located_event->location_f() + gfx::Vector2dF(offset);
1545 located_event->set_location_f(location_in_pixel_in_host); 1545 located_event->set_location_f(location_in_pixel_in_host);
1546 } 1546 }
1547 1547
1548 void DesktopWindowTreeHostX11::ResetWindowRegion() { 1548 void DesktopWindowTreeHostX11::ResetWindowRegion() {
(...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after
2035 if (linux_ui) { 2035 if (linux_ui) {
2036 ui::NativeTheme* native_theme = linux_ui->GetNativeTheme(window); 2036 ui::NativeTheme* native_theme = linux_ui->GetNativeTheme(window);
2037 if (native_theme) 2037 if (native_theme)
2038 return native_theme; 2038 return native_theme;
2039 } 2039 }
2040 2040
2041 return ui::NativeThemeAura::instance(); 2041 return ui::NativeThemeAura::instance();
2042 } 2042 }
2043 2043
2044 } // namespace views 2044 } // namespace views
OLDNEW
« no previous file with comments | « ui/views/widget/desktop_aura/desktop_screen_x11.cc ('k') | ui/views/widget/desktop_aura/x11_window_event_filter.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698