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
- XmlCharCheckingWriter.cs
- SamlConditions.cs
- DefaultConfirmation.cs
- VectorAnimationBase.cs
- KeyValueSerializer.cs
- FaultHandlingFilter.cs
- ArrayExtension.cs
- PhonemeEventArgs.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- ISCIIEncoding.cs
- Expression.cs
- GlobalizationAssembly.cs
- DoubleCollectionConverter.cs
- SqlConnectionPoolProviderInfo.cs
- TextFormatterImp.cs
- FrameworkContextData.cs
- UnhandledExceptionEventArgs.cs
- SerialErrors.cs
- SoapConverter.cs
- DisposableCollectionWrapper.cs
- CancellationState.cs
- MinimizableAttributeTypeConverter.cs
- __ConsoleStream.cs
- ScrollViewerAutomationPeer.cs
- ExpressionNode.cs
- ObjectIDGenerator.cs
- HashAlgorithm.cs
- MulticastDelegate.cs
- SqlServer2KCompatibilityAnnotation.cs
- Configuration.cs
- DiscoveryExceptionDictionary.cs
- ThrowHelper.cs
- FormViewModeEventArgs.cs
- CompoundFileReference.cs
- SystemFonts.cs
- HyperLinkField.cs
- thaishape.cs
- Image.cs
- MethodBody.cs
- CubicEase.cs
- SessionEndedEventArgs.cs
- WebReferenceCollection.cs
- QueryableFilterUserControl.cs
- CounterCreationData.cs
- RestClientProxyHandler.cs
- ControlAdapter.cs
- PostBackOptions.cs
- TypeForwardedToAttribute.cs
- OAVariantLib.cs
- SerializationTrace.cs
- XmlSchemaProviderAttribute.cs
- TimeZone.cs
- CheckBoxBaseAdapter.cs
- NativeBuffer.cs
- ResourceIDHelper.cs
- RuleInfoComparer.cs
- WpfKnownType.cs
- WebPartConnectionsCancelVerb.cs
- PrtTicket_Public.cs
- DefaultEventAttribute.cs
- HttpRequest.cs
- RepeatButton.cs
- ProfilePropertySettingsCollection.cs
- WebServiceClientProxyGenerator.cs
- WebPartVerbsEventArgs.cs
- ReachDocumentReferenceCollectionSerializerAsync.cs
- CodeCommentStatementCollection.cs
- xdrvalidator.cs
- PerformanceCountersElement.cs
- FastEncoder.cs
- DragDrop.cs
- InkCanvasFeedbackAdorner.cs
- SplineKeyFrames.cs
- KeyInterop.cs
- SelectionPattern.cs
- CheckPair.cs
- ParserHooks.cs
- diagnosticsswitches.cs
- TextFormatterContext.cs
- RowCache.cs
- HexParser.cs
- InternalDispatchObject.cs
- KernelTypeValidation.cs
- DataGridColumnsPage.cs
- MaskInputRejectedEventArgs.cs
- SqlDataSourceSelectingEventArgs.cs
- TableLayoutColumnStyleCollection.cs
- DataGridViewIntLinkedList.cs
- DnsPermission.cs
- HMACSHA256.cs
- CommandValueSerializer.cs
- BuildProviderCollection.cs
- StylusDownEventArgs.cs
- WebConfigurationHostFileChange.cs
- StickyNoteAnnotations.cs
- EncryptedHeader.cs
- Base64Encoder.cs
- ObjectDataSourceDisposingEventArgs.cs
- SelectionList.cs
- LeaseManager.cs