void DocumentWindow::handleMouseMove(EventListenerImp* listener, events::Event event) { if (event.getDefaultPrevented()) return; html::Window defaultView = document.getDefaultView(); if (!defaultView) return; WindowImp* imp = dynamic_cast<WindowImp*>(defaultView.self()); if (!imp) return; ViewCSSImp* view = imp->getView(); if (!view) return; bool canScroll = view->canScroll(); events::MouseEvent mouse = interface_cast<events::MouseEvent>(event); unsigned short buttons = mouse.getButtons(); if ((buttons & 1) && canScroll) defaultView.scrollBy(moveX - mouse.getScreenX(), moveY - mouse.getScreenY()); moveX = mouse.getScreenX(); moveY = mouse.getScreenY(); }