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);
	}
}
Example #3
0
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;
}
Example #4
0
void Sprite::hoverEnterEvent(QGraphicsSceneHoverEvent *event)
{
    emit onHover(event);
}