bool GUIHoverHitBox::_mouseEvent(const GUIMouseEvent& ev) { bool processed = GUIElementContainer::_mouseEvent(ev); if (ev.getType() == GUIMouseEventType::MouseOver) { onHover(); return false; } else if (ev.getType() == GUIMouseEventType::MouseOut) { onOut(); return false; } return processed; }
void ResolutionButton::activate() { auto& im = InputManager::get(); if (mCanSwitchVideoMode){ if (im.getStick().x<-0.75 && mCurrentVideoMode!=0){ --mCurrentVideoMode; mCanSwitchVideoMode=0; } else if (im.getStick().x>0.75 && mCurrentVideoMode!=mVideoModesVector.size()-1){ ++mCurrentVideoMode; mCanSwitchVideoMode=0; } } if(mUpdated == false && im.isADown()) { mUpdated = true; Button::activate(); auto& stateMgr = StateManager::get(); WindowManager::get().setVideoMode(mVideoModesVector[mCurrentVideoMode].width,mVideoModesVector[mCurrentVideoMode].height,4); onHover(false); } }
bool HippoCanvas::processMessage(UINT message, WPARAM wParam, LPARAM lParam) { if (HippoAbstractControl::processMessage(message, wParam, lParam)) return true; switch (message) { case WM_PAINT: onPaint(wParam, lParam); // do NOT call DefWindowProc, it clears the update region return true; case WM_HSCROLL: if (hscrollNeeded_) { int newX = hscroll_->handleScrollMessage(message, wParam, lParam); scrollTo(newX, canvasY_); } return true; case WM_VSCROLL: case WM_MOUSEWHEEL: // running DefWindowProc for this one forwards it to parent window if (vscrollNeeded_) { int newY = vscroll_->handleScrollMessage(message, wParam, lParam); scrollTo(canvasX_, newY); } return true; case WM_SETCURSOR: // kill DefWindowProc setting the cursor, so we are the only // ones that do (in the mouse move handler) return true; case WM_LBUTTONDOWN: onMouseDown(1, wParam, lParam); return true; case WM_LBUTTONUP: onMouseUp(1, wParam, lParam); return true; case WM_LBUTTONDBLCLK: onMouseDoubleClick(1, wParam, lParam); return true; case WM_MBUTTONDOWN: onMouseDown(2, wParam, lParam); return true; case WM_MBUTTONUP: onMouseUp(2, wParam, lParam); return true; case WM_RBUTTONDOWN: onMouseDown(3, wParam, lParam); return true; case WM_RBUTTONUP: onMouseUp(3, wParam, lParam); return true; case WM_MOUSEMOVE: onMouseMove(wParam, lParam); return true; case WM_MOUSELEAVE: onMouseLeave(wParam, lParam); return true; case WM_MOUSEHOVER: onHover(wParam, lParam); return true; case WM_SETFOCUS: // forward focus on to some control inside the canvas, if any hippo_canvas_context_win_focus_controls(context_); return true; case WM_COMMAND: return onCommand(wParam, lParam); } return false; }
void Sprite::hoverEnterEvent(QGraphicsSceneHoverEvent *event) { emit onHover(event); }