Example #1
0
static gx_color_index
svg_get_color(gx_device_svg *svg, const gx_drawing_color *pdc)
{

    gx_color_index color = gx_no_color_index;

    if (gx_dc_is_pure(pdc))
	color = gx_dc_pure_color(pdc);
    return color;
}
Example #2
0
static char *
svg_make_color(gx_device_svg *svg, const gx_drawing_color *pdc)
{
    char *paint = (char *)gs_alloc_string(svg->memory, 8, "svg_make_color");

    if (!paint) {
        gs_throw(gs_error_VMerror, "string allocation failed");
        return NULL;
    }

    if (gx_dc_is_pure(pdc)) {
        gx_color_index color = gx_dc_pure_color(pdc);
        sprintf(paint, "#%06x", (int)(color & 0xffffffL));
    } else if (gx_dc_is_null(pdc)) {
        sprintf(paint, "None");
    } else {
        gs_free_string(svg->memory, (byte *)paint, 8, "svg_make_color");
        gs_throw(gs_error_rangecheck, "unknown color type");
        return NULL;
    }

    return paint;
}
Example #3
0
static bool
gx_dc_pure_equal(const gx_device_color * pdevc1, const gx_device_color * pdevc2)
{
    return pdevc2->type == pdevc1->type &&
	gx_dc_pure_color(pdevc1) == gx_dc_pure_color(pdevc2);
}