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
- ValidationRuleCollection.cs
- Stroke.cs
- ListViewUpdatedEventArgs.cs
- TranslateTransform3D.cs
- RequiredFieldValidator.cs
- TypeForwardedToAttribute.cs
- PerfService.cs
- SqlMethodAttribute.cs
- EntityViewGenerationAttribute.cs
- WebScriptServiceHostFactory.cs
- ConfigurationPermission.cs
- DiagnosticsConfigurationHandler.cs
- SystemUnicastIPAddressInformation.cs
- Avt.cs
- XmlText.cs
- XmlSchemaSimpleTypeUnion.cs
- EntityDataSourceWrapperCollection.cs
- QuaternionValueSerializer.cs
- CalendarAutoFormatDialog.cs
- XmlSchemaSimpleContentExtension.cs
- IPEndPointCollection.cs
- LightweightCodeGenerator.cs
- ServiceInfoCollection.cs
- Query.cs
- ColumnMapVisitor.cs
- WriteTimeStream.cs
- Compiler.cs
- WebControlAdapter.cs
- ChannelParameterCollection.cs
- TrayIconDesigner.cs
- PageScaling.cs
- ToolStripPanel.cs
- StructuredTypeEmitter.cs
- oledbmetadatacolumnnames.cs
- CacheAxisQuery.cs
- AnnouncementDispatcherAsyncResult.cs
- DocumentGridPage.cs
- AccessibleObject.cs
- TextRenderingModeValidation.cs
- TempFiles.cs
- PhonemeEventArgs.cs
- Errors.cs
- RenderingEventArgs.cs
- Vector.cs
- VersionedStream.cs
- WebServiceMethodData.cs
- SimpleTextLine.cs
- FileLevelControlBuilderAttribute.cs
- AvTraceDetails.cs
- XmlToDatasetMap.cs
- SystemIcmpV4Statistics.cs
- UnknownWrapper.cs
- XmlSerializerAssemblyAttribute.cs
- UrlAuthFailedErrorFormatter.cs
- validationstate.cs
- XmlSchemaAppInfo.cs
- KnownTypesProvider.cs
- RayHitTestParameters.cs
- RelationshipEndMember.cs
- EnterpriseServicesHelper.cs
- RemoteWebConfigurationHostStream.cs
- FreeFormDesigner.cs
- SafeNativeMemoryHandle.cs
- OleDbConnectionFactory.cs
- elementinformation.cs
- OperationResponse.cs
- LinkDescriptor.cs
- AsyncPostBackErrorEventArgs.cs
- _AutoWebProxyScriptHelper.cs
- ClientOptions.cs
- MediaElement.cs
- UpdatePanel.cs
- ConnectionsZone.cs
- SQLDateTime.cs
- UpdateTracker.cs
- OperationAbortedException.cs
- AssemblyBuilder.cs
- EventLogPermissionAttribute.cs
- assemblycache.cs
- ConstraintStruct.cs
- DataGridLinkButton.cs
- HtmlGenericControl.cs
- WindowsScroll.cs
- SpellerHighlightLayer.cs
- SplitterCancelEvent.cs
- XmlTextEncoder.cs
- DiscoveryRequestHandler.cs
- DrawingAttributesDefaultValueFactory.cs
- QuaternionValueSerializer.cs
- SqlStatistics.cs
- EventWaitHandle.cs
- IdentifierService.cs
- TextReader.cs
- ObjectAssociationEndMapping.cs
- CssTextWriter.cs
- ExpressionCopier.cs
- Range.cs
- DesignOnlyAttribute.cs
- Popup.cs
- RichTextBoxAutomationPeer.cs