00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include "Palette.hh"
00024
00025
00026 clPalette::clPalette ()
00027 {
00028 iPalSize = 0;
00029 upPalette = NULL;
00030 }
00031
00032
00033 clPalette::~clPalette ()
00034 {
00035 }
00036
00037
00038 void clPalette::GenBW()
00039 {
00040 unsigned int uIdxCntr;
00041
00042 iPalSize = 256;
00043 upPalette = (unsigned int *) Palette.Size(iPalSize * sizeof(unsigned int));
00044 for (uIdxCntr = 0; uIdxCntr < (unsigned int) iPalSize; uIdxCntr++)
00045 {
00046 upPalette[uIdxCntr] =
00047 (((0xff - uIdxCntr) << 16) |
00048 ((0xff - uIdxCntr) << 8) |
00049 0xff - uIdxCntr);
00050 }
00051 }
00052
00053
00054 void clPalette::GenHSV()
00055 {
00056 int iIdxCntr;
00057 unsigned int uColCntr;
00058
00059 iPalSize = 256 * 5;
00060 upPalette = (unsigned int *) Palette.Size(iPalSize * sizeof(unsigned int));
00061 iIdxCntr = 0;
00062 for (uColCntr = 0; uColCntr < 256; uColCntr++)
00063 {
00064 upPalette[iIdxCntr++] = (uColCntr << 16);
00065 }
00066 for (uColCntr = 0; uColCntr < 256; uColCntr++)
00067 {
00068 upPalette[iIdxCntr++] = (0x00ff0000 | (uColCntr << 8));
00069 }
00070 for (uColCntr = 0; uColCntr < 256; uColCntr++)
00071 {
00072 upPalette[iIdxCntr++] = (((0xff - uColCntr) << 16) | 0x0000ff00);
00073 }
00074 for (uColCntr = 0; uColCntr < 256; uColCntr++)
00075 {
00076 upPalette[iIdxCntr++] = (0x0000ff00 | uColCntr);
00077 }
00078 for (uColCntr = 0; uColCntr < 256; uColCntr++)
00079 {
00080 upPalette[iIdxCntr++] = (((0xff - uColCntr) << 8) | 0x000000ff);
00081 }
00082 }
00083
00084
00085 void clPalette::GenLight()
00086 {
00087 int iIdxCntr;
00088 unsigned int uColCntr;
00089
00090 iPalSize = 256 * 4;
00091 upPalette = (unsigned int *) Palette.Size(iPalSize * sizeof(unsigned int));
00092 iIdxCntr = 0;
00093 for (uColCntr = 0; uColCntr < 256; uColCntr++)
00094 {
00095 upPalette[iIdxCntr++] = ((uColCntr << 8) | 0x000000ff);
00096 }
00097 for (uColCntr = 0; uColCntr < 256; uColCntr++)
00098 {
00099 upPalette[iIdxCntr++] = (0x0000ff00 | (0xff - uColCntr));
00100 }
00101 for (uColCntr = 0; uColCntr < 256; uColCntr++)
00102 {
00103 upPalette[iIdxCntr++] = ((uColCntr << 16) | ((0xff - uColCntr) << 8));
00104 }
00105 for (uColCntr = 0; uColCntr < 256; uColCntr++)
00106 {
00107 upPalette[iIdxCntr++] = (0x00ff0000 | uColCntr);
00108 }
00109 }
00110
00111
00112 void clPalette::GenTemp()
00113 {
00114 int iIdxCntr;
00115 unsigned int uColCntr;
00116
00117 iPalSize = 256 * 3;
00118 upPalette = (unsigned int *) Palette.Size(iPalSize * sizeof(unsigned int));
00119 iIdxCntr = 0;
00120 for (uColCntr = 0; uColCntr < 256; uColCntr++)
00121 {
00122 upPalette[iIdxCntr++] = uColCntr;
00123 }
00124 for (uColCntr = 0; uColCntr < 256; uColCntr++)
00125 {
00126 upPalette[iIdxCntr++] = (0x000000ff | (uColCntr << 8));
00127 }
00128 for (uColCntr = 0; uColCntr < 256; uColCntr++)
00129 {
00130 upPalette[iIdxCntr++] = (0x0000ffff | (uColCntr << 16));
00131 }
00132 }
00133
00134
00135 void clPalette::GenDir()
00136 {
00137 int iIdxCntr;
00138 unsigned int uColCntr;
00139
00140 iPalSize = 256 + 2;
00141 upPalette = (unsigned int *) Palette.Size(iPalSize * sizeof(unsigned int));
00142 iIdxCntr = 0;
00143 for (uColCntr = 0; uColCntr < 256; uColCntr++)
00144 {
00145 upPalette[iIdxCntr++] = (uColCntr | (uColCntr << 8) |
00146 (uColCntr << 16));
00147 }
00148 upPalette[iIdxCntr++] = 0x007f7fff;
00149 upPalette[iIdxCntr++] = 0x000000ff;
00150 }
00151
00152
00153 void clPalette::GenGreen()
00154 {
00155 int iIdxCntr;
00156 unsigned int uColCntr;
00157
00158 iPalSize = 256 * 2;
00159 upPalette = (unsigned int *) Palette.Size(iPalSize * sizeof(unsigned int));
00160 iIdxCntr = 0;
00161 for (uColCntr = 0; uColCntr < 256; uColCntr++)
00162 {
00163 upPalette[iIdxCntr++] = (uColCntr << 8);
00164 }
00165 for (uColCntr = 0; uColCntr < 256; uColCntr++)
00166 {
00167 upPalette[iIdxCntr++] = (((0xff - uColCntr) << 8) | uColCntr);
00168 }
00169 }
00170
00171
00172 void clPalette::GenGreen2()
00173 {
00174 int iIdxCntr;
00175 unsigned int uColCntr;
00176
00177 iPalSize = 256 * 2;
00178 upPalette = (unsigned int *) Palette.Size(iPalSize * sizeof(unsigned int));
00179 iIdxCntr = 0;
00180 for (uColCntr = 0; uColCntr < 256; uColCntr++)
00181 {
00182 upPalette[iIdxCntr++] = (uColCntr << 8);
00183 }
00184 for (uColCntr = 0; uColCntr < 256; uColCntr++)
00185 {
00186 upPalette[iIdxCntr++] = ((uColCntr << 16) | 0xff00 | uColCntr);
00187 }
00188 }
00189
00190
00191 void clPalette::GenGreen3 ()
00192 {
00193 int iIdxCntr;
00194 unsigned int uColCntr;
00195
00196 iPalSize = 256 * 2;
00197 upPalette = (unsigned int *) Palette.Size(iPalSize * sizeof(unsigned int));
00198 iIdxCntr = 0;
00199 for (uColCntr = 0; uColCntr < 256; uColCntr++)
00200 {
00201 upPalette[iIdxCntr++] = (uColCntr << 8);
00202 }
00203 for (uColCntr = 0; uColCntr < 256; uColCntr++)
00204 {
00205 upPalette[iIdxCntr++] = (0xff00 | uColCntr);
00206 }
00207 }
00208
00209
00210 void clPalette::GenGreen4 ()
00211 {
00212 int iIdxCntr;
00213 unsigned int uColCntr;
00214
00215 iPalSize = 256 * 3;
00216 upPalette = (unsigned int *) Palette.Size(iPalSize * sizeof(unsigned int));
00217 iIdxCntr = 0;
00218 for (uColCntr = 0; uColCntr < 256; uColCntr++)
00219 {
00220 upPalette[iIdxCntr++] = (uColCntr << 8);
00221 }
00222 for (uColCntr = 0; uColCntr < 256; uColCntr++)
00223 {
00224 upPalette[iIdxCntr++] = (((0xff - uColCntr) << 8) | uColCntr);
00225 }
00226 for (uColCntr = 0; uColCntr < 256; uColCntr++)
00227 {
00228 upPalette[iIdxCntr++] = ((uColCntr << 8) | 0xff);
00229 }
00230 }
00231
00232
00233 void clPalette::GenPureGreen()
00234 {
00235 int iIdxCntr;
00236 unsigned int uColCntr;
00237
00238 iPalSize = 256;
00239 upPalette = (unsigned int *) Palette.Size(iPalSize * sizeof(unsigned int));
00240 iIdxCntr = 0;
00241 for (uColCntr = 0; uColCntr < 256; uColCntr++)
00242 {
00243 upPalette[iIdxCntr++] = (uColCntr << 8);
00244 }
00245 }
00246
00247
00248 void clPalette::GenWB()
00249 {
00250 int iIdxCntr;
00251 unsigned int uColCntr;
00252
00253 iPalSize = 256;
00254 upPalette = (unsigned int *) Palette.Size(iPalSize * sizeof(unsigned int));
00255 iIdxCntr = 0;
00256 for (uColCntr = 0; uColCntr < 256; uColCntr++)
00257 {
00258 upPalette[iIdxCntr++] =
00259 ((uColCntr << 16) | (uColCntr << 8) | uColCntr);
00260 }
00261 }
00262