else if (event.button.button == 2 && Game_window::get_game_window()->get_mouse3rd()) gump->key_down(SDLK_RETURN);
static int Handle_gump_event	(	Modal_gump *gump,	SDL_Event& event	){	int scale_factor = Game_window::get_game_window()->get_fastmouse() ? 1 : Game_window::get_game_window()->get_win()->get_scale();	switch (event.type)	{	case SDL_MOUSEBUTTONDOWN:#ifdef DEBUGcout << "(x,y) rel. to gump is (" << ((event.button.x / scale_factor) - gump->get_x())	 << ", " <<	((event.button.y / scale_factor) - gump->get_y()) << ")"<<endl;#endif		if (event.button.button == 1)			gump->mouse_down(event.button.x / scale_factor, 						event.button.y / scale_factor);		else if (event.button.button == 4) // mousewheel up			gump->mousewheel_up();		else if (event.button.button == 5) // mousewheel down			gump->mousewheel_down();		else if (event.button.button == 2 && Game_window::get_game_window()->get_mouse3rd())			gump->key_down(SDLK_RETURN);		break;	case SDL_MOUSEBUTTONUP:		if (event.button.button == 1)			gump->mouse_up(event.button.x / scale_factor,						event.button.y / scale_factor);		else if (event.button.button == 3 && Game_window::get_game_window()->get_mouse3rd())			return 0;		break;	case SDL_MOUSEMOTION:		Mouse::mouse->move(event.motion.x / scale_factor, event.motion.y / scale_factor);		Mouse::mouse_update = true;					// Dragging with left button?		if (event.motion.state & SDL_BUTTON(1))			gump->mouse_drag(event.motion.x / scale_factor,						event.motion.y / scale_factor);		break;	case SDL_QUIT:		if (Okay_to_quit())			return (0);	case SDL_KEYDOWN:		{			if (event.key.keysym.sym == SDLK_ESCAPE)				return (0);			if ((event.key.keysym.sym == SDLK_s) &&				(event.key.keysym.mod & KMOD_ALT) &&				(event.key.keysym.mod & KMOD_CTRL)) {					make_screenshot(true);					return 1;			}			int chr = event.key.keysym.sym;			gump->key_down((event.key.keysym.mod & KMOD_SHIFT)						? toupper(chr) : chr);			break;		}	}	return (1);}