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
- InstanceKey.cs
- UncommonField.cs
- CardSpacePolicyElement.cs
- MessageQueuePermissionEntry.cs
- PrintingPermissionAttribute.cs
- SQLBinary.cs
- BCryptSafeHandles.cs
- ListViewDataItem.cs
- GetRecipientListRequest.cs
- HtmlTableCellCollection.cs
- LeaseManager.cs
- BitmapEffectInput.cs
- MarkupCompilePass1.cs
- BinHexDecoder.cs
- SystemResourceKey.cs
- WebBaseEventKeyComparer.cs
- ItemCollection.cs
- SolidColorBrush.cs
- XmlCountingReader.cs
- PhysicalFontFamily.cs
- DbProviderSpecificTypePropertyAttribute.cs
- IResourceProvider.cs
- AppliedDeviceFiltersEditor.cs
- BehaviorDragDropEventArgs.cs
- DataPagerFieldCommandEventArgs.cs
- WorkflowApplicationUnhandledExceptionEventArgs.cs
- WeakReadOnlyCollection.cs
- XPathNodeList.cs
- PointConverter.cs
- Header.cs
- MergeFilterQuery.cs
- NameObjectCollectionBase.cs
- AesCryptoServiceProvider.cs
- SqlDependencyUtils.cs
- SerTrace.cs
- Help.cs
- ToolStripItem.cs
- ByteAnimation.cs
- ObjectDataProvider.cs
- SqlDependencyListener.cs
- MetadataElement.cs
- TextElementAutomationPeer.cs
- Unit.cs
- XmlFormatWriterGenerator.cs
- SiteMapNodeItem.cs
- NativeMethods.cs
- QuadraticEase.cs
- MessagePropertyDescriptionCollection.cs
- AuthenticationModuleElement.cs
- SqlRewriteScalarSubqueries.cs
- DurableRuntimeValidator.cs
- PageAsyncTaskManager.cs
- TypeDependencyAttribute.cs
- BaseUriHelper.cs
- precedingsibling.cs
- TraceFilter.cs
- translator.cs
- ToolStripRendererSwitcher.cs
- ClockController.cs
- ResourcesBuildProvider.cs
- MyContact.cs
- CodeMethodReturnStatement.cs
- SafeTimerHandle.cs
- XmlSchemaObjectTable.cs
- XsdBuilder.cs
- Matrix.cs
- LoadRetryHandler.cs
- SHA384Managed.cs
- RadioButtonRenderer.cs
- ItemsPresenter.cs
- ActionMismatchAddressingException.cs
- WebBrowserUriTypeConverter.cs
- RecognitionResult.cs
- CodeBlockBuilder.cs
- ProcessModelInfo.cs
- FlatButtonAppearance.cs
- UserMapPath.cs
- Hex.cs
- TabPanel.cs
- filewebrequest.cs
- XmlSchemaGroup.cs
- WebPartCatalogCloseVerb.cs
- Message.cs
- DataGridRelationshipRow.cs
- InkPresenter.cs
- PathParser.cs
- HorizontalAlignConverter.cs
- RawKeyboardInputReport.cs
- HostingMessageProperty.cs
- DataRecordInternal.cs
- DataGridViewHeaderCell.cs
- TableChangeProcessor.cs
- JsonDataContract.cs
- HttpCachePolicy.cs
- Helpers.cs
- CodeRegionDirective.cs
- AnnotationComponentManager.cs
- MenuTracker.cs
- RowTypePropertyElement.cs
- SmiRequestExecutor.cs