-- $Date: 2004/02/27 04:39:13 $
-- $Revision: 1.19 $
-- $Author: jcrocholl $

with Gray_Images; use Gray_Images;
with Real_Numbers; use Real_Numbers;
with Real_Vectors; use Real_Vectors;
with Interfaces;

package Glyph_Images is

   -- A glyph image of the size specified by Width and Height.
   type Glyph_Image(Width, Height : Positive) is
     new Gray_Image(Width, Height) with
      record
         Anti_Alias : Positive := 4; -- Factor for vertical anti-aliasing.
         Center     : Vector;        -- Relative position of the glyph's zero.
      end record;

   -- Access type for Glyph_Image_Record.
   type Glyph_Image_Access is access Glyph_Image;

   function Bounds_To_Image
     (Bounds       : in Rectangle;   -- Convert this rectangle.
      Staff_Height : in Real;        -- General zoom factor.
      Aspect_Ratio : in Real := 1.0) -- Horizontal extra zoom factor.
     return Glyph_Image_Access;      -- The resulting glyph image.

   procedure Black_Box
     (This   : access Glyph_Image;
      X1, X2 : in Real;
      Y1, Y2 : in Real);

end Glyph_Images;