Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Media / PixelFormatConverter.cs / 1305600 / PixelFormatConverter.cs
//------------------------------------------------------------------------------ // Microsoft Avalon // Copyright (c) Microsoft Corporation, 2001 // // File: PixelFormatConverter.cs // //----------------------------------------------------------------------------- using System; using System.ComponentModel; using System.ComponentModel.Design.Serialization; using System.Reflection; using MS.Internal; using System.Text; using System.Collections; using System.Globalization; using System.Windows; using System.Windows.Media; using System.Runtime.InteropServices; using System.Diagnostics; using System.Security; using SR=MS.Internal.PresentationCore.SR; using SRID=MS.Internal.PresentationCore.SRID; namespace System.Windows.Media { #region PixelFormatConverter //----------------------------------------------------------------------------- // PixelFormatConverter //----------------------------------------------------------------------------- ////// PixelFormatConverter /// public sealed class PixelFormatConverter : TypeConverter { ////// CanConvertFrom - Returns whether or not this class can convert from a given type /// public override bool CanConvertFrom(ITypeDescriptorContext td, Type t) { if (t == typeof(string)) { return true; } else { return false; } } ////// TypeConverter method override. /// /// ITypeDescriptorContext /// Type to convert to ///true if conversion is possible public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { if (destinationType == typeof(InstanceDescriptor) || destinationType == typeof(string)) { return true; } return base.CanConvertTo(context, destinationType); } ////// test /// public new object ConvertFromString(String value) { if ( null == value) { return null; } return new PixelFormat (value); } ////// test /// public override object ConvertFrom(ITypeDescriptorContext td, System.Globalization.CultureInfo ci, object o) { if ( null == o) { return null; } return new PixelFormat(o as string); } ////// TypeConverter method implementation. /// /// ITypeDescriptorContext /// current culture (see CLR specs) /// value to convert from /// Type to convert to ///converted value ////// Critical: calls InstanceDescriptor ctor which LinkDemands /// PublicOK: can only make an InstanceDescriptor for PixelFormat, not an arbitrary class /// [SecurityCritical] public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { if (null == destinationType) { throw new ArgumentNullException("destinationType"); } if (null == value) { throw new ArgumentNullException("value"); } if (!(value is PixelFormat)) { throw new ArgumentException(SR.Get(SRID.General_Expected_Type,"PixelFormat")); } if (destinationType == typeof(InstanceDescriptor)) { ConstructorInfo ci = typeof(PixelFormat).GetConstructor(new Type[]{typeof(string)}); PixelFormat p = (PixelFormat)value; return new InstanceDescriptor(ci, new object[]{p.ToString()}); } else if (destinationType == typeof(string)) { PixelFormat p = (PixelFormat)value; return p.ToString (); } return base.ConvertTo(context, culture, value, destinationType); } } #endregion // PixelFormatConverter } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //------------------------------------------------------------------------------ // Microsoft Avalon // Copyright (c) Microsoft Corporation, 2001 // // File: PixelFormatConverter.cs // //----------------------------------------------------------------------------- using System; using System.ComponentModel; using System.ComponentModel.Design.Serialization; using System.Reflection; using MS.Internal; using System.Text; using System.Collections; using System.Globalization; using System.Windows; using System.Windows.Media; using System.Runtime.InteropServices; using System.Diagnostics; using System.Security; using SR=MS.Internal.PresentationCore.SR; using SRID=MS.Internal.PresentationCore.SRID; namespace System.Windows.Media { #region PixelFormatConverter //----------------------------------------------------------------------------- // PixelFormatConverter //----------------------------------------------------------------------------- ////// PixelFormatConverter /// public sealed class PixelFormatConverter : TypeConverter { ////// CanConvertFrom - Returns whether or not this class can convert from a given type /// public override bool CanConvertFrom(ITypeDescriptorContext td, Type t) { if (t == typeof(string)) { return true; } else { return false; } } ////// TypeConverter method override. /// /// ITypeDescriptorContext /// Type to convert to ///true if conversion is possible public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { if (destinationType == typeof(InstanceDescriptor) || destinationType == typeof(string)) { return true; } return base.CanConvertTo(context, destinationType); } ////// test /// public new object ConvertFromString(String value) { if ( null == value) { return null; } return new PixelFormat (value); } ////// test /// public override object ConvertFrom(ITypeDescriptorContext td, System.Globalization.CultureInfo ci, object o) { if ( null == o) { return null; } return new PixelFormat(o as string); } ////// TypeConverter method implementation. /// /// ITypeDescriptorContext /// current culture (see CLR specs) /// value to convert from /// Type to convert to ///converted value ////// Critical: calls InstanceDescriptor ctor which LinkDemands /// PublicOK: can only make an InstanceDescriptor for PixelFormat, not an arbitrary class /// [SecurityCritical] public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { if (null == destinationType) { throw new ArgumentNullException("destinationType"); } if (null == value) { throw new ArgumentNullException("value"); } if (!(value is PixelFormat)) { throw new ArgumentException(SR.Get(SRID.General_Expected_Type,"PixelFormat")); } if (destinationType == typeof(InstanceDescriptor)) { ConstructorInfo ci = typeof(PixelFormat).GetConstructor(new Type[]{typeof(string)}); PixelFormat p = (PixelFormat)value; return new InstanceDescriptor(ci, new object[]{p.ToString()}); } else if (destinationType == typeof(string)) { PixelFormat p = (PixelFormat)value; return p.ToString (); } return base.ConvertTo(context, culture, value, destinationType); } } #endregion // PixelFormatConverter } // 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
- HierarchicalDataSourceControl.cs
- sqlcontext.cs
- XmlNamedNodeMap.cs
- HttpVersion.cs
- SecurityPermission.cs
- HealthMonitoringSection.cs
- SocketElement.cs
- DesignerPainter.cs
- ValueConversionAttribute.cs
- ColorKeyFrameCollection.cs
- PeerNameRegistration.cs
- BaseAsyncResult.cs
- NameValueFileSectionHandler.cs
- BindingWorker.cs
- CompositeCollection.cs
- PhonemeEventArgs.cs
- SectionXmlInfo.cs
- ConfigurationSection.cs
- DataGridViewColumnStateChangedEventArgs.cs
- SqlTransaction.cs
- StateBag.cs
- Accessors.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- BamlResourceSerializer.cs
- LinqDataSourceEditData.cs
- TextEditorCharacters.cs
- Char.cs
- ErrorView.xaml.cs
- SQLChars.cs
- ValueConversionAttribute.cs
- EventKeyword.cs
- SQLDouble.cs
- HttpFileCollection.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- SqlUdtInfo.cs
- SessionKeyExpiredException.cs
- ByteStack.cs
- PersonalizablePropertyEntry.cs
- PersonalizableTypeEntry.cs
- XmlStreamStore.cs
- ConvertersCollection.cs
- AppDomain.cs
- FixedSOMContainer.cs
- EnumerableCollectionView.cs
- DataGridRow.cs
- UpWmlPageAdapter.cs
- DesignerPerfEventProvider.cs
- SignatureDescription.cs
- Command.cs
- DocumentEventArgs.cs
- DocumentViewerBaseAutomationPeer.cs
- SessionSwitchEventArgs.cs
- NonPrimarySelectionGlyph.cs
- Scheduler.cs
- UriTemplate.cs
- TextBlock.cs
- _ConnectStream.cs
- UndoManager.cs
- InstanceKey.cs
- SoapHeader.cs
- COM2Properties.cs
- RecognizedAudio.cs
- BoundColumn.cs
- TextWriterEngine.cs
- HashMembershipCondition.cs
- Binding.cs
- ArrayList.cs
- ValidationResults.cs
- XmlCDATASection.cs
- WriteTimeStream.cs
- DocumentCollection.cs
- WebMessageBodyStyleHelper.cs
- _SslSessionsCache.cs
- BinarySerializer.cs
- OutputCacheSettings.cs
- RowUpdatedEventArgs.cs
- ContainerAction.cs
- TransactionManager.cs
- KoreanLunisolarCalendar.cs
- SqlDataSourceConfigureSelectPanel.cs
- TagNameToTypeMapper.cs
- HttpFileCollection.cs
- XmlNodeChangedEventManager.cs
- StructuredTypeEmitter.cs
- ToolStripPanel.cs
- WinEventHandler.cs
- ColorTransformHelper.cs
- TdsValueSetter.cs
- EntitySet.cs
- TrustLevelCollection.cs
- querybuilder.cs
- XmlMemberMapping.cs
- ByteKeyFrameCollection.cs
- ValueQuery.cs
- MemoryFailPoint.cs
- PageEventArgs.cs
- RSAOAEPKeyExchangeFormatter.cs
- FixedSOMContainer.cs
- QueryCacheEntry.cs
- PropertyTabChangedEvent.cs