Example #1
0
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();
}