// Copyright (C) 2010, Guy Barrand. All rights reserved.
// See the file tools.license for terms.

#ifndef tools_colorfs
#define tools_colorfs

#include "colors"
#include "colorf"

namespace tools {

#define TOOLS_COLORFS_STAT(a__name,a__r,a__g,a__b) \
  inline const colorf& colorf_##a__name() {return get_color_##a__name<colorf>();}

//NOTE : false in the upper so that mem balance is ok at exit.

//0-9
TOOLS_COLORFS_STAT(aquamarine,0.496101F,0.996109F,0.828138F)
TOOLS_COLORFS_STAT(mediumaquamarine,0.398444F,0.800793F,0.664073F)
TOOLS_COLORFS_STAT(black,0,0,0)
TOOLS_COLORFS_STAT(blue,0,0,1)
TOOLS_COLORFS_STAT(cadetblue,0.371099F,0.617197F,0.62501F)
TOOLS_COLORFS_STAT(cornflowerblue,0.390631F,0.58204F,0.925795F)
TOOLS_COLORFS_STAT(darkslateblue,0.281254F,0.238285F,0.542977F)
TOOLS_COLORFS_STAT(lightblue,0.675792F,0.843763F,0.898451F)
TOOLS_COLORFS_STAT(lightsteelblue,0.68751F,0.765637F,0.867201F)
TOOLS_COLORFS_STAT(mediumblue,0,0,0.800793F)
 
//10-19
TOOLS_COLORFS_STAT(mediumslateblue,0.480476F,0.406256F,0.929702F)
TOOLS_COLORFS_STAT(midnightblue,0.0976577F,0.0976577F,0.437507F)
TOOLS_COLORFS_STAT(navyblue,0,0,0.500008F)
TOOLS_COLORFS_STAT(navy,0,0,0.500008F)
TOOLS_COLORFS_STAT(skyblue,0.527352F,0.8047F,0.917983F)
TOOLS_COLORFS_STAT(slateblue,0.414069F,0.351568F,0.800793F)
TOOLS_COLORFS_STAT(steelblue,0.273442F,0.50782F,0.703136F)
TOOLS_COLORFS_STAT(coral,0.996109F,0.496101F,0.312505F)
TOOLS_COLORFS_STAT(cyan,0,1,1)
TOOLS_COLORFS_STAT(firebrick,0.695323F,0.132815F,0.132815F)
      
//20-29
TOOLS_COLORFS_STAT(brown,0.644541F,0.164065F,0.164065F)
TOOLS_COLORFS_STAT(gold,0.996109F,0.839857F,0)
TOOLS_COLORFS_STAT(goldenrod,0.851575F,0.644541F,0.125002F)
TOOLS_COLORFS_STAT(green,0,1,0)
TOOLS_COLORFS_STAT(darkgreen,0,0.390631F,0)
TOOLS_COLORFS_STAT(darkolivegreen,0.332036F,0.417975F,0.183597F)
TOOLS_COLORFS_STAT(forestgreen,0.132815F,0.542977F,0.132815F)
TOOLS_COLORFS_STAT(limegreen,0.195315F,0.800793F,0.195315F)
TOOLS_COLORFS_STAT(mediumseagreen,0.234379F,0.699229F,0.441413F)
TOOLS_COLORFS_STAT(mediumspringgreen,0,0.976577F,0.601572F)
      
//30-39
TOOLS_COLORFS_STAT(palegreen,0.593759F,0.980484F,0.593759F)
TOOLS_COLORFS_STAT(seagreen,0.17969F,0.542977F,0.339849F)
TOOLS_COLORFS_STAT(springgreen,0,0.996109F,0.496101F)
TOOLS_COLORFS_STAT(yellowgreen,0.601572F,0.800793F,0.195315F)
TOOLS_COLORFS_STAT(darkslategrey,0.183597F,0.308598F,0.308598F)
TOOLS_COLORFS_STAT(dimgrey,0.410163F,0.410163F,0.410163F)
TOOLS_COLORFS_STAT(lightgrey,0.824231F,0.824231F,0.824231F)
TOOLS_COLORFS_STAT(grey,0.750011F,0.750011F,0.750011F)
TOOLS_COLORFS_STAT(khaki,0.937514F,0.898451F,0.546883F)
TOOLS_COLORFS_STAT(magenta,1,0,1)

//40-49
TOOLS_COLORFS_STAT(maroon,0.68751F,0.187503F,0.375006F)
TOOLS_COLORFS_STAT(orange,0.996109F,0.644541F,0)
TOOLS_COLORFS_STAT(orchid,0.851575F,0.437507F,0.83595F)
TOOLS_COLORFS_STAT(darkorchid,0.597665F,0.195315F,0.796887F)
TOOLS_COLORFS_STAT(mediumorchid,0.726574F,0.332036F,0.824231F)
TOOLS_COLORFS_STAT(pink,0.996109F,0.750011F,0.792981F)
TOOLS_COLORFS_STAT(plum,0.863294F,0.62501F,0.863294F)
TOOLS_COLORFS_STAT(red,1,0,0)
TOOLS_COLORFS_STAT(indianred,0.800793F,0.35938F,0.35938F)
TOOLS_COLORFS_STAT(mediumvioletred,0.777356F,0.0820325F,0.519539F)
      
//50-59
TOOLS_COLORFS_STAT(orangered,0.996109F,0.269535F,0)
TOOLS_COLORFS_STAT(violetred,0.812512F,0.125002F,0.562509F)
TOOLS_COLORFS_STAT(salmon,0.976577F,0.500008F,0.445319F)
TOOLS_COLORFS_STAT(sienna,0.62501F,0.320317F,0.175784F)
TOOLS_COLORFS_STAT(tan,0.820325F,0.703136F,0.546883F)
TOOLS_COLORFS_STAT(thistle,0.843763F,0.746105F,0.843763F)
TOOLS_COLORFS_STAT(turquoise,0.250004F,0.875013F,0.812512F)
TOOLS_COLORFS_STAT(darkturquoise,0,0.8047F,0.816419F)
TOOLS_COLORFS_STAT(mediumturquoise,0.281254F,0.816419F,0.796887F)
TOOLS_COLORFS_STAT(violet,0.929702F,0.50782F,0.929702F)

//60-64
TOOLS_COLORFS_STAT(blueviolet,0.539071F,0.167971F,0.882826F)
TOOLS_COLORFS_STAT(wheat,0.957046F,0.867201F,0.699229F)
TOOLS_COLORFS_STAT(white,1,1,1)
TOOLS_COLORFS_STAT(yellow,1,1,0)
TOOLS_COLORFS_STAT(greenyellow,0.675792F,0.996109F,0.18359F)

#undef TOOLS_COLORFS_STAT

}

#endif
