-- 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.Bitmap.Ref is access;
with type MSSyst.Drawing.Color.Valuetype is tagged;
with type MSSyst.Drawing.Graphics.Ref is access;
with type MSSyst.Drawing.Rectangle.Valuetype is tagged;
with MSSyst.Windows.Forms.ButtonBorderStyle;
with MSSyst.Windows.Forms.Border3DStyle;
with MSSyst.Windows.Forms.Border3DSide;
with MSSyst.Windows.Forms.ButtonState;
with MSSyst.Windows.Forms.CaptionButton;
with type MSSyst.Drawing.Size.Valuetype is tagged;
with type MSSyst.Drawing.Image.Ref is access;
with MSSyst.Windows.Forms.MenuGlyph;
with MSSyst.Windows.Forms.FrameStyle;
with type MSSyst.Drawing.Point.Valuetype is tagged;
with MSSyst.Windows.Forms.ScrollButton;
with type MSSyst.String.Ref is access;
with type MSSyst.Drawing.Font.Ref is access;
with type MSSyst.Drawing.RectangleF.Valuetype is tagged;
with type MSSyst.Drawing.StringFormat.Ref is access;
with type MSSyst.Object.Ref is access;
with type MSSyst.Type_k.Ref is access;
with MSSyst.Object;
package MSSyst.Windows.Forms.ControlPaint 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 is new MSSyst.Object.Typ with record
      null;
   end record;
   function CreateHBitmap16Bit(
      bitmap : MSSyst.Drawing.Bitmap.Ref;
      background : MSSyst.Drawing.Color.Valuetype) return MSIL_Types.native_int;
   function CreateHBitmapColorMask(
      bitmap : MSSyst.Drawing.Bitmap.Ref;
      monochromeMask : MSIL_Types.native_int) return MSIL_Types.native_int;
   function CreateHBitmapTransparencyMask(
      bitmap : MSSyst.Drawing.Bitmap.Ref) return MSIL_Types.native_int;
   function Dark(
      baseColor : MSSyst.Drawing.Color.Valuetype;
      percOfDarkDark : Float) return MSSyst.Drawing.Color.Valuetype;
   function Dark(
      baseColor : MSSyst.Drawing.Color.Valuetype) return MSSyst.Drawing.Color.Valuetype;
   function DarkDark(
      baseColor : MSSyst.Drawing.Color.Valuetype) return MSSyst.Drawing.Color.Valuetype;
   procedure DrawBorder(
      graphics : MSSyst.Drawing.Graphics.Ref;
      bounds : MSSyst.Drawing.Rectangle.Valuetype;
      leftColor : MSSyst.Drawing.Color.Valuetype;
      leftWidth : Integer;
      leftStyle : MSSyst.Windows.Forms.ButtonBorderStyle.Valuetype;
      topColor : MSSyst.Drawing.Color.Valuetype;
      topWidth : Integer;
      topStyle : MSSyst.Windows.Forms.ButtonBorderStyle.Valuetype;
      rightColor : MSSyst.Drawing.Color.Valuetype;
      rightWidth : Integer;
      rightStyle : MSSyst.Windows.Forms.ButtonBorderStyle.Valuetype;
      bottomColor : MSSyst.Drawing.Color.Valuetype;
      bottomWidth : Integer;
      bottomStyle : MSSyst.Windows.Forms.ButtonBorderStyle.Valuetype);
   procedure DrawBorder(
      graphics : MSSyst.Drawing.Graphics.Ref;
      bounds : MSSyst.Drawing.Rectangle.Valuetype;
      color : MSSyst.Drawing.Color.Valuetype;
      style : MSSyst.Windows.Forms.ButtonBorderStyle.Valuetype);
   procedure DrawBorder3D(
      graphics : MSSyst.Drawing.Graphics.Ref;
      rectangle : MSSyst.Drawing.Rectangle.Valuetype;
      style : MSSyst.Windows.Forms.Border3DStyle.Valuetype;
      sides : MSSyst.Windows.Forms.Border3DSide.Valuetype);
   procedure DrawBorder3D(
      graphics : MSSyst.Drawing.Graphics.Ref;
      rectangle : MSSyst.Drawing.Rectangle.Valuetype;
      style : MSSyst.Windows.Forms.Border3DStyle.Valuetype);
   procedure DrawBorder3D(
      graphics : MSSyst.Drawing.Graphics.Ref;
      x : Integer;
      y : Integer;
      width : Integer;
      height : Integer);
   procedure DrawBorder3D(
      graphics : MSSyst.Drawing.Graphics.Ref;
      x : Integer;
      y : Integer;
      width : Integer;
      height : Integer;
      style : MSSyst.Windows.Forms.Border3DStyle.Valuetype;
      sides : MSSyst.Windows.Forms.Border3DSide.Valuetype);
   procedure DrawBorder3D(
      graphics : MSSyst.Drawing.Graphics.Ref;
      x : Integer;
      y : Integer;
      width : Integer;
      height : Integer;
      style : MSSyst.Windows.Forms.Border3DStyle.Valuetype);
   procedure DrawBorder3D(
      graphics : MSSyst.Drawing.Graphics.Ref;
      rectangle : MSSyst.Drawing.Rectangle.Valuetype);
   procedure DrawButton(
      graphics : MSSyst.Drawing.Graphics.Ref;
      x : Integer;
      y : Integer;
      width : Integer;
      height : Integer;
      state : MSSyst.Windows.Forms.ButtonState.Valuetype);
   procedure DrawButton(
      graphics : MSSyst.Drawing.Graphics.Ref;
      rectangle : MSSyst.Drawing.Rectangle.Valuetype;
      state : MSSyst.Windows.Forms.ButtonState.Valuetype);
   procedure DrawCaptionButton(
      graphics : MSSyst.Drawing.Graphics.Ref;
      x : Integer;
      y : Integer;
      width : Integer;
      height : Integer;
      button : MSSyst.Windows.Forms.CaptionButton.Valuetype;
      state : MSSyst.Windows.Forms.ButtonState.Valuetype);
   procedure DrawCaptionButton(
      graphics : MSSyst.Drawing.Graphics.Ref;
      rectangle : MSSyst.Drawing.Rectangle.Valuetype;
      button : MSSyst.Windows.Forms.CaptionButton.Valuetype;
      state : MSSyst.Windows.Forms.ButtonState.Valuetype);
   procedure DrawCheckBox(
      graphics : MSSyst.Drawing.Graphics.Ref;
      x : Integer;
      y : Integer;
      width : Integer;
      height : Integer;
      state : MSSyst.Windows.Forms.ButtonState.Valuetype);
   procedure DrawCheckBox(
      graphics : MSSyst.Drawing.Graphics.Ref;
      rectangle : MSSyst.Drawing.Rectangle.Valuetype;
      state : MSSyst.Windows.Forms.ButtonState.Valuetype);
   procedure DrawComboButton(
      graphics : MSSyst.Drawing.Graphics.Ref;
      x : Integer;
      y : Integer;
      width : Integer;
      height : Integer;
      state : MSSyst.Windows.Forms.ButtonState.Valuetype);
   procedure DrawComboButton(
      graphics : MSSyst.Drawing.Graphics.Ref;
      rectangle : MSSyst.Drawing.Rectangle.Valuetype;
      state : MSSyst.Windows.Forms.ButtonState.Valuetype);
   procedure DrawContainerGrabHandle(
      graphics : MSSyst.Drawing.Graphics.Ref;
      bounds : MSSyst.Drawing.Rectangle.Valuetype);
   procedure DrawFocusRectangle(
      graphics : MSSyst.Drawing.Graphics.Ref;
      rectangle : MSSyst.Drawing.Rectangle.Valuetype);
   procedure DrawFocusRectangle(
      graphics : MSSyst.Drawing.Graphics.Ref;
      rectangle : MSSyst.Drawing.Rectangle.Valuetype;
      foreColor : MSSyst.Drawing.Color.Valuetype;
      backColor : MSSyst.Drawing.Color.Valuetype);
   procedure DrawGrabHandle(
      graphics : MSSyst.Drawing.Graphics.Ref;
      rectangle : MSSyst.Drawing.Rectangle.Valuetype;
      primary : Standard.Boolean;
      enabled : Standard.Boolean);
   procedure DrawGrid(
      graphics : MSSyst.Drawing.Graphics.Ref;
      area : MSSyst.Drawing.Rectangle.Valuetype;
      pixelsBetweenDots : MSSyst.Drawing.Size.Valuetype;
      backColor : MSSyst.Drawing.Color.Valuetype);
   procedure DrawImageDisabled(
      graphics : MSSyst.Drawing.Graphics.Ref;
      image : MSSyst.Drawing.Image.Ref;
      x : Integer;
      y : Integer;
      background : MSSyst.Drawing.Color.Valuetype);
   procedure DrawLockedFrame(
      graphics : MSSyst.Drawing.Graphics.Ref;
      rectangle : MSSyst.Drawing.Rectangle.Valuetype;
      primary : Standard.Boolean);
   procedure DrawMenuGlyph(
      graphics : MSSyst.Drawing.Graphics.Ref;
      rectangle : MSSyst.Drawing.Rectangle.Valuetype;
      glyph : MSSyst.Windows.Forms.MenuGlyph.Valuetype);
   procedure DrawMenuGlyph(
      graphics : MSSyst.Drawing.Graphics.Ref;
      x : Integer;
      y : Integer;
      width : Integer;
      height : Integer;
      glyph : MSSyst.Windows.Forms.MenuGlyph.Valuetype);
   procedure DrawMixedCheckBox(
      graphics : MSSyst.Drawing.Graphics.Ref;
      rectangle : MSSyst.Drawing.Rectangle.Valuetype;
      state : MSSyst.Windows.Forms.ButtonState.Valuetype);
   procedure DrawMixedCheckBox(
      graphics : MSSyst.Drawing.Graphics.Ref;
      x : Integer;
      y : Integer;
      width : Integer;
      height : Integer;
      state : MSSyst.Windows.Forms.ButtonState.Valuetype);
   procedure DrawRadioButton(
      graphics : MSSyst.Drawing.Graphics.Ref;
      rectangle : MSSyst.Drawing.Rectangle.Valuetype;
      state : MSSyst.Windows.Forms.ButtonState.Valuetype);
   procedure DrawRadioButton(
      graphics : MSSyst.Drawing.Graphics.Ref;
      x : Integer;
      y : Integer;
      width : Integer;
      height : Integer;
      state : MSSyst.Windows.Forms.ButtonState.Valuetype);
   procedure DrawReversibleFrame(
      rectangle : MSSyst.Drawing.Rectangle.Valuetype;
      backColor : MSSyst.Drawing.Color.Valuetype;
      style : MSSyst.Windows.Forms.FrameStyle.Valuetype);
   procedure DrawReversibleLine(
      start : MSSyst.Drawing.Point.Valuetype;
      end_k : MSSyst.Drawing.Point.Valuetype;
      backColor : MSSyst.Drawing.Color.Valuetype);
   procedure DrawScrollButton(
      graphics : MSSyst.Drawing.Graphics.Ref;
      x : Integer;
      y : Integer;
      width : Integer;
      height : Integer;
      button : MSSyst.Windows.Forms.ScrollButton.Valuetype;
      state : MSSyst.Windows.Forms.ButtonState.Valuetype);
   procedure DrawScrollButton(
      graphics : MSSyst.Drawing.Graphics.Ref;
      rectangle : MSSyst.Drawing.Rectangle.Valuetype;
      button : MSSyst.Windows.Forms.ScrollButton.Valuetype;
      state : MSSyst.Windows.Forms.ButtonState.Valuetype);
   procedure DrawSelectionFrame(
      graphics : MSSyst.Drawing.Graphics.Ref;
      active : Standard.Boolean;
      outsideRect : MSSyst.Drawing.Rectangle.Valuetype;
      insideRect : MSSyst.Drawing.Rectangle.Valuetype;
      backColor : MSSyst.Drawing.Color.Valuetype);
   procedure DrawSizeGrip(
      graphics : MSSyst.Drawing.Graphics.Ref;
      backColor : MSSyst.Drawing.Color.Valuetype;
      bounds : MSSyst.Drawing.Rectangle.Valuetype);
   procedure DrawSizeGrip(
      graphics : MSSyst.Drawing.Graphics.Ref;
      backColor : MSSyst.Drawing.Color.Valuetype;
      x : Integer;
      y : Integer;
      width : Integer;
      height : Integer);
   procedure DrawStringDisabled(
      graphics : MSSyst.Drawing.Graphics.Ref;
      s : MSSyst.String.Ref;
      font : MSSyst.Drawing.Font.Ref;
      color : MSSyst.Drawing.Color.Valuetype;
      layoutRectangle : MSSyst.Drawing.RectangleF.Valuetype;
      format : MSSyst.Drawing.StringFormat.Ref);
   procedure FillReversibleRectangle(
      rectangle : MSSyst.Drawing.Rectangle.Valuetype;
      backColor : MSSyst.Drawing.Color.Valuetype);
   function get_ContrastControlDark return MSSyst.Drawing.Color.Valuetype;
   function Light(
      baseColor : MSSyst.Drawing.Color.Valuetype) return MSSyst.Drawing.Color.Valuetype;
   function Light(
      baseColor : MSSyst.Drawing.Color.Valuetype;
      percOfLightLight : Float) return MSSyst.Drawing.Color.Valuetype;
   function LightLight(
      baseColor : MSSyst.Drawing.Color.Valuetype) return MSSyst.Drawing.Color.Valuetype;
private
   pragma Convention(MSIL,Typ);
   pragma Import(MSIL,CreateHBitmap16Bit,"CreateHBitmap16Bit");
   pragma Import(MSIL,CreateHBitmapColorMask,"CreateHBitmapColorMask");
   pragma Import(MSIL,CreateHBitmapTransparencyMask,"CreateHBitmapTransparencyMask");
   pragma Import(MSIL,Dark,"Dark");
   pragma Import(MSIL,DarkDark,"DarkDark");
   pragma Import(MSIL,DrawBorder,"DrawBorder");
   pragma Import(MSIL,DrawBorder3D,"DrawBorder3D");
   pragma Import(MSIL,DrawButton,"DrawButton");
   pragma Import(MSIL,DrawCaptionButton,"DrawCaptionButton");
   pragma Import(MSIL,DrawCheckBox,"DrawCheckBox");
   pragma Import(MSIL,DrawComboButton,"DrawComboButton");
   pragma Import(MSIL,DrawContainerGrabHandle,"DrawContainerGrabHandle");
   pragma Import(MSIL,DrawFocusRectangle,"DrawFocusRectangle");
   pragma Import(MSIL,DrawGrabHandle,"DrawGrabHandle");
   pragma Import(MSIL,DrawGrid,"DrawGrid");
   pragma Import(MSIL,DrawImageDisabled,"DrawImageDisabled");
   pragma Import(MSIL,DrawLockedFrame,"DrawLockedFrame");
   pragma Import(MSIL,DrawMenuGlyph,"DrawMenuGlyph");
   pragma Import(MSIL,DrawMixedCheckBox,"DrawMixedCheckBox");
   pragma Import(MSIL,DrawRadioButton,"DrawRadioButton");
   pragma Import(MSIL,DrawReversibleFrame,"DrawReversibleFrame");
   pragma Import(MSIL,DrawReversibleLine,"DrawReversibleLine");
   pragma Import(MSIL,DrawScrollButton,"DrawScrollButton");
   pragma Import(MSIL,DrawSelectionFrame,"DrawSelectionFrame");
   pragma Import(MSIL,DrawSizeGrip,"DrawSizeGrip");
   pragma Import(MSIL,DrawStringDisabled,"DrawStringDisabled");
   pragma Import(MSIL,FillReversibleRectangle,"FillReversibleRectangle");
   pragma Import(MSIL,get_ContrastControlDark,"get_ContrastControlDark");
   pragma Import(MSIL,Light,"Light");
   pragma Import(MSIL,LightLight,"LightLight");
end MSSyst.Windows.Forms.ControlPaint;
pragma Extensions_Allowed(Off);
pragma Import(MSIL,MSSyst.Windows.Forms.ControlPaint,
   ".ver 1:0:3300:0 .publickeytoken=( b7 7a 5c 56 19 34 e0 89 )",
   "[System.Windows.Forms]System.Windows.Forms.ControlPaint");
