1 #ifndef  color_generic_make_purple
2 #define color_generic_make_purple
3 
4 // ::color::make::purple( c )
5 
6 // TODO #include "model.hpp"
7 #include "../constant/purple.hpp"
8 
9 
10  namespace color
11   {
12    namespace constant
13     {
14 
15      template< typename category_name >
16       struct make< ::color::constant::purple_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::purple_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.5 } };
28           container = s_model.container();
29          }
30        };
31 
32      template< typename category_name >
33       struct make< ::color::constant::x11::purple_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::purple_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.63, 0.13, 0.94 } };
45 
46           container = s_model.container();
47          }
48        };
49 
50      }
51 
52   }
53 
54 #endif
55