Mouse::mouse->move(event.motion.x >> scale, event.motion.y >> scale);
Mouse::mouse->move(event.motion.x / scale, event.motion.y / scale);
void Wait_for_arrival	(	Actor *actor,			// Whom to wait for.	Tile_coord dest			// Where he's going.	)	{	unsigned char os = Mouse::mouse->is_onscreen();	uint32 last_repaint = 0;	// For insuring animation repaints.	Actor_action *orig_action = actor->get_action();	while (actor->is_moving() && actor->get_action() == orig_action &&	       actor->get_abs_tile_coord() != dest)		{		Delay();		// Wait a fraction of a second.		Mouse::mouse->hide();		// Turn off mouse.		Mouse::mouse_update = false;		SDL_Event event;		while (SDL_PollEvent(&event))			switch (event.type)				{			case SDL_MOUSEMOTION:				Mouse::mouse->move(event.motion.x >> scale,						 event.motion.y >> scale);				Mouse::mouse_update = true;				break;				}					// Get current time, & animate.		uint32 ticks = SDL_GetTicks();		if (gwin->have_focus())			gwin->get_tqueue()->activate(ticks);					// Show animation every 1/20 sec.		if (ticks > last_repaint + 50 || gwin->was_painted())			{			gwin->paint_dirty();			last_repaint = ticks;			}		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();		}	if (!os)		Mouse::mouse->hide();	}