Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / CommonUI / System / Drawing / Advanced / PrivateFontCollection.cs / 1 / PrivateFontCollection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /*************************************************************************\ * * Copyright (c) 1998-1999, Microsoft Corp. All Rights Reserved. * * Module Name: * * font.cs * * Abstract: * * COM+ wrapper for GDI+ font objects * * Revision History: * * 3/16/2000 [...] * Created it. * \**************************************************************************/ 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; ////// /// Encapsulates a collection of public sealed class PrivateFontCollection : FontCollection { ///objecs. /// /// /// public PrivateFontCollection() { nativeFontCollection = IntPtr.Zero; int status = SafeNativeMethods.Gdip.GdipNewPrivateFontCollection(out nativeFontCollection); if (status != SafeNativeMethods.Gdip.Ok) throw SafeNativeMethods.Gdip.StatusException(status); } ////// Initializes a new instance of the ///class. /// /// /// 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); } ////// Cleans up Windows resources for 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. // Copyright (c) Microsoft Corporation. All rights reserved./// Adds a font from the specified file to /// this ///. ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- serverconfig.cs
- SelectionList.cs
- TableProviderWrapper.cs
- Predicate.cs
- XmlWrappingReader.cs
- NamespaceList.cs
- ExceptQueryOperator.cs
- DesignerValidatorAdapter.cs
- Events.cs
- VisualCollection.cs
- EventMappingSettings.cs
- CollectionMarkupSerializer.cs
- Message.cs
- VectorAnimation.cs
- CoTaskMemHandle.cs
- MemberMemberBinding.cs
- PolyQuadraticBezierSegment.cs
- ListBox.cs
- UserPreferenceChangingEventArgs.cs
- DetailsViewUpdatedEventArgs.cs
- XPathBinder.cs
- TriggerBase.cs
- Rect3D.cs
- RootBuilder.cs
- BuiltInExpr.cs
- UnsafeNativeMethods.cs
- TogglePattern.cs
- NativeMethods.cs
- DesignTimeXamlWriter.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- DataContractSet.cs
- RadioButton.cs
- XmlCustomFormatter.cs
- HelpFileFileNameEditor.cs
- ParameterElementCollection.cs
- GlyphsSerializer.cs
- OdbcFactory.cs
- BindingExpressionBase.cs
- BulletedListEventArgs.cs
- StatusBarItem.cs
- BitmapEffectGroup.cs
- TextRangeBase.cs
- WorkflowItemPresenter.cs
- NameTable.cs
- OdbcPermission.cs
- GenerateHelper.cs
- ReliableSessionBindingElementImporter.cs
- Journaling.cs
- Command.cs
- Camera.cs
- AtomicFile.cs
- WebScriptClientGenerator.cs
- ToolboxDataAttribute.cs
- SingleAnimationBase.cs
- Point3DCollection.cs
- WebReferenceOptions.cs
- CachedPathData.cs
- NotSupportedException.cs
- CanonicalFontFamilyReference.cs
- ContravarianceAdapter.cs
- DynamicResourceExtensionConverter.cs
- PropertyChangingEventArgs.cs
- PeerNameRecord.cs
- ScrollProperties.cs
- InputMethodStateTypeInfo.cs
- QueryStringParameter.cs
- CodeVariableDeclarationStatement.cs
- MdImport.cs
- WMIGenerator.cs
- XmlMapping.cs
- Button.cs
- ReplacementText.cs
- XmlDocumentType.cs
- AsymmetricSecurityProtocol.cs
- SmtpNetworkElement.cs
- TemporaryBitmapFile.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- LogReserveAndAppendState.cs
- C14NUtil.cs
- KeyboardNavigation.cs
- OracleRowUpdatedEventArgs.cs
- DataSourceSelectArguments.cs
- InstanceHandleReference.cs
- NumericUpDownAcceleration.cs
- ActiveXSite.cs
- XmlText.cs
- CommandDevice.cs
- XmlSchemaAnnotated.cs
- GraphicsContainer.cs
- HwndHost.cs
- ObjectStateEntry.cs
- Privilege.cs
- QuerySetOp.cs
- OleDbException.cs
- TreeNodeEventArgs.cs
- FontSourceCollection.cs
- PolyBezierSegment.cs
- Triplet.cs
- ContentPlaceHolderDesigner.cs
- CapiNative.cs