gwin->show(1);
gwin->show(true);
int Do_Modal_gump	(	Modal_gump *gump,	// What the user interacts with.	Mouse::Mouse_shapes shape	// Mouse shape to use.	){	// maybe make this selective? it's nice for menus, but annoying for sliders	//	gwin->end_gump_mode();	Game_window *gwin = Game_window::get_game_window();	Mouse::Mouse_shapes saveshape = Mouse::mouse->get_shape();	if (shape != Mouse::dontchange)		Mouse::mouse->set_shape(shape);	gwin->show(1);	int escaped = 0;					// Get area to repaint when done.	Rectangle box = gump->get_rect();	box.enlarge(2);	box = gwin->clip_to_win(box);					// Create buffer to backup background.	Image_buffer *back = gwin->get_win()->create_buffer(box.w, box.h);	Mouse::mouse->hide();			// Turn off mouse.					// Save background.	gwin->get_win()->get(back, box.x, box.y);	gump->paint(gwin);		// Paint gump.	Mouse::mouse->show();	gwin->show();	do	{		Delay();		// Wait a fraction of a second.		Mouse::mouse->hide();		// Turn off mouse.		Mouse::mouse_update = false;		SDL_Event event;		while (!escaped && !gump->is_done() && SDL_PollEvent(&event))			escaped = !Handle_gump_event(gump, event);		Mouse::mouse->show();		// Re-display mouse.		if (!gwin->show() &&	// Blit to screen if necessary.		    Mouse::mouse_update)	// If not, did mouse change?			Mouse::mouse->blit_dirty();	}	while (!gump->is_done() && !escaped);	Mouse::mouse->hide();					// Restore background.	gwin->get_win()->put(back, box.x, box.y);	delete back;	Mouse::mouse->set_shape(saveshape);					// Leave mouse off.	gwin->show(1);	return (!escaped);}