-- 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.ComponentModel.IComponent.Ref is access;
with type MSSyst.IDisposable.Ref is access;
with type MSSyst.EventHandler.Ref is access;
with type MSSyst.Windows.Forms.KeyEventHandler.Ref is access;
with type MSSyst.Windows.Forms.KeyPressEventHandler.Ref is access;
with type MSSyst.Windows.Forms.MouseEventHandler.Ref is access;
with type MSSyst.Windows.Forms.PaintEventHandler.Ref is access;
with type MSSyst.ComponentModel.CancelEventHandler.Ref is access;
with type MSSyst.Drawing.Graphics.Ref is access;
with type MSSyst.Runtime.Remoting.ObjRef.Ref is access;
with type MSSyst.Type_k.Ref is access;
with type MSSyst.Object.Ref is access;
with type MSSyst.Drawing.Color.Valuetype is tagged;
with type MSSyst.Windows.Forms.BindingContext.Ref is access;
with type MSSyst.Drawing.Rectangle.Valuetype is tagged;
with type MSSyst.Drawing.Size.Valuetype is tagged;
with type MSSyst.ComponentModel.IContainer.Ref is access;
with type MSSyst.Windows.Forms.ContextMenu.Ref is access;
with type MSSyst.Windows.Forms.Control.ControlCollection.Ref is access;
with type MSSyst.Windows.Forms.ControlBindingsCollection.Ref is access;
with type MSSyst.Drawing.Font.Ref is access;
with type MSSyst.Drawing.Point.Valuetype is tagged;
with MSSyst.Windows.Forms.MouseButtons;
with type MSSyst.ComponentModel.ISite.Ref is access;
with type MSSyst.String.Ref is access;
with type MSSyst.Delegate.Ref is access;
with MSSyst.ComponentModel.Component;
package MSSyst.Windows.Forms.Control 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_IComponent : MSSyst.ComponentModel.IComponent.Ref;
         I_IDisposable : MSSyst.IDisposable.Ref
      ) is new MSSyst.ComponentModel.Component.Typ with record
      null;
   end record;
   function new_Control(
      This : Ref := null) return Ref;
   procedure add_Click(
      This : access Typ;
      value : MSSyst.EventHandler.Ref);
   procedure add_EnabledChanged(
      This : access Typ;
      value : MSSyst.EventHandler.Ref);
   procedure add_GotFocus(
      This : access Typ;
      value : MSSyst.EventHandler.Ref);
   procedure add_KeyDown(
      This : access Typ;
      value : MSSyst.Windows.Forms.KeyEventHandler.Ref);
   procedure add_KeyPress(
      This : access Typ;
      value : MSSyst.Windows.Forms.KeyPressEventHandler.Ref);
   procedure add_KeyUp(
      This : access Typ;
      value : MSSyst.Windows.Forms.KeyEventHandler.Ref);
   procedure add_LostFocus(
      This : access Typ;
      value : MSSyst.EventHandler.Ref);
   procedure add_MouseDown(
      This : access Typ;
      value : MSSyst.Windows.Forms.MouseEventHandler.Ref);
   procedure add_MouseMove(
      This : access Typ;
      value : MSSyst.Windows.Forms.MouseEventHandler.Ref);
   procedure add_MouseUp(
      This : access Typ;
      value : MSSyst.Windows.Forms.MouseEventHandler.Ref);
   procedure add_Paint(
      This : access Typ;
      value : MSSyst.Windows.Forms.PaintEventHandler.Ref);
   procedure add_ParentChanged(
      This : access Typ;
      value : MSSyst.EventHandler.Ref);
   procedure add_Resize(
      This : access Typ;
      value : MSSyst.EventHandler.Ref);
   procedure add_TextChanged(
      This : access Typ;
      value : MSSyst.EventHandler.Ref);
   procedure add_Validated(
      This : access Typ;
      value : MSSyst.EventHandler.Ref);
   procedure add_Validating(
      This : access Typ;
      value : MSSyst.ComponentModel.CancelEventHandler.Ref);
   procedure BringToFront(
      This : access Typ);
   function CreateGraphics(
      This : access Typ) return MSSyst.Drawing.Graphics.Ref;
   procedure Dispose(
      This : access Typ);
   function Focus(
      This : access Typ) return Standard.Boolean;
   function get_BackColor(
      This : access Typ) return MSSyst.Drawing.Color.Valuetype;
   function get_BindingContext(
      This : access Typ) return MSSyst.Windows.Forms.BindingContext.Ref;
   function get_Bottom(
      This : access Typ) return Integer;
   function get_Bounds(
      This : access Typ) return MSSyst.Drawing.Rectangle.Valuetype;
   function get_Capture(
      This : access Typ) return Standard.Boolean;
   function get_ClientRectangle(
      This : access Typ) return MSSyst.Drawing.Rectangle.Valuetype;
   function get_ClientSize(
      This : access Typ) return MSSyst.Drawing.Size.Valuetype;
   function get_ContextMenu(
      This : access Typ) return MSSyst.Windows.Forms.ContextMenu.Ref;
   function get_Controls(
      This : access Typ) return MSSyst.Windows.Forms.Control.ControlCollection.Ref;
   function get_DataBindings(
      This : access Typ) return MSSyst.Windows.Forms.ControlBindingsCollection.Ref;
   function get_Enabled(
      This : access Typ) return Standard.Boolean;
   function get_Focused(
      This : access Typ) return Standard.Boolean;
   function get_Font(
      This : access Typ) return MSSyst.Drawing.Font.Ref;
   function get_ForeColor(
      This : access Typ) return MSSyst.Drawing.Color.Valuetype;
   function get_Height(
      This : access Typ) return Integer;
   function get_Left(
      This : access Typ) return Integer;
   function get_Location(
      This : access Typ) return MSSyst.Drawing.Point.Valuetype;
   function get_MouseButtons return MSSyst.Windows.Forms.MouseButtons.Valuetype;
   function get_MousePosition return MSSyst.Drawing.Point.Valuetype;
   function get_Parent(
      This : access Typ) return MSSyst.Windows.Forms.Control.Ref;
   function get_Right(
      This : access Typ) return Integer;
   function get_Size(
      This : access Typ) return MSSyst.Drawing.Size.Valuetype;
   function get_Text(
      This : access Typ) return MSSyst.String.Ref;
   function get_Top(
      This : access Typ) return Integer;
   function get_TopLevelControl(
      This : access Typ) return MSSyst.Windows.Forms.Control.Ref;
   function get_Visible(
      This : access Typ) return Standard.Boolean;
   function get_Width(
      This : access Typ) return Integer;
   procedure Hide(
      This : access Typ);
   procedure Invalidate(
      This : access Typ);
   procedure Invalidate(
      This : access Typ;
      rect : MSSyst.Drawing.Rectangle.Valuetype);
   function Invoke(
      This : access Typ;
      method : MSSyst.Delegate.Ref) return MSSyst.Object.Ref;
   function PointToClient(
      This : access Typ;
      p : MSSyst.Drawing.Point.Valuetype) return MSSyst.Drawing.Point.Valuetype;
   function PointToScreen(
      This : access Typ;
      p : MSSyst.Drawing.Point.Valuetype) return MSSyst.Drawing.Point.Valuetype;
   function RectangleToClient(
      This : access Typ;
      r : MSSyst.Drawing.Rectangle.Valuetype) return MSSyst.Drawing.Rectangle.Valuetype;
   function RectangleToScreen(
      This : access Typ;
      r : MSSyst.Drawing.Rectangle.Valuetype) return MSSyst.Drawing.Rectangle.Valuetype;
   procedure Refresh(
      This : access Typ);
   procedure remove_Click(
      This : access Typ;
      value : MSSyst.EventHandler.Ref);
   procedure remove_EnabledChanged(
      This : access Typ;
      value : MSSyst.EventHandler.Ref);
   procedure remove_GotFocus(
      This : access Typ;
      value : MSSyst.EventHandler.Ref);
   procedure remove_KeyDown(
      This : access Typ;
      value : MSSyst.Windows.Forms.KeyEventHandler.Ref);
   procedure remove_KeyPress(
      This : access Typ;
      value : MSSyst.Windows.Forms.KeyPressEventHandler.Ref);
   procedure remove_KeyUp(
      This : access Typ;
      value : MSSyst.Windows.Forms.KeyEventHandler.Ref);
   procedure remove_LostFocus(
      This : access Typ;
      value : MSSyst.EventHandler.Ref);
   procedure remove_MouseDown(
      This : access Typ;
      value : MSSyst.Windows.Forms.MouseEventHandler.Ref);
   procedure remove_MouseMove(
      This : access Typ;
      value : MSSyst.Windows.Forms.MouseEventHandler.Ref);
   procedure remove_MouseUp(
      This : access Typ;
      value : MSSyst.Windows.Forms.MouseEventHandler.Ref);
   procedure remove_Paint(
      This : access Typ;
      value : MSSyst.Windows.Forms.PaintEventHandler.Ref);
   procedure remove_ParentChanged(
      This : access Typ;
      value : MSSyst.EventHandler.Ref);
   procedure remove_Resize(
      This : access Typ;
      value : MSSyst.EventHandler.Ref);
   procedure remove_TextChanged(
      This : access Typ;
      value : MSSyst.EventHandler.Ref);
   procedure remove_Validated(
      This : access Typ;
      value : MSSyst.EventHandler.Ref);
   procedure remove_Validating(
      This : access Typ;
      value : MSSyst.ComponentModel.CancelEventHandler.Ref);
   procedure SendToBack(
      This : access Typ);
   procedure set_BackColor(
      This : access Typ;
      value : MSSyst.Drawing.Color.Valuetype);
   procedure set_BindingContext(
      This : access Typ;
      value : MSSyst.Windows.Forms.BindingContext.Ref);
   procedure set_Bounds(
      This : access Typ;
      value : MSSyst.Drawing.Rectangle.Valuetype);
   procedure set_Capture(
      This : access Typ;
      value : Standard.Boolean);
   procedure set_ClientSize(
      This : access Typ;
      value : MSSyst.Drawing.Size.Valuetype);
   procedure set_ContextMenu(
      This : access Typ;
      value : MSSyst.Windows.Forms.ContextMenu.Ref);
   procedure set_Enabled(
      This : access Typ;
      value : Standard.Boolean);
   procedure set_Font(
      This : access Typ;
      value : MSSyst.Drawing.Font.Ref);
   procedure set_ForeColor(
      This : access Typ;
      value : MSSyst.Drawing.Color.Valuetype);
   procedure set_Height(
      This : access Typ;
      value : Integer);
   procedure set_Left(
      This : access Typ;
      value : Integer);
   procedure set_Location(
      This : access Typ;
      value : MSSyst.Drawing.Point.Valuetype);
   procedure set_Parent(
      This : access Typ;
      value : MSSyst.Windows.Forms.Control.Ref);
   procedure set_Size(
      This : access Typ;
      value : MSSyst.Drawing.Size.Valuetype);
   procedure set_Text(
      This : access Typ;
      value : MSSyst.String.Ref);
   procedure set_Top(
      This : access Typ;
      value : Integer);
   procedure set_Visible(
      This : access Typ;
      value : Standard.Boolean);
   procedure set_Width(
      This : access Typ;
      value : Integer);
   procedure Show(
      This : access Typ);
   procedure Update(
      This : access Typ);
private
   pragma Convention(MSIL,Typ);
   pragma MSIL_Constructor(new_Control);
   pragma Import(MSIL,add_Click,"add_Click");
   pragma Import(MSIL,add_EnabledChanged,"add_EnabledChanged");
   pragma Import(MSIL,add_GotFocus,"add_GotFocus");
   pragma Import(MSIL,add_KeyDown,"add_KeyDown");
   pragma Import(MSIL,add_KeyPress,"add_KeyPress");
   pragma Import(MSIL,add_KeyUp,"add_KeyUp");
   pragma Import(MSIL,add_LostFocus,"add_LostFocus");
   pragma Import(MSIL,add_MouseDown,"add_MouseDown");
   pragma Import(MSIL,add_MouseMove,"add_MouseMove");
   pragma Import(MSIL,add_MouseUp,"add_MouseUp");
   pragma Import(MSIL,add_Paint,"add_Paint");
   pragma Import(MSIL,add_ParentChanged,"add_ParentChanged");
   pragma Import(MSIL,add_Resize,"add_Resize");
   pragma Import(MSIL,add_TextChanged,"add_TextChanged");
   pragma Import(MSIL,add_Validated,"add_Validated");
   pragma Import(MSIL,add_Validating,"add_Validating");
   pragma Import(MSIL,BringToFront,"BringToFront");
   pragma Import(MSIL,CreateGraphics,"CreateGraphics");
   pragma Import(MSIL,Dispose,"Dispose");
   pragma Import(MSIL,Focus,"Focus");
   pragma Import(MSIL,get_BackColor,"get_BackColor");
   pragma Import(MSIL,get_BindingContext,"get_BindingContext");
   pragma Import(MSIL,get_Bottom,"get_Bottom");
   pragma Import(MSIL,get_Bounds,"get_Bounds");
   pragma Import(MSIL,get_Capture,"get_Capture");
   pragma Import(MSIL,get_ClientRectangle,"get_ClientRectangle");
   pragma Import(MSIL,get_ClientSize,"get_ClientSize");
   pragma Import(MSIL,get_ContextMenu,"get_ContextMenu");
   pragma Import(MSIL,get_Controls,"get_Controls");
   pragma Import(MSIL,get_DataBindings,"get_DataBindings");
   pragma Import(MSIL,get_Enabled,"get_Enabled");
   pragma Import(MSIL,get_Focused,"get_Focused");
   pragma Import(MSIL,get_Font,"get_Font");
   pragma Import(MSIL,get_ForeColor,"get_ForeColor");
   pragma Import(MSIL,get_Height,"get_Height");
   pragma Import(MSIL,get_Left,"get_Left");
   pragma Import(MSIL,get_Location,"get_Location");
   pragma Import(MSIL,get_MouseButtons,"get_MouseButtons");
   pragma Import(MSIL,get_MousePosition,"get_MousePosition");
   pragma Import(MSIL,get_Parent,"get_Parent");
   pragma Import(MSIL,get_Right,"get_Right");
   pragma Import(MSIL,get_Size,"get_Size");
   pragma Import(MSIL,get_Text,"get_Text");
   pragma Import(MSIL,get_Top,"get_Top");
   pragma Import(MSIL,get_TopLevelControl,"get_TopLevelControl");
   pragma Import(MSIL,get_Visible,"get_Visible");
   pragma Import(MSIL,get_Width,"get_Width");
   pragma Import(MSIL,Hide,"Hide");
   pragma Import(MSIL,Invalidate,"Invalidate");
   pragma Import(MSIL,Invoke,"Invoke");
   pragma Import(MSIL,PointToClient,"PointToClient");
   pragma Import(MSIL,PointToScreen,"PointToScreen");
   pragma Import(MSIL,RectangleToClient,"RectangleToClient");
   pragma Import(MSIL,RectangleToScreen,"RectangleToScreen");
   pragma Import(MSIL,Refresh,"Refresh");
   pragma Import(MSIL,remove_Click,"remove_Click");
   pragma Import(MSIL,remove_EnabledChanged,"remove_EnabledChanged");
   pragma Import(MSIL,remove_GotFocus,"remove_GotFocus");
   pragma Import(MSIL,remove_KeyDown,"remove_KeyDown");
   pragma Import(MSIL,remove_KeyPress,"remove_KeyPress");
   pragma Import(MSIL,remove_KeyUp,"remove_KeyUp");
   pragma Import(MSIL,remove_LostFocus,"remove_LostFocus");
   pragma Import(MSIL,remove_MouseDown,"remove_MouseDown");
   pragma Import(MSIL,remove_MouseMove,"remove_MouseMove");
   pragma Import(MSIL,remove_MouseUp,"remove_MouseUp");
   pragma Import(MSIL,remove_Paint,"remove_Paint");
   pragma Import(MSIL,remove_ParentChanged,"remove_ParentChanged");
   pragma Import(MSIL,remove_Resize,"remove_Resize");
   pragma Import(MSIL,remove_TextChanged,"remove_TextChanged");
   pragma Import(MSIL,remove_Validated,"remove_Validated");
   pragma Import(MSIL,remove_Validating,"remove_Validating");
   pragma Import(MSIL,SendToBack,"SendToBack");
   pragma Import(MSIL,set_BackColor,"set_BackColor");
   pragma Import(MSIL,set_BindingContext,"set_BindingContext");
   pragma Import(MSIL,set_Bounds,"set_Bounds");
   pragma Import(MSIL,set_Capture,"set_Capture");
   pragma Import(MSIL,set_ClientSize,"set_ClientSize");
   pragma Import(MSIL,set_ContextMenu,"set_ContextMenu");
   pragma Import(MSIL,set_Enabled,"set_Enabled");
   pragma Import(MSIL,set_Font,"set_Font");
   pragma Import(MSIL,set_ForeColor,"set_ForeColor");
   pragma Import(MSIL,set_Height,"set_Height");
   pragma Import(MSIL,set_Left,"set_Left");
   pragma Import(MSIL,set_Location,"set_Location");
   pragma Import(MSIL,set_Parent,"set_Parent");
   pragma Import(MSIL,set_Size,"set_Size");
   pragma Import(MSIL,set_Text,"set_Text");
   pragma Import(MSIL,set_Top,"set_Top");
   pragma Import(MSIL,set_Visible,"set_Visible");
   pragma Import(MSIL,set_Width,"set_Width");
   pragma Import(MSIL,Show,"Show");
   pragma Import(MSIL,Update,"Update");
end MSSyst.Windows.Forms.Control;
pragma Extensions_Allowed(Off);
pragma Import(MSIL,MSSyst.Windows.Forms.Control,
   ".ver 1:0:5000:0 .publickeytoken=( 96 9d b8 05 3d 33 22 ac )",
   "[System.Windows.Forms]System.Windows.Forms.Control");
