mouse_update = true;
static int Handle_gump_event	(	Modal_gump *gump,	SDL_Event& event	){	switch (event.type)	{	case SDL_MOUSEBUTTONDOWN:#if DEBUGcout << "(x,y) rel. to gump is (" << ((event.button.x>>scale) - gump->get_x())	 << ", " <<	((event.button.y>>scale) - gump->get_y()) << ")"<<endl;#endif		if (event.button.button == 1)			gump->mouse_down(event.button.x >> scale, 						event.button.y >> scale);		break;	case SDL_MOUSEBUTTONUP:		if (event.button.button == 1)			gump->mouse_up(event.button.x >> scale,						event.button.y >> scale);		break;	case SDL_MOUSEMOTION:		mouse->move(event.motion.x >> scale, event.motion.y >> scale);//		mouse_update = true;					// Dragging with left button?		if (event.motion.state & SDL_BUTTON(1))			gump->mouse_drag(event.motion.x >> scale,						event.motion.y >> scale);		break;	case SDL_QUIT:		if (Okay_to_quit())			return (0);	case SDL_KEYDOWN:		{			if (event.key.keysym.sym == SDLK_ESCAPE)				return (0);			int chr = event.key.keysym.sym;			gump->key_down((event.key.keysym.mod & KMOD_SHIFT)						? std::toupper(chr) : chr);			break;		}	case SDL_KEYUP:			// Watch for ALT keys released.		switch (event.key.keysym.sym)		{		case SDLK_RALT:		// Right alt.		case SDLK_RMETA:			altkeys &= ~1;	// Clear flag.			break;		case SDLK_LALT:		case SDLK_LMETA:			altkeys &= ~2;			break;		default: break;		}		break;	}	return (1);}