-- $Date: 2004/03/08 10:50:56 $
-- $Revision: 1.6 $
-- $Author: jcrocholl $
-- $Hash: a25b43a1b5a8306b5f7328934985900a $

-- This file was automatically created with ado.php.
-- Manual changes will be lost when it is updated.

with Ada.Tags; use Ada.Tags;
with Glyph_Images; use Glyph_Images;
with Writers; use Writers;

with Strings; use Strings;

package Printers.PS is

   -- Public representation.
   type PS_Printer is new Printer with private;

   -- Work-around for GNAT bug.
   PS_Printer_Tag : constant String;

   -- Pointer to representation data.
   type PS_Printer_Access is access all PS_Printer;

   -- Constructor for instances.
   function Create
     (Filename : in String)    -- The initial filename.
     return PS_Printer_Access-- The newly created ps printer.

   function Get_Format
     (This : access PS_Printer-- The ps printer object instance.
     return String;             -- Maximum of four characters.

   procedure Print
     (This   : access PS_Printer-- The ps printer object instance.
      Add    : access Glyph;      -- Add this glyph.
      Center : in Vector);        -- Center coordinates.

   procedure Frame_Box
     (This  : access PS_Printer-- The ps printer object instance.
      Box   : in Rectangle;      -- Box coordinates.
      Color : in Gray_Pixel);    -- Use this color.

   procedure Fill_Box
     (This  : access PS_Printer-- The ps printer object instance.
      Box   : in Rectangle;      -- Box coordinates.
      Color : in Gray_Pixel);    -- Use this color.

   procedure Write
     (This : access PS_Printer); -- The ps printer object instance.

private

   -- Private representation.
   type PS_Printer is
     new Printer with null record;

   -- Work-around for GNAT bug.
   PS_Printer_Tag : constant String := "printers.ps.ps_printer";

end Printers.PS;