+ case WM_PAINT: {
+ TEXTMETRIC tm;
+ HDC hdc;
+ PAINTSTRUCT ps;
+ RECT rc;
+ hdc = GetDC(hwnd);
+ SelectObject(hdc, GetStockObject(DEFAULT_GUI_FONT));
+ GetTextMetrics(hdc, &tm);
+ ReleaseDC(hwnd, hdc);
+ hdc = BeginPaint (hwnd, &ps);
+ SetBkMode(hdc, TRANSPARENT);
+ rc.left = 0;
+ rc.top = 10;
+ rc.right = data.width;
+ rc.bottom = data.height-40-32;
+ DrawText(hdc, data.text, -1, &rc, DT_CENTER | DT_VCENTER);
+ EndPaint (hwnd, &ps);
+ return 0;
+
+ return DefWindowProc(hwnd, message, wParam, lParam);
+ }
+ case WM_COMMAND: {
+ if((wParam&0xffff) == 0xabce) {
+ data.ok = 1;
+ DestroyWindow(hwnd);
+ return 0;
+ }
+ if((wParam&0xffff) == 0xabcf) {
+ return 1;
+ }
+ if((wParam&0xffff) == 0xabd0) {
+ return 0;
+ }
+ }
+ case WM_DESTROY: {
+ free(data.text);data.text = 0;
+ if(!data.ok) {
+ do_abort = 1;
+ PostQuitMessage(0);
+ }
+ wnd_finish = 0;
+ return DefWindowProc(hwnd, message, wParam, lParam);
+ }