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
- Win32Native.cs
- MsmqProcessProtocolHandler.cs
- TraceSection.cs
- LoginStatusDesigner.cs
- QilReplaceVisitor.cs
- SerialReceived.cs
- SmiMetaDataProperty.cs
- MemberRelationshipService.cs
- ImageClickEventArgs.cs
- BackgroundWorker.cs
- XslTransform.cs
- GACIdentityPermission.cs
- RuntimeConfig.cs
- SessionStateSection.cs
- EnumerableRowCollectionExtensions.cs
- OptionUsage.cs
- ProtocolsConfigurationHandler.cs
- ClientConfigPaths.cs
- AuthorizationSection.cs
- ProfilePropertyMetadata.cs
- FormViewDeleteEventArgs.cs
- HScrollProperties.cs
- MediaPlayer.cs
- Storyboard.cs
- Geometry3D.cs
- ListParaClient.cs
- SpellerHighlightLayer.cs
- ThreadStaticAttribute.cs
- XhtmlBasicImageAdapter.cs
- HtmlInputButton.cs
- WindowsEditBoxRange.cs
- TimelineCollection.cs
- DuplicateDetector.cs
- IgnoreSectionHandler.cs
- InkCanvasSelectionAdorner.cs
- Splitter.cs
- PresentationAppDomainManager.cs
- ObjectDataSourceWizardForm.cs
- ToolStripTextBox.cs
- PrinterSettings.cs
- MetadataArtifactLoaderFile.cs
- StackOverflowException.cs
- FocusChangedEventArgs.cs
- ControllableStoryboardAction.cs
- EnumType.cs
- ActivityXamlServices.cs
- Context.cs
- ChunkedMemoryStream.cs
- DetailsViewInsertedEventArgs.cs
- Stroke.cs
- SapiRecoContext.cs
- RemoteWebConfigurationHostServer.cs
- LocatorManager.cs
- QuaternionAnimation.cs
- mda.cs
- CommandField.cs
- ExecutionEngineException.cs
- NegatedConstant.cs
- Debug.cs
- Executor.cs
- BuildProviderCollection.cs
- ContainerCodeDomSerializer.cs
- TimersDescriptionAttribute.cs
- DependencyPropertyKind.cs
- SafeSecurityHandles.cs
- ObjectDataSourceWizardForm.cs
- PolyLineSegmentFigureLogic.cs
- ConfigXmlCDataSection.cs
- SafeTimerHandle.cs
- TraceContext.cs
- RijndaelManaged.cs
- DbProviderConfigurationHandler.cs
- QueryExpression.cs
- ExtensionWindowResizeGrip.cs
- TraceXPathNavigator.cs
- VisemeEventArgs.cs
- StringHelper.cs
- HtmlHistory.cs
- CodeExpressionRuleDeclaration.cs
- TableStyle.cs
- ImageCodecInfo.cs
- CacheVirtualItemsEvent.cs
- HtmlPanelAdapter.cs
- GZipStream.cs
- RankException.cs
- TypeBuilderInstantiation.cs
- ImageSource.cs
- DriveInfo.cs
- AppManager.cs
- SiteMapNode.cs
- QueueAccessMode.cs
- XmlToDatasetMap.cs
- CustomServiceCredentials.cs
- EditorReuseAttribute.cs
- LinqDataSourceSelectEventArgs.cs
- TablePatternIdentifiers.cs
- Ops.cs
- LogAppendAsyncResult.cs
- GeometryHitTestParameters.cs
- RuntimeArgumentHandle.cs