| OLD | NEW |
| 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_win.h" | 5 #include "ui/views/widget/desktop_aura/desktop_window_tree_host_win.h" |
| 6 | 6 |
| 7 #include "base/win/metro.h" | 7 #include "base/win/metro.h" |
| 8 #include "third_party/skia/include/core/SkPath.h" | 8 #include "third_party/skia/include/core/SkPath.h" |
| 9 #include "third_party/skia/include/core/SkRegion.h" | 9 #include "third_party/skia/include/core/SkRegion.h" |
| 10 #include "ui/aura/client/aura_constants.h" | 10 #include "ui/aura/client/aura_constants.h" |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 111 return ui::NativeThemeWin::instance(); | 111 return ui::NativeThemeWin::instance(); |
| 112 } | 112 } |
| 113 } | 113 } |
| 114 return ui::NativeThemeAura::instance(); | 114 return ui::NativeThemeAura::instance(); |
| 115 } | 115 } |
| 116 | 116 |
| 117 //////////////////////////////////////////////////////////////////////////////// | 117 //////////////////////////////////////////////////////////////////////////////// |
| 118 // DesktopWindowTreeHostWin, DesktopWindowTreeHost implementation: | 118 // DesktopWindowTreeHostWin, DesktopWindowTreeHost implementation: |
| 119 | 119 |
| 120 void DesktopWindowTreeHostWin::Init(aura::Window* content_window, | 120 void DesktopWindowTreeHostWin::Init(aura::Window* content_window, |
| 121 const Widget::InitParams& params) { | 121 const Widget::InitParams& params, |
| 122 ui::ContextFactory* context_factory) { |
| 122 // TODO(beng): SetInitParams(). | 123 // TODO(beng): SetInitParams(). |
| 123 content_window_ = content_window; | 124 content_window_ = content_window; |
| 124 | 125 |
| 125 aura::client::SetAnimationHost(content_window_, this); | 126 aura::client::SetAnimationHost(content_window_, this); |
| 126 | 127 |
| 127 ConfigureWindowStyles(message_handler_.get(), params, | 128 ConfigureWindowStyles(message_handler_.get(), params, |
| 128 GetWidget()->widget_delegate(), | 129 GetWidget()->widget_delegate(), |
| 129 native_widget_delegate_); | 130 native_widget_delegate_); |
| 130 | 131 |
| 131 HWND parent_hwnd = NULL; | 132 HWND parent_hwnd = NULL; |
| 132 if (params.parent && params.parent->GetHost()) | 133 if (params.parent && params.parent->GetHost()) |
| 133 parent_hwnd = params.parent->GetHost()->GetAcceleratedWidget(); | 134 parent_hwnd = params.parent->GetHost()->GetAcceleratedWidget(); |
| 134 | 135 |
| 135 message_handler_->set_remove_standard_frame(params.remove_standard_frame); | 136 message_handler_->set_remove_standard_frame(params.remove_standard_frame); |
| 136 | 137 |
| 137 has_non_client_view_ = Widget::RequiresNonClientView(params.type); | 138 has_non_client_view_ = Widget::RequiresNonClientView(params.type); |
| 138 | 139 |
| 139 gfx::Rect pixel_bounds = gfx::win::DIPToScreenRect(params.bounds); | 140 gfx::Rect pixel_bounds = gfx::win::DIPToScreenRect(params.bounds); |
| 140 message_handler_->Init(parent_hwnd, pixel_bounds); | 141 message_handler_->Init(parent_hwnd, pixel_bounds); |
| 141 if (params.type == Widget::InitParams::TYPE_MENU) { | 142 if (params.type == Widget::InitParams::TYPE_MENU) { |
| 142 ::SetProp(GetAcceleratedWidget(), | 143 ::SetProp(GetAcceleratedWidget(), |
| 143 kForceSoftwareCompositor, | 144 kForceSoftwareCompositor, |
| 144 reinterpret_cast<HANDLE>(true)); | 145 reinterpret_cast<HANDLE>(true)); |
| 145 } | 146 } |
| 146 CreateCompositor(GetAcceleratedWidget()); | 147 CreateCompositor(GetAcceleratedWidget(), context_factory); |
| 147 } | 148 } |
| 148 | 149 |
| 149 void DesktopWindowTreeHostWin::OnNativeWidgetCreated( | 150 void DesktopWindowTreeHostWin::OnNativeWidgetCreated( |
| 150 const Widget::InitParams& params) { | 151 const Widget::InitParams& params) { |
| 151 // The cursor is not necessarily visible when the root window is created. | 152 // The cursor is not necessarily visible when the root window is created. |
| 152 aura::client::CursorClient* cursor_client = | 153 aura::client::CursorClient* cursor_client = |
| 153 aura::client::GetCursorClient(window()); | 154 aura::client::GetCursorClient(window()); |
| 154 if (cursor_client) | 155 if (cursor_client) |
| 155 is_cursor_visible_ = cursor_client->IsCursorVisible(); | 156 is_cursor_visible_ = cursor_client->IsCursorVisible(); |
| 156 | 157 |
| (...skipping 795 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 952 | 953 |
| 953 // static | 954 // static |
| 954 DesktopWindowTreeHost* DesktopWindowTreeHost::Create( | 955 DesktopWindowTreeHost* DesktopWindowTreeHost::Create( |
| 955 internal::NativeWidgetDelegate* native_widget_delegate, | 956 internal::NativeWidgetDelegate* native_widget_delegate, |
| 956 DesktopNativeWidgetAura* desktop_native_widget_aura) { | 957 DesktopNativeWidgetAura* desktop_native_widget_aura) { |
| 957 return new DesktopWindowTreeHostWin(native_widget_delegate, | 958 return new DesktopWindowTreeHostWin(native_widget_delegate, |
| 958 desktop_native_widget_aura); | 959 desktop_native_widget_aura); |
| 959 } | 960 } |
| 960 | 961 |
| 961 } // namespace views | 962 } // namespace views |
| OLD | NEW |