-- 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.Runtime.Serialization.ISerializable.Ref is access;
with type MSSyst.ICloneable.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.String.Ref is access;
with type MSSyst.Drawing.Bitmap.Ref is access;
with type MSSyst.IO.Stream.Ref is access;
with MSSyst.Guid;
with type MSSyst.Drawing.Imaging.ColorPalette.Ref is access;
with type MSSyst.Drawing.SizeF.Valuetype is tagged;
with MSSyst.Drawing.Imaging.PixelFormat;
with type MSSyst.Drawing.Imaging.PropertyItem.Ref_array is access;
with type MSSyst.Drawing.Imaging.ImageFormat.Ref is access;
with type MSSyst.Drawing.Size.Valuetype is tagged;
with type MSSyst.Drawing.RectangleF.Valuetype is tagged;
with MSSyst.Drawing.GraphicsUnit;
with type MSSyst.Drawing.Imaging.EncoderParameters.Ref is access;
with type MSSyst.Drawing.Imaging.FrameDimension.Ref is access;
with type MSSyst.Drawing.Imaging.PropertyItem.Ref is access;
with type MSSyst.Drawing.Image.GetThumbnailImageAbort.Ref is access;
with MSSyst.Drawing.RotateFlipType;
with type MSSyst.Drawing.Imaging.ImageCodecInfo.Ref is access;
with MSSyst.MarshalByRefObject;
package MSSyst.Drawing.Image 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_ISerializable : MSSyst.Runtime.Serialization.ISerializable.Ref;
         I_ICloneable : MSSyst.ICloneable.Ref;
         I_IDisposable : MSSyst.IDisposable.Ref
      ) is new MSSyst.MarshalByRefObject.Typ with record
      null;
   end record;
   function Clone(
      This : access Typ) return MSSyst.Object.Ref;
   procedure Dispose(
      This : access Typ);
   function FromFile(
      filename : MSSyst.String.Ref) return MSSyst.Drawing.Image.Ref;
   function FromFile(
      filename : MSSyst.String.Ref;
      useEmbeddedColorManagement : Standard.Boolean) return MSSyst.Drawing.Image.Ref;
   function FromHbitmap(
      hbitmap : MSIL_Types.native_int) return MSSyst.Drawing.Bitmap.Ref;
   function FromHbitmap(
      hbitmap : MSIL_Types.native_int;
      hpalette : MSIL_Types.native_int) return MSSyst.Drawing.Bitmap.Ref;
   function FromStream(
      stream : MSSyst.IO.Stream.Ref) return MSSyst.Drawing.Image.Ref;
   function FromStream(
      stream : MSSyst.IO.Stream.Ref;
      useEmbeddedColorManagement : Standard.Boolean) return MSSyst.Drawing.Image.Ref;
   function get_Flags(
      This : access Typ) return Integer;
   function get_FrameDimensionsList(
      This : access Typ) return MSSyst.Guid.Valuetype_array;
   function get_Height(
      This : access Typ) return Integer;
   function get_HorizontalResolution(
      This : access Typ) return Float;
   function get_Palette(
      This : access Typ) return MSSyst.Drawing.Imaging.ColorPalette.Ref;
   function get_PhysicalDimension(
      This : access Typ) return MSSyst.Drawing.SizeF.Valuetype;
   function get_PixelFormat(
      This : access Typ) return MSSyst.Drawing.Imaging.PixelFormat.Valuetype;
   function get_PropertyIdList(
      This : access Typ) return MSIL_Types.Int32_Array;
   function get_PropertyItems(
      This : access Typ) return MSSyst.Drawing.Imaging.PropertyItem.Ref_array;
   function get_RawFormat(
      This : access Typ) return MSSyst.Drawing.Imaging.ImageFormat.Ref;
   function get_Size(
      This : access Typ) return MSSyst.Drawing.Size.Valuetype;
   function get_VerticalResolution(
      This : access Typ) return Float;
   function get_Width(
      This : access Typ) return Integer;
   function GetBounds(
      This : access Typ;
      pageUnit : MSSyst.Drawing.GraphicsUnit.Valuetype_addrof) return MSSyst.Drawing.RectangleF.Valuetype;
   function GetEncoderParameterList(
      This : access Typ;
      encoder : MSSyst.Guid.Valuetype) return MSSyst.Drawing.Imaging.EncoderParameters.Ref;
   function GetFrameCount(
      This : access Typ;
      dimension : MSSyst.Drawing.Imaging.FrameDimension.Ref) return Integer;
   function GetPixelFormatSize(
      pixfmt : MSSyst.Drawing.Imaging.PixelFormat.Valuetype) return Integer;
   function GetPropertyItem(
      This : access Typ;
      propid : Integer) return MSSyst.Drawing.Imaging.PropertyItem.Ref;
   function GetThumbnailImage(
      This : access Typ;
      thumbWidth : Integer;
      thumbHeight : Integer;
      callback : MSSyst.Drawing.Image.GetThumbnailImageAbort.Ref;
      callbackData : MSIL_Types.native_int) return MSSyst.Drawing.Image.Ref;
   function IsAlphaPixelFormat(
      pixfmt : MSSyst.Drawing.Imaging.PixelFormat.Valuetype) return Standard.Boolean;
   function IsCanonicalPixelFormat(
      pixfmt : MSSyst.Drawing.Imaging.PixelFormat.Valuetype) return Standard.Boolean;
   function IsExtendedPixelFormat(
      pixfmt : MSSyst.Drawing.Imaging.PixelFormat.Valuetype) return Standard.Boolean;
   procedure RemovePropertyItem(
      This : access Typ;
      propid : Integer);
   procedure RotateFlip(
      This : access Typ;
      rotateFlipType : MSSyst.Drawing.RotateFlipType.Valuetype);
   procedure Save(
      This : access Typ;
      filename : MSSyst.String.Ref;
      format : MSSyst.Drawing.Imaging.ImageFormat.Ref);
   procedure Save(
      This : access Typ;
      stream : MSSyst.IO.Stream.Ref;
      encoder : MSSyst.Drawing.Imaging.ImageCodecInfo.Ref;
      encoderParams : MSSyst.Drawing.Imaging.EncoderParameters.Ref);
   procedure Save(
      This : access Typ;
      filename : MSSyst.String.Ref);
   procedure Save(
      This : access Typ;
      filename : MSSyst.String.Ref;
      encoder : MSSyst.Drawing.Imaging.ImageCodecInfo.Ref;
      encoderParams : MSSyst.Drawing.Imaging.EncoderParameters.Ref);
   procedure Save(
      This : access Typ;
      stream : MSSyst.IO.Stream.Ref;
      format : MSSyst.Drawing.Imaging.ImageFormat.Ref);
   procedure SaveAdd(
      This : access Typ;
      image : MSSyst.Drawing.Image.Ref;
      encoderParams : MSSyst.Drawing.Imaging.EncoderParameters.Ref);
   procedure SaveAdd(
      This : access Typ;
      encoderParams : MSSyst.Drawing.Imaging.EncoderParameters.Ref);
   function SelectActiveFrame(
      This : access Typ;
      dimension : MSSyst.Drawing.Imaging.FrameDimension.Ref;
      frameIndex : Integer) return Integer;
   procedure set_Palette(
      This : access Typ;
      value : MSSyst.Drawing.Imaging.ColorPalette.Ref);
   procedure SetPropertyItem(
      This : access Typ;
      propitem : MSSyst.Drawing.Imaging.PropertyItem.Ref);
private
   pragma Convention(MSIL,Typ);
   pragma Import(MSIL,Clone,"Clone");
   pragma Import(MSIL,Dispose,"Dispose");
   pragma Import(MSIL,FromFile,"FromFile");
   pragma Import(MSIL,FromHbitmap,"FromHbitmap");
   pragma Import(MSIL,FromStream,"FromStream");
   pragma Import(MSIL,get_Flags,"get_Flags");
   pragma Import(MSIL,get_FrameDimensionsList,"get_FrameDimensionsList");
   pragma Import(MSIL,get_Height,"get_Height");
   pragma Import(MSIL,get_HorizontalResolution,"get_HorizontalResolution");
   pragma Import(MSIL,get_Palette,"get_Palette");
   pragma Import(MSIL,get_PhysicalDimension,"get_PhysicalDimension");
   pragma Import(MSIL,get_PixelFormat,"get_PixelFormat");
   pragma Import(MSIL,get_PropertyIdList,"get_PropertyIdList");
   pragma Import(MSIL,get_PropertyItems,"get_PropertyItems");
   pragma Import(MSIL,get_RawFormat,"get_RawFormat");
   pragma Import(MSIL,get_Size,"get_Size");
   pragma Import(MSIL,get_VerticalResolution,"get_VerticalResolution");
   pragma Import(MSIL,get_Width,"get_Width");
   pragma Import(MSIL,GetBounds,"GetBounds");
   pragma Import(MSIL,GetEncoderParameterList,"GetEncoderParameterList");
   pragma Import(MSIL,GetFrameCount,"GetFrameCount");
   pragma Import(MSIL,GetPixelFormatSize,"GetPixelFormatSize");
   pragma Import(MSIL,GetPropertyItem,"GetPropertyItem");
   pragma Import(MSIL,GetThumbnailImage,"GetThumbnailImage");
   pragma Import(MSIL,IsAlphaPixelFormat,"IsAlphaPixelFormat");
   pragma Import(MSIL,IsCanonicalPixelFormat,"IsCanonicalPixelFormat");
   pragma Import(MSIL,IsExtendedPixelFormat,"IsExtendedPixelFormat");
   pragma Import(MSIL,RemovePropertyItem,"RemovePropertyItem");
   pragma Import(MSIL,RotateFlip,"RotateFlip");
   pragma Import(MSIL,Save,"Save");
   pragma Import(MSIL,SaveAdd,"SaveAdd");
   pragma Import(MSIL,SelectActiveFrame,"SelectActiveFrame");
   pragma Import(MSIL,set_Palette,"set_Palette");
   pragma Import(MSIL,SetPropertyItem,"SetPropertyItem");
end MSSyst.Drawing.Image;
pragma Extensions_Allowed(Off);
pragma Import(MSIL,MSSyst.Drawing.Image,
   ".ver 1:0:3300:0 .publickeytoken=( b0 3f 5f 7f 11 d5 0a 3a )",
   "[System.Drawing]System.Drawing.Image");
