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

Side by Side Diff: tools/viewer/sk_app/win/Window_win.cpp

Issue 1978573003: Add OpenGL context to Viewer. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Rebase to ToT Created 4 years, 7 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
« no previous file with comments | « tools/viewer/sk_app/win/Window_win.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "VulkanWindowContext_win.h" 15 #include "../GLWindowContext.h"
16 #include "../VulkanWindowContext.h"
16 17
17 namespace sk_app { 18 namespace sk_app {
18 19
19 Window* Window::CreateNativeWindow(void* platformData) { 20 Window* Window::CreateNativeWindow(void* platformData) {
20 HINSTANCE hInstance = (HINSTANCE)platformData; 21 HINSTANCE hInstance = (HINSTANCE)platformData;
21 22
22 Window_win* window = new Window_win(); 23 Window_win* window = new Window_win();
23 if (!window->init(hInstance)) { 24 if (!window->init(hInstance)) {
24 delete window; 25 delete window;
25 return nullptr; 26 return nullptr;
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
257 258
258 void Window_win::setTitle(const char* title) { 259 void Window_win::setTitle(const char* title) {
259 SetWindowTextA(fHWnd, title); 260 SetWindowTextA(fHWnd, title);
260 } 261 }
261 262
262 void Window_win::show() { 263 void Window_win::show() {
263 ShowWindow(fHWnd, SW_SHOW); 264 ShowWindow(fHWnd, SW_SHOW);
264 } 265 }
265 266
266 267
267 bool Window_win::attach(BackEndType attachType, const DisplayParams& params) { 268 bool Window_win::attach(BackendType attachType, const DisplayParams& params) {
268 if (kVulkan_BackendType != attachType) {
269 return false;
270 }
271
272 ContextPlatformData_win platformData; 269 ContextPlatformData_win platformData;
273 platformData.fHInstance = fHInstance; 270 platformData.fHInstance = fHInstance;
274 platformData.fHWnd = fHWnd; 271 platformData.fHWnd = fHWnd;
275 272
276 fWindowContext = VulkanWindowContext::Create((void*)&platformData, params); 273 switch (attachType) {
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 }
277 283
278 return (SkToBool(fWindowContext)); 284 return (SkToBool(fWindowContext));
279 } 285 }
280 286
281 void Window_win::inval() { 287 void Window_win::inval() {
282 InvalidateRect(fHWnd, nullptr, false); 288 InvalidateRect(fHWnd, nullptr, false);
283 } 289 }
284 290
285 } // namespace sk_app 291 } // namespace sk_app
OLDNEW
« no previous file with comments | « tools/viewer/sk_app/win/Window_win.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698