-- $Date: 2004/01/02 04:26:36 $
-- $Revision: 1.12 $
-- $Author: jcrocholl $

with Images; use Images;
with Interfaces;

package Gray_Images is

   -- A gray pixel, represented by an octet (values 0 .. 255).
   subtype Gray_Pixel is Interfaces.Unsigned_8;

   -- An unconstrained one-dimensional array of gray pixels.
   type Gray_Pixel_Array is
     array(Positive range <>) of Gray_Pixel;
   pragma Pack(Gray_Pixel_Array);

   -- An unconstrained two-dimensional array of gray pixels.
   type Gray_Pixel_Array_2 is
     array(Positive range <>, Positive range <>) of Gray_Pixel;
   pragma Pack(Gray_Pixel_Array_2);

   -- A gray image of the size specified by Width and Height.
   type Gray_Image_Record(Width, Height : Positive) is
     new Image_Record(Width, Height) with
      record
         Pixels : Gray_Pixel_Array_2(1 .. Height, 1 .. Width);
      end record;

   -- Access type for Gray_Image and all inherited types.
   type Gray_Image is access all Gray_Image_Record;

end Gray_Images;