bool NaClApplication::HandleInputEvent(const pp::InputEvent& event) { /* Don't handle anything during switch from/to fullscreen */ if(_flags & Flag::FullscreenSwitchInProgress) return false; Flags tmpFlags = _flags; switch(event.GetType()) { case PP_INPUTEVENT_TYPE_KEYDOWN: case PP_INPUTEVENT_TYPE_KEYUP: { pp::KeyboardInputEvent keyEvent(event); KeyEvent e(static_cast<KeyEvent::Key>(keyEvent.GetKeyCode()), static_cast<InputEvent::Modifier>(keyEvent.GetModifiers())); event.GetType() == PP_INPUTEVENT_TYPE_KEYDOWN ? keyPressEvent(e) : keyReleaseEvent(e); if(!e.isAccepted()) return false; break; } case PP_INPUTEVENT_TYPE_MOUSEDOWN: case PP_INPUTEVENT_TYPE_MOUSEUP: { pp::MouseInputEvent mouseEvent(event); MouseEvent e(static_cast<MouseEvent::Button>(mouseEvent.GetButton()), {mouseEvent.GetPosition().x(), mouseEvent.GetPosition().y()}, static_cast<InputEvent::Modifier>(mouseEvent.GetModifiers())); event.GetType() == PP_INPUTEVENT_TYPE_MOUSEDOWN ? mousePressEvent(e) : mouseReleaseEvent(e); if(!e.isAccepted()) return false; break; } case PP_INPUTEVENT_TYPE_WHEEL: { pp::WheelInputEvent wheelEvent(event); MouseScrollEvent e{{wheelEvent.GetDelta().x(), wheelEvent.GetDelta().y()}, static_cast<InputEvent::Modifier>(wheelEvent.GetModifiers())}; mouseScrollEvent(e); #ifdef MAGNUM_BUILD_DEPRECATED if(!Math::TypeTraits<Float>::equals(wheelEvent.GetDelta().y(), 0.0f)) { MouseEvent e2(wheelEvent.GetDelta().y() > 0 ? MouseEvent::Button::WheelUp : MouseEvent::Button::WheelDown, {}, static_cast<InputEvent::Modifier>(wheelEvent.GetModifiers())); mousePressEvent(e2); if(!e.isAccepted() && !e2.isAccepted()) return false; } else if(!e.isAccepted()) return false; #else if(!e.isAccepted()) return false; #endif break; } case PP_INPUTEVENT_TYPE_MOUSEMOVE: { pp::MouseInputEvent mouseEvent(event); MouseMoveEvent e({mouseEvent.GetPosition().x(), mouseEvent.GetPosition().y()}, {mouseEvent.GetMovement().x(), mouseEvent.GetMovement().y()}, static_cast<InputEvent::Modifier>(mouseEvent.GetModifiers())); mouseMoveEvent(e); if(!e.isAccepted()) return false; break; } default: return false; } /* Assume everything is properly sequential here */ CORRADE_INTERNAL_ASSERT((tmpFlags & Flag::SwapInProgress) == (_flags & Flag::SwapInProgress)); /* Redraw, if it won't be handled after swap automatically */ if((_flags & Flag::Redraw) && !(_flags & Flag::SwapInProgress)) { _flags &= ~Flag::Redraw; drawEvent(); } return true; }
/** * Go back in current action. */ void RS_EventHandler::back() { QMouseEvent e(QEvent::MouseButtonRelease, QPoint(0,0), Qt::RightButton, Qt::RightButton,Qt::NoModifier); mouseReleaseEvent(&e); }
void Window::checkForMessages(){ while (XPending(disp)!=0) { XEvent event; XNextEvent(disp, &event); static int oldx = -1; static int oldy = -1; static int mouseState = 0; static bool mouseInside = true; switch(event.type){ case ClientMessage: if(event.xclient.data.l[0] == wmDelete) stop(); else{ std::cout << "HRM" << std::endl; } break; case ConfigureNotify: client_width = window_width = event.xconfigure.width; client_height = window_height = event.xconfigure.height; resizeEvent(); break; case ResizeRequest: client_width = window_width = event.xresizerequest.width; client_height = window_height = event.xresizerequest.height; resizeEvent(); break; case KeyPress: //KeyPress { KeySym sym = XKeycodeToKeysym(disp,event.xkey.keycode,0); KEY key = translateKEY(sym); break; } case KeyRelease: //KeyReleas std::cout << "Key Release" << std::endl; break; case ButtonPress: //Mouse oldx = event.xbutton.x; oldy = event.xbutton.y; switch(event.xbutton.button){ case Button1: mousePressEvent(LEFT_BUTTON,event.xbutton.x,event.xbutton.y); mouseState++; break; case Button2: mousePressEvent(MIDDLE_BUTTON,event.xbutton.x,event.xbutton.y); mouseState++; break; case Button3: mousePressEvent(RIGHT_BUTTON,event.xbutton.x,event.xbutton.y); mouseState++; break; case Button4: scrollEvent(1); break; case Button5: scrollEvent(-1); break; } break; case ButtonRelease://Mouse switch(event.xbutton.button){ case Button1: mouseReleaseEvent(LEFT_BUTTON,event.xbutton.x,event.xbutton.y); mouseState--; break; case Button2: mouseReleaseEvent(MIDDLE_BUTTON,event.xbutton.x,event.xbutton.y); mouseState--; break; case Button3: mouseReleaseEvent(RIGHT_BUTTON,event.xbutton.x,event.xbutton.y); mouseState--; break; } break; case MotionNotify: //Mouse if(!mouseInside) break; if(mouseState){ int x = event.xbutton.x; int y = event.xbutton.y; int dx = x - oldx; int dy = y - oldy; oldx = x; oldy = y; mousemotionEvent(dx,dy); }else{ int x = event.xbutton.x; int y = event.xbutton.y; int dx = x - oldx; int dy = y - oldy; oldx = x; oldy = y; passiveMousemotionEvent(dx,dy); } break; case LeaveNotify: mouseInside = false; break; case EnterNotify: mouseInside = true; break; default: std::cout << "Unhandled event: " << event.type << std::endl; } } }
void ViewportManager::emitMouseReleaseEvent(Viewport* vp, QMouseEvent* e) { LOG_INFO("Emitting event - [mouseReleaseEvent]"); emit mouseReleaseEvent(vp, e); }
void knob::focusOutEvent( QFocusEvent * _fe ) { // make sure we don't loose mouse release event mouseReleaseEvent( NULL ); QWidget::focusOutEvent( _fe ); }
void ColorWheel::mouseMoveEvent(QMouseEvent *e) { mouseReleaseEvent(e); }
/** * support for the wacom graphic tablet. */ void QG_GraphicView::tabletEvent(QTabletEvent* e) { if (testAttribute(Qt::WA_UnderMouse)) { switch (e->device()) { case QTabletEvent::Eraser: if (e->type()==QEvent::TabletRelease) { if (container) { RS_ActionSelectSingle* a = new RS_ActionSelectSingle(*container, *this); setCurrentAction(a); QMouseEvent ev(QEvent::MouseButtonRelease, e->pos(), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);//RLZ mouseReleaseEvent(&ev); a->finish(); if (container->countSelected()>0) { setCurrentAction( new RS_ActionModifyDelete(*container, *this)); } } } break; case QTabletEvent::Stylus: case QTabletEvent::Puck: if (e->type()==QEvent::TabletPress) { QMouseEvent ev(QEvent::MouseButtonPress, e->pos(), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);//RLZ mousePressEvent(&ev); } else if (e->type()==QEvent::TabletRelease) { QMouseEvent ev(QEvent::MouseButtonRelease, e->pos(), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);//RLZ mouseReleaseEvent(&ev); } else if (e->type()==QEvent::TabletMove) { QMouseEvent ev(QEvent::MouseMove, e->pos(), Qt::NoButton, 0, Qt::NoModifier);//RLZ mouseMoveEvent(&ev); } break; default: break; } } // a 'mouse' click: /*if (e->pressure()>10 && lastPressure<10) { QMouseEvent e(QEvent::MouseButtonPress, e->pos(), Qt::LeftButton, Qt::LeftButton); mousePressEvent(&e); } else if (e->pressure()<10 && lastPressure>10) { QMouseEvent e(QEvent::MouseButtonRelease, e->pos(), Qt::LeftButton, Qt::LeftButton); mouseReleaseEvent(&e); } else if (lastPos!=e->pos()) { QMouseEvent e(QEvent::MouseMove, e->pos(), Qt::NoButton, 0); mouseMoveEvent(&e); } lastPressure = e->pressure(); lastPos = e->pos(); */ }
void DhQSlider::DvhmouseReleaseEvent(QMouseEvent* x1) { return mouseReleaseEvent(x1); }
void ControllerScriptingInterface::emitMouseReleaseEvent(QMouseEvent* event) { emit mouseReleaseEvent(MouseEvent(*event)); }
void DhQStackedWidget::DvhmouseReleaseEvent(QMouseEvent* x1) { return mouseReleaseEvent(x1); }
void QrShaderDelegate::mouseReleased(QMouseEvent* e) { mouseReleaseEvent(e); }
void TabBar::releaseMouse() { QMouseEvent releasingEvent (QEvent::MouseButtonRelease, QPoint(), Qt::LeftButton, Qt::NoButton, Qt::NoModifier); mouseReleaseEvent (&releasingEvent); }
// Handle events on behalf of the text area. bool QsciScintillaBase::eventFilter(QObject *o, QEvent *e) { if (o != txtarea) return QWidget::eventFilter(o, e); bool used = true; switch (e->type()) { case QEvent::ContextMenu: contextMenuEvent(static_cast<QContextMenuEvent *>(e)); break; case QEvent::DragEnter: dragEnterEvent(static_cast<QDragEnterEvent *>(e)); break; case QEvent::DragLeave: dragLeaveEvent(static_cast<QDragLeaveEvent *>(e)); break; case QEvent::DragMove: dragMoveEvent(static_cast<QDragMoveEvent *>(e)); break; case QEvent::Drop: dropEvent(static_cast<QDropEvent *>(e)); break; case QEvent::MouseButtonDblClick: mouseDoubleClickEvent(static_cast<QMouseEvent *>(e)); break; case QEvent::MouseButtonPress: mousePressEvent(static_cast<QMouseEvent *>(e)); break; case QEvent::MouseButtonRelease: mouseReleaseEvent(static_cast<QMouseEvent *>(e)); break; case QEvent::MouseMove: mouseMoveEvent(static_cast<QMouseEvent *>(e)); break; case QEvent::Paint: paintEvent(static_cast<QPaintEvent *>(e)); break; case QEvent::Resize: resizeEvent(static_cast<QResizeEvent *>(e)); break; case QEvent::Wheel: { QWheelEvent *we = static_cast<QWheelEvent *>(e); setFocus(); if (we->orientation() == Horizontal || we->state() & ShiftButton) QApplication::sendEvent(hsb, we); else if (we->orientation() == Vertical) QApplication::sendEvent(vsb, we); break; } default: used = false; } return used; }
bool QDeclarativeViewObserver::eventFilter(QObject *obj, QEvent *event) { if (obj == data->view) { // Event from view if (event->type() == QEvent::ChildRemoved) { // Might mean that viewport has changed if (data->view->viewport() != data->viewport.data()) data->setViewport(data->view->viewport()); } return QObject::eventFilter(obj, event); } // Event from viewport switch (event->type()) { case QEvent::Leave: { if (leaveEvent(event)) return true; break; } case QEvent::MouseButtonPress: { if (mousePressEvent(static_cast<QMouseEvent*>(event))) return true; break; } case QEvent::MouseMove: { if (mouseMoveEvent(static_cast<QMouseEvent*>(event))) return true; break; } case QEvent::MouseButtonRelease: { if (mouseReleaseEvent(static_cast<QMouseEvent*>(event))) return true; break; } case QEvent::KeyPress: { if (keyPressEvent(static_cast<QKeyEvent*>(event))) return true; break; } case QEvent::KeyRelease: { if (keyReleaseEvent(static_cast<QKeyEvent*>(event))) return true; break; } case QEvent::MouseButtonDblClick: { if (mouseDoubleClickEvent(static_cast<QMouseEvent*>(event))) return true; break; } case QEvent::Wheel: { if (wheelEvent(static_cast<QWheelEvent*>(event))) return true; break; } default: { break; } } //switch // standard event processing return QObject::eventFilter(obj, event); }
void Sdl2Application::mainLoop() { #ifndef CORRADE_TARGET_EMSCRIPTEN const UnsignedInt timeBefore = _minimalLoopPeriod ? SDL_GetTicks() : 0; #endif SDL_Event event; while(SDL_PollEvent(&event)) { switch(event.type) { case SDL_WINDOWEVENT: switch(event.window.event) { case SDL_WINDOWEVENT_RESIZED: viewportEvent({event.window.data1, event.window.data2}); _flags |= Flag::Redraw; break; case SDL_WINDOWEVENT_EXPOSED: _flags |= Flag::Redraw; break; } break; case SDL_KEYDOWN: case SDL_KEYUP: { KeyEvent e(static_cast<KeyEvent::Key>(event.key.keysym.sym), fixedModifiers(event.key.keysym.mod)); event.type == SDL_KEYDOWN ? keyPressEvent(e) : keyReleaseEvent(e); } break; case SDL_MOUSEBUTTONDOWN: case SDL_MOUSEBUTTONUP: { MouseEvent e(static_cast<MouseEvent::Button>(event.button.button), {event.button.x, event.button.y}); event.type == SDL_MOUSEBUTTONDOWN ? mousePressEvent(e) : mouseReleaseEvent(e); } break; case SDL_MOUSEWHEEL: if(event.wheel.y != 0) { MouseEvent e(event.wheel.y > 0 ? MouseEvent::Button::WheelUp : MouseEvent::Button::WheelDown, {event.wheel.x, event.wheel.y}); mousePressEvent(e); } break; case SDL_MOUSEMOTION: { MouseMoveEvent e({event.motion.x, event.motion.y}, {event.motion.xrel, event.motion.yrel}, static_cast<MouseMoveEvent::Button>(event.motion.state)); mouseMoveEvent(e); break; } case SDL_QUIT: #ifndef CORRADE_TARGET_EMSCRIPTEN _flags |= Flag::Exit; #else emscripten_cancel_main_loop(); #endif return; } } /* Tick event */ if(!(_flags & Flag::NoTickEvent)) tickEvent(); /* Draw event */ if(_flags & Flag::Redraw) { _flags &= ~Flag::Redraw; drawEvent(); #ifndef CORRADE_TARGET_EMSCRIPTEN /* If VSync is not enabled, delay to prevent CPU hogging (if set) */ if(!(_flags & Flag::VSyncEnabled) && _minimalLoopPeriod) { const UnsignedInt loopTime = SDL_GetTicks() - timeBefore; if(loopTime < _minimalLoopPeriod) SDL_Delay(_minimalLoopPeriod - loopTime); } #endif return; } #ifndef CORRADE_TARGET_EMSCRIPTEN /* If not drawing anything, delay to prevent CPU hogging (if set) */ if(_minimalLoopPeriod) { const UnsignedInt loopTime = SDL_GetTicks() - timeBefore; if(loopTime < _minimalLoopPeriod) SDL_Delay(_minimalLoopPeriod - loopTime); } /* Then, if the tick event doesn't need to be called periodically, wait indefinitely for next input event */ if(_flags & Flag::NoTickEvent) SDL_WaitEvent(nullptr); #endif }
bool CLockedEdit::eventFilter(QObject *object, QEvent *event) { if ( event->type() == QEvent::Show ) { showEvent(dynamic_cast<QShowEvent*>(event)); return true; } if ( event->type() == QEvent::ShowToParent ) { showEvent(dynamic_cast<QShowEvent*>(event)); return true; } if ( event->type() == QEvent::Hide ) { hideEvent(dynamic_cast<QHideEvent*>(event)); return true; } if ( event->type() == QEvent::Move ) { moveEvent(dynamic_cast<QMoveEvent*>(event)); return true; } if ( event->type() == QEvent::Paint ) { paintEvent(dynamic_cast<QPaintEvent*>(event)); return true; } if ( event->type() == QEvent::FocusIn ) { focusInEvent(dynamic_cast<QFocusEvent*>(event)); return true; } if ( event->type() == QEvent::FocusOut ) { focusOutEvent(dynamic_cast<QFocusEvent*>(event)); return true; } if ( event->type() == QEvent::MouseButtonPress ) { mousePressEvent(dynamic_cast<QMouseEvent*>(event)); return true; } if ( event->type() == QEvent::MouseButtonRelease ) { mouseReleaseEvent(dynamic_cast<QMouseEvent*>(event)); return true; } if ( event->type() == QEvent::MouseButtonDblClick ) { mouseDoubleClickEvent(dynamic_cast<QMouseEvent*>(event)); return true; } if ( event->type() == QEvent::MouseMove ) { mouseMoveEvent(dynamic_cast<QMouseEvent*>(event)); return true; } if ( event->type() == QEvent::Wheel ) { wheelEvent(dynamic_cast<QWheelEvent*>(event)); return true; } if ( event->type() == QEvent::Resize ) { resizeEvent(dynamic_cast<QResizeEvent*>(event)); return true; } if ( event->type() == QEvent::KeyPress ) { keyPressEvent(dynamic_cast<QKeyEvent*>(event)); return true; } if ( event->type() == QEvent::KeyRelease ) { keyReleaseEvent(dynamic_cast<QKeyEvent*>(event)); return true; } // qDebug("eventFilter: unhandled %d object %s", event->type(), object->objectName().toAscii().constData()); return false; }
void PhotoCropBox::mouseMoveEvent(QMouseEvent *e) { if (_downState && !(e->buttons() & Qt::LeftButton)) { mouseReleaseEvent(e); } if (_downState) { if (_downState == 1) { int32 dx = e->pos().x() - _fromposx, dy = e->pos().y() - _fromposy, d = (dx < dy) ? dx : dy; if (_fromcropx + d < 0) { d = -_fromcropx; } if (_fromcropy + d < 0) { d = -_fromcropy; } if (_fromcropw - d < st::cropMinSize) { d = _fromcropw - st::cropMinSize; } if (_cropx != _fromcropx + d || _cropy != _fromcropy + d || _cropw != _fromcropw - d) { _cropx = _fromcropx + d; _cropy = _fromcropy + d; _cropw = _fromcropw - d; update(); } } else if (_downState == 2) { int32 dx = _fromposx - e->pos().x(), dy = e->pos().y() - _fromposy, d = (dx < dy) ? dx : dy; if (_fromcropx + _fromcropw - d > _thumbw) { d = _fromcropx + _fromcropw - _thumbw; } if (_fromcropy + d < 0) { d = -_fromcropy; } if (_fromcropw - d < st::cropMinSize) { d = _fromcropw - st::cropMinSize; } if (_cropy != _fromcropy + d || _cropw != _fromcropw - d) { _cropy = _fromcropy + d; _cropw = _fromcropw - d; update(); } } else if (_downState == 3) { int32 dx = _fromposx - e->pos().x(), dy = _fromposy - e->pos().y(), d = (dx < dy) ? dx : dy; if (_fromcropx + _fromcropw - d > _thumbw) { d = _fromcropx + _fromcropw - _thumbw; } if (_fromcropy + _fromcropw - d > _thumbh) { d = _fromcropy + _fromcropw - _thumbh; } if (_fromcropw - d < st::cropMinSize) { d = _fromcropw - st::cropMinSize; } if (_cropw != _fromcropw - d) { _cropw = _fromcropw - d; update(); } } else if (_downState == 4) { int32 dx = e->pos().x() - _fromposx, dy = _fromposy - e->pos().y(), d = (dx < dy) ? dx : dy; if (_fromcropx + d < 0) { d = -_fromcropx; } if (_fromcropy + _fromcropw - d > _thumbh) { d = _fromcropy + _fromcropw - _thumbh; } if (_fromcropw - d < st::cropMinSize) { d = _fromcropw - st::cropMinSize; } if (_cropx != _fromcropx + d || _cropw != _fromcropw - d) { _cropx = _fromcropx + d; _cropw = _fromcropw - d; update(); } } else if (_downState == 5) { int32 dx = e->pos().x() - _fromposx, dy = e->pos().y() - _fromposy; if (_fromcropx + dx < 0) { dx = -_fromcropx; } else if (_fromcropx + _fromcropw + dx > _thumbw) { dx = _thumbw - _fromcropx - _fromcropw; } if (_fromcropy + dy < 0) { dy = -_fromcropy; } else if (_fromcropy + _fromcropw + dy > _thumbh) { dy = _thumbh - _fromcropy - _fromcropw; } if (_cropx != _fromcropx + dx || _cropy != _fromcropy + dy) { _cropx = _fromcropx + dx; _cropy = _fromcropy + dy; update(); } } } int32 cursorState = _downState ? _downState : mouseState(e->pos()); QCursor cur(style::cur_default); if (cursorState == 1 || cursorState == 3) { cur = style::cur_sizefdiag; } else if (cursorState == 2 || cursorState == 4) { cur = style::cur_sizebdiag; } else if (cursorState == 5) { cur = style::cur_sizeall; } setCursor(cur); }
void DhQGraphicsEllipseItem::DvhmouseReleaseEvent(QGraphicsSceneMouseEvent* x1) { return mouseReleaseEvent(x1); }
void DhQScrollArea::DvhmouseReleaseEvent(QMouseEvent* x1) { return mouseReleaseEvent(x1); }
void DashboardWindowContainer::mouseMoveEvent(QGraphicsSceneMouseEvent* event) { event->accept(); if (G_UNLIKELY(m_trackingMouseDirection)) { int deltaX = event->pos().x() - event->buttonDownPos(Qt::LeftButton).x(); int deltaY = event->pos().y() - event->buttonDownPos(Qt::LeftButton).y(); if ((deltaX * deltaX + deltaY * deltaY) < Settings::LunaSettings()->tapRadiusSquared) return; m_trackingMouseDirection = false; if (abs(deltaX) > abs(deltaY)) { m_vertLockedMovement = false; Q_EMIT signalItemDragState(true); } else if(m_dashboardManualDrag) { QGraphicsSceneMouseEvent ev; ev.setCanceled(true); mouseReleaseEvent(&ev); m_dashboardManualDrag = false; } } if(m_isMenu && m_vertLockedMovement) return; if (m_vertLockedMovement) { // Set the flag that a vertical mouse move is in progress, so that we can change the # of items getting painted. if(false == m_verticalMouseMoveInProgress) m_verticalMouseMoveInProgress = true; int deltaY = event->pos().y() - event->lastPos().y(); if (deltaY == 0) { return; } setScrollBottom(m_scrollBottom - deltaY); // Set the direction of the flick if(Ignore == m_FlickDirection) { if(deltaY > 0) { m_FlickDirection = FlickDown; } else { m_FlickDirection = FlickUp; } } showOrHideMasks(); return; } if (DashboardWindow* w = m_draggedWindow.data()) { if(!m_dashboardManualDrag) { // draw the window int deltaX = event->pos().x() - event->lastPos().x(); if (deltaX == 0) return; w->setPos(MAX(w->boundingRect().width()/2, w->pos().x() + deltaX), w->pos().y()); } else { // send the mouse events to the window int winX = event->pos().x() + (m_isMenu ? 0 : w->boundingRect().width()/2); int winY = event->pos().y() - w->pos().y() + w->boundingRect().height()/2; // send the mouse down to the web app side Event ev; ev.type = Event::PenMove; ev.setMainFinger(true); ev.x = winX; ev.y = winY; ev.clickCount = 1; ev.modifiers = Event::modifiersFromQt(event->modifiers()); ev.time = Time::curSysTimeMs(); w->inputEvent(&ev); } } }
void ColorWheel::mousePressEvent(QMouseEvent *e) { mouseReleaseEvent(e); }