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
- ProtectedConfiguration.cs
- Formatter.cs
- RequestBringIntoViewEventArgs.cs
- ImageField.cs
- QueryValue.cs
- ConfigXmlSignificantWhitespace.cs
- fixedPageContentExtractor.cs
- MethodBody.cs
- UIElementCollection.cs
- BitmapMetadataEnumerator.cs
- Control.cs
- GridViewColumnCollection.cs
- Point3DCollection.cs
- EntityTransaction.cs
- LinqDataSourceSelectEventArgs.cs
- GZipDecoder.cs
- ToolStripItemCollection.cs
- ExpandCollapseProviderWrapper.cs
- TextDecorationCollectionConverter.cs
- Int16.cs
- SlipBehavior.cs
- MembershipValidatePasswordEventArgs.cs
- XmlSchemaIdentityConstraint.cs
- MessageHeaderException.cs
- DataBoundControlHelper.cs
- DataBoundControlHelper.cs
- GC.cs
- SimplePropertyEntry.cs
- TextTreeDeleteContentUndoUnit.cs
- CultureInfoConverter.cs
- SynchronousSendBindingElement.cs
- RewritingSimplifier.cs
- WaveHeader.cs
- RoleGroupCollection.cs
- COAUTHIDENTITY.cs
- IdentityReference.cs
- ScalarOps.cs
- IgnorePropertiesAttribute.cs
- HotSpot.cs
- RunClient.cs
- EventLogPermissionAttribute.cs
- AspCompat.cs
- PersonalizableAttribute.cs
- DependencySource.cs
- Annotation.cs
- Rights.cs
- DesignerTextWriter.cs
- XmlQualifiedName.cs
- JsonSerializer.cs
- ByteAnimationBase.cs
- ToolStripArrowRenderEventArgs.cs
- EqualityComparer.cs
- SqlTopReducer.cs
- Publisher.cs
- DefinitionUpdate.cs
- Transactions.cs
- CustomAttributeBuilder.cs
- QuaternionAnimationUsingKeyFrames.cs
- AspCompat.cs
- StringFormat.cs
- XmlSchemaParticle.cs
- RtfControls.cs
- InputReportEventArgs.cs
- ConcurrentDictionary.cs
- TemplateFactory.cs
- Converter.cs
- DNS.cs
- AutomationFocusChangedEventArgs.cs
- HostDesigntimeLicenseContext.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- WebGetAttribute.cs
- SqlUtil.cs
- PenContext.cs
- PersistChildrenAttribute.cs
- DataGridColumnCollection.cs
- DrawingGroupDrawingContext.cs
- _UriSyntax.cs
- TextDecorationCollection.cs
- Visual3D.cs
- HtmlImage.cs
- SecureEnvironment.cs
- ConnectionStringSettings.cs
- TileBrush.cs
- updatecommandorderer.cs
- StructuredTypeInfo.cs
- StickyNote.cs
- Calendar.cs
- HttpResponseHeader.cs
- DefaultMemberAttribute.cs
- NamedPipeTransportElement.cs
- XPathItem.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- Transform3DCollection.cs
- filewebrequest.cs
- NamespaceCollection.cs
- ConfigurationManagerInternalFactory.cs
- TraceHandler.cs
- ChangeTracker.cs
- CodeArrayCreateExpression.cs
- CopyNamespacesAction.cs