diff options
Diffstat (limited to 'src/views/win/skia_win.cpp')
-rw-r--r-- | src/views/win/skia_win.cpp | 135 |
1 files changed, 0 insertions, 135 deletions
diff --git a/src/views/win/skia_win.cpp b/src/views/win/skia_win.cpp deleted file mode 100644 index df600d771c..0000000000 --- a/src/views/win/skia_win.cpp +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Copyright 2011 Google Inc. - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#include "SkTypes.h" - -#include <tchar.h> - -#include "SkApplication.h" -#include "SkGraphics.h" -#include "SkOSWindow_Win.h" - -LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); - -// Returns the main window Win32 class name. -static const TCHAR* register_class(HINSTANCE hInstance) { - WNDCLASSEX wcex; - // The main window class name - static const TCHAR gSZWindowClass[] = _T("SkiaApp"); - - wcex.cbSize = sizeof(WNDCLASSEX); - - wcex.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC; - wcex.lpfnWndProc = WndProc; - wcex.cbClsExtra = 0; - wcex.cbWndExtra = 0; - wcex.hInstance = hInstance; - wcex.hIcon = NULL; - wcex.hCursor = NULL; - wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); - wcex.lpszMenuName = NULL; - wcex.lpszClassName = gSZWindowClass; - wcex.hIconSm = NULL; - - RegisterClassEx(&wcex); - - return gSZWindowClass; -} - -static char* tchar_to_utf8(const TCHAR* str) { -#ifdef _UNICODE - int size = WideCharToMultiByte(CP_UTF8, 0, str, wcslen(str), NULL, 0, NULL, NULL); - char* str8 = (char*) sk_malloc_throw(size+1); - WideCharToMultiByte(CP_UTF8, 0, str, wcslen(str), str8, size, NULL, NULL); - str8[size] = '\0'; - return str8; -#else - return _strdup(str); -#endif -} - -// This file can work with GUI or CONSOLE subsystem types since we define _tWinMain and main(). - -static int main_common(HINSTANCE hInstance, int show, int argc, char**argv); - -int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, - int nCmdShow) { - - // convert from lpCmdLine to argc, argv. - char* argv[4096]; - int argc = 0; - TCHAR exename[1024], *next; - int exenameLen = GetModuleFileName(NULL, exename, SK_ARRAY_COUNT(exename)); - // we're ignoring the possibility that the exe name exceeds the exename buffer - (void) exenameLen; - argv[argc++] = tchar_to_utf8(exename); - TCHAR* arg = _tcstok_s(lpCmdLine, _T(" "), &next); - while (arg != NULL) { - argv[argc++] = tchar_to_utf8(arg); - arg = _tcstok_s(NULL, _T(" "), &next); - } - int result = main_common(hInstance, nCmdShow, argc, argv); - for (int i = 0; i < argc; ++i) { - sk_free(argv[i]); - } - return result; -} - -int main(int argc, char**argv) { - SkGraphics::Init(); - return main_common(GetModuleHandle(NULL), SW_SHOW, argc, argv); -} - -static int main_common(HINSTANCE hInstance, int show, int argc, char**argv) { - const TCHAR* windowClass = register_class(hInstance); - - application_init(); - - SkOSWindow::WindowInit winInit; - winInit.fInstance = hInstance; - winInit.fClass = windowClass; - - create_sk_window(&winInit, argc, argv); - SkOSWindow::ForAllWindows([show](void* hWnd, SkOSWindow**) { - ShowWindow((HWND)hWnd, show); - UpdateWindow((HWND)hWnd); } - ); - - MSG msg; - // Main message loop - while (GetMessage(&msg, NULL, 0, 0)) { - if (true) { - TranslateMessage(&msg); - DispatchMessage(&msg); - } - } - - application_term(); - - return (int) msg.wParam; -} - -extern SkOSWindow* create_sk_window(void* hwnd, int argc, char** argv); - -LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { - switch (message) { - case WM_COMMAND: - return DefWindowProc(hWnd, message, wParam, lParam); - case WM_DESTROY: - PostQuitMessage(0); - break; - default: { - SkOSWindow* window = SkOSWindow::GetOSWindowForHWND(hWnd); - if (window && window->wndProc(hWnd, message, wParam, lParam)) { - return 0; - } else { - return DefWindowProc(hWnd, message, wParam, lParam); - } - } - } - return 0; -} |