当前位置: 首页>>代码示例>>C#>>正文


C# MotionEvent.GetPressure方法代码示例

本文整理汇总了C#中Android.Views.MotionEvent.GetPressure方法的典型用法代码示例。如果您正苦于以下问题:C# MotionEvent.GetPressure方法的具体用法?C# MotionEvent.GetPressure怎么用?C# MotionEvent.GetPressure使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Android.Views.MotionEvent的用法示例。


在下文中一共展示了MotionEvent.GetPressure方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: UpdateStateByEvent

		/// <summary>
		/// Updates the current state with the given event.
		/// </summary>
		/// <param name="curr">The current event.</param>
		protected virtual void UpdateStateByEvent(MotionEvent curr) {
			MotionEvent prev = _previousEvent;

			// Reset _currentEvent.
			if (_currentEvent != null) {
				_currentEvent.Recycle ();
				_currentEvent = null;
			}
			_currentEvent = MotionEvent.Obtain (curr);

			// Delta time.
			_timeDelta = 0;
			if (prev != null) {
				_timeDelta = curr.EventTime - prev.EventTime;

				// Pressure.
				_previousPressure = prev.GetPressure (prev.ActionIndex);
			}
			_currentPressure = curr.GetPressure (curr.ActionIndex);
		}
开发者ID:JoeCooper,项目名称:ui,代码行数:24,代码来源:BaseGestureDetector.cs

示例2: OnTouchOrHoverEvent

			bool OnTouchOrHoverEvent (MotionEvent e, bool isTouch)
			{
				MotionEventButtonState buttonState = e.ButtonState;
				MotionEventButtonState pressedButtons = buttonState & ~mOldButtonState;
				mOldButtonState = buttonState;

				if ((pressedButtons & MotionEventButtonState.Secondary) != 0) {
					// Advance color when the right mouse button or first stylus button
					// is pressed.
					AdvanceColor ();
				}

				PaintMode mode;
				if ((buttonState & MotionEventButtonState.Tertiary) != 0) {
					// Splat paint when the middle mouse button or second stylus button is pressed.
					mode = PaintMode.Splat;
				} else if (isTouch || (buttonState & MotionEventButtonState.Primary) != 0) {
					// Draw paint when touching or if the primary button is pressed.
					mode = PaintMode.Draw;
				} else {
					// Otherwise, do not paint anything.
					return false;
				}

				MotionEventActions action = e.ActionMasked;
				if (action ==  MotionEventActions.Down || action == MotionEventActions.Move
					|| action == MotionEventActions.HoverMove) {
					int N = e.HistorySize;
					int P = e.PointerCount;
					for (int i = 0; i < N; i++) {
						for (int j = 0; j < P; j++) {
							Paint (GetPaintModeForTool (e.GetToolType (j), mode),
								e.GetHistoricalX (j, i),
								e.GetHistoricalY(j, i),
								e.GetHistoricalPressure (j, i),
								e.GetHistoricalTouchMajor (j, i),
								e.GetHistoricalTouchMinor (j, i),
								e.GetHistoricalOrientation (j, i),
								e.GetHistoricalAxisValue (Axis.Distance, j, i),
								e.GetHistoricalAxisValue (Axis.Tilt, j, i));
						}
					}
					for (int j = 0; j < P; j++) {
						Paint (GetPaintModeForTool (e.GetToolType (j), mode),
							e.GetX (j),
							e.GetY (j),
							e.GetPressure (j),
							e.GetTouchMajor (j),
							e.GetTouchMinor (j),
							e.GetOrientation (j),
							e.GetAxisValue (Axis.Distance, j),
							e.GetAxisValue (Axis.Tilt, j));
					}
					mCurX = e.GetX ();
					mCurY = e.GetY ();
				}
				return true;
			}
开发者ID:89sos98,项目名称:monodroid-samples,代码行数:58,代码来源:TouchPaint.cs

示例3: UpdateStateByEvent

		protected internal virtual void UpdateStateByEvent(MotionEvent curr)
		{
			MotionEvent prev = mPrevEvent;
			// Reset mCurrEvent
			if (mCurrEvent != null)
			{
				mCurrEvent.Recycle();
				mCurrEvent = null;
			}
			mCurrEvent = MotionEvent.Obtain(curr);
			// Delta time
			mTimeDelta = curr.EventTime - prev.EventTime;
			// Pressure
			mCurrPressure = curr.GetPressure(curr.ActionIndex);
			mPrevPressure = prev.GetPressure(prev.ActionIndex);
		}
开发者ID:davidlook,项目名称:dropbox-sync-component,代码行数:16,代码来源:BaseGestureDetector.cs

示例4: SetContext

		void SetContext (MotionEvent curr)
		{
			if (mCurrEvent != null) {
				mCurrEvent.Recycle();
			}
			mCurrEvent = MotionEvent.Obtain(curr);

			mCurrLen = -1;
			mPrevLen = -1;
			mScaleFactor = -1;

			MotionEvent prev = mPrevEvent;

			int prevIndex0 = prev.FindPointerIndex(mActiveId0);
			int prevIndex1 = prev.FindPointerIndex(mActiveId1);
			int currIndex0 = curr.FindPointerIndex(mActiveId0);
			int currIndex1 = curr.FindPointerIndex(mActiveId1);

			if (prevIndex0 < 0 || prevIndex1 < 0 || currIndex0 < 0 || currIndex1 < 0) {
				mInvalidGesture = true;
				if (mGestureInProgress) {
					mListener.OnScaleEnd(this);
				}
				return;
			}

			float px0 = prev.GetX(prevIndex0);
			float py0 = prev.GetY(prevIndex0);
			float px1 = prev.GetX(prevIndex1);
			float py1 = prev.GetY(prevIndex1);
			float cx0 = curr.GetX(currIndex0);
			float cy0 = curr.GetY(currIndex0);
			float cx1 = curr.GetX(currIndex1);
			float cy1 = curr.GetY(currIndex1);

			float pvx = px1 - px0;
			float pvy = py1 - py0;
			float cvx = cx1 - cx0;
			float cvy = cy1 - cy0;
			mPrevFingerDiffX = pvx;
			mPrevFingerDiffY = pvy;
			mCurrFingerDiffX = cvx;
			mCurrFingerDiffY = cvy;

			mFocusX = cx0 + cvx * 0.5f;
			mFocusY = cy0 + cvy * 0.5f;
			mTimeDelta = curr.EventTime - prev.EventTime;
			mCurrPressure = curr.GetPressure(currIndex0) + curr.GetPressure(currIndex1);
			mPrevPressure = prev.GetPressure(prevIndex0) + prev.GetPressure(prevIndex1);
		}
开发者ID:Andrea,项目名称:FriendTab,代码行数:50,代码来源:DoubleSwipeDetector.cs


注:本文中的Android.Views.MotionEvent.GetPressure方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。