bool nuiContainer::DispatchMouseUnclick(const nglMouseInfo& rInfo) { CheckValid(); nuiAutoRef; if (!mMouseEventEnabled || mTrashed) return false; bool hasgrab = HasGrab(rInfo.TouchId); if (IsDisabled() && !hasgrab) return false; nglMouseInfo info(rInfo); GlobalToLocal(info.X, info.Y); // Get a chance to preempt the mouse event before the children get it: if (PreMouseUnclicked(info)) { Ungrab(); return true; } if (IsInsideFromRoot(rInfo.X, rInfo.Y) || hasgrab) { if (!hasgrab) { IteratorPtr pIt; for (pIt = GetLastChild(false); pIt && pIt->IsValid(); GetPreviousChild(pIt)) { nuiWidgetPtr pItem = pIt->GetWidget(); if (pItem) { if (IsEnabled()) { if ((pItem)->DispatchMouseUnclick(rInfo)) { delete pIt; return true; } } } } delete pIt; } bool res = PreUnclicked(info); if (!res) { res = MouseUnclicked(info); res |= Unclicked(info); } res = res | (!mClickThru); if (res) Ungrab(); return res; } return false; }
bool nuiToggleButton::MouseUnclicked (nuiSize X, nuiSize Y, nglMouseInfo::Flags Button) { if ( (Button & nglMouseInfo::ButtonLeft) && mClicked) { mClicked = false; Ungrab(); if (IsInsideFromSelf(X,Y, GetActivationOffset())) { SetPressed(!mWasPressed); if (IsPressed()) Activated(); else Deactivated(); } else { SetPressed(mWasPressed); } Invalidate(); return true; } return false; }
bool nuiZoomBar::MouseUnclicked(nuiSize X, nuiSize Y, nglMouseInfo::Flags Button) { if (Button & nglMouseInfo::ButtonLeft) { mClicked = false; if (mPageUpClicked || mPageDownClicked) { mTimer.Stop(); } else { ThumbDepressed(); } mThumbClicked = false; mPageUpClicked = false; mPageDownClicked = false; mRightSideClicked = false; mLeftSideClicked = false; Ungrab(); Invalidate(); return true; } return false; }
// virtual bool nuiPadGestureRecognizer::MouseUnclicked(nuiSize X, nuiSize Y, nglMouseInfo::Flags Button) { bool res = nuiGestureRecognizer::MouseUnclicked(X, Y, Button); mClicked = false; SetState(eGestureRecognizerStatePossible); mLastX = 0; mLastY = 0; Ungrab(); return false; }
// virtual bool nuiSwipeGestureRecognizer::MouseUnclicked(nuiSize X, nuiSize Y, nglMouseInfo::Flags Button) { bool res = nuiGestureRecognizer::MouseUnclicked(X, Y, Button); mClicked = false; SetState(eGestureRecognizerStatePossible); mTime = nglTime(); mInitiatedTime = 0; mStartX = 0; mStartY = 0; Ungrab(); return false; }
bool nuiHyperLink::MouseUnclicked(nuiSize X, nuiSize Y, nglMouseInfo::Flags Button) { if (mClicked && (Button & nglMouseInfo::ButtonLeft)) { mClicked--; Ungrab(); if (!Activated()) { // Open url in default browser nuiURL url(mURL); url.OpenBrowser(); SetUnderline(false); } return true; } return false; }
bool nuiKnob::MouseUnclicked(nuiSize X, nuiSize Y, nglMouseInfo::Flags Button) { if (mInteractiveValueChanged) ValueChanged(); mInteractiveValueChanged = false; if (Button & nglMouseInfo::ButtonLeft) { mClicked = false; Ungrab(); Invalidate(); return true; } return false; }
bool nuiSlider::MouseUnclicked (nuiSize X, nuiSize Y, nglMouseInfo::Flags Button) { if ((Button == nglMouseInfo::ButtonLeft) && mClicked) { mInteractiveValueChanged = false; ValueChanged(); mClicked = false; mThumbClicked = false; Ungrab(); Invalidate(); return true; } return false; }
bool nuiMatrixView::MouseUnclicked(nuiSize X, nuiSize Y, nglMouseInfo::Flags Button) { if (!mClicked) return false; mClicked = false; mCanChange = false; mClickedItem = NULL; Ungrab(); // send event if a changed occured if (mChanged) { ValueChanged(); mChanged=false; } return true; }
bool nuiWindow::MouseUnclicked (nuiSize X, nuiSize Y, nglMouseInfo::Flags Button) { // OUT("MouseUnclicked %d - %d\n",X,Y); if (Button == nglMouseInfo::ButtonLeft && mMoving != eNoMove) { LocalToLocal(GetParent(), X, Y); mClickX = X; mClickY = Y; mMoving = eNoMove; Invalidate(); SetAlpha(1.0f); mMoving = eNoMove; Ungrab(); return true; } return true; }
bool nuiScrollView::MouseUnclicked(nuiSize X, nuiSize Y, nglMouseInfo::Flags Button) { if (!mLeftClick) return false; Dragged(X, Y); mLeftClick = false; Ungrab(); nglTime now; double elapsed = now.GetValue() - mLastTime.GetValue(); if (elapsed > 0.05) { mSpeedX = 0; mSpeedY = 0; } if (mHideScrollBars) { HideScrollBars(); } return true; }