Lines Matching refs:palette

17 #define PREALLOCATED(palette)                                                  \  argument
18 ((palette)->type & \
21 : (palette)->npreallocated)
24 static struct palette *context;
111 static int allocgenerictruecolor(struct palette *palette, int init, int r, in allocgenerictruecolor() argument
115 switch (palette->type) { in allocgenerictruecolor()
123 n = ((r >> palette->info.truec.rprec) in allocgenerictruecolor()
124 << palette->info.truec.rshift) | in allocgenerictruecolor()
125 ((g >> palette->info.truec.gprec) in allocgenerictruecolor()
126 << palette->info.truec.gshift) | in allocgenerictruecolor()
127 ((b >> palette->info.truec.bprec) in allocgenerictruecolor()
128 << palette->info.truec.bshift) | in allocgenerictruecolor()
129 palette->info.truec.alpha; in allocgenerictruecolor()
133 palette->size = 0; in allocgenerictruecolor()
134 else if (palette->size >= palette->maxentries) in allocgenerictruecolor()
136 palette->pixels[palette->size] = n; in allocgenerictruecolor()
137 palette->size++; in allocgenerictruecolor()
138 return palette->size; in allocgenerictruecolor()
141 static int allocgeneric(struct palette *palette, int init, int r, int g, int b) in allocgeneric() argument
143 int start = palette->npreallocated + palette->start; in allocgeneric()
145 palette->size = 0; in allocgeneric()
146 else if (palette->size >= palette->end - start) in allocgeneric()
148 palette->pixels[palette->size] = palette->size + start; in allocgeneric()
149 palette->rgb[palette->size + start][0] = r; in allocgeneric()
150 palette->rgb[palette->size + start][1] = g; in allocgeneric()
151 palette->rgb[palette->size + start][2] = b; in allocgeneric()
152 palette->size++; in allocgeneric()
153 return (palette->size - 1); in allocgeneric()
156 int fixedalloccolor(struct palette *palette, int init, int r, int g, int b) in fixedalloccolor() argument
160 palette->size = 0; in fixedalloccolor()
161 else if (palette->size >= palette->maxentries) in fixedalloccolor()
165 if (palette->type == FIXEDCOLOR || (palette->type & BITMAPS)) { in fixedalloccolor()
166 for (i = palette->start; i < palette->end; i++) { in fixedalloccolor()
167 coldif = col_diff[0][(g - palette->rgb[i][1]) & 0x1ff]; in fixedalloccolor()
169 coldif += col_diff[1][(r - palette->rgb[i][0]) & 0x1ff]; in fixedalloccolor()
171 coldif += col_diff[2][(b - palette->rgb[i][2]) & 0x1ff]; in fixedalloccolor()
182 bestfit = (r * 30 + g * 59 + b * 11) * (palette->end - palette->start) / in fixedalloccolor()
184 palette->start; in fixedalloccolor()
186 palette->pixels[palette->size] = bestfit; in fixedalloccolor()
187 palette->size++; in fixedalloccolor()
188 return (palette->size - 1); in fixedalloccolor()
191 static void setcolorgeneric(struct palette * /*palette*/, int /*start*/, in setcolorgeneric() argument
196 static void allocfinishedgeneric(struct palette *palette) in allocfinishedgeneric() argument
198 palette->setpalette(palette, palette->start, in allocfinishedgeneric()
199 palette->size + palette->start + palette->npreallocated, in allocfinishedgeneric()
200 palette->rgb + palette->start); in allocfinishedgeneric()
203 static void cycle_entries(struct palette *c, int direction) in cycle_entries()
230 static void cyclecolorsgeneric(struct palette *pal, int direction) in cyclecolorsgeneric()
238 struct palette *createpalette( in createpalette()
240 int (*alloccolor)(struct palette *pal, int init, int r, int g, int b), in createpalette()
241 void (*setcolor)(struct palette *pal, int start, int end, rgb_t *rgb), in createpalette()
242 void (*allocfinished)(struct palette *pal), in createpalette()
243 void (*cyclecolors)(struct palette *pal, int direction), in createpalette()
247 struct palette *palette = in createpalette() local
248 (struct palette *)calloc(1, sizeof(struct palette)); in createpalette()
252 palette->ncells = 0; in createpalette()
253 palette->index = NULL; in createpalette()
254 palette->size = 0; in createpalette()
255 palette->rgb = NULL; in createpalette()
256 if (palette == NULL) in createpalette()
267 palette->rgb = (rgb_t *)calloc(end, sizeof(*palette->rgb)); in createpalette()
268 if (palette->rgb == NULL) { in createpalette()
269 free(palette); in createpalette()
273 palette->rgb[0][0] = 255; in createpalette()
274 palette->rgb[0][1] = 255; in createpalette()
275 palette->rgb[0][2] = 255; in createpalette()
276 palette->rgb[1][0] = 0; in createpalette()
277 palette->rgb[1][1] = 0; in createpalette()
278 palette->rgb[1][2] = 0; in createpalette()
280 palette->rgb[0][0] = 0; in createpalette()
281 palette->rgb[0][1] = 0; in createpalette()
282 palette->rgb[0][2] = 0; in createpalette()
283 palette->rgb[1][0] = 255; in createpalette()
284 palette->rgb[1][1] = 255; in createpalette()
285 palette->rgb[1][2] = 255; in createpalette()
287 palette->maxentries = maxentries; in createpalette()
288 palette->alloccolor = fixedalloccolor; in createpalette()
289 palette->setpalette = NULL; in createpalette()
290 palette->allocfinished = NULL; in createpalette()
291 palette->cyclecolors = NULL; in createpalette()
298 palette->rgb = (rgb_t *)calloc(end, sizeof(*palette->rgb)); in createpalette()
299 if (palette->rgb == NULL) { in createpalette()
300 free(palette); in createpalette()
303 palette->maxentries = maxentries; in createpalette()
304 palette->alloccolor = fixedalloccolor; in createpalette()
305 palette->setpalette = NULL; in createpalette()
306 palette->allocfinished = NULL; in createpalette()
307 palette->cyclecolors = NULL; in createpalette()
314 palette->maxentries = 65536; in createpalette()
315 palette->alloccolor = fixedalloccolor; in createpalette()
316 palette->setpalette = NULL; in createpalette()
317 palette->allocfinished = NULL; in createpalette()
318 palette->cyclecolors = NULL; in createpalette()
319 palette->size = end - start; in createpalette()
336 palette->rgb = (rgb_t *)calloc(end, sizeof(*palette->rgb)); in createpalette()
338 if (palette->rgb == NULL) { in createpalette()
339 free(palette); in createpalette()
343 palette->maxentries = maxentries; in createpalette()
344 palette->alloccolor = alloccolor; in createpalette()
345 palette->setpalette = setcolor; in createpalette()
346 palette->allocfinished = allocfinished; in createpalette()
347 palette->cyclecolors = cyclecolors; in createpalette()
356 palette->maxentries = end; in createpalette()
357 palette->alloccolor = allocgenerictruecolor; in createpalette()
358 palette->cyclecolors = NULL; in createpalette()
359 palette->setpalette = NULL; in createpalette()
360 palette->allocfinished = NULL; in createpalette()
363 int ee = palette->maxentries; in createpalette()
366 palette->pixels = in createpalette()
367 (unsigned int *)calloc(256, sizeof(*palette->pixels)); in createpalette()
369 palette->pixels = in createpalette()
370 (unsigned int *)calloc(ee, sizeof(*palette->pixels)); in createpalette()
372 if (palette->pixels == NULL) { in createpalette()
373 free(palette); in createpalette()
378 palette->size = end; in createpalette()
379 palette->flags |= DONOTCHANGE; in createpalette()
381 palette->pixels[i] = i; in createpalette()
383 palette->start = start; in createpalette()
384 palette->end = end; in createpalette()
385 palette->type = type; in createpalette()
386 palette->flags |= flags; in createpalette()
387 palette->version = (versioncount += 65536); in createpalette()
391 setcolor(palette, start, end, palette->rgb); in createpalette()
393 palette->pixels[i] = i + start; in createpalette()
397 for (i = palette->start; i < end - start; i++) in createpalette()
398 palette->pixels[i] = i + start; in createpalette()
402 genertruecolorinfo(&palette->info.truec, info->truec.rmask, in createpalette()
406 genertruecolorinfo(&palette->info.truec, 255 << 16, 255 << 8, 255); in createpalette()
408 genertruecolorinfo(&palette->info.truec, 255 << 16, 255 << 8, 255); in createpalette()
410 genertruecolorinfo(&palette->info.truec, (255 >> 3) << 11, in createpalette()
414 palette->info.truec.alpha = ~palette->info.truec.allmask; in createpalette()
416 palette->info.truec.alpha = 0; in createpalette()
418 return (palette); in createpalette()
421 void destroypalette(struct palette *palette) in destroypalette() argument
423 free(palette->pixels); in destroypalette()
424 if (palette->rgb != NULL) in destroypalette()
425 free(palette->rgb); in destroypalette()
426 if (palette->index != NULL) in destroypalette()
427 free(palette->index); in destroypalette()
428 free(palette); in destroypalette()
432 struct palette *clonepalette(struct palette *palette) in clonepalette() argument
434 struct palette *pal = in clonepalette()
435 createpalette(palette->start, palette->end, palette->type, in clonepalette()
436 palette->flags, palette->maxentries, in clonepalette()
439 NULL, NULL, NULL, NULL, &palette->info); in clonepalette()
440 memcpy(pal->pixels, palette->pixels, in clonepalette()
441 sizeof(*pal->pixels) * MYMIN(palette->end, pal->end)); in clonepalette()
443 memcpy(pal->rgb, palette->rgb, in clonepalette()
444 sizeof(*pal->rgb) * MYMIN(palette->end, pal->end)); in clonepalette()
446 pal->size = palette->size; in clonepalette()
450 void preallocpalette(struct palette *pal) in preallocpalette()
477 void restorepalette(struct palette *dest, struct palette *src) in restorepalette()
751 int mkpalette(struct palette *c, int seed, int algorithm) in mkpalette()
829 int mkstereogrampalette(struct palette *c) in mkstereogrampalette()
848 int mkstarfieldpalette(struct palette *c) in mkstarfieldpalette()
870 int mkblurpalette(struct palette *c) in mkblurpalette()
890 int mkgraypalette(struct palette *c) in mkgraypalette()
913 int mkdefaultpalette(struct palette *c) in mkdefaultpalette()
943 int shiftpalette(struct palette *c, int shift) in shiftpalette()
990 static int allocrgb(struct palette */*c*/, int r1, int g1, int b1) in allocrgb() argument
1006 int mkrgb(struct palette *c) in mkrgb()
1059 void getPaletteColor(struct palette *src, int seed, int algorithm, int shift, int newColors[101][3]… in getPaletteColor()
1108 int mkcustompalette(struct palette *c, unsigned char newColors[31][3]) in mkcustompalette()