OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2016 Google Inc. | 2 * Copyright 2016 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #include "Window_win.h" | 8 #include "Window_win.h" |
9 | 9 |
10 #include <tchar.h> | 10 #include <tchar.h> |
11 #include <windows.h> | 11 #include <windows.h> |
12 #include <windowsx.h> | 12 #include <windowsx.h> |
13 | 13 |
14 #include "SkUtils.h" | 14 #include "SkUtils.h" |
15 #include "../GLWindowContext.h" | 15 #include "VulkanWindowContext_win.h" |
16 #include "../VulkanWindowContext.h" | |
17 | 16 |
18 namespace sk_app { | 17 namespace sk_app { |
19 | 18 |
20 Window* Window::CreateNativeWindow(void* platformData) { | 19 Window* Window::CreateNativeWindow(void* platformData) { |
21 HINSTANCE hInstance = (HINSTANCE)platformData; | 20 HINSTANCE hInstance = (HINSTANCE)platformData; |
22 | 21 |
23 Window_win* window = new Window_win(); | 22 Window_win* window = new Window_win(); |
24 if (!window->init(hInstance)) { | 23 if (!window->init(hInstance)) { |
25 delete window; | 24 delete window; |
26 return nullptr; | 25 return nullptr; |
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
258 | 257 |
259 void Window_win::setTitle(const char* title) { | 258 void Window_win::setTitle(const char* title) { |
260 SetWindowTextA(fHWnd, title); | 259 SetWindowTextA(fHWnd, title); |
261 } | 260 } |
262 | 261 |
263 void Window_win::show() { | 262 void Window_win::show() { |
264 ShowWindow(fHWnd, SW_SHOW); | 263 ShowWindow(fHWnd, SW_SHOW); |
265 } | 264 } |
266 | 265 |
267 | 266 |
268 bool Window_win::attach(BackendType attachType, const DisplayParams& params) { | 267 bool Window_win::attach(BackEndType attachType, const DisplayParams& params) { |
| 268 if (kVulkan_BackendType != attachType) { |
| 269 return false; |
| 270 } |
| 271 |
269 ContextPlatformData_win platformData; | 272 ContextPlatformData_win platformData; |
270 platformData.fHInstance = fHInstance; | 273 platformData.fHInstance = fHInstance; |
271 platformData.fHWnd = fHWnd; | 274 platformData.fHWnd = fHWnd; |
272 | 275 |
273 switch (attachType) { | 276 fWindowContext = VulkanWindowContext::Create((void*)&platformData, params); |
274 case kNativeGL_BackendType: | |
275 default: | |
276 fWindowContext = GLWindowContext::Create((void*)&platformData, param
s); | |
277 break; | |
278 | |
279 case kVulkan_BackendType: | |
280 fWindowContext = VulkanWindowContext::Create((void*)&platformData, p
arams); | |
281 break; | |
282 } | |
283 | 277 |
284 return (SkToBool(fWindowContext)); | 278 return (SkToBool(fWindowContext)); |
285 } | 279 } |
286 | 280 |
287 void Window_win::inval() { | 281 void Window_win::inval() { |
288 InvalidateRect(fHWnd, nullptr, false); | 282 InvalidateRect(fHWnd, nullptr, false); |
289 } | 283 } |
290 | 284 |
291 } // namespace sk_app | 285 } // namespace sk_app |
OLD | NEW |