aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/views/win/skia_win.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/views/win/skia_win.cpp')
-rw-r--r--src/views/win/skia_win.cpp135
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;
-}