コード例 #1
0
ファイル: node_toxml.c プロジェクト: kakarrot/vudroid
static void xmlpath(fz_pathnode *node, int level)
{
    int i;

    indent(level);

    if (node->paint == FZ_STROKE)
    {
        printf("<path fill=\"stroke\" cap=\"%d\" join=\"%d\" width=\"%g\" miter=\"%g\"",
               node->linecap,
               node->linejoin,
               node->linewidth,
               node->miterlimit);
        if (node->dash)
        {
            printf(" phase=\"%g\" array=\"", node->dash->phase);
            for (i = 0; i < node->dash->len; i++)
                printf("%g ", node->dash->array[i]);
            printf("\"");
        }
        printf(">\n");
    }
    else
    {
        printf("<path fill=\"%s\">\n",
               node->paint == FZ_FILL ? "nonzero" : "evenodd");
    }

    fz_debugpathnode(node, level + 2);

    indent(level);
    printf("</path>\n");
}
コード例 #2
0
ファイル: node_tolisp.c プロジェクト: iroot/sopdf
static void lisppath(fz_pathnode *node, int level)
{
	int i;

	indent(level);

	if (node->paint == FZ_STROKE)
	{
		printf("(path 'stroke %d %d %g %g ",
			node->linecap,
			node->linejoin,
			node->linewidth,
			node->miterlimit);
		if (node->dash)
		{
			printf("%g '( ", node->dash->phase);
			for (i = 0; i < node->dash->len; i++)
				printf("%g ", node->dash->array[i]);
			printf(")");
		}
		else
			printf("0 '()");
	}
	else
	{
		printf("(path '%s", node->paint == FZ_FILL ? "fill" : "eofill");
	}

	printf("\n");
	fz_debugpathnode(node);

	indent(level);
	printf(")\n");
}