-- 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.RectangleF.Valuetype is tagged;
with type MSSyst.Drawing.Point.Valuetype is tagged;
with type MSSyst.Object.Ref is access;
with type MSSyst.Drawing.Size.Valuetype is tagged;
with type MSSyst.Type_k.Ref is access;
with type MSSyst.String.Ref is access;
with MSSyst.ValueType;
package MSSyst.Drawing.Rectangle 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_Rectangle(
      x : Integer;
      y : Integer;
      width : Integer;
      height : Integer) return Valuetype;
   function new_Rectangle(
      location : MSSyst.Drawing.Point.Valuetype;
      size : MSSyst.Drawing.Size.Valuetype) return Valuetype;
   function Ceiling(
      value : MSSyst.Drawing.RectangleF.Valuetype) return MSSyst.Drawing.Rectangle.Valuetype;
   function Contains(
      This : Valuetype;
      x : Integer;
      y : Integer) return Standard.Boolean;
   function Contains(
      This : Valuetype;
      pt : MSSyst.Drawing.Point.Valuetype) return Standard.Boolean;
   function Contains(
      This : Valuetype;
      rect : MSSyst.Drawing.Rectangle.Valuetype) return Standard.Boolean;
   function Equals(
      This : Valuetype;
      obj : MSSyst.Object.Ref) return Standard.Boolean;
   function FromLTRB(
      left : Integer;
      top : Integer;
      right : Integer;
      bottom : Integer) return MSSyst.Drawing.Rectangle.Valuetype;
   function get_Bottom(
      This : Valuetype) return Integer;
   function get_Height(
      This : Valuetype) return Integer;
   function get_IsEmpty(
      This : Valuetype) return Standard.Boolean;
   function get_Left(
      This : Valuetype) return Integer;
   function get_Location(
      This : Valuetype) return MSSyst.Drawing.Point.Valuetype;
   function get_Right(
      This : Valuetype) return Integer;
   function get_Size(
      This : Valuetype) return MSSyst.Drawing.Size.Valuetype;
   function get_Top(
      This : Valuetype) return Integer;
   function get_Width(
      This : Valuetype) return Integer;
   function get_X(
      This : Valuetype) return Integer;
   function get_Y(
      This : Valuetype) return Integer;
   function GetHashCode(
      This : Valuetype) return Integer;
   function Inflate(
      rect : MSSyst.Drawing.Rectangle.Valuetype;
      x : Integer;
      y : Integer) return MSSyst.Drawing.Rectangle.Valuetype;
   procedure Inflate(
      This : Valuetype;
      size : MSSyst.Drawing.Size.Valuetype);
   procedure Inflate(
      This : Valuetype;
      width : Integer;
      height : Integer);
   procedure Intersect(
      This : Valuetype;
      rect : MSSyst.Drawing.Rectangle.Valuetype);
   function Intersect(
      a : MSSyst.Drawing.Rectangle.Valuetype;
      b : MSSyst.Drawing.Rectangle.Valuetype) return MSSyst.Drawing.Rectangle.Valuetype;
   function IntersectsWith(
      This : Valuetype;
      rect : MSSyst.Drawing.Rectangle.Valuetype) return Standard.Boolean;
   procedure Offset(
      This : Valuetype;
      pos : MSSyst.Drawing.Point.Valuetype);
   procedure Offset(
      This : Valuetype;
      x : Integer;
      y : Integer);
   function op_Equality(
      left : MSSyst.Drawing.Rectangle.Valuetype;
      right : MSSyst.Drawing.Rectangle.Valuetype) return Standard.Boolean;
   function op_Inequality(
      left : MSSyst.Drawing.Rectangle.Valuetype;
      right : MSSyst.Drawing.Rectangle.Valuetype) return Standard.Boolean;
   function Round(
      value : MSSyst.Drawing.RectangleF.Valuetype) return MSSyst.Drawing.Rectangle.Valuetype;
   procedure set_Height(
      This : Valuetype;
      value : Integer);
   procedure set_Location(
      This : Valuetype;
      value : MSSyst.Drawing.Point.Valuetype);
   procedure set_Size(
      This : Valuetype;
      value : MSSyst.Drawing.Size.Valuetype);
   procedure set_Width(
      This : Valuetype;
      value : Integer);
   procedure set_X(
      This : Valuetype;
      value : Integer);
   procedure set_Y(
      This : Valuetype;
      value : Integer);
   function ToString(
      This : Valuetype) return MSSyst.String.Ref;
   function Truncate(
      value : MSSyst.Drawing.RectangleF.Valuetype) return MSSyst.Drawing.Rectangle.Valuetype;
   function Union(
      a : MSSyst.Drawing.Rectangle.Valuetype;
      b : MSSyst.Drawing.Rectangle.Valuetype) return MSSyst.Drawing.Rectangle.Valuetype;
private
   pragma MSIL_Constructor(new_Rectangle);
   pragma Import(MSIL,Ceiling,"Ceiling");
   pragma Import(MSIL,Contains,"Contains");
   pragma Import(MSIL,Equals,"Equals");
   pragma Import(MSIL,FromLTRB,"FromLTRB");
   pragma Import(MSIL,get_Bottom,"get_Bottom");
   pragma Import(MSIL,get_Height,"get_Height");
   pragma Import(MSIL,get_IsEmpty,"get_IsEmpty");
   pragma Import(MSIL,get_Left,"get_Left");
   pragma Import(MSIL,get_Location,"get_Location");
   pragma Import(MSIL,get_Right,"get_Right");
   pragma Import(MSIL,get_Size,"get_Size");
   pragma Import(MSIL,get_Top,"get_Top");
   pragma Import(MSIL,get_Width,"get_Width");
   pragma Import(MSIL,get_X,"get_X");
   pragma Import(MSIL,get_Y,"get_Y");
   pragma Import(MSIL,GetHashCode,"GetHashCode");
   pragma Import(MSIL,Inflate,"Inflate");
   pragma Import(MSIL,Intersect,"Intersect");
   pragma Import(MSIL,IntersectsWith,"IntersectsWith");
   pragma Import(MSIL,Offset,"Offset");
   pragma Import(MSIL,op_Equality,"op_Equality");
   pragma Import(MSIL,op_Inequality,"op_Inequality");
   pragma Import(MSIL,Round,"Round");
   pragma Import(MSIL,set_Height,"set_Height");
   pragma Import(MSIL,set_Location,"set_Location");
   pragma Import(MSIL,set_Size,"set_Size");
   pragma Import(MSIL,set_Width,"set_Width");
   pragma Import(MSIL,set_X,"set_X");
   pragma Import(MSIL,set_Y,"set_Y");
   pragma Import(MSIL,ToString,"ToString");
   pragma Import(MSIL,Truncate,"Truncate");
   pragma Import(MSIL,Union,"Union");
end MSSyst.Drawing.Rectangle;
pragma Extensions_Allowed(Off);
pragma Import(MSIL,MSSyst.Drawing.Rectangle,
   ".ver 1:0:3300:0 .publickeytoken=( b0 3f 5f 7f 11 d5 0a 3a )",
   "[System.Drawing]System.Drawing.Rectangle");
