Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / CommonUI / System / Drawing / Advanced / FontCollection.cs / 2 / 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; ////// /// 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 { 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; ////// /// 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 { 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
- WindowsStatusBar.cs
- DbProviderFactories.cs
- PageClientProxyGenerator.cs
- ConfigXmlElement.cs
- NativeMethods.cs
- TableLayoutSettings.cs
- StyleXamlParser.cs
- JsonReader.cs
- XmlName.cs
- StringReader.cs
- DurableDispatcherAddressingFault.cs
- ObjectSecurityT.cs
- TagPrefixInfo.cs
- RecognizerStateChangedEventArgs.cs
- CompoundFileIOPermission.cs
- ParentUndoUnit.cs
- DecimalConstantAttribute.cs
- ThumbButtonInfo.cs
- Primitive.cs
- CachedFontFamily.cs
- RuleInfoComparer.cs
- FaultDesigner.cs
- OrthographicCamera.cs
- MachinePropertyVariants.cs
- List.cs
- StatusBarDesigner.cs
- NullableIntMinMaxAggregationOperator.cs
- DataContractAttribute.cs
- Transform.cs
- RelativeSource.cs
- ShaperBuffers.cs
- DecoderNLS.cs
- StreamGeometryContext.cs
- XmlLangPropertyAttribute.cs
- StringWriter.cs
- DesignerOptionService.cs
- ApplicationSettingsBase.cs
- DesignerActionVerbItem.cs
- WindowsStatic.cs
- LayoutExceptionEventArgs.cs
- XmlElement.cs
- BinaryMethodMessage.cs
- ValueChangedEventManager.cs
- ConfigurationLocation.cs
- SchemaName.cs
- FontConverter.cs
- PeerInputChannel.cs
- SqlConnectionPoolGroupProviderInfo.cs
- InfiniteTimeSpanConverter.cs
- HandlerMappingMemo.cs
- ResourceSet.cs
- Metadata.cs
- ValueTypeFixupInfo.cs
- SafePointer.cs
- ResourceCategoryAttribute.cs
- FilterableAttribute.cs
- CustomCredentialPolicy.cs
- SqlNotificationEventArgs.cs
- DoubleKeyFrameCollection.cs
- infer.cs
- StringKeyFrameCollection.cs
- AssociatedControlConverter.cs
- StringResourceManager.cs
- Registry.cs
- DesigntimeLicenseContextSerializer.cs
- XmlSchemaAttributeGroupRef.cs
- Html32TextWriter.cs
- processwaithandle.cs
- SecurityResources.cs
- Simplifier.cs
- ExceptionRoutedEventArgs.cs
- KeyPullup.cs
- GifBitmapEncoder.cs
- InvalidFilterCriteriaException.cs
- OperationAbortedException.cs
- ListBindingHelper.cs
- MetadataCache.cs
- SupportsPreviewControlAttribute.cs
- ClientApiGenerator.cs
- ObjectItemLoadingSessionData.cs
- TimeSpanStorage.cs
- DateTimeHelper.cs
- processwaithandle.cs
- LayoutTable.cs
- httpapplicationstate.cs
- PrimarySelectionAdorner.cs
- Stack.cs
- HtmlShimManager.cs
- RuleProcessor.cs
- HtmlElementCollection.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- TransformerTypeCollection.cs
- EntityConnection.cs
- StrongNamePublicKeyBlob.cs
- ActivityBuilder.cs
- XmlSchemaAttributeGroup.cs
- QilScopedVisitor.cs
- AuthorizationRuleCollection.cs
- CodeExporter.cs
- XmlResolver.cs