src/video/gem/SDL_gemvideo.c
changeset 923 2748679027ff
parent 921 6126849e59a6
child 924 6e81ce1372d1
equal deleted inserted replaced
922:7b920743ce57 923:2748679027ff
   642 			modeflags |= SDL_HWSURFACE;
   642 			modeflags |= SDL_HWSURFACE;
   643 		} else {
   643 		} else {
   644 			modeflags |= SDL_SWSURFACE;
   644 			modeflags |= SDL_SWSURFACE;
   645 		}
   645 		}
   646 	} else {
   646 	} else {
   647 		int posx,posy;
       
   648 		short x2,y2,w2,h2;
   647 		short x2,y2,w2,h2;
   649 
   648 
   650 		GEM_UnlockScreen(this);
   649 		GEM_UnlockScreen(this);
   651 
   650 
   652 		/* Center our window */
   651 		/* Set window gadgets */
   653 		posx = GEM_desk_x;
       
   654 		posy = GEM_desk_y;
       
   655 		if (width<GEM_desk_w)
       
   656 			posx += (GEM_desk_w - width) >> 1;
       
   657 		if (height<GEM_desk_h)
       
   658 			posy += (GEM_desk_h - height) >> 1;
       
   659 
       
   660 		/* Calculate our window size and position */
       
   661 		if (!(flags & SDL_NOFRAME)) {
   652 		if (!(flags & SDL_NOFRAME)) {
   662 			GEM_win_type=NAME|MOVER|CLOSER|SMALLER;
   653 			GEM_win_type=NAME|MOVER|CLOSER|SMALLER;
   663 			if (flags & SDL_RESIZABLE) {
   654 			if (flags & SDL_RESIZABLE) {
   664 				GEM_win_type |= FULLER|SIZER;
   655 				GEM_win_type |= FULLER|SIZER;
   665 				modeflags |= SDL_RESIZABLE;
   656 				modeflags |= SDL_RESIZABLE;
   667 		} else {
   658 		} else {
   668 			GEM_win_type=0;
   659 			GEM_win_type=0;
   669 			modeflags |= SDL_NOFRAME;
   660 			modeflags |= SDL_NOFRAME;
   670 		}
   661 		}
   671 
   662 
   672 		if (!wind_calc(WC_BORDER, GEM_win_type, posx, posy, width, height, &x2, &y2, &w2, &h2)) {
   663 		/* Calculate window size */
       
   664 		if (!wind_calc(WC_BORDER, GEM_win_type, 0,0,width,height, &x2,&y2,&w2,&h2)) {
   673 			GEM_FreeBuffers(this);
   665 			GEM_FreeBuffers(this);
   674 			SDL_SetError("Can not calculate window attributes\n");
   666 			SDL_SetError("Can not calculate window attributes\n");
   675 			return NULL;
   667 			return NULL;
   676 		}
   668 		}
   677 
   669 
       
   670 		/* Center window */
       
   671 		x2 = GEM_desk_x+((GEM_desk_w-w2)>>1);
       
   672 		y2 = GEM_desk_y+((GEM_desk_h-h2)>>1);
       
   673 
   678 		/* Create window */
   674 		/* Create window */
   679 		GEM_handle=wind_create(GEM_win_type, x2, y2, w2, h2);
   675 		GEM_handle=wind_create(GEM_win_type, x2,y2,w2,h2);
   680 		if (GEM_handle<0) {
   676 		if (GEM_handle<0) {
   681 			GEM_FreeBuffers(this);
   677 			GEM_FreeBuffers(this);
   682 			SDL_SetError("Can not create window\n");
   678 			SDL_SetError("Can not create window\n");
   683 			return NULL;
   679 			return NULL;
   684 		}
   680 		}