Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Input / Stylus / RawStylusSystemGestureInputReport.cs / 1305600 / RawStylusSystemGestureInputReport.cs
using System; using System.ComponentModel; using System.Security; using System.Security.Permissions; using SR=MS.Internal.PresentationCore.SR; using SRID=MS.Internal.PresentationCore.SRID; namespace System.Windows.Input { ///////////////////////////////////////////////////////////////////////// ////// [TBS] /// internal class RawStylusSystemGestureInputReport : RawStylusInputReport { // We don't want to publically expose the double tap system gesture so we define it here. internal const SystemGesture InternalSystemGestureDoubleTap = (SystemGesture)0x11; ////// Validates whether a given SystemGesture has an allowable value. /// /// The SysemGesture to test. /// Whether Flick is allowed. /// Whether DoubleTab is allowed. ///True if the SystemGesture matches an allowed gesture. False otherwise. internal static bool IsValidSystemGesture(SystemGesture systemGesture, bool allowFlick, bool allowDoubleTap) { switch (systemGesture) { case SystemGesture.None: case SystemGesture.Tap: case SystemGesture.RightTap: case SystemGesture.Drag: case SystemGesture.RightDrag: case SystemGesture.HoldEnter: case SystemGesture.HoldLeave: case SystemGesture.HoverEnter: case SystemGesture.HoverLeave: case SystemGesture.TwoFingerTap: #if ROLLOVER_IMPLEMENTED case SystemGesture.Rollover: #endif return true; case SystemGesture.Flick: return allowFlick; case InternalSystemGestureDoubleTap: return allowDoubleTap; default: return false; } } ///////////////////////////////////////////////////////////////////// ////// Constructs an instance of the RawStylusSystemGestureInputReport class. /// /// /// The mode in which the input is being provided. /// /// /// The time when the input occured. /// /// /// The PresentationSource over which the stylus moved. /// /// /// PenContext that generated this event. /// /// /// tablet id. /// /// /// Stylus device id. /// /// /// System Gesture. /// /// /// X location of the system gesture (in tablet device coordindates). /// /// /// Y location of the system gesture (in tablet device coordindates). /// /// /// Button state info data. /// ////// Critical:This handles critical data in the form of PresentationSource /// TreatAsSafe:There are demands on the critical data(PresentationSource) /// [SecurityCritical,SecurityTreatAsSafe] internal RawStylusSystemGestureInputReport( InputMode mode, int timestamp, PresentationSource inputSource, PenContext penContext, int tabletId, int stylusDeviceId, SystemGesture systemGesture, int gestureX, int gestureY, int buttonState) : base( mode, timestamp, inputSource, penContext, RawStylusActions.SystemGesture, tabletId, stylusDeviceId, new int[] {}) { if (!RawStylusSystemGestureInputReport.IsValidSystemGesture(systemGesture, true, true)) { throw new InvalidEnumArgumentException(SR.Get( SRID.Enum_Invalid, "systemGesture")); } _id = systemGesture; _gestureX = gestureX; _gestureY = gestureY; _buttonState = buttonState; } ///////////////////////////////////////////////////////////////////// ////// Read-only access to the stylus gesture id. /// internal SystemGesture SystemGesture { get { return _id; } } ///////////////////////////////////////////////////////////////////// ////// Read-only access to the X location of the system gesture /// in tablet device coordinates. /// internal int GestureX { get { return _gestureX; } } ///////////////////////////////////////////////////////////////////// ////// Read-only access to the Y location of the system gesture /// in tablet device coordinates. /// internal int GestureY { get { return _gestureY; } } ///////////////////////////////////////////////////////////////////// ////// Read-only access to the button state info (useful for flicks). /// internal int ButtonState { get { return _buttonState; } } ///////////////////////////////////////////////////////////////////// SystemGesture _id; int _gestureX;// gesture location in tablet device coordinates int _gestureY; int _buttonState; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System; using System.ComponentModel; using System.Security; using System.Security.Permissions; using SR=MS.Internal.PresentationCore.SR; using SRID=MS.Internal.PresentationCore.SRID; namespace System.Windows.Input { ///////////////////////////////////////////////////////////////////////// ////// [TBS] /// internal class RawStylusSystemGestureInputReport : RawStylusInputReport { // We don't want to publically expose the double tap system gesture so we define it here. internal const SystemGesture InternalSystemGestureDoubleTap = (SystemGesture)0x11; ////// Validates whether a given SystemGesture has an allowable value. /// /// The SysemGesture to test. /// Whether Flick is allowed. /// Whether DoubleTab is allowed. ///True if the SystemGesture matches an allowed gesture. False otherwise. internal static bool IsValidSystemGesture(SystemGesture systemGesture, bool allowFlick, bool allowDoubleTap) { switch (systemGesture) { case SystemGesture.None: case SystemGesture.Tap: case SystemGesture.RightTap: case SystemGesture.Drag: case SystemGesture.RightDrag: case SystemGesture.HoldEnter: case SystemGesture.HoldLeave: case SystemGesture.HoverEnter: case SystemGesture.HoverLeave: case SystemGesture.TwoFingerTap: #if ROLLOVER_IMPLEMENTED case SystemGesture.Rollover: #endif return true; case SystemGesture.Flick: return allowFlick; case InternalSystemGestureDoubleTap: return allowDoubleTap; default: return false; } } ///////////////////////////////////////////////////////////////////// ////// Constructs an instance of the RawStylusSystemGestureInputReport class. /// /// /// The mode in which the input is being provided. /// /// /// The time when the input occured. /// /// /// The PresentationSource over which the stylus moved. /// /// /// PenContext that generated this event. /// /// /// tablet id. /// /// /// Stylus device id. /// /// /// System Gesture. /// /// /// X location of the system gesture (in tablet device coordindates). /// /// /// Y location of the system gesture (in tablet device coordindates). /// /// /// Button state info data. /// ////// Critical:This handles critical data in the form of PresentationSource /// TreatAsSafe:There are demands on the critical data(PresentationSource) /// [SecurityCritical,SecurityTreatAsSafe] internal RawStylusSystemGestureInputReport( InputMode mode, int timestamp, PresentationSource inputSource, PenContext penContext, int tabletId, int stylusDeviceId, SystemGesture systemGesture, int gestureX, int gestureY, int buttonState) : base( mode, timestamp, inputSource, penContext, RawStylusActions.SystemGesture, tabletId, stylusDeviceId, new int[] {}) { if (!RawStylusSystemGestureInputReport.IsValidSystemGesture(systemGesture, true, true)) { throw new InvalidEnumArgumentException(SR.Get( SRID.Enum_Invalid, "systemGesture")); } _id = systemGesture; _gestureX = gestureX; _gestureY = gestureY; _buttonState = buttonState; } ///////////////////////////////////////////////////////////////////// ////// Read-only access to the stylus gesture id. /// internal SystemGesture SystemGesture { get { return _id; } } ///////////////////////////////////////////////////////////////////// ////// Read-only access to the X location of the system gesture /// in tablet device coordinates. /// internal int GestureX { get { return _gestureX; } } ///////////////////////////////////////////////////////////////////// ////// Read-only access to the Y location of the system gesture /// in tablet device coordinates. /// internal int GestureY { get { return _gestureY; } } ///////////////////////////////////////////////////////////////////// ////// Read-only access to the button state info (useful for flicks). /// internal int ButtonState { get { return _buttonState; } } ///////////////////////////////////////////////////////////////////// SystemGesture _id; int _gestureX;// gesture location in tablet device coordinates int _gestureY; int _buttonState; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PropertyKey.cs
- DbConnectionInternal.cs
- ProviderSettings.cs
- PathSegment.cs
- InvalidProgramException.cs
- DesignerObjectListAdapter.cs
- TextRangeAdaptor.cs
- HitTestParameters3D.cs
- FixedSOMTable.cs
- AnonymousIdentificationModule.cs
- NotifyIcon.cs
- SafeCertificateStore.cs
- VerticalConnector.xaml.cs
- TraceFilter.cs
- IncrementalHitTester.cs
- MemberAssignment.cs
- ResXResourceWriter.cs
- SecurityAppliedMessage.cs
- ImportCatalogPart.cs
- CheckBoxList.cs
- CurrentChangingEventArgs.cs
- XmlDictionary.cs
- CryptoStream.cs
- DrawingContextFlattener.cs
- TableParaClient.cs
- DataGridSortCommandEventArgs.cs
- DesignerForm.cs
- itemelement.cs
- OleDbParameter.cs
- ServiceParser.cs
- Debug.cs
- WindowsGrip.cs
- EUCJPEncoding.cs
- Brush.cs
- EnumerableValidator.cs
- _Win32.cs
- TypedServiceChannelBuilder.cs
- SystemResources.cs
- basevalidator.cs
- OdbcConnectionOpen.cs
- OdbcConnectionString.cs
- WebPartConnectionCollection.cs
- EdmToObjectNamespaceMap.cs
- GroupItemAutomationPeer.cs
- ObjectNavigationPropertyMapping.cs
- RadialGradientBrush.cs
- OdbcCommandBuilder.cs
- RemotingHelper.cs
- Model3DGroup.cs
- MessageBodyMemberAttribute.cs
- NodeInfo.cs
- ZoneMembershipCondition.cs
- AppSettingsExpressionBuilder.cs
- ArraySet.cs
- FileReader.cs
- StringResourceManager.cs
- TextStore.cs
- ParallelForEach.cs
- InstanceData.cs
- CryptographicAttribute.cs
- EffectiveValueEntry.cs
- PersonalizationProviderHelper.cs
- Matrix.cs
- TrailingSpaceComparer.cs
- FtpRequestCacheValidator.cs
- RightsManagementEncryptionTransform.cs
- PointAnimation.cs
- HttpCookieCollection.cs
- NoneExcludedImageIndexConverter.cs
- AssemblyBuilderData.cs
- ObjectSecurityT.cs
- LingerOption.cs
- FtpCachePolicyElement.cs
- SystemDiagnosticsSection.cs
- ProxyElement.cs
- SendMailErrorEventArgs.cs
- TreeViewHitTestInfo.cs
- DriveInfo.cs
- SigningCredentials.cs
- SelectorAutomationPeer.cs
- RayMeshGeometry3DHitTestResult.cs
- HasCopySemanticsAttribute.cs
- DbgCompiler.cs
- DCSafeHandle.cs
- SqlNotificationRequest.cs
- ClientConfigPaths.cs
- CustomAttributeBuilder.cs
- Opcode.cs
- ListMarkerSourceInfo.cs
- ClientSponsor.cs
- DataGridViewRowConverter.cs
- NameTable.cs
- PageThemeCodeDomTreeGenerator.cs
- TaskSchedulerException.cs
- InvalidOperationException.cs
- ImageMapEventArgs.cs
- SecurityCriticalDataForSet.cs
- SqlClientWrapperSmiStream.cs
- XMLSyntaxException.cs
- Array.cs