d3d8: Hold the lock in IDirect3DIndexBuffer8 methods.
[wine.git] / programs / view / init.c
blob3d0ce9fca5fbcc9ff0a92d45fa47f75169c327ed
1 /*
2 * Copyright 1998 Douglas Ridgway
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #include <windows.h>
20 #include "globals.h"
21 #include "resource.h"
23 /* global variables */
25 HINSTANCE hInst;
26 char szAppName[5] = "View";
27 char szTitle[80];
29 BOOL InitApplication(HINSTANCE hInstance)
31 WNDCLASSEX wc;
33 /* Load the application description strings */
34 LoadString(hInstance, IDS_DESCRIPTION, szTitle, sizeof(szTitle));
36 /* Fill in window class structure with parameters that describe the
37 main window */
39 wc.cbSize = sizeof(WNDCLASSEX);
41 /* Load small icon image */
42 wc.hIconSm = LoadImage(hInstance,
43 MAKEINTRESOURCEA(IDI_APPICON),
44 IMAGE_ICON,
45 16, 16,
46 0);
48 wc.style = CS_HREDRAW | CS_VREDRAW; /* Class style(s) */
49 wc.lpfnWndProc = WndProc; /* Window Procedure */
50 wc.cbClsExtra = 0; /* No per-class extra data */
51 wc.cbWndExtra = 0; /* No per-window extra data */
52 wc.hInstance = hInstance; /* Owner of this class */
53 wc.hIcon = LoadIcon(hInstance, szAppName); /* Icon name from .rc */
54 wc.hCursor = LoadCursor(NULL, IDC_ARROW); /* Cursor */
55 wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); /* Default color */
56 wc.lpszMenuName = szAppName; /* Menu name from .rc */
57 wc.lpszClassName = szAppName; /* Name to register as */
59 /* Register the window class and return FALSE if unsuccessful */
61 if (!RegisterClassEx(&wc))
63 if (!RegisterClass((LPWNDCLASS)&wc.style))
64 return FALSE;
67 /* Call module specific initialization functions here */
69 return TRUE;
72 BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
74 HWND hwnd;
76 /* Save the instance handle in a global variable for later use */
77 hInst = hInstance;
79 /* Create main window */
80 hwnd = CreateWindow(szAppName, /* See RegisterClass() call */
81 szTitle, /* window title */
82 WS_OVERLAPPEDWINDOW, /* Window style */
83 CW_USEDEFAULT, 0, /* positioning */
84 CW_USEDEFAULT, 0, /* size */
85 NULL, /* Overlapped has no parent */
86 NULL, /* Use the window class menu */
87 hInstance,
88 NULL);
90 if (!hwnd)
91 return FALSE;
93 /* Call module specific instance initialization functions here */
95 /* show the window, and paint it for the first time */
96 ShowWindow(hwnd, nCmdShow);
97 UpdateWindow(hwnd);
99 return TRUE;