| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- //
- // System.Drawing.Text.PrivateFontCollection.cs
- //
- // (C) 2002 Ximian, Inc. http://www.ximian.com
- // Author: Everaldo Canuto [email protected]
- // Sanjay Gupta ([email protected])
- //
- using System;
- using System.IO;
- using System.Drawing;
- using System.Runtime.InteropServices;
- namespace System.Drawing.Text {
- [ComVisible(false)]
- public sealed class PrivateFontCollection : FontCollection {
- // constructors
- internal PrivateFontCollection (IntPtr ptr): base (ptr)
- {}
- public PrivateFontCollection()
- {
- Status status = GDIPlus.GdipNewPrivateFontCollection (out nativeFontCollection);
- GDIPlus.CheckStatus (status);
- }
-
- // methods
- public void AddFontFile(string filename)
- {
- if ( filename == null )
- throw new Exception ("Value cannot be null, Parameter name : filename");
- bool exists = File.Exists(filename);
- if (!exists)
- throw new Exception ("The path is not of a legal form");
- Status status = GDIPlus.GdipPrivateAddFontFile (nativeFontCollection, filename);
- GDIPlus.CheckStatus (status);
- }
- public void AddMemoryFont(IntPtr memory, int length)
- {
- Status status = GDIPlus.GdipPrivateAddMemoryFont (nativeFontCollection, memory, length);
- GDIPlus.CheckStatus (status);
- }
-
- // methods
- protected override void Dispose(bool disposing)
- {
- if (nativeFontCollection!=IntPtr.Zero){
- GDIPlus.GdipDeletePrivateFontCollection (nativeFontCollection);
- GC.SuppressFinalize(this);
- }
- }
-
- }
- }
|