Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Core / CSharp / System / Windows / Input / StagingAreaInputItem.cs / 1 / StagingAreaInputItem.cs
using System; using System.Collections; using System.Security.Permissions; using System.Security; namespace System.Windows.Input { ////// This class encapsulates an input event while it is being /// processed by the input manager. /// ////// This class just provides the dictionary-based storage for /// all of the listeners of the various input manager events. /// public class StagingAreaInputItem { // Only we can make these. internal StagingAreaInputItem(bool isMarker) { _isMarker = isMarker; } // For performace reasons, we try to reuse these event args. // Allow an existing item to be promoted by keeping the existing dictionary. internal void Reset(InputEventArgs input, StagingAreaInputItem promote) { _input = input; if(promote != null && promote._dictionary != null) { // _dictionary = (Hashtable) promote._dictionary.Clone(); } else { if(_dictionary != null) { _dictionary.Clear(); } else { _dictionary = new Hashtable(); } } } ////// Returns the input event. /// ////// Callers must have UIPermission(PermissionState.Unrestricted) to call this API. /// ////// Defense In Depth - even if this leaks out, we demand here. /// public InputEventArgs Input { [UIPermissionAttribute(SecurityAction.LinkDemand,Unrestricted=true)] get {return _input;} } ////// Provides storage for arbitrary data needed during the /// processing of this input event. /// /// /// An arbitrary key for the data. This cannot be null. /// ////// The data previously set for this key, or null. /// public object GetData(object key) { return _dictionary[key]; } ////// Provides storage for arbitrary data needed during the /// processing of this input event. /// /// /// An arbitrary key for the data. This cannot be null. /// /// /// The data to set for this key. This can be null. /// ////// Callers must have UIPermission(PermissionState.Unrestricted) to call this API. /// ////// Defense In Depth - even if this leaks out, we demand here. /// [UIPermissionAttribute(SecurityAction.LinkDemand,Unrestricted=true)] public void SetData(object key, object value) { _dictionary[key] = value; } internal bool IsMarker {get {return _isMarker;}} private bool _isMarker; private InputEventArgs _input; private Hashtable _dictionary; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System; using System.Collections; using System.Security.Permissions; using System.Security; namespace System.Windows.Input { ////// This class encapsulates an input event while it is being /// processed by the input manager. /// ////// This class just provides the dictionary-based storage for /// all of the listeners of the various input manager events. /// public class StagingAreaInputItem { // Only we can make these. internal StagingAreaInputItem(bool isMarker) { _isMarker = isMarker; } // For performace reasons, we try to reuse these event args. // Allow an existing item to be promoted by keeping the existing dictionary. internal void Reset(InputEventArgs input, StagingAreaInputItem promote) { _input = input; if(promote != null && promote._dictionary != null) { // _dictionary = (Hashtable) promote._dictionary.Clone(); } else { if(_dictionary != null) { _dictionary.Clear(); } else { _dictionary = new Hashtable(); } } } ////// Returns the input event. /// ////// Callers must have UIPermission(PermissionState.Unrestricted) to call this API. /// ////// Defense In Depth - even if this leaks out, we demand here. /// public InputEventArgs Input { [UIPermissionAttribute(SecurityAction.LinkDemand,Unrestricted=true)] get {return _input;} } ////// Provides storage for arbitrary data needed during the /// processing of this input event. /// /// /// An arbitrary key for the data. This cannot be null. /// ////// The data previously set for this key, or null. /// public object GetData(object key) { return _dictionary[key]; } ////// Provides storage for arbitrary data needed during the /// processing of this input event. /// /// /// An arbitrary key for the data. This cannot be null. /// /// /// The data to set for this key. This can be null. /// ////// Callers must have UIPermission(PermissionState.Unrestricted) to call this API. /// ////// Defense In Depth - even if this leaks out, we demand here. /// [UIPermissionAttribute(SecurityAction.LinkDemand,Unrestricted=true)] public void SetData(object key, object value) { _dictionary[key] = value; } internal bool IsMarker {get {return _isMarker;}} private bool _isMarker; private InputEventArgs _input; private Hashtable _dictionary; } } // 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
- XmlSchemaCollection.cs
- WindowsRebar.cs
- BamlLocalizer.cs
- MessageBox.cs
- SubMenuStyle.cs
- InertiaRotationBehavior.cs
- ExeContext.cs
- HostingEnvironment.cs
- HttpPostClientProtocol.cs
- ChannelPoolSettingsElement.cs
- KoreanLunisolarCalendar.cs
- EventPropertyMap.cs
- NoPersistScope.cs
- ReadOnlyTernaryTree.cs
- EntityContainerAssociationSet.cs
- ValidationHelpers.cs
- RemoteWebConfigurationHostServer.cs
- CaseStatementSlot.cs
- RtfToXamlReader.cs
- TraceSource.cs
- ScrollBar.cs
- CustomLineCap.cs
- GridToolTip.cs
- XmlWellformedWriter.cs
- GifBitmapDecoder.cs
- TrimSurroundingWhitespaceAttribute.cs
- DropShadowBitmapEffect.cs
- LogLogRecord.cs
- DependencyPropertyConverter.cs
- FileDialogCustomPlacesCollection.cs
- MULTI_QI.cs
- DefaultShape.cs
- AuthenticateEventArgs.cs
- CursorConverter.cs
- TrustLevel.cs
- AutoScrollHelper.cs
- DataPointer.cs
- TimelineCollection.cs
- SiteMapPath.cs
- TypedTableBaseExtensions.cs
- ChannelServices.cs
- Rect3D.cs
- SqlConnectionFactory.cs
- RecipientIdentity.cs
- ManagementQuery.cs
- GridViewRowEventArgs.cs
- AssemblyAttributesGoHere.cs
- IndentTextWriter.cs
- DependencyObjectValidator.cs
- CroppedBitmap.cs
- PageCodeDomTreeGenerator.cs
- SystemPens.cs
- FormViewUpdatedEventArgs.cs
- CodeDomSerializer.cs
- ObjectParameterCollection.cs
- DataGridAutoGeneratingColumnEventArgs.cs
- ErrorProvider.cs
- UIPropertyMetadata.cs
- InvalidFilterCriteriaException.cs
- ExceptionUtility.cs
- columnmapfactory.cs
- CombinedGeometry.cs
- DesignerAttribute.cs
- ZipIORawDataFileBlock.cs
- GridViewColumnCollectionChangedEventArgs.cs
- DataObjectCopyingEventArgs.cs
- UrlAuthFailedErrorFormatter.cs
- BlockUIContainer.cs
- XslVisitor.cs
- DataSourceXmlSerializationAttribute.cs
- TableMethodGenerator.cs
- BCryptHashAlgorithm.cs
- KoreanCalendar.cs
- NetworkAddressChange.cs
- StrokeNodeEnumerator.cs
- ProxyDataContractResolver.cs
- HostVisual.cs
- ProcessModule.cs
- ModelTreeEnumerator.cs
- SmiEventStream.cs
- TdsParserSafeHandles.cs
- SqlDataSourceEnumerator.cs
- UrlPropertyAttribute.cs
- NetNamedPipeBindingCollectionElement.cs
- ThemeDirectoryCompiler.cs
- MethodToken.cs
- PeerDuplexChannel.cs
- SecurityUniqueId.cs
- OleDbParameter.cs
- ScriptResourceHandler.cs
- CaseStatementProjectedSlot.cs
- BasicExpressionVisitor.cs
- DataExpression.cs
- WinFormsComponentEditor.cs
- X509UI.cs
- SqlXmlStorage.cs
- ClientData.cs
- Cloud.cs
- HtmlTableRow.cs
- MILUtilities.cs