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
- DiscardableAttribute.cs
- RawStylusSystemGestureInputReport.cs
- EnterpriseServicesHelper.cs
- OleDbEnumerator.cs
- FixedSOMContainer.cs
- SessionIDManager.cs
- ProfileBuildProvider.cs
- PagesSection.cs
- UnmanagedMemoryStream.cs
- WpfXamlLoader.cs
- Panel.cs
- InternalPolicyElement.cs
- SpanIndex.cs
- Renderer.cs
- DoubleStorage.cs
- BuildProvider.cs
- DynamicMethod.cs
- Parsers.cs
- RepeatInfo.cs
- EnvironmentPermission.cs
- DeploymentSection.cs
- InternalEnumValidator.cs
- QilGenerator.cs
- BrowserCapabilitiesCodeGenerator.cs
- PolicyValidator.cs
- MemberBinding.cs
- GridViewSortEventArgs.cs
- RemoteX509Token.cs
- PageBreakRecord.cs
- List.cs
- MemberHolder.cs
- PageBuildProvider.cs
- ValueProviderWrapper.cs
- RootBuilder.cs
- PolyLineSegmentFigureLogic.cs
- XPathDescendantIterator.cs
- QilDataSource.cs
- ExceptionUtility.cs
- exports.cs
- XmlSchemaObject.cs
- XMLSchema.cs
- DataBindingCollectionEditor.cs
- DataControlImageButton.cs
- X500Name.cs
- TcpConnectionPoolSettingsElement.cs
- EmptyEnumerator.cs
- SizeFConverter.cs
- TargetInvocationException.cs
- EdmFunctionAttribute.cs
- PropertySegmentSerializationProvider.cs
- MarginCollapsingState.cs
- ClassicBorderDecorator.cs
- NameValuePermission.cs
- ValueUtilsSmi.cs
- XmlConvert.cs
- TypeBuilderInstantiation.cs
- ValidationHelpers.cs
- DataViewListener.cs
- sortedlist.cs
- DetailsViewDesigner.cs
- LayoutTable.cs
- TreeViewImageKeyConverter.cs
- RoutedUICommand.cs
- Internal.cs
- XPathAncestorIterator.cs
- DatatypeImplementation.cs
- Helpers.cs
- IdentityHolder.cs
- XmlChildNodes.cs
- RemotingSurrogateSelector.cs
- DropDownHolder.cs
- DataPagerField.cs
- AvTraceDetails.cs
- DataStreams.cs
- WizardSideBarListControlItem.cs
- HexParser.cs
- Block.cs
- MonikerBuilder.cs
- PatternMatcher.cs
- RSAPKCS1KeyExchangeFormatter.cs
- BaseInfoTable.cs
- ZipIOExtraFieldPaddingElement.cs
- GeneralTransform3DCollection.cs
- CssStyleCollection.cs
- TypeLoadException.cs
- HealthMonitoringSection.cs
- ItemsPanelTemplate.cs
- Schema.cs
- Input.cs
- ReflectionUtil.cs
- CompareInfo.cs
- VisualTarget.cs
- OpCellTreeNode.cs
- DesignerDataSourceView.cs
- CustomErrorCollection.cs
- XmlUrlResolver.cs
- ErrorHandler.cs
- FileCodeGroup.cs
- StorageSetMapping.cs
- LoginNameDesigner.cs