Milena (Olena)
User documentation 2.0a Id
|
00001 // Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development 00002 // Laboratory (LRDE) 00003 // 00004 // This file is part of Olena. 00005 // 00006 // Olena is free software: you can redistribute it and/or modify it under 00007 // the terms of the GNU General Public License as published by the Free 00008 // Software Foundation, version 2 of the License. 00009 // 00010 // Olena is distributed in the hope that it will be useful, 00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 // General Public License for more details. 00014 // 00015 // You should have received a copy of the GNU General Public License 00016 // along with Olena. If not, see <http://www.gnu.org/licenses/>. 00017 // 00018 // As a special exception, you may use this file as part of a free 00019 // software project without restriction. Specifically, if other files 00020 // instantiate templates or use macros or inline functions from this 00021 // file, or you compile this file and link it with other files to produce 00022 // an executable, this file does not by itself cause the resulting 00023 // executable to be covered by the GNU General Public License. This 00024 // exception does not however invalidate any other reasons why the 00025 // executable file might be covered by the GNU General Public License. 00026 00027 #ifndef MLN_LITERAL_COLORS_HH 00028 # define MLN_LITERAL_COLORS_HH 00029 00033 00034 # include <mln/core/concept/literal.hh> 00035 00036 namespace mln 00037 { 00038 00039 namespace literal 00040 { 00041 00043 struct red_t : public Literal<red_t> 00044 { 00045 // This default constructor is needed for compilation with gcc 00046 // 4.6.0, gcc 4.6.1 and Clang. 00047 red_t(); 00048 }; 00049 00051 struct green_t : public Literal<green_t> 00052 { 00053 // This default constructor is needed for compilation with gcc 00054 // 4.6.0, gcc 4.6.1 and Clang. 00055 green_t(); 00056 }; 00057 00059 struct blue_t : public Literal<blue_t> 00060 { 00061 // This default constructor is needed for compilation with gcc 00062 // 4.6.0, gcc 4.6.1 and Clang. 00063 blue_t(); 00064 }; 00065 00067 struct brown_t : public Literal<brown_t> 00068 { 00069 // This default constructor is needed for compilation with gcc 00070 // 4.6.0, gcc 4.6.1 and Clang. 00071 brown_t(); 00072 }; 00073 00075 struct lime_t : public Literal<lime_t> 00076 { 00077 // This default constructor is needed for compilation with gcc 00078 // 4.6.0, gcc 4.6.1 and Clang. 00079 lime_t(); 00080 }; 00081 00083 struct orange_t : public Literal<orange_t> 00084 { 00085 // This default constructor is needed for compilation with gcc 00086 // 4.6.0, gcc 4.6.1 and Clang. 00087 orange_t(); 00088 }; 00089 00091 struct pink_t : public Literal<pink_t> 00092 { 00093 // This default constructor is needed for compilation with gcc 00094 // 4.6.0, gcc 4.6.1 and Clang. 00095 pink_t(); 00096 }; 00097 00099 struct purple_t : public Literal<purple_t> 00100 { 00101 // This default constructor is needed for compilation with gcc 00102 // 4.6.0, gcc 4.6.1 and Clang. 00103 purple_t(); 00104 }; 00105 00107 struct teal_t : public Literal<teal_t> 00108 { 00109 // This default constructor is needed for compilation with gcc 00110 // 4.6.0, gcc 4.6.1 and Clang. 00111 teal_t(); 00112 }; 00113 00115 struct violet_t : public Literal<violet_t> 00116 { 00117 // This default constructor is needed for compilation with gcc 00118 // 4.6.0, gcc 4.6.1 and Clang. 00119 violet_t(); 00120 }; 00121 00123 struct cyan_t : public Literal<cyan_t> 00124 { 00125 // This default constructor is needed for compilation with gcc 00126 // 4.6.0, gcc 4.6.1 and Clang. 00127 cyan_t(); 00128 }; 00129 00131 struct magenta_t : public Literal<magenta_t> 00132 { 00133 // This default constructor is needed for compilation with gcc 00134 // 4.6.0, gcc 4.6.1 and Clang. 00135 magenta_t(); 00136 }; 00137 00139 struct yellow_t : public Literal<yellow_t> 00140 { 00141 // This default constructor is needed for compilation with gcc 00142 // 4.6.0, gcc 4.6.1 and Clang. 00143 yellow_t(); 00144 }; 00145 00147 struct olive_t : public Literal<olive_t> 00148 { 00149 // This default constructor is needed for compilation with gcc 00150 // 4.6.0, gcc 4.6.1 and Clang. 00151 olive_t(); 00152 }; 00153 00155 extern const red_t red; 00156 00158 extern const green_t green; 00159 00161 extern const blue_t blue; 00162 00164 extern const brown_t brown; 00165 00167 extern const lime_t lime; 00168 00170 extern const orange_t orange; 00171 00173 extern const pink_t pink; 00174 00176 extern const purple_t purple; 00177 00179 extern const teal_t teal; 00180 00182 extern const violet_t violet; 00183 00185 extern const cyan_t cyan; 00186 00188 extern const magenta_t magenta; 00189 00191 extern const yellow_t yellow; 00192 00194 extern const olive_t olive; 00195 00196 # ifndef MLN_INCLUDE_ONLY 00197 00198 inline 00199 red_t::red_t() 00200 { 00201 } 00202 00203 inline 00204 green_t::green_t() 00205 { 00206 } 00207 00208 inline 00209 blue_t::blue_t() 00210 { 00211 } 00212 00213 inline 00214 brown_t::brown_t() 00215 { 00216 } 00217 00218 inline 00219 lime_t::lime_t() 00220 { 00221 } 00222 00223 inline 00224 orange_t::orange_t() 00225 { 00226 } 00227 00228 inline 00229 pink_t::pink_t() 00230 { 00231 } 00232 00233 inline 00234 purple_t::purple_t() 00235 { 00236 } 00237 00238 inline 00239 teal_t::teal_t() 00240 { 00241 } 00242 00243 inline 00244 violet_t::violet_t() 00245 { 00246 } 00247 00248 inline 00249 cyan_t::cyan_t() 00250 { 00251 } 00252 00253 inline 00254 magenta_t::magenta_t() 00255 { 00256 } 00257 00258 inline 00259 yellow_t::yellow_t() 00260 { 00261 } 00262 00263 inline 00264 olive_t::olive_t() 00265 { 00266 } 00267 00268 # ifndef MLN_WO_GLOBAL_VARS 00269 00270 const red_t red; 00271 00272 const green_t green; 00273 00274 const blue_t blue; 00275 00276 const brown_t brown; 00277 00278 const lime_t lime; 00279 00280 const orange_t orange; 00281 00282 const pink_t pink; 00283 00284 const purple_t purple; 00285 00286 const teal_t teal; 00287 00288 const violet_t violet; 00289 00290 const cyan_t cyan; 00291 00292 const magenta_t magenta; 00293 00294 const yellow_t yellow; 00295 00296 const olive_t olive; 00297 00298 # endif 00299 00300 # endif 00301 00302 } // end of namespace mln::literal 00303 00304 } // end of namespace mln 00305 00306 // White and black are color too. 00307 # include <mln/literal/white.hh> 00308 # include <mln/literal/black.hh> 00309 00310 #endif // ! MLN_LITERAL_COLORS_HH