Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / CommonUI / System / Drawing / Advanced / FontCollection.cs / 1305376 / FontCollection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Drawing.Text { using System.Diagnostics; using System; using System.Drawing; using System.Drawing.Internal; using System.Runtime.InteropServices; using System.ComponentModel; using Microsoft.Win32; using System.Runtime.Versioning; ////// /// When inherited, enumerates the FontFamily /// objects in a collection of fonts. /// public abstract class FontCollection : IDisposable { internal IntPtr nativeFontCollection; internal FontCollection() { nativeFontCollection = IntPtr.Zero; } ////// /// Disposes of this public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } ////// protected virtual void Dispose(bool disposing) { // nothing... } /// /// /// public FontFamily[] Families { [ResourceExposure(ResourceScope.Process)] [ResourceConsumption(ResourceScope.Process)] get { int numSought = 0; int status = SafeNativeMethods.Gdip.GdipGetFontCollectionFamilyCount(new HandleRef(this, nativeFontCollection), out numSought); if (status != SafeNativeMethods.Gdip.Ok) throw SafeNativeMethods.Gdip.StatusException(status); IntPtr[] gpfamilies = new IntPtr[numSought]; int numFound = 0; status = SafeNativeMethods.Gdip.GdipGetFontCollectionFamilyList(new HandleRef(this, nativeFontCollection), numSought, gpfamilies, out numFound); if (status != SafeNativeMethods.Gdip.Ok) throw SafeNativeMethods.Gdip.StatusException(status); Debug.Assert(numSought == numFound, "GDI+ can't give a straight answer about how many fonts there are"); FontFamily[] families = new FontFamily[numFound]; for (int f = 0; f < numFound; f++) { IntPtr native; SafeNativeMethods.Gdip.GdipCloneFontFamily(new HandleRef(null, (IntPtr)gpfamilies[f]), out native); families[f] = new FontFamily(native); } return families; } } /** * Object cleanup */ ////// Gets the array of ////// objects associated with this . /// /// /// ~FontCollection() { Dispose(false); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ ///// Allows an object to free resources before the object is /// reclaimed by the Garbage Collector ( ///). /// // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Drawing.Text { using System.Diagnostics; using System; using System.Drawing; using System.Drawing.Internal; using System.Runtime.InteropServices; using System.ComponentModel; using Microsoft.Win32; using System.Runtime.Versioning; ////// /// When inherited, enumerates the FontFamily /// objects in a collection of fonts. /// public abstract class FontCollection : IDisposable { internal IntPtr nativeFontCollection; internal FontCollection() { nativeFontCollection = IntPtr.Zero; } ////// /// Disposes of this public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } ////// protected virtual void Dispose(bool disposing) { // nothing... } /// /// /// public FontFamily[] Families { [ResourceExposure(ResourceScope.Process)] [ResourceConsumption(ResourceScope.Process)] get { int numSought = 0; int status = SafeNativeMethods.Gdip.GdipGetFontCollectionFamilyCount(new HandleRef(this, nativeFontCollection), out numSought); if (status != SafeNativeMethods.Gdip.Ok) throw SafeNativeMethods.Gdip.StatusException(status); IntPtr[] gpfamilies = new IntPtr[numSought]; int numFound = 0; status = SafeNativeMethods.Gdip.GdipGetFontCollectionFamilyList(new HandleRef(this, nativeFontCollection), numSought, gpfamilies, out numFound); if (status != SafeNativeMethods.Gdip.Ok) throw SafeNativeMethods.Gdip.StatusException(status); Debug.Assert(numSought == numFound, "GDI+ can't give a straight answer about how many fonts there are"); FontFamily[] families = new FontFamily[numFound]; for (int f = 0; f < numFound; f++) { IntPtr native; SafeNativeMethods.Gdip.GdipCloneFontFamily(new HandleRef(null, (IntPtr)gpfamilies[f]), out native); families[f] = new FontFamily(native); } return families; } } /** * Object cleanup */ ////// Gets the array of ////// objects associated with this . /// /// /// ~FontCollection() { Dispose(false); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007./// Allows an object to free resources before the object is /// reclaimed by the Garbage Collector ( ///). ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- OdbcCommandBuilder.cs
- MulticastNotSupportedException.cs
- DefaultTextStoreTextComposition.cs
- AttributeQuery.cs
- QueryMath.cs
- PowerEase.cs
- ElementsClipboardData.cs
- RadioButtonFlatAdapter.cs
- InlineUIContainer.cs
- StringReader.cs
- Opcode.cs
- HelpKeywordAttribute.cs
- KeyPullup.cs
- MemberInfoSerializationHolder.cs
- RoleGroup.cs
- ResourceDefaultValueAttribute.cs
- Tablet.cs
- WorkflowDesigner.cs
- PowerModeChangedEventArgs.cs
- ServiceDeploymentInfo.cs
- RuleInfoComparer.cs
- IntegrationExceptionEventArgs.cs
- BitmapScalingModeValidation.cs
- IFlowDocumentViewer.cs
- OnOperation.cs
- XmlNavigatorFilter.cs
- ImageAutomationPeer.cs
- FileChangesMonitor.cs
- RunClient.cs
- EntitySqlException.cs
- __FastResourceComparer.cs
- SchemaImporterExtensionElement.cs
- SyndicationItem.cs
- StorageEntityContainerMapping.cs
- NameSpaceExtractor.cs
- CollectionConverter.cs
- WindowsListViewItem.cs
- CompositeCollection.cs
- CreateBookmarkScope.cs
- ProjectionRewriter.cs
- PolyBezierSegment.cs
- PolicyLevel.cs
- UInt16Converter.cs
- DataGridViewColumnStateChangedEventArgs.cs
- PermissionSet.cs
- PropertyEmitterBase.cs
- WebDisplayNameAttribute.cs
- MimeTypeMapper.cs
- SelectorItemAutomationPeer.cs
- ConvertTextFrag.cs
- OAVariantLib.cs
- SimpleTextLine.cs
- RegexReplacement.cs
- EntityProxyTypeInfo.cs
- Utils.cs
- ObjRef.cs
- TextBlock.cs
- SpeechRecognitionEngine.cs
- DataGridRelationshipRow.cs
- InfoCardRSAPKCS1KeyExchangeDeformatter.cs
- TextPattern.cs
- SiteMapPath.cs
- WorkflowMarkupSerializationProvider.cs
- ComponentChangedEvent.cs
- TextEditorCharacters.cs
- DataKey.cs
- CodeTypeReference.cs
- ParameterCollectionEditor.cs
- TextSelection.cs
- SQLDecimalStorage.cs
- XmlDataImplementation.cs
- SoapIgnoreAttribute.cs
- XmlConverter.cs
- RelatedCurrencyManager.cs
- MetadataPropertyvalue.cs
- UserControlAutomationPeer.cs
- XmlSchemaExternal.cs
- HostAdapter.cs
- SystemInformation.cs
- LoginView.cs
- ScheduleChanges.cs
- Point3DKeyFrameCollection.cs
- SvcMapFileLoader.cs
- FloaterBaseParagraph.cs
- EntityDataSourceStatementEditor.cs
- PropertyPanel.cs
- EntityDataSourceConfigureObjectContext.cs
- WindowsGraphicsWrapper.cs
- CodeCommentStatement.cs
- _FtpControlStream.cs
- ObjectStateManager.cs
- DataGridViewColumn.cs
- EntityDesignerDataSourceView.cs
- PackWebRequestFactory.cs
- MailDefinitionBodyFileNameEditor.cs
- Color.cs
- AppLevelCompilationSectionCache.cs
- DefaultParameterValueAttribute.cs
- TextElementEnumerator.cs
- SoapTypeAttribute.cs