view src/video/x11/SDL_x11image_c.h @ 860:2bac79e27868

Create a 2D window and then manually focus a different window on your desktop, call SDL_PumpEvents() so the X11 driver sets its this->hidden->switch_waiting, then set a fullscreen OpenGL window (which makes the X11 driver tear down and create a new window instead of just resizing the existing one), poll for events, and the newly-created window will think it needs to pop back to a window. Fixed by resetting switch_waiting to zero if X11_CreateWindow() had to tear down a previous window.
author Ryan C. Gordon <icculus@icculus.org>
date Thu, 26 Feb 2004 15:12:51 +0000
parents b8d311d90021
children c9b51268668f
line wrap: on
line source

/*
    SDL - Simple DirectMedia Layer
    Copyright (C) 1997-2004 Sam Lantinga

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public
    License as published by the Free Software Foundation; either
    version 2 of the License, or (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Library General Public License for more details.

    You should have received a copy of the GNU Library General Public
    License along with this library; if not, write to the Free
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

    Sam Lantinga
    slouken@libsdl.org
*/

#ifdef SAVE_RCSID
static char rcsid =
 "@(#) $Id$";
#endif

#include "SDL_x11video.h"

extern int X11_SetupImage(_THIS, SDL_Surface *screen);
extern void X11_DestroyImage(_THIS, SDL_Surface *screen);
extern int X11_ResizeImage(_THIS, SDL_Surface *screen, Uint32 flags);

extern int X11_AllocHWSurface(_THIS, SDL_Surface *surface);
extern void X11_FreeHWSurface(_THIS, SDL_Surface *surface);
extern int X11_LockHWSurface(_THIS, SDL_Surface *surface);
extern void X11_UnlockHWSurface(_THIS, SDL_Surface *surface);
extern int X11_FlipHWSurface(_THIS, SDL_Surface *surface);

extern void X11_DisableAutoRefresh(_THIS);
extern void X11_EnableAutoRefresh(_THIS);
extern void X11_RefreshDisplay(_THIS);