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
- EdmComplexPropertyAttribute.cs
- Color.cs
- PathFigureCollection.cs
- DeclaredTypeElement.cs
- ExtendLockCommand.cs
- RC2CryptoServiceProvider.cs
- TheQuery.cs
- SimpleApplicationHost.cs
- StaticSiteMapProvider.cs
- TableRow.cs
- ContentControl.cs
- NameValuePair.cs
- DropShadowEffect.cs
- SchemaImporterExtensionElementCollection.cs
- EntityParameterCollection.cs
- sqlser.cs
- Decorator.cs
- DynamicResourceExtension.cs
- ClonableStack.cs
- AssemblyNameProxy.cs
- ProxyHwnd.cs
- XmlSchemaValidationException.cs
- GeometryConverter.cs
- BufferedGraphicsManager.cs
- AssociationType.cs
- NativeCompoundFileAPIs.cs
- ToolStripManager.cs
- StatusStrip.cs
- SamlAssertionKeyIdentifierClause.cs
- NetTcpSection.cs
- CheckBox.cs
- SafeCertificateContext.cs
- ApplicationFileCodeDomTreeGenerator.cs
- ClientBuildManager.cs
- XPathScanner.cs
- ExecutionEngineException.cs
- SHA1Cng.cs
- WinFormsUtils.cs
- ObservableCollection.cs
- MessageFilterException.cs
- StrokeNode.cs
- TargetControlTypeCache.cs
- Binding.cs
- DataSourceExpression.cs
- HttpRawResponse.cs
- WaitHandleCannotBeOpenedException.cs
- InfoCardTrace.cs
- ClientTargetCollection.cs
- PresentationTraceSources.cs
- _ConnectStream.cs
- HttpCachePolicyElement.cs
- DesignerProperties.cs
- SoapReflectionImporter.cs
- XmlQueryOutput.cs
- ExpressionLexer.cs
- DynamicFilterExpression.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- RepeatInfo.cs
- Selection.cs
- AssemblySettingAttributes.cs
- SqlGenericUtil.cs
- ServiceHttpHandlerFactory.cs
- CodeEventReferenceExpression.cs
- XmlResolver.cs
- XPathEmptyIterator.cs
- AudioException.cs
- FontResourceCache.cs
- DefaultTextStoreTextComposition.cs
- DataGridCaption.cs
- Privilege.cs
- URLIdentityPermission.cs
- dataprotectionpermissionattribute.cs
- DiagnosticTraceSource.cs
- XmlDocumentSchema.cs
- OracleNumber.cs
- FontFaceLayoutInfo.cs
- EntityDataSourceDataSelection.cs
- InternalsVisibleToAttribute.cs
- mda.cs
- EvidenceTypeDescriptor.cs
- HttpListenerResponse.cs
- HttpWriter.cs
- Visual3D.cs
- ScriptManager.cs
- BigInt.cs
- ConnectionManagementSection.cs
- ItemCollection.cs
- TextAdaptor.cs
- Panel.cs
- MailWebEventProvider.cs
- SystemUdpStatistics.cs
- UriParserTemplates.cs
- PageContentCollection.cs
- ContextBase.cs
- Win32Native.cs
- DesignerForm.cs
- Font.cs
- ColorTranslator.cs
- JsonDeserializer.cs
- HttpServerVarsCollection.cs