void
WIN_DestroyWindow(_THIS, SDL_Window * window)
{
    SDL_WindowData *data = (SDL_WindowData *) window->driverdata;

    if (data) {
#ifdef _WIN32_WCE
        WINCE_ShowWindow(_this, window, 0);
#endif
        ReleaseDC(data->hwnd, data->hdc);
        if (data->created) {
            DestroyWindow(data->hwnd);
        } else {
            /* Restore any original event handler... */
            if (data->wndproc != NULL) {
#ifdef GWLP_WNDPROC
                SetWindowLongPtr(data->hwnd, GWLP_WNDPROC,
                                 (LONG_PTR) data->wndproc);
#else
                SetWindowLong(data->hwnd, GWL_WNDPROC,
                              (LONG_PTR) data->wndproc);
#endif
            }
        }
        SDL_free(data);
    }
}
예제 #2
0
void
WIN_HideWindow(_THIS, SDL_Window * window)
{
#ifdef _WIN32_WCE
    WINCE_ShowWindow(_this, window, 0);
#else
    HWND hwnd = ((SDL_WindowData *) window->driverdata)->hwnd;
    ShowWindow(hwnd, SW_HIDE);
#endif
}
예제 #3
0
void
WIN_DestroyWindow(_THIS, SDL_Window * window)
{
    SDL_WindowData *data = (SDL_WindowData *) window->driverdata;

    if (data) {
#ifdef _WIN32_WCE
	WINCE_ShowWindow(_this, window, 0);
#endif
        ReleaseDC(data->hwnd, data->hdc);
        if (data->created) {
            DestroyWindow(data->hwnd);
        }
        SDL_free(data);
    }
}