Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / CommonUI / System / Drawing / Advanced / PrivateFontCollection.cs / 1305376 / PrivateFontCollection.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.Security;
using System.Security.Permissions;
using System.Globalization;
using System.Runtime.Versioning;
///
///
/// Encapsulates a collection of objecs.
///
public sealed class PrivateFontCollection : FontCollection {
///
///
///
/// Initializes a new instance of the class.
///
///
[ResourceExposure(ResourceScope.Process)]
[ResourceConsumption(ResourceScope.Process)]
public PrivateFontCollection() {
nativeFontCollection = IntPtr.Zero;
int status = SafeNativeMethods.Gdip.GdipNewPrivateFontCollection(out nativeFontCollection);
if (status != SafeNativeMethods.Gdip.Ok)
throw SafeNativeMethods.Gdip.StatusException(status);
}
///
///
///
/// Cleans up Windows resources for this
/// .
///
///
protected override void Dispose(bool disposing) {
if (nativeFontCollection != IntPtr.Zero) {
try{
#if DEBUG
int status =
#endif
SafeNativeMethods.Gdip.GdipDeletePrivateFontCollection(out nativeFontCollection);
#if DEBUG
Debug.Assert(status == SafeNativeMethods.Gdip.Ok, "GDI+ returned an error status: " + status.ToString(CultureInfo.InvariantCulture));
#endif
}
catch( Exception ex ){
if( ClientUtils.IsSecurityOrCriticalException( ex ) ) {
throw;
}
Debug.Fail( "Exception thrown during Dispose: " + ex.ToString() );
}
finally{
nativeFontCollection = IntPtr.Zero;
}
}
base.Dispose(disposing);
}
///
///
///
/// Adds a font from the specified file to
/// this .
///
///
public void AddFontFile (string filename) {
IntSecurity.DemandReadFileIO(filename);
int status = SafeNativeMethods.Gdip.GdipPrivateAddFontFile(new HandleRef(this, nativeFontCollection), filename);
if (status != SafeNativeMethods.Gdip.Ok)
throw SafeNativeMethods.Gdip.StatusException(status);
// Register private font with GDI as well so pure GDI-based controls (TextBox, Button for instance) can access it.
SafeNativeMethods.AddFontFile( filename );
}
//
public void AddMemoryFont (IntPtr memory, int length) {
IntSecurity.ObjectFromWin32Handle.Demand();
int status = SafeNativeMethods.Gdip.GdipPrivateAddMemoryFont(new HandleRef(this, nativeFontCollection), new HandleRef(null, memory), length);
if (status != SafeNativeMethods.Gdip.Ok)
throw SafeNativeMethods.Gdip.StatusException(status);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Point3DCollectionValueSerializer.cs
- DispatchChannelSink.cs
- Header.cs
- IntPtr.cs
- ObjectDataSourceChooseTypePanel.cs
- CompatibleComparer.cs
- PointConverter.cs
- DoubleCollection.cs
- RefreshEventArgs.cs
- SafeRegistryKey.cs
- StreamAsIStream.cs
- UIElementAutomationPeer.cs
- followingsibling.cs
- BuiltInExpr.cs
- TimeZone.cs
- Internal.cs
- Visual3D.cs
- FixedSOMContainer.cs
- HttpListenerException.cs
- odbcmetadatafactory.cs
- DesignerOptionService.cs
- FragmentQueryProcessor.cs
- RoleGroup.cs
- TypeListConverter.cs
- HtmlControlPersistable.cs
- UshortList2.cs
- RIPEMD160Managed.cs
- ContentElement.cs
- Track.cs
- ValueSerializerAttribute.cs
- MetaTableHelper.cs
- ConditionalDesigner.cs
- _RequestCacheProtocol.cs
- WindowPattern.cs
- CultureInfo.cs
- SessionViewState.cs
- Grammar.cs
- AdobeCFFWrapper.cs
- LoadWorkflowCommand.cs
- PerformanceCounterPermissionEntry.cs
- RSAProtectedConfigurationProvider.cs
- dataprotectionpermissionattribute.cs
- ECDsa.cs
- OrderToken.cs
- SecurityProtocol.cs
- Transform3D.cs
- TemplateKey.cs
- TreeNodeBindingCollection.cs
- DivideByZeroException.cs
- ArrangedElementCollection.cs
- validationstate.cs
- _NestedMultipleAsyncResult.cs
- Column.cs
- Event.cs
- WebUtil.cs
- MDIClient.cs
- ToolStripGrip.cs
- PrimitiveSchema.cs
- XmlnsPrefixAttribute.cs
- ImageCodecInfoPrivate.cs
- BitmapScalingModeValidation.cs
- AxDesigner.cs
- IInstanceTable.cs
- HostAdapter.cs
- EmbossBitmapEffect.cs
- PropertyTab.cs
- Grammar.cs
- StructuredTypeInfo.cs
- EventLog.cs
- ByteAnimationUsingKeyFrames.cs
- Solver.cs
- HttpResponseHeader.cs
- SystemIPInterfaceStatistics.cs
- OptimizedTemplateContentHelper.cs
- JoinTreeNode.cs
- TypeSemantics.cs
- DirectoryObjectSecurity.cs
- ComboBoxRenderer.cs
- WorkflowWebService.cs
- UserControlBuildProvider.cs
- CustomErrorCollection.cs
- BoundsDrawingContextWalker.cs
- PixelFormatConverter.cs
- BackgroundWorker.cs
- _FixedSizeReader.cs
- ContentPosition.cs
- CompoundFileStorageReference.cs
- Container.cs
- DataGridGeneralPage.cs
- ValidatedControlConverter.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- InspectionWorker.cs
- ApplicationTrust.cs
- OdbcConnectionOpen.cs
- DataGridViewRowPostPaintEventArgs.cs
- BlurBitmapEffect.cs
- PageTheme.cs
- SecurityBindingElementImporter.cs
- ToolStripItem.cs
- DataGridViewColumnEventArgs.cs