--------------------------------------------------------------------------------
--                                                                            --
-- Copyright (C) 2004, RISC OS Ada Library (RASCAL) developers.               --
--                                                                            --
-- This library is free software; you can redistribute it and/or              --
-- modify it under the terms of the GNU Lesser General Public                 --
-- License as published by the Free Software Foundation; either               --
-- version 2.1 of the License, or (at your option) any later version.         --
--                                                                            --
-- This library is distributed in the hope that it will be useful,            --
-- but WITHOUT ANY WARRANTY; without even the implied warranty of             --
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU           --
-- Lesser General Public License for more details.                            --
--                                                                            --
-- You should have received a copy of the GNU Lesser General Public           --
-- License along with this library; if not, write to the Free Software        --
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA    --
--                                                                            --
--------------------------------------------------------------------------------

-- @brief Binding to OS Plot.
-- $Author$
-- $Date$
-- $Revision$

package RASCAL.Plot is

   --

   Plot_Solid                : constant := 16#0#;
   Plot_Solid_Ex_End         : constant := 16#8#;
   Plot_Dotted               : constant := 16#10#;
   Plot_Dotted_Ex_End        : constant := 16#18#;
   Plot_Solid_Ex_Start       : constant := 16#20#;
   Plot_Solid_Ex_Both        : constant := 16#28#;
   Plot_Dotted_Ex_Start      : constant := 16#30#;
   Plot_Dotted_Ex_Both       : constant := 16#38#;
   Plot_Point                : constant := 16#40#;
   Plot_Horizontal_To_Non_BG : constant := 16#48#;
   Plot_Triangle             : constant := 16#50#;
   Plot_Right_To_BG          : constant := 16#58#;
   Plot_Rectangle            : constant := 16#60#;
   Plot_Horizontal_To_FG     : constant := 16#68#;
   Plot_Parallelogram        : constant := 16#70#;
   Plot_Right_To_Non_FG      : constant := 16#78#;
   Plot_Flood_To_Non_BG      : constant := 16#80#;
   Plot_Flood_To_FG          : constant := 16#88#;
   Plot_Circle_Outline       : constant := 16#90#;
   Plot_Circle               : constant := 16#98#;
   Plot_Arc                  : constant := 16#a0#;
   Plot_Segment              : constant := 16#a8#;
   Plot_Sector               : constant := 16#b0#;
   Plot_Block                : constant := 16#b8#;
   Plot_Ellipse_Outline      : constant := 16#c0#;
   Plot_Ellipse              : constant := 16#c8#;
   Move_By                   : constant := 16#0#;
   Plot_By                   : constant := 16#1#;
   Plot_Inverse_By           : constant := 16#2#;
   Plot_BG_By                : constant := 16#3#;
   Move_To                   : constant := 16#4#;
   Plot_To                   : constant := 16#5#;
   Plot_Inverse_To           : constant := 16#6#;
   Plot_BG_To                : constant := 16#7#;

   --
   -- The plot method itself.
   --
   procedure Plot (Plot_Code : in Integer;
                   X         : in Integer;
                   Y         : in Integer);

end RASCAL.Plot;