00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef __COLORS_H__
00016 #define __COLORS_H__
00017
00018 #define RGB_COLOR_NAMES
00019
00020
00021
00022 typedef unsigned char uchar;
00023
00024 #ifndef YUV_STRUCT
00025 #define YUV_STRUCT
00026 struct yuv{
00027 uchar y,u,v;
00028 };
00029
00030
00031
00032
00033
00034
00035 #endif
00036
00037 #ifndef YUVI_STRUCT
00038 #define YUVI_STRUCT
00039 struct yuvi{
00040 int y,u,v;
00041 };
00042 #endif
00043
00044 #ifndef YUVF_STRUCT
00045 #define YUVF_STRUCT
00046 struct yuvf{
00047 float y,u,v;
00048 };
00049 #endif
00050
00051 #ifndef YUYV_STRUCT
00052 #define YUYV_STRUCT
00053 struct yuyv{
00054 uchar y1,u,y2,v;
00055 };
00056 #endif
00057
00058 struct uyvy{
00059 #ifndef UYVY_STRUCT
00060 #define UYVY_STRUCT
00061 uchar u,y1,v,y2;
00062 };
00063 #endif
00064
00065 #ifndef RGB_STRUCT
00066 #define RGB_STRUCT
00067 struct rgb{
00068 uchar red,green,blue;
00069
00070 rgb(int r=0, int g=0, int b=0)
00071 : red((uchar)r), green((uchar)g), blue((uchar)b)
00072 { };
00073
00074
00075 bool operator ==(const rgb &x) const {
00076 return (red ==x.red &&
00077 green==x.green &&
00078 blue ==x.blue);
00079 }
00080
00081 bool operator !=(const rgb &x) const {
00082 return !operator==(x);
00083 }
00084 };
00085 #endif
00086
00087 #ifndef RGBA_STRUCT
00088 #define RGBA_STRUCT
00089 struct rgba{
00090 uchar r,g,b,a;
00091 };
00092 #endif
00093
00094 #ifndef ARGB_STRUCT
00095 #define ARGB_STRUCT
00096 struct argb{
00097 uchar a,r,g,b;
00098 };
00099 #endif
00100
00101 #ifndef RGBF_STRUCT
00102 #define RGBF_STRUCT
00103 struct rgbf{
00104 float red,green,blue;
00105
00106 rgbf()
00107 : red(0),green(0),blue(0) {}
00108 rgbf(float nred,float ngreen,float nblue)
00109 : red(nred),green(ngreen),blue(nblue) {}
00110
00111 };
00112 #endif
00113
00114 #ifndef RGBAF_STRUCT
00115 #define RGBAF_STRUCT
00116 struct rgbaf{
00117 float r,g,b,a;
00118 };
00119 #endif
00120
00121 #ifndef ARGBF_STRUCT
00122 #define ARGBF_STRUCT
00123 struct argbf{
00124 float a,r,g,b;
00125 };
00126 #endif
00127
00128
00129
00130
00131 #ifdef RGB_COLOR_NAMES
00132 namespace Rgb{
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156 }
00157 #endif
00158
00159 #endif