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 public sealed class PrivateFontCollection : FontCollection { ///objecs. /// /// /// [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); } ////// 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./// 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
- MemoryMappedViewAccessor.cs
- ChannelCacheDefaults.cs
- SelectionRangeConverter.cs
- ThreadExceptionDialog.cs
- EasingKeyFrames.cs
- PropertyConverter.cs
- WindowsFont.cs
- QilXmlReader.cs
- XmlParserContext.cs
- OrderingInfo.cs
- StdValidatorsAndConverters.cs
- OleDbReferenceCollection.cs
- PointConverter.cs
- oledbmetadatacollectionnames.cs
- StrokeFIndices.cs
- BidOverLoads.cs
- Pipe.cs
- FileUtil.cs
- TextBlockAutomationPeer.cs
- VisualTarget.cs
- HostingEnvironment.cs
- TransformerTypeCollection.cs
- DataSet.cs
- ControlDesignerState.cs
- HebrewNumber.cs
- PersistChildrenAttribute.cs
- RegionData.cs
- CurrentTimeZone.cs
- ProxyHelper.cs
- ConnectionManagementElement.cs
- TypeInitializationException.cs
- DataGridViewCellStateChangedEventArgs.cs
- DataGridViewCellLinkedList.cs
- ContractInstanceProvider.cs
- DispatcherTimer.cs
- DateTimeValueSerializerContext.cs
- DataGridItemCollection.cs
- FormViewUpdatedEventArgs.cs
- DataSvcMapFile.cs
- WebScriptMetadataMessageEncodingBindingElement.cs
- HostingEnvironmentSection.cs
- DataGridColumnHeaderItemAutomationPeer.cs
- DocumentCollection.cs
- ControlTemplate.cs
- translator.cs
- WSTrustDec2005.cs
- IISMapPath.cs
- Icon.cs
- AspCompat.cs
- TemplateModeChangedEventArgs.cs
- TypeDescriptor.cs
- ExpressionBuilder.cs
- OleDbRowUpdatedEvent.cs
- OleServicesContext.cs
- BrowserCapabilitiesCompiler.cs
- TransformationRules.cs
- RightsController.cs
- UIElementHelper.cs
- ZoneButton.cs
- EventLogEntry.cs
- PassportAuthenticationModule.cs
- CapabilitiesPattern.cs
- EventNotify.cs
- SelfSignedCertificate.cs
- OraclePermission.cs
- PublisherIdentityPermission.cs
- FormsAuthenticationConfiguration.cs
- CommentEmitter.cs
- EntityDataSourceSelectedEventArgs.cs
- LocalizableResourceBuilder.cs
- OrderedDictionaryStateHelper.cs
- AudioSignalProblemOccurredEventArgs.cs
- SafeArrayTypeMismatchException.cs
- GridViewItemAutomationPeer.cs
- WasNotInstalledException.cs
- Polygon.cs
- PropertyNames.cs
- DateTimePickerDesigner.cs
- Soap.cs
- ColorConverter.cs
- LinkLabelLinkClickedEvent.cs
- Typography.cs
- OnOperation.cs
- DataGridRelationshipRow.cs
- InvalidOperationException.cs
- OdbcHandle.cs
- EnumBuilder.cs
- WindowPattern.cs
- CodeIterationStatement.cs
- UIElement.cs
- PngBitmapDecoder.cs
- DataObjectEventArgs.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- ClientUtils.cs
- SectionXmlInfo.cs
- DataSetUtil.cs
- HttpCookie.cs
- BaseInfoTable.cs
- PersistenceTypeAttribute.cs
- BufferedWebEventProvider.cs