Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- CodeDirectionExpression.cs
- TypeDescriptionProvider.cs
- IfAction.cs
- DataGridViewCellStateChangedEventArgs.cs
- TypographyProperties.cs
- QilPatternFactory.cs
- Stylus.cs
- HostingEnvironmentException.cs
- LineInfo.cs
- MessageDecoder.cs
- GacUtil.cs
- EnumUnknown.cs
- RelationalExpressions.cs
- ImmutableCollection.cs
- ConstructorNeedsTagAttribute.cs
- ControlTemplate.cs
- Types.cs
- ActivationArguments.cs
- EntityViewGenerationConstants.cs
- InternalsVisibleToAttribute.cs
- StreamReader.cs
- Style.cs
- Transform3DCollection.cs
- SystemFonts.cs
- PropertyIDSet.cs
- Regex.cs
- SynchronizedDispatch.cs
- WindowsToolbar.cs
- PageStatePersister.cs
- Cursor.cs
- TreeViewImageGenerator.cs
- TokenFactoryCredential.cs
- SchemaManager.cs
- RandomNumberGenerator.cs
- ColumnMapCopier.cs
- DownloadProgressEventArgs.cs
- DriveNotFoundException.cs
- ReadOnlyPropertyMetadata.cs
- TreeView.cs
- NamespaceInfo.cs
- PeerCredentialElement.cs
- _KerberosClient.cs
- CanExecuteRoutedEventArgs.cs
- MetadataExchangeClient.cs
- CodeTryCatchFinallyStatement.cs
- DockAndAnchorLayout.cs
- XPathSelectionIterator.cs
- InfoCardXmlSerializer.cs
- ContactManager.cs
- ExtractorMetadata.cs
- ManualResetEvent.cs
- EventLogWatcher.cs
- ManipulationVelocities.cs
- ConnectionOrientedTransportChannelFactory.cs
- GregorianCalendarHelper.cs
- recordstatefactory.cs
- CacheVirtualItemsEvent.cs
- _Win32.cs
- ParseHttpDate.cs
- shaperfactoryquerycachekey.cs
- StrokeCollection.cs
- NumericExpr.cs
- MouseButton.cs
- ObjectQuery_EntitySqlExtensions.cs
- JavaScriptString.cs
- RootAction.cs
- DatagridviewDisplayedBandsData.cs
- CodeAccessPermission.cs
- DbMetaDataColumnNames.cs
- InOutArgument.cs
- XPathNodeHelper.cs
- SystemIcons.cs
- DataReaderContainer.cs
- CodeAttributeDeclarationCollection.cs
- UserNamePasswordValidator.cs
- OleDbStruct.cs
- AssociationEndMember.cs
- CacheRequest.cs
- HMACRIPEMD160.cs
- ReadOnlyDataSourceView.cs
- PointHitTestResult.cs
- ApplicationActivator.cs
- GPPOINT.cs
- ToolboxItemAttribute.cs
- EventEntry.cs
- ReadOnlyHierarchicalDataSourceView.cs
- RoleGroup.cs
- BaseParser.cs
- graph.cs
- ModelPerspective.cs
- x509utils.cs
- GridViewRowCollection.cs
- Int32EqualityComparer.cs
- DataServiceQueryProvider.cs
- LinqDataSourceContextEventArgs.cs
- ReferenceConverter.cs
- UnSafeCharBuffer.cs
- WriteTimeStream.cs
- BuildProviderUtils.cs
- _SpnDictionary.cs