-- 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.Drawing.SizeF.Valuetype is tagged;
with type MSSyst.Object.Ref is access;
with type MSSyst.Type_k.Ref is access;
with type MSSyst.Drawing.Point.Valuetype is tagged;
with type MSSyst.String.Ref is access;
with MSSyst.ValueType;
package MSSyst.Drawing.Size is
   type ValueType is new MSSyst.ValueType.Typ with null record;
   type ValueType_Arr is array (Natural range <>) of ValueType; -- start at 0
   type ValueType_Array is access all ValueType_Arr;
   type ValueType_addrof is access all ValueType;
   type ValueType_array_addrof is access all ValueType_Array;
   function new_Size(
      pt : MSSyst.Drawing.Point.Valuetype) return Valuetype;
   function new_Size(
      width : Integer;
      height : Integer) return Valuetype;
   function Ceiling(
      value : MSSyst.Drawing.SizeF.Valuetype) return MSSyst.Drawing.Size.Valuetype;
   function Equals(
      This : Valuetype;
      obj : MSSyst.Object.Ref) return Standard.Boolean;
   function get_Height(
      This : Valuetype) return Integer;
   function get_IsEmpty(
      This : Valuetype) return Standard.Boolean;
   function get_Width(
      This : Valuetype) return Integer;
   function GetHashCode(
      This : Valuetype) return Integer;
   function op_Addition(
      sz1 : MSSyst.Drawing.Size.Valuetype;
      sz2 : MSSyst.Drawing.Size.Valuetype) return MSSyst.Drawing.Size.Valuetype;
   function op_Equality(
      sz1 : MSSyst.Drawing.Size.Valuetype;
      sz2 : MSSyst.Drawing.Size.Valuetype) return Standard.Boolean;
   function op_Explicit(
      size : MSSyst.Drawing.Size.Valuetype) return MSSyst.Drawing.Point.Valuetype;
   function op_Implicit(
      p : MSSyst.Drawing.Size.Valuetype) return MSSyst.Drawing.SizeF.Valuetype;
   function op_Inequality(
      sz1 : MSSyst.Drawing.Size.Valuetype;
      sz2 : MSSyst.Drawing.Size.Valuetype) return Standard.Boolean;
   function op_Subtraction(
      sz1 : MSSyst.Drawing.Size.Valuetype;
      sz2 : MSSyst.Drawing.Size.Valuetype) return MSSyst.Drawing.Size.Valuetype;
   function Round(
      value : MSSyst.Drawing.SizeF.Valuetype) return MSSyst.Drawing.Size.Valuetype;
   procedure set_Height(
      This : Valuetype;
      value : Integer);
   procedure set_Width(
      This : Valuetype;
      value : Integer);
   function ToString(
      This : Valuetype) return MSSyst.String.Ref;
   function Truncate(
      value : MSSyst.Drawing.SizeF.Valuetype) return MSSyst.Drawing.Size.Valuetype;
private
   pragma MSIL_Constructor(new_Size);
   pragma Import(MSIL,Ceiling,"Ceiling");
   pragma Import(MSIL,Equals,"Equals");
   pragma Import(MSIL,get_Height,"get_Height");
   pragma Import(MSIL,get_IsEmpty,"get_IsEmpty");
   pragma Import(MSIL,get_Width,"get_Width");
   pragma Import(MSIL,GetHashCode,"GetHashCode");
   pragma Import(MSIL,op_Addition,"op_Addition");
   pragma Import(MSIL,op_Equality,"op_Equality");
   pragma Import(MSIL,op_Explicit,"op_Explicit");
   pragma Import(MSIL,op_Implicit,"op_Implicit");
   pragma Import(MSIL,op_Inequality,"op_Inequality");
   pragma Import(MSIL,op_Subtraction,"op_Subtraction");
   pragma Import(MSIL,Round,"Round");
   pragma Import(MSIL,set_Height,"set_Height");
   pragma Import(MSIL,set_Width,"set_Width");
   pragma Import(MSIL,ToString,"ToString");
   pragma Import(MSIL,Truncate,"Truncate");
end MSSyst.Drawing.Size;
pragma Extensions_Allowed(Off);
pragma Import(MSIL,MSSyst.Drawing.Size,
   ".ver 1:0:3300:0 .publickeytoken=( b0 3f 5f 7f 11 d5 0a 3a )",
   "[System.Drawing]System.Drawing.Size");
