Lines Matching refs:cman

62     xdev->cman.std_cmap.map = map;  in set_std_cmap()
63 xdev->cman.std_cmap.fast = in set_std_cmap()
64 set_cmap_values(&xdev->cman.std_cmap.red, map->red_max, map->red_mult) && in set_std_cmap()
65 set_cmap_values(&xdev->cman.std_cmap.green, map->green_max, map->green_mult) && in set_std_cmap()
66 set_cmap_values(&xdev->cman.std_cmap.blue, map->blue_max, map->blue_mult); in set_std_cmap()
128 xdev->cman.std_cmap.free_map = true; in alloc_std_cmap()
140 xdev->cman.dynamic.colors = (x11_color_t **) in alloc_dynamic_colors()
141 gs_malloc(sizeof(x11_color_t *), xdev->cman.num_rgb, in alloc_dynamic_colors()
143 if (xdev->cman.dynamic.colors) { in alloc_dynamic_colors()
146 xdev->cman.dynamic.size = xdev->cman.num_rgb; in alloc_dynamic_colors()
147 xdev->cman.dynamic.shift = 16 - xdev->vinfo->bits_per_rgb; in alloc_dynamic_colors()
148 for (i = 0; i < xdev->cman.num_rgb; i++) in alloc_dynamic_colors()
149 xdev->cman.dynamic.colors[i] = NULL; in alloc_dynamic_colors()
150 xdev->cman.dynamic.max_used = min(256, num_colors); in alloc_dynamic_colors()
151 xdev->cman.dynamic.used = 0; in alloc_dynamic_colors()
168 if (xcolor->pixel < xdev->cman.color_to_rgb.size) { in x_alloc_color()
169 x11_rgb_t *pxrgb = &xdev->cman.color_to_rgb.values[xcolor->pixel]; in x_alloc_color()
186 if ((pixel = pixels[i]) < xdev->cman.color_to_rgb.size) in x_free_colors()
187 xdev->cman.color_to_rgb.values[pixel].defined = false; in x_free_colors()
196 x_free_colors(xdev, xdev->cman.dither_ramp + 1, num_used - 1); in free_ramp()
197 gs_x_free(xdev->cman.dither_ramp, "x11_setup_colors"); in free_ramp()
198 xdev->cman.dither_ramp = NULL; in free_ramp()
220 xdev->cman.dither_ramp = in setup_cube()
223 if (xdev->cman.dither_ramp == NULL) in setup_cube()
226 xdev->cman.dither_ramp[0] = xdev->foreground; in setup_cube()
227 xdev->cman.dither_ramp[num_entries - 1] = xdev->background; in setup_cube()
236 xc.red = (X_max_color_value * r / max_rgb) & xdev->cman.color_mask.red; in setup_cube()
237 xc.green = (X_max_color_value * g / max_rgb) & xdev->cman.color_mask.green; in setup_cube()
238 xc.blue = (X_max_color_value * b / max_rgb) & xdev->cman.color_mask.blue; in setup_cube()
243 xdev->cman.dither_ramp[index] = xc.pixel; in setup_cube()
291 xdev->cman.color_mask.red = xdev->cman.color_mask.green = in gdev_x_setup_colors()
292 xdev->cman.color_mask.blue = X_max_color_value - in gdev_x_setup_colors()
294 xdev->cman.match_mask = xdev->cman.color_mask; /* default */ in gdev_x_setup_colors()
295 xdev->cman.num_rgb = 1 << xdev->vinfo->bits_per_rgb; in gdev_x_setup_colors()
298 xdev->cman.std_cmap.map = NULL; in gdev_x_setup_colors()
299 xdev->cman.std_cmap.free_map = false; in gdev_x_setup_colors()
301 xdev->cman.dither_ramp = NULL; in gdev_x_setup_colors()
302 xdev->cman.dynamic.colors = NULL; in gdev_x_setup_colors()
303 xdev->cman.dynamic.size = 0; in gdev_x_setup_colors()
304 xdev->cman.dynamic.used = 0; in gdev_x_setup_colors()
319 xdev->cman.color_to_rgb.values = in gdev_x_setup_colors()
322 if (xdev->cman.color_to_rgb.values) { in gdev_x_setup_colors()
326 xdev->cman.color_to_rgb.values[i].defined = false; in gdev_x_setup_colors()
327 xdev->cman.color_to_rgb.size = count; in gdev_x_setup_colors()
329 xdev->cman.color_to_rgb.size = 0; in gdev_x_setup_colors()
335 xdev->color_info.max_color = xdev->cman.num_rgb - 1; in gdev_x_setup_colors()
339 xdev->cman.std_cmap.map = x_get_std_cmap(xdev, XA_RGB_DEFAULT_MAP); in gdev_x_setup_colors()
341 xdev->cman.std_cmap.map = x_get_std_cmap(xdev, XA_RGB_BEST_MAP); in gdev_x_setup_colors()
343 if (xdev->cman.std_cmap.map || in gdev_x_setup_colors()
347 min(xdev->cman.std_cmap.map->red_max, in gdev_x_setup_colors()
348 min(xdev->cman.std_cmap.map->green_max, in gdev_x_setup_colors()
349 xdev->cman.std_cmap.map->blue_max)) + 1; in gdev_x_setup_colors()
350 if (xdev->cman.std_cmap.map) in gdev_x_setup_colors()
351 set_std_cmap(xdev, xdev->cman.std_cmap.map); in gdev_x_setup_colors()
363 min(xdev->maxRGBRamp, xdev->cman.num_rgb)); in gdev_x_setup_colors()
365 while (!xdev->cman.dither_ramp && ramp_size >= 2) { in gdev_x_setup_colors()
378 if (!xdev->cman.dither_ramp) { in gdev_x_setup_colors()
384 alloc_dynamic_colors(xdev, CUBE(xdev->cman.num_rgb) - in gdev_x_setup_colors()
392 xdev->color_info.max_gray = xdev->cman.num_rgb - 1; in gdev_x_setup_colors()
395 xdev->cman.std_cmap.map = x_get_std_cmap(xdev, XA_RGB_GRAY_MAP); in gdev_x_setup_colors()
396 if (xdev->cman.std_cmap.map || in gdev_x_setup_colors()
400 xdev->cman.std_cmap.map->red_max + 1; in gdev_x_setup_colors()
401 if (xdev->cman.std_cmap.map) in gdev_x_setup_colors()
402 set_std_cmap(xdev, xdev->cman.std_cmap.map); in gdev_x_setup_colors()
411 min(xdev->maxGrayRamp, xdev->cman.num_rgb)); in gdev_x_setup_colors()
413 while (!xdev->cman.dither_ramp && ramp_size >= 3) { in gdev_x_setup_colors()
424 if (!xdev->cman.dither_ramp) { in gdev_x_setup_colors()
430 alloc_dynamic_colors(xdev, xdev->cman.num_rgb - in gdev_x_setup_colors()
441 if (xdev->cman.color_to_rgb.values) { in gdev_x_setup_colors()
442 gs_x_free(xdev->cman.color_to_rgb.values, "gdevx color_to_rgb"); in gdev_x_setup_colors()
443 xdev->cman.color_to_rgb.values = 0; in gdev_x_setup_colors()
454 if (xdev->cman.std_cmap.map) { in gdev_x_setup_colors()
455 xdev->cman.match_mask.red &= in gdev_x_setup_colors()
456 X_max_color_value << xdev->cman.std_cmap.red.cv_shift; in gdev_x_setup_colors()
457 xdev->cman.match_mask.green &= in gdev_x_setup_colors()
458 X_max_color_value << xdev->cman.std_cmap.green.cv_shift; in gdev_x_setup_colors()
459 xdev->cman.match_mask.blue &= in gdev_x_setup_colors()
460 X_max_color_value << xdev->cman.std_cmap.blue.cv_shift; in gdev_x_setup_colors()
473 if (xdev->cman.dynamic.colors) { in gdev_x_free_dynamic_colors()
478 for (i = 0; i < xdev->cman.dynamic.size; i++) { in gdev_x_free_dynamic_colors()
479 for (xcp = xdev->cman.dynamic.colors[i]; xcp; xcp = next) { in gdev_x_free_dynamic_colors()
485 xdev->cman.dynamic.colors[i] = NULL; in gdev_x_free_dynamic_colors()
487 xdev->cman.dynamic.used = 0; in gdev_x_free_dynamic_colors()
499 if (xdev->cman.std_cmap.free_map) { in gdev_x_free_colors()
501 XFree((void *)xdev->cman.std_cmap.map); in gdev_x_free_colors()
502 xdev->cman.std_cmap.free_map = false; in gdev_x_free_colors()
504 xdev->cman.std_cmap.map = 0; in gdev_x_free_colors()
505 if (xdev->cman.dither_ramp) in gdev_x_free_colors()
506 gs_x_free(xdev->cman.dither_ramp, "x11 dither_colors"); in gdev_x_free_colors()
507 if (xdev->cman.dynamic.colors) { in gdev_x_free_colors()
509 gs_x_free(xdev->cman.dynamic.colors, "x11 cman.dynamic.colors"); in gdev_x_free_colors()
510 xdev->cman.dynamic.colors = NULL; in gdev_x_free_colors()
512 if (xdev->cman.color_to_rgb.values) { in gdev_x_free_colors()
513 gs_x_free(xdev->cman.color_to_rgb.values, "x11 color_to_rgb"); in gdev_x_free_colors()
514 xdev->cman.color_to_rgb.values = NULL; in gdev_x_free_colors()
515 xdev->cman.color_to_rgb.size = 0; in gdev_x_free_colors()
571 X_color_value dr = r & xdev->cman.color_mask.red; in gdev_x_map_rgb_color()
572 X_color_value dg = g & xdev->cman.color_mask.green; in gdev_x_map_rgb_color()
573 X_color_value db = b & xdev->cman.color_mask.blue; in gdev_x_map_rgb_color()
579 X_color_value mr = r & xdev->cman.match_mask.red; in gdev_x_map_rgb_color()
580 X_color_value mg = g & xdev->cman.match_mask.green; in gdev_x_map_rgb_color()
581 X_color_value mb = b & xdev->cman.match_mask.blue; in gdev_x_map_rgb_color()
588 if (mr == xdev->cman.match_mask.red && in gdev_x_map_rgb_color()
589 mg == xdev->cman.match_mask.green && in gdev_x_map_rgb_color()
590 mb == xdev->cman.match_mask.blue in gdev_x_map_rgb_color()
602 if (xdev->cman.std_cmap.map) { in gdev_x_map_rgb_color()
603 const XStandardColormap *cmap = xdev->cman.std_cmap.map; in gdev_x_map_rgb_color()
609 if (xdev->cman.std_cmap.fast) { in gdev_x_map_rgb_color()
610 cr = r >> xdev->cman.std_cmap.red.cv_shift; in gdev_x_map_rgb_color()
611 cvr = xdev->cman.std_cmap.red.nearest[cr]; in gdev_x_map_rgb_color()
612 cg = g >> xdev->cman.std_cmap.green.cv_shift; in gdev_x_map_rgb_color()
613 cvg = xdev->cman.std_cmap.green.nearest[cg]; in gdev_x_map_rgb_color()
614 cb = b >> xdev->cman.std_cmap.blue.cv_shift; in gdev_x_map_rgb_color()
615 cvb = xdev->cman.std_cmap.blue.nearest[cb]; in gdev_x_map_rgb_color()
624 if ((iabs((int)r - (int)cvr) & xdev->cman.match_mask.red) == 0 && in gdev_x_map_rgb_color()
625 (iabs((int)g - (int)cvg) & xdev->cman.match_mask.green) == 0 && in gdev_x_map_rgb_color()
626 (iabs((int)b - (int)cvb) & xdev->cman.match_mask.blue) == 0) { in gdev_x_map_rgb_color()
628 (xdev->cman.std_cmap.fast ? in gdev_x_map_rgb_color()
629 (cr << xdev->cman.std_cmap.red.pixel_shift) + in gdev_x_map_rgb_color()
630 (cg << xdev->cman.std_cmap.green.pixel_shift) + in gdev_x_map_rgb_color()
631 (cb << xdev->cman.std_cmap.blue.pixel_shift) : in gdev_x_map_rgb_color()
646 if ((iabs((int)r - (int)cvr) & xdev->cman.match_mask.red) == 0) { in gdev_x_map_rgb_color()
658 if (xdev->cman.dither_ramp) { in gdev_x_map_rgb_color()
679 if ((iabs((int)r - (int)cvr) & xdev->cman.match_mask.red) == 0 && in gdev_x_map_rgb_color()
680 (iabs((int)g - (int)cvg) & xdev->cman.match_mask.green) == 0 && in gdev_x_map_rgb_color()
681 (iabs((int)b - (int)cvb) & xdev->cman.match_mask.blue) == 0) { in gdev_x_map_rgb_color()
683 xdev->cman.dither_ramp[CUBE_INDEX(cr, cg, cb)]; in gdev_x_map_rgb_color()
698 if ((iabs((int)r - (int)cvr) & xdev->cman.match_mask.red) == 0) { in gdev_x_map_rgb_color()
699 gx_color_index pixel = xdev->cman.dither_ramp[cr]; in gdev_x_map_rgb_color()
709 if (xdev->cman.dynamic.colors) { in gdev_x_map_rgb_color()
710 int i = (dr ^ dg ^ db) >> xdev->cman.dynamic.shift; in gdev_x_map_rgb_color()
711 x11_color_t *xcp = xdev->cman.dynamic.colors[i]; in gdev_x_map_rgb_color()
721 xcp->next = xdev->cman.dynamic.colors[i]; in gdev_x_map_rgb_color()
722 xdev->cman.dynamic.colors[i] = xcp; in gdev_x_map_rgb_color()
738 if (xdev->cman.dynamic.used > xdev->cman.dynamic.max_used) { in gdev_x_map_rgb_color()
749 xcp->next = xdev->cman.dynamic.colors[i]; in gdev_x_map_rgb_color()
750 xdev->cman.dynamic.colors[i] = xcp; in gdev_x_map_rgb_color()
751 xdev->cman.dynamic.used++; in gdev_x_map_rgb_color()
756 dr, dg, db, xdev->cman.dynamic.used - 1, in gdev_x_map_rgb_color()
779 const XStandardColormap *cmap = xdev->cman.std_cmap.map; in gdev_x_map_color_rgb()
790 if (color < xdev->cman.color_to_rgb.size) { in gdev_x_map_color_rgb()
791 const x11_rgb_t *pxrgb = &xdev->cman.color_to_rgb.values[color]; in gdev_x_map_color_rgb()
828 if (color < xdev->cman.color_to_rgb.size) { in gdev_x_map_color_rgb()
838 if (xdev->cman.dither_ramp) { in gdev_x_map_color_rgb()
845 if (xdev->cman.dither_ramp[i] == color) { in gdev_x_map_color_rgb()
866 if (xdev->cman.dither_ramp[i] == color) { in gdev_x_map_color_rgb()
875 if (xdev->cman.dynamic.colors) { in gdev_x_map_color_rgb()
879 for (i = xdev->cman.dynamic.size; --i >= 0;) in gdev_x_map_color_rgb()
880 for (xcp = xdev->cman.dynamic.colors[i]; xcp; xcp = xcp->next) in gdev_x_map_color_rgb()