-- Autogenerated by MSIL2Ada v. 2
-- By: Martin C. Carlisle
--     Department of Computer Science
--     US Air Force Academy
--     carlislem@acm.org
pragma Extensions_Allowed(On);
with MSSyst.Object;
with MSIL_Types;
use MSIL_Types;
with type MSSyst.ICloneable.Ref is access;
with type MSSyst.Runtime.Serialization.ISerializable.Ref is access;
with type MSSyst.IDisposable.Ref is access;
with type MSSyst.Object.Ref is access;
with type MSSyst.Runtime.Remoting.ObjRef.Ref is access;
with type MSSyst.Type_k.Ref is access;
with type MSSyst.Drawing.FontFamily.Ref is access;
with type MSSyst.String.Ref is access;
with MSSyst.Drawing.FontStyle;
with MSSyst.Drawing.GraphicsUnit;
with type MSSyst.Drawing.Graphics.Ref is access;
with MSSyst.MarshalByRefObject;
package MSSyst.Drawing.Font is
   type Typ;
   type Ref is access all Typ'Class;
   type Ref_addrof is access all Ref;
   type Ref_Arr is array(Natural range <>) of Ref;
   type Ref_Array is access all Ref_Arr;
   type Ref_Array_addrof is access all Ref_Array;
   type Typ(
         I_ICloneable : MSSyst.ICloneable.Ref;
         I_ISerializable : MSSyst.Runtime.Serialization.ISerializable.Ref;
         I_IDisposable : MSSyst.IDisposable.Ref
      ) is new MSSyst.MarshalByRefObject.Typ with record
      null;
   end record;
   function new_Font(
      This : Ref := null;
      prototype : MSSyst.Drawing.Font.Ref;
      newStyle : MSSyst.Drawing.FontStyle.Valuetype) return Ref;
   function new_Font(
      This : Ref := null;
      family : MSSyst.Drawing.FontFamily.Ref;
      emSize : Float;
      style : MSSyst.Drawing.FontStyle.Valuetype;
      unit : MSSyst.Drawing.GraphicsUnit.Valuetype) return Ref;
   function new_Font(
      This : Ref := null;
      family : MSSyst.Drawing.FontFamily.Ref;
      emSize : Float;
      style : MSSyst.Drawing.FontStyle.Valuetype;
      unit : MSSyst.Drawing.GraphicsUnit.Valuetype;
      gdiCharSet : MSIL_Types.unsigned_int8) return Ref;
   function new_Font(
      This : Ref := null;
      family : MSSyst.Drawing.FontFamily.Ref;
      emSize : Float;
      style : MSSyst.Drawing.FontStyle.Valuetype;
      unit : MSSyst.Drawing.GraphicsUnit.Valuetype;
      gdiCharSet : MSIL_Types.unsigned_int8;
      gdiVerticalFont : Standard.Boolean) return Ref;
   function new_Font(
      This : Ref := null;
      familyName : MSSyst.String.Ref;
      emSize : Float;
      style : MSSyst.Drawing.FontStyle.Valuetype;
      unit : MSSyst.Drawing.GraphicsUnit.Valuetype;
      gdiCharSet : MSIL_Types.unsigned_int8) return Ref;
   function new_Font(
      This : Ref := null;
      familyName : MSSyst.String.Ref;
      emSize : Float;
      style : MSSyst.Drawing.FontStyle.Valuetype;
      unit : MSSyst.Drawing.GraphicsUnit.Valuetype;
      gdiCharSet : MSIL_Types.unsigned_int8;
      gdiVerticalFont : Standard.Boolean) return Ref;
   function new_Font(
      This : Ref := null;
      family : MSSyst.Drawing.FontFamily.Ref;
      emSize : Float;
      style : MSSyst.Drawing.FontStyle.Valuetype) return Ref;
   function new_Font(
      This : Ref := null;
      family : MSSyst.Drawing.FontFamily.Ref;
      emSize : Float;
      unit : MSSyst.Drawing.GraphicsUnit.Valuetype) return Ref;
   function new_Font(
      This : Ref := null;
      family : MSSyst.Drawing.FontFamily.Ref;
      emSize : Float) return Ref;
   function new_Font(
      This : Ref := null;
      familyName : MSSyst.String.Ref;
      emSize : Float;
      style : MSSyst.Drawing.FontStyle.Valuetype;
      unit : MSSyst.Drawing.GraphicsUnit.Valuetype) return Ref;
   function new_Font(
      This : Ref := null;
      familyName : MSSyst.String.Ref;
      emSize : Float;
      style : MSSyst.Drawing.FontStyle.Valuetype) return Ref;
   function new_Font(
      This : Ref := null;
      familyName : MSSyst.String.Ref;
      emSize : Float;
      unit : MSSyst.Drawing.GraphicsUnit.Valuetype) return Ref;
   function new_Font(
      This : Ref := null;
      familyName : MSSyst.String.Ref;
      emSize : Float) return Ref;
   function Clone(
      This : access Typ) return MSSyst.Object.Ref;
   procedure Dispose(
      This : access Typ);
   function Equals(
      This : access Typ;
      obj : MSSyst.Object.Ref) return Standard.Boolean;
   function FromHdc(
      hdc : MSIL_Types.native_int) return MSSyst.Drawing.Font.Ref;
   function FromHfont(
      hfont : MSIL_Types.native_int) return MSSyst.Drawing.Font.Ref;
   function FromLogFont(
      lf : MSSyst.Object.Ref) return MSSyst.Drawing.Font.Ref;
   function FromLogFont(
      lf : MSSyst.Object.Ref;
      hdc : MSIL_Types.native_int) return MSSyst.Drawing.Font.Ref;
   function get_Bold(
      This : access Typ) return Standard.Boolean;
   function get_FontFamily(
      This : access Typ) return MSSyst.Drawing.FontFamily.Ref;
   function get_GdiCharSet(
      This : access Typ) return MSIL_Types.unsigned_int8;
   function get_GdiVerticalFont(
      This : access Typ) return Standard.Boolean;
   function get_Height(
      This : access Typ) return Integer;
   function get_Italic(
      This : access Typ) return Standard.Boolean;
   function get_Name(
      This : access Typ) return MSSyst.String.Ref;
   function get_Size(
      This : access Typ) return Float;
   function get_SizeInPoints(
      This : access Typ) return Float;
   function get_Strikeout(
      This : access Typ) return Standard.Boolean;
   function get_Style(
      This : access Typ) return MSSyst.Drawing.FontStyle.Valuetype;
   function get_Underline(
      This : access Typ) return Standard.Boolean;
   function get_Unit(
      This : access Typ) return MSSyst.Drawing.GraphicsUnit.Valuetype;
   function GetHashCode(
      This : access Typ) return Integer;
   function GetHeight(
      This : access Typ;
      dpi : Float) return Float;
   function GetHeight(
      This : access Typ) return Float;
   function GetHeight(
      This : access Typ;
      graphics : MSSyst.Drawing.Graphics.Ref) return Float;
   function ToHfont(
      This : access Typ) return MSIL_Types.native_int;
   procedure ToLogFont(
      This : access Typ;
      logFont : MSSyst.Object.Ref);
   procedure ToLogFont(
      This : access Typ;
      logFont : MSSyst.Object.Ref;
      graphics : MSSyst.Drawing.Graphics.Ref);
   function ToString(
      This : access Typ) return MSSyst.String.Ref;
private
   pragma Convention(MSIL,Typ);
   pragma MSIL_Constructor(new_Font);
   pragma Import(MSIL,Clone,"Clone");
   pragma Import(MSIL,Dispose,"Dispose");
   pragma Import(MSIL,Equals,"Equals");
   pragma Import(MSIL,FromHdc,"FromHdc");
   pragma Import(MSIL,FromHfont,"FromHfont");
   pragma Import(MSIL,FromLogFont,"FromLogFont");
   pragma Import(MSIL,get_Bold,"get_Bold");
   pragma Import(MSIL,get_FontFamily,"get_FontFamily");
   pragma Import(MSIL,get_GdiCharSet,"get_GdiCharSet");
   pragma Import(MSIL,get_GdiVerticalFont,"get_GdiVerticalFont");
   pragma Import(MSIL,get_Height,"get_Height");
   pragma Import(MSIL,get_Italic,"get_Italic");
   pragma Import(MSIL,get_Name,"get_Name");
   pragma Import(MSIL,get_Size,"get_Size");
   pragma Import(MSIL,get_SizeInPoints,"get_SizeInPoints");
   pragma Import(MSIL,get_Strikeout,"get_Strikeout");
   pragma Import(MSIL,get_Style,"get_Style");
   pragma Import(MSIL,get_Underline,"get_Underline");
   pragma Import(MSIL,get_Unit,"get_Unit");
   pragma Import(MSIL,GetHashCode,"GetHashCode");
   pragma Import(MSIL,GetHeight,"GetHeight");
   pragma Import(MSIL,ToHfont,"ToHfont");
   pragma Import(MSIL,ToLogFont,"ToLogFont");
   pragma Import(MSIL,ToString,"ToString");
end MSSyst.Drawing.Font;
pragma Extensions_Allowed(Off);
pragma Import(MSIL,MSSyst.Drawing.Font,
   ".ver 1:0:3300:0 .publickeytoken=( b0 3f 5f 7f 11 d5 0a 3a )",
   "[System.Drawing]System.Drawing.Font");
