11 inline void MainLoop(Document & doc)
15 scr.SetMouseHandler([&](int x, int y, int buttons, int wheel)
17 static bool oldButtonDown = false;
18 static int oldx, oldy;
19 if (buttons && !oldButtonDown)
21 // We're beginning a drag.
25 scr.SetMouseCursor(Screen::CursorMove);
29 view.Translate(Real(oldx-x)/Real(scr.ViewportWidth()), Real(oldy-y)/Real(scr.ViewportHeight()));
33 oldButtonDown = false;
34 scr.SetMouseCursor(Screen::CursorArrow);
41 view.ScaleAroundPoint(Real(x)/Real(scr.ViewportWidth()),Real(y)/Real(scr.ViewportHeight()), expf(-wheel/20.f));
45 while (scr.PumpEvents())