Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Input / RawMouseInputReport.cs / 1305600 / RawMouseInputReport.cs
using System.Windows.Media; // using System.Security; using System.Security.Permissions; using MS.Internal; using MS.Internal.PresentationCore; using MS.Win32; using System; namespace System.Windows.Input { ////// The RawMouseInputReport class encapsulates the raw input provided /// from a mouse. /// ////// It is important to note that the InputReport class only contains /// blittable types. This is required so that the report can be /// marshalled across application domains. /// [FriendAccessAllowed] internal class RawMouseInputReport : InputReport { ////// Constructs ad instance of the RawMouseInputReport class. /// /// /// The mode in which the input is being provided. /// /// /// The time when the input occured. /// /// /// The PresentationSource over which the mouse is moved. /// /// /// The set of actions being reported. /// /// /// If horizontal position being reported. /// /// /// If vertical position being reported. /// /// /// If wheel delta being reported. /// /// /// Any extra information being provided along with the input. /// ////// Critical:This handles critical data in the form of PresentationSource and ExtraInformation /// TreatAsSafe:There are demands on the critical data(PresentationSource/ExtraInformation) /// [SecurityCritical, SecurityTreatAsSafe] public RawMouseInputReport( InputMode mode, int timestamp, PresentationSource inputSource, RawMouseActions actions, int x, int y, int wheel, IntPtr extraInformation) : base(inputSource, InputType.Mouse, mode, timestamp) { if (!IsValidRawMouseActions(actions)) throw new System.ComponentModel.InvalidEnumArgumentException("actions", (int)actions, typeof(RawMouseActions)); /* we pass a null state from MouseDevice.PreProcessorInput, so null is valid value for state */ _actions = actions; _x = x; _y = y; _wheel = wheel; _extraInformation = new SecurityCriticalData(extraInformation); } /// /// Read-only access to the set of actions that were reported. /// public RawMouseActions Actions {get {return _actions;}} ////// Read-only access to the horizontal position that was reported. /// public int X {get {return _x;}} ////// Read-only access to the vertical position that was reported. /// public int Y {get {return _y;}} ////// Read-only access to the wheel delta that was reported. /// public int Wheel {get {return _wheel;}} ////// Read-only access to the extra information was provided along /// with the input. /// ////// Critical: This data was got under an elevation. There exists a link demand to /// block access. The critical exists to catch new callers too. /// public IntPtr ExtraInformation { [SecurityCritical] get { return _extraInformation.Value; } } // IsValid Method for RawMouseActions. Relies on the enum being flags. internal static bool IsValidRawMouseActions(RawMouseActions actions) { if (actions == RawMouseActions.None) return true; if ((( RawMouseActions.AttributesChanged | RawMouseActions.Activate | RawMouseActions.Deactivate | RawMouseActions.RelativeMove | RawMouseActions.AbsoluteMove | RawMouseActions.VirtualDesktopMove | RawMouseActions.Button1Press | RawMouseActions.Button1Release | RawMouseActions.Button2Press | RawMouseActions.Button2Release | RawMouseActions.Button3Press | RawMouseActions.Button3Release | RawMouseActions.Button4Press | RawMouseActions.Button4Release | RawMouseActions.Button5Press | RawMouseActions.Button5Release | RawMouseActions.VerticalWheelRotate | RawMouseActions.HorizontalWheelRotate | RawMouseActions.CancelCapture | RawMouseActions.QueryCursor) & actions) == actions) { if (!(((RawMouseActions.Deactivate & actions) == actions && RawMouseActions.Deactivate != actions ) || (((RawMouseActions.Button1Press | RawMouseActions.Button1Release) & actions) == (RawMouseActions.Button1Press | RawMouseActions.Button1Release)) || (((RawMouseActions.Button2Press | RawMouseActions.Button2Release) & actions) == (RawMouseActions.Button2Press | RawMouseActions.Button2Release)) || (((RawMouseActions.Button3Press | RawMouseActions.Button3Release) & actions) == (RawMouseActions.Button3Press | RawMouseActions.Button3Release)) || (((RawMouseActions.Button4Press | RawMouseActions.Button4Release) & actions) == (RawMouseActions.Button4Press | RawMouseActions.Button4Release)) || (((RawMouseActions.Button5Press | RawMouseActions.Button5Release) & actions) == (RawMouseActions.Button5Press | RawMouseActions.Button5Release)))) { return true; } } return false; } private RawMouseActions _actions; private int _x; private int _y; private int _wheel; internal bool _isSynchronize; // Set from MouseDevice.Synchronize. ////// Critical:This data was got under an elevation and is not safe to expose. /// private SecurityCriticalData_extraInformation; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System.Windows.Media; // using System.Security; using System.Security.Permissions; using MS.Internal; using MS.Internal.PresentationCore; using MS.Win32; using System; namespace System.Windows.Input { /// /// The RawMouseInputReport class encapsulates the raw input provided /// from a mouse. /// ////// It is important to note that the InputReport class only contains /// blittable types. This is required so that the report can be /// marshalled across application domains. /// [FriendAccessAllowed] internal class RawMouseInputReport : InputReport { ////// Constructs ad instance of the RawMouseInputReport class. /// /// /// The mode in which the input is being provided. /// /// /// The time when the input occured. /// /// /// The PresentationSource over which the mouse is moved. /// /// /// The set of actions being reported. /// /// /// If horizontal position being reported. /// /// /// If vertical position being reported. /// /// /// If wheel delta being reported. /// /// /// Any extra information being provided along with the input. /// ////// Critical:This handles critical data in the form of PresentationSource and ExtraInformation /// TreatAsSafe:There are demands on the critical data(PresentationSource/ExtraInformation) /// [SecurityCritical, SecurityTreatAsSafe] public RawMouseInputReport( InputMode mode, int timestamp, PresentationSource inputSource, RawMouseActions actions, int x, int y, int wheel, IntPtr extraInformation) : base(inputSource, InputType.Mouse, mode, timestamp) { if (!IsValidRawMouseActions(actions)) throw new System.ComponentModel.InvalidEnumArgumentException("actions", (int)actions, typeof(RawMouseActions)); /* we pass a null state from MouseDevice.PreProcessorInput, so null is valid value for state */ _actions = actions; _x = x; _y = y; _wheel = wheel; _extraInformation = new SecurityCriticalData(extraInformation); } /// /// Read-only access to the set of actions that were reported. /// public RawMouseActions Actions {get {return _actions;}} ////// Read-only access to the horizontal position that was reported. /// public int X {get {return _x;}} ////// Read-only access to the vertical position that was reported. /// public int Y {get {return _y;}} ////// Read-only access to the wheel delta that was reported. /// public int Wheel {get {return _wheel;}} ////// Read-only access to the extra information was provided along /// with the input. /// ////// Critical: This data was got under an elevation. There exists a link demand to /// block access. The critical exists to catch new callers too. /// public IntPtr ExtraInformation { [SecurityCritical] get { return _extraInformation.Value; } } // IsValid Method for RawMouseActions. Relies on the enum being flags. internal static bool IsValidRawMouseActions(RawMouseActions actions) { if (actions == RawMouseActions.None) return true; if ((( RawMouseActions.AttributesChanged | RawMouseActions.Activate | RawMouseActions.Deactivate | RawMouseActions.RelativeMove | RawMouseActions.AbsoluteMove | RawMouseActions.VirtualDesktopMove | RawMouseActions.Button1Press | RawMouseActions.Button1Release | RawMouseActions.Button2Press | RawMouseActions.Button2Release | RawMouseActions.Button3Press | RawMouseActions.Button3Release | RawMouseActions.Button4Press | RawMouseActions.Button4Release | RawMouseActions.Button5Press | RawMouseActions.Button5Release | RawMouseActions.VerticalWheelRotate | RawMouseActions.HorizontalWheelRotate | RawMouseActions.CancelCapture | RawMouseActions.QueryCursor) & actions) == actions) { if (!(((RawMouseActions.Deactivate & actions) == actions && RawMouseActions.Deactivate != actions ) || (((RawMouseActions.Button1Press | RawMouseActions.Button1Release) & actions) == (RawMouseActions.Button1Press | RawMouseActions.Button1Release)) || (((RawMouseActions.Button2Press | RawMouseActions.Button2Release) & actions) == (RawMouseActions.Button2Press | RawMouseActions.Button2Release)) || (((RawMouseActions.Button3Press | RawMouseActions.Button3Release) & actions) == (RawMouseActions.Button3Press | RawMouseActions.Button3Release)) || (((RawMouseActions.Button4Press | RawMouseActions.Button4Release) & actions) == (RawMouseActions.Button4Press | RawMouseActions.Button4Release)) || (((RawMouseActions.Button5Press | RawMouseActions.Button5Release) & actions) == (RawMouseActions.Button5Press | RawMouseActions.Button5Release)))) { return true; } } return false; } private RawMouseActions _actions; private int _x; private int _y; private int _wheel; internal bool _isSynchronize; // Set from MouseDevice.Synchronize. ////// Critical:This data was got under an elevation and is not safe to expose. /// private SecurityCriticalData_extraInformation; } } // 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
- EventLogException.cs
- WindowInteropHelper.cs
- SqlRowUpdatingEvent.cs
- SettingsPropertyValue.cs
- SimpleApplicationHost.cs
- StatusBarDrawItemEvent.cs
- GeneratedCodeAttribute.cs
- oledbmetadatacolumnnames.cs
- ToolStripHighContrastRenderer.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- ExpressionBuilder.cs
- ObjectIDGenerator.cs
- ClientType.cs
- ConfigXmlSignificantWhitespace.cs
- HttpProcessUtility.cs
- StylusPoint.cs
- Error.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- BitmapCodecInfoInternal.cs
- TimelineGroup.cs
- CachedBitmap.cs
- WorkflowRuntimeServicesBehavior.cs
- ToolStripSplitStackLayout.cs
- HitTestParameters3D.cs
- VerificationAttribute.cs
- Misc.cs
- LayoutUtils.cs
- PointAnimationBase.cs
- SizeLimitedCache.cs
- ClipboardData.cs
- MeasureItemEvent.cs
- TagPrefixInfo.cs
- DecimalStorage.cs
- IdentityModelDictionary.cs
- ImageDrawing.cs
- BamlMapTable.cs
- QuadraticBezierSegment.cs
- BrowserCapabilitiesCodeGenerator.cs
- WizardPanelChangingEventArgs.cs
- PatternMatcher.cs
- DES.cs
- MimeFormImporter.cs
- WebPartsPersonalizationAuthorization.cs
- ImageListUtils.cs
- Component.cs
- WindowsListViewItem.cs
- GB18030Encoding.cs
- WebReference.cs
- AssertSection.cs
- documentation.cs
- XmlSchemaObjectTable.cs
- Imaging.cs
- QilDataSource.cs
- GroupPartitionExpr.cs
- CodeIdentifier.cs
- Converter.cs
- Inflater.cs
- QueryReaderSettings.cs
- TabRenderer.cs
- LowerCaseStringConverter.cs
- UriTemplateHelpers.cs
- FloatSumAggregationOperator.cs
- WorkflowFormatterBehavior.cs
- SHA256.cs
- ObjectRef.cs
- AppearanceEditorPart.cs
- BrowserCapabilitiesCompiler.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- UdpChannelListener.cs
- X509CertificateTrustedIssuerElement.cs
- CompositeControl.cs
- OdbcFactory.cs
- StreamGeometryContext.cs
- ConnectionProviderAttribute.cs
- BitmapEffectRenderDataResource.cs
- TextEffect.cs
- WFItemsToSpacerVisibility.cs
- Resources.Designer.cs
- HostingMessageProperty.cs
- HttpListenerRequest.cs
- MetadataWorkspace.cs
- _SpnDictionary.cs
- EventRouteFactory.cs
- DataSourceControlBuilder.cs
- OpCodes.cs
- TextMetrics.cs
- InfoCardBinaryReader.cs
- XmlBinaryReader.cs
- NotSupportedException.cs
- ActivatedMessageQueue.cs
- PackWebResponse.cs
- SerialStream.cs
- LinqDataSourceDeleteEventArgs.cs
- WebPartDisplayModeEventArgs.cs
- TCPClient.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- SqlBulkCopy.cs
- ConfigXmlCDataSection.cs
- DesignBindingEditor.cs
- TemplateEditingFrame.cs