src/video/gem/SDL_gemvideo.c
changeset 964 d9209754ebee
parent 959 51ec8fc8bedb
child 984 44fd54a0ae5f
equal deleted inserted replaced
963:92c247cec42d 964:d9209754ebee
   399 
   399 
   400 	GEM_handle = -1;
   400 	GEM_handle = -1;
   401 	GEM_locked = SDL_FALSE;
   401 	GEM_locked = SDL_FALSE;
   402 	GEM_win_fulled = SDL_FALSE;
   402 	GEM_win_fulled = SDL_FALSE;
   403 	GEM_fullscreen = SDL_FALSE;
   403 	GEM_fullscreen = SDL_FALSE;
       
   404 	GEM_lock_redraw = SDL_TRUE;	/* Prevent redraw till buffers are setup */
   404 
   405 
   405 	VDI_screen = NULL;
   406 	VDI_screen = NULL;
   406 	VDI_pitch = VDI_w * VDI_pixelsize;
   407 	VDI_pitch = VDI_w * VDI_pixelsize;
   407 	VDI_format = ( (VDI_bpp <= 8) ? VDI_FORMAT_INTER : VDI_FORMAT_PACK);
   408 	VDI_format = ( (VDI_bpp <= 8) ? VDI_FORMAT_INTER : VDI_FORMAT_PACK);
   408 	VDI_redmask = VDI_greenmask = VDI_bluemask = VDI_alphamask = 0;
   409 	VDI_redmask = VDI_greenmask = VDI_bluemask = VDI_alphamask = 0;
   718 #ifdef DEBUG_VIDEO_GEM
   719 #ifdef DEBUG_VIDEO_GEM
   719 	printf("sdl:video:gem: surface: %dx%d\n", current->w, current->h);
   720 	printf("sdl:video:gem: surface: %dx%d\n", current->w, current->h);
   720 #endif
   721 #endif
   721 
   722 
   722 	this->UpdateRects = GEM_UpdateRects;
   723 	this->UpdateRects = GEM_UpdateRects;
       
   724 	GEM_lock_redraw = SDL_FALSE;	/* Enable redraw */
   723 
   725 
   724 	/* We're done */
   726 	/* We're done */
   725 	return(current);
   727 	return(current);
   726 }
   728 }
   727 
   729 
   855 }
   857 }
   856 
   858 
   857 static void GEM_UpdateRects(_THIS, int numrects, SDL_Rect *rects)
   859 static void GEM_UpdateRects(_THIS, int numrects, SDL_Rect *rects)
   858 {
   860 {
   859 	SDL_Surface *surface;
   861 	SDL_Surface *surface;
       
   862 
       
   863 	if (GEM_lock_redraw) {
       
   864 		return;
       
   865 	}
   860 
   866 
   861 	surface = this->screen;
   867 	surface = this->screen;
   862 
   868 
   863 	if (surface->flags & SDL_FULLSCREEN) {
   869 	if (surface->flags & SDL_FULLSCREEN) {
   864 		GEM_UpdateRectsFullscreen(this, numrects, rects);
   870 		GEM_UpdateRectsFullscreen(this, numrects, rects);
   949 	return(0);
   955 	return(0);
   950 }
   956 }
   951 
   957 
   952 static int GEM_FlipHWSurface(_THIS, SDL_Surface *surface)
   958 static int GEM_FlipHWSurface(_THIS, SDL_Surface *surface)
   953 {
   959 {
       
   960 	if (GEM_lock_redraw) {
       
   961 		return(0);
       
   962 	}
       
   963 
   954 	if (surface->flags & SDL_FULLSCREEN) {
   964 	if (surface->flags & SDL_FULLSCREEN) {
   955 		return GEM_FlipHWSurfaceFullscreen(this, surface);
   965 		return GEM_FlipHWSurfaceFullscreen(this, surface);
   956 	} else {
   966 	} else {
   957 		return GEM_FlipHWSurfaceWindowed(this, surface);
   967 		return GEM_FlipHWSurfaceWindowed(this, surface);
   958 	}
   968 	}