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 3 // found in the LICENSE file. 4 5 #include "ui/views/widget/desktop_aura/desktop_screen_win.h" 6 7 #include "base/logging.h" 8 #include "ui/aura/window.h" 9 #include "ui/aura/window_event_dispatcher.h" 10 #include "ui/aura/window_tree_host.h" 11 #include "ui/gfx/display.h" 12 #include "ui/views/widget/desktop_aura/desktop_screen.h" 13 #include "ui/views/widget/desktop_aura/desktop_window_tree_host_win.h" 14 15 namespace views { 16 17 //////////////////////////////////////////////////////////////////////////////// 18 // DesktopScreenWin, public: 19 20 DesktopScreenWin::DesktopScreenWin() { 21 } 22 23 DesktopScreenWin::~DesktopScreenWin() { 24 } 25 26 //////////////////////////////////////////////////////////////////////////////// 27 // DesktopScreenWin, gfx::ScreenWin implementation: 28 29 bool DesktopScreenWin::IsDIPEnabled() { 30 return true; 31 } 32 33 gfx::Display DesktopScreenWin::GetDisplayMatching( 34 const gfx::Rect& match_rect) const { 35 return GetDisplayNearestPoint(match_rect.CenterPoint()); 36 } 37 38 HWND DesktopScreenWin::GetHWNDFromNativeView(gfx::NativeView window) const { 39 aura::WindowTreeHost* host = window->GetHost(); 40 return host ? host->GetAcceleratedWidget() : NULL; 41 } 42 43 gfx::NativeWindow DesktopScreenWin::GetNativeWindowFromHWND(HWND hwnd) const { 44 return (::IsWindow(hwnd)) ? 45 DesktopWindowTreeHostWin::GetContentWindowForHWND(hwnd) : NULL; 46 } 47 48 //////////////////////////////////////////////////////////////////////////////// 49 50 gfx::Screen* CreateDesktopScreen() { 51 return new DesktopScreenWin; 52 } 53 54 } // namespace views 55