void Recenter(int x, int y) { topleft_x = (int)(x - Bounds.Width / 2); topleft_y = (int)(y - Bounds.Height / 2); ClipTopLeft(); SpriteManager.SetUpperLeft(topleft_x, topleft_y); mapRenderer.SetUpperLeft(topleft_x, topleft_y); UpdateCursor(); // Painter.Invalidate (new Rectangle (new Point (0,0), // new Size (Painter.SCREEN_RES_X, Painter.SCREEN_RES_Y))); }
public void ScrollTick(object sender, TickEventArgs e) { scroll_elapsed += (int)e.MillisecondsElapsed; if (scroll_elapsed < 6 /*XXX*/) { return; } scroll_elapsed = 0; if (horiz_delta == 0 && vert_delta == 0) { return; } int old_topleft_x = topleft_x; int old_topleft_y = topleft_y; topleft_x += horiz_delta; topleft_y += vert_delta; ClipTopLeft(); if (old_topleft_x == topleft_x && old_topleft_y == topleft_y) { return; } SpriteManager.SetUpperLeft(topleft_x, topleft_y); mapRenderer.SetUpperLeft(topleft_x, topleft_y); UpdateCursor(); #if notyet Painter.Invalidate(new Rectangle(new Point(0, 0), new Size(Painter.SCREEN_RES_X, 375))); #endif }