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

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

Issue 2184163003: Enable backend switching for Windows Viewer (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Delete extra glMakeCurrent Created 4 years, 4 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>
(...skipping 15 matching lines...) Expand all
26 if (!window->init(hInstance)) { 26 if (!window->init(hInstance)) {
27 delete window; 27 delete window;
28 return nullptr; 28 return nullptr;
29 } 29 }
30 30
31 return window; 31 return window;
32 } 32 }
33 33
34 LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); 34 LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
35 35
36
36 bool Window_win::init(HINSTANCE hInstance) { 37 bool Window_win::init(HINSTANCE hInstance) {
37 fHInstance = hInstance ? hInstance : GetModuleHandle(nullptr); 38 fHInstance = hInstance ? hInstance : GetModuleHandle(nullptr);
38 39
39 WNDCLASSEX wcex;
40 // The main window class name 40 // The main window class name
41 static const TCHAR gSZWindowClass[] = _T("SkiaApp"); 41 static const TCHAR gSZWindowClass[] = _T("SkiaApp");
42 42
43 wcex.cbSize = sizeof(WNDCLASSEX); 43 static WNDCLASSEX wcex;
44 static bool wcexInit = false;
45 if (!wcexInit) {
46 wcex.cbSize = sizeof(WNDCLASSEX);
44 47
45 wcex.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC; 48 wcex.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC;
46 wcex.lpfnWndProc = WndProc; 49 wcex.lpfnWndProc = WndProc;
47 wcex.cbClsExtra = 0; 50 wcex.cbClsExtra = 0;
48 wcex.cbWndExtra = 0; 51 wcex.cbWndExtra = 0;
49 wcex.hInstance = fHInstance; 52 wcex.hInstance = fHInstance;
50 wcex.hIcon = LoadIcon(fHInstance, (LPCTSTR)IDI_WINLOGO); 53 wcex.hIcon = LoadIcon(fHInstance, (LPCTSTR)IDI_WINLOGO);
51 wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);; 54 wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);;
52 wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); 55 wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
53 wcex.lpszMenuName = nullptr; 56 wcex.lpszMenuName = nullptr;
54 wcex.lpszClassName = gSZWindowClass; 57 wcex.lpszClassName = gSZWindowClass;
55 wcex.hIconSm = LoadIcon(fHInstance, (LPCTSTR)IDI_WINLOGO);; 58 wcex.hIconSm = LoadIcon(fHInstance, (LPCTSTR)IDI_WINLOGO);;
56 59
57 if (!RegisterClassEx(&wcex)) { 60 if (!RegisterClassEx(&wcex)) {
58 return false; 61 return false;
62 }
63 wcexInit = true;
59 } 64 }
60 65
61 /* 66 /*
62 if (fullscreen) 67 if (fullscreen)
63 { 68 {
64 DEVMODE dmScreenSettings; 69 DEVMODE dmScreenSettings;
65 // If full screen set the screen to maximum size of the users desktop an d 32bit. 70 // If full screen set the screen to maximum size of the users desktop an d 32bit.
66 memset(&dmScreenSettings, 0, sizeof(dmScreenSettings)); 71 memset(&dmScreenSettings, 0, sizeof(dmScreenSettings));
67 dmScreenSettings.dmSize = sizeof(dmScreenSettings); 72 dmScreenSettings.dmSize = sizeof(dmScreenSettings);
68 dmScreenSettings.dmPelsWidth = (unsigned long)width; 73 dmScreenSettings.dmPelsWidth = (unsigned long)width;
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 173
169 switch (message) { 174 switch (message) {
170 case WM_PAINT: 175 case WM_PAINT:
171 hdc = BeginPaint(hWnd, &ps); 176 hdc = BeginPaint(hWnd, &ps);
172 window->onPaint(); 177 window->onPaint();
173 EndPaint(hWnd, &ps); 178 EndPaint(hWnd, &ps);
174 eventHandled = true; 179 eventHandled = true;
175 break; 180 break;
176 181
177 case WM_CLOSE: 182 case WM_CLOSE:
178 case WM_DESTROY:
179 PostQuitMessage(0); 183 PostQuitMessage(0);
180 eventHandled = true; 184 eventHandled = true;
181 break; 185 break;
182 186
183 case WM_ACTIVATE: 187 case WM_ACTIVATE:
184 // disable/enable rendering here, depending on wParam != WA_INACTIVE 188 // disable/enable rendering here, depending on wParam != WA_INACTIVE
185 break; 189 break;
186 190
187 case WM_SIZE: 191 case WM_SIZE:
188 window->onResize(LOWORD(lParam), HIWORD(lParam)); 192 window->onResize(LOWORD(lParam), HIWORD(lParam));
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
281 } 285 }
282 286
283 return (SkToBool(fWindowContext)); 287 return (SkToBool(fWindowContext));
284 } 288 }
285 289
286 void Window_win::onInval() { 290 void Window_win::onInval() {
287 InvalidateRect(fHWnd, nullptr, false); 291 InvalidateRect(fHWnd, nullptr, false);
288 } 292 }
289 293
290 } // namespace sk_app 294 } // 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