-------------------------------------------------------------------------------
--                                                                           --
--                          Mandelbrot Set Generator                         --
--                                                                           --
--                             Mandelbrot_Set.ads                            --
--                                                                           --
--                                   SPEC                                    --
--                                                                           --
--                   Copyright (C) 1996 Ulrik Hørlyk Hjort                   --
--                                                                           --
--  Mandelbrot Set Generator is free software;  you can  redistribute it     --
--  and/or modify it under terms of the  GNU General Public License          --
--  as published  by the Free Software  Foundation;  either version 2,       --
--  or (at your option) any later version.                                   --
--  Mandelbrot Set Generator 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 General Public License for  more details.                    --
--  You should have  received  a copy of the GNU General                     --
--  Public License  distributed with Yolk.  If not, write  to  the  Free     --
--  Software Foundation,  51  Franklin  Street,  Fifth  Floor, Boston,       --
--  MA 02110 - 1301, USA.                                                    --
--                                                                           --
-------------------------------------------------------------------------------
with Tga_Lib; use Tga_Lib;

package Mandelbrot_Set is


     type Color_Map_T is array(Positive range <>) of Unsigned_24;

     Colormap : Color_Map_T (1..256) :=
     (16#000000#, 16#0000a8#, 16#00a800#, 16#00a8a8#, 16#a80000#, 16#a800a8#, 16#a85400#, 16#A8a8a8#,
     16#545454#, 16#5454fc#, 16#54fc54#, 16#54fcfc#, 16#fc5454#, 16#fc54fc#, 16#fcfc54#, 16#Fcfcfc#,
     16#000000#, 16#141414#, 16#202020#, 16#2c2c2c#, 16#383838#, 16#444444#, 16#505050#, 16#606060#,
     16#707070#, 16#808080#, 16#909090#, 16#a0a0a0#, 16#b4b4b4#, 16#c8c8c8#, 16#e0e0e0#, 16#Fcfcfc#,
     16#0000fc#, 16#4000fc#, 16#7c00fc#, 16#bc00fc#, 16#fc00fc#, 16#fc00bc#, 16#fc007c#, 16#Fc0040#,
     16#fc0000#, 16#fc4000#, 16#fc7c00#, 16#fcbc00#, 16#fcfc00#, 16#bcfc00#, 16#7cfc00#, 16#40fc00#,
     16#00fc00#, 16#00fc40#, 16#00fc7c#, 16#00fcbc#, 16#00fcfc#, 16#00bcfc#, 16#007cfc#, 16#0040fc#,
     16#7c7cfc#, 16#9c7cfc#, 16#bc7cfc#, 16#dc7cfc#, 16#fc7cfc#, 16#fc7cdc#, 16#fc7cbc#, 16#Fc7c9c#,
     16#fc7c7c#, 16#fc9c7c#, 16#fcbc7c#, 16#fcdc7c#, 16#fcfc7c#, 16#dcfc7c#, 16#bcfc7c#, 16#9cfc7c#,
     16#7cfc7c#, 16#7cfc9c#, 16#7cfcbc#, 16#7cfcdc#, 16#7cfcfc#, 16#7cdcfc#, 16#7cbcfc#, 16#7c9cfc#,
     16#b4b4fc#, 16#c4b4fc#, 16#d8b4fc#, 16#e8b4fc#, 16#fcb4fc#, 16#fcb4e8#, 16#fcb4d8#, 16#Fcb4c4#,
     16#fcb4b4#, 16#fcc4b4#, 16#fcd8b4#, 16#fce8b4#, 16#fcfcb4#, 16#e8fcb4#, 16#d8fcb4#, 16#C4fcb4#,
     16#b4fcb4#, 16#b4fcc4#, 16#b4fcd8#, 16#b4fce8#, 16#b4fcfc#, 16#b4e8fc#, 16#b4d8fc#, 16#B4c4fc#,
     16#000070#, 16#1c0070#, 16#380070#, 16#540070#, 16#700070#, 16#700054#, 16#700038#, 16#70001c#,
     16#700000#, 16#701c00#, 16#703800#, 16#705400#, 16#707000#, 16#547000#, 16#387000#, 16#1c7000#,
     16#007000#, 16#00701c#, 16#007038#, 16#007054#, 16#007070#, 16#005470#, 16#003870#, 16#001c70#,
     16#383870#, 16#443870#, 16#543870#, 16#603870#, 16#703870#, 16#703860#, 16#703854#, 16#703844#,
     16#703838#, 16#704438#, 16#705438#, 16#706038#, 16#707038#, 16#607038#, 16#547038#, 16#447038#,
     16#387038#, 16#387044#, 16#387054#, 16#387060#, 16#387070#, 16#386070#, 16#385470#, 16#384470#,
     16#505070#, 16#585070#, 16#605070#, 16#685070#, 16#705070#, 16#705068#, 16#705060#, 16#705058#,
     16#705050#, 16#705850#, 16#706050#, 16#706850#, 16#707050#, 16#687050#, 16#607050#, 16#587050#,
     16#507050#, 16#507058#, 16#507060#, 16#507068#, 16#507070#, 16#506870#, 16#506070#, 16#505870#,
     16#000040#, 16#100040#, 16#200040#, 16#300040#, 16#400040#, 16#400030#, 16#400020#, 16#400010#,
     16#400000#, 16#401000#, 16#402000#, 16#403000#, 16#404000#, 16#304000#, 16#204000#, 16#104000#,
     16#004000#, 16#004010#, 16#004020#, 16#004030#, 16#004040#, 16#003040#, 16#002040#, 16#001040#,
     16#202040#, 16#282040#, 16#302040#, 16#382040#, 16#402040#, 16#402038#, 16#402030#, 16#402028#,
     16#402020#, 16#402820#, 16#403020#, 16#403820#, 16#404020#, 16#384020#, 16#304020#, 16#284020#,
     16#204020#, 16#204028#, 16#204030#, 16#204038#, 16#204040#, 16#203840#, 16#203040#, 16#202840#,
     16#2c2c40#, 16#302c40#, 16#342c40#, 16#3c2c40#, 16#402c40#, 16#402c3c#, 16#402c34#, 16#402c30#,
     16#402c2c#, 16#40302c#, 16#40342c#, 16#403c2c#, 16#40402c#, 16#3c402c#, 16#34402c#, 16#30402c#,
     16#2c402c#, 16#2c4030#, 16#2c4034#, 16#2c403c#, 16#2c4040#, 16#2c3c40#, 16#2c3440#, 16#2c3040#,
     16#000000#, 16#000000#, 16#000000#, 16#000000#, 16#000000#, 16#000000#, 16#000000#, 16#000000#);

   procedure Generate(Filename : String; Image_Width : Positive; Image_Height : Positive);
end Mandelbrot_Set;
