1 #ifndef  color_generic_make_maroon
2 #define color_generic_make_maroon
3 
4 // ::color::make::maroon( c )
5 
6 // TODO #include "model.hpp"
7 #include "../constant/maroon.hpp"
8 
9 
10  namespace color
11   {
12    namespace constant
13     {
14 
15      template< typename category_name >
16       struct make< ::color::constant::maroon_t, category_name >
17        {
18         typedef category_name                         category_type;
19         typedef ::color::model<category_type>            model_type;
20         typedef ::color::rgb<double>                       rgb_type;
21         typedef ::color::constant::maroon_t           constant_type;
22 
23         typedef typename ::color::trait::container<category_type>::output_type       container_output_type;
24 
processcolor::constant::make25         inline static void process( container_output_type & container )
26          {
27           static model_type  s_model{ rgb_type{ 0.5, 0, 0 } };
28           container = s_model.container();
29          }
30        };
31 
32      template< typename category_name >
33       struct make< ::color::constant::x11::maroon_t, category_name >
34        {
35         typedef category_name                        category_type;
36         typedef ::color::model<category_type>           model_type;
37         typedef ::color::rgb<double>                      rgb_type;
38         typedef ::color::constant::x11::maroon_t     constant_type;
39 
40         typedef typename ::color::trait::container<category_type>::output_type       container_output_type;
41 
processcolor::constant::make42         inline static void process( container_output_type & container )
43          {
44           static model_type  s_model{ rgb_type{ 0.69, 0.19, 0.38 } };
45 
46           container = s_model.container();
47          }
48        };
49 
50     }
51   }
52 
53 #endif
54