示例#1
0
static void
fz_trace_stroke_path(void *user, fz_path *path, fz_stroke_state *stroke, fz_matrix ctm,
	fz_colorspace *colorspace, float *color, float alpha)
{
	int i;

	printf("<stroke_path ");
	printf("linewidth=\"%g\" ", stroke->linewidth);
	printf("miterlimit=\"%g\" ", stroke->miterlimit);
	printf("linecap=\"%d,%d,%d\" ", stroke->start_cap, stroke->dash_cap, stroke->end_cap);
	printf("linejoin=\"%d\" ", stroke->linejoin);

	if (stroke->dash_len)
	{
		printf("dash_phase=\"%g\" dash=\"", stroke->dash_phase);
		for (i = 0; i < stroke->dash_len; i++)
			printf("%g ", stroke->dash_list[i]);
		printf("\"");
	}

	fz_trace_color(colorspace, color, alpha);
	fz_trace_matrix(ctm);
	printf(">\n");

	fz_trace_path(path, 0);

	printf("</stroke_path>\n");
}
示例#2
0
static void
fz_trace_stroke_path(fz_context *ctx, fz_device *dev, const fz_path *path, const fz_stroke_state *stroke, const fz_matrix *ctm,
	const fz_colorspace *colorspace, const float *color, float alpha)
{
	fz_output *out = ((fz_trace_device*)dev)->out;
	int i;

	fz_printf(ctx, out, "<stroke_path");
	fz_printf(ctx, out, " linewidth=\"%g\"", stroke->linewidth);
	fz_printf(ctx, out, " miterlimit=\"%g\"", stroke->miterlimit);
	fz_printf(ctx, out, " linecap=\"%d,%d,%d\"", stroke->start_cap, stroke->dash_cap, stroke->end_cap);
	fz_printf(ctx, out, " linejoin=\"%d\"", stroke->linejoin);

	if (stroke->dash_len)
	{
		fz_printf(ctx, out, " dash_phase=\"%g\" dash=\"", stroke->dash_phase);
		for (i = 0; i < stroke->dash_len; i++)
			fz_printf(ctx, out, "%s%g", i > 0 ? " " : "", stroke->dash_list[i]);
		fz_printf(ctx, out, "\"");
	}

	fz_trace_color(ctx, out, colorspace, color, alpha);
	fz_trace_matrix(ctx, out, ctm);
	fz_printf(ctx, out, ">\n");

	fz_trace_path(ctx, out, path);

	fz_printf(ctx, out, "</stroke_path>\n");
}
示例#3
0
static void
fz_trace_clip_stroke_path(void *user, fz_path *path, fz_rect *rect, fz_stroke_state *stroke, fz_matrix ctm)
{
	printf("<clip_stroke_path ");
	fz_trace_matrix(ctm);
	printf(">\n");
	fz_trace_path(path, 0);
	printf("</clip_stroke_path>\n");
}
示例#4
0
static void
fz_trace_clip_stroke_path(fz_context *ctx, fz_device *dev, const fz_path *path, const fz_rect *rect, const fz_stroke_state *stroke, const fz_matrix *ctm)
{
	fz_output *out = ((fz_trace_device*)dev)->out;
	fz_printf(ctx, out, "<clip_stroke_path");
	fz_trace_matrix(ctx, out, ctm);
	fz_printf(ctx, out, ">\n");
	fz_trace_path(ctx, out, path);
	fz_printf(ctx, out, "</clip_stroke_path>\n");
}
static void
fz_trace_clip_path(fz_device *dev, fz_path *path, fz_rect *rect, int even_odd, fz_matrix ctm)
{
	printf("<clip_path");
	if (even_odd)
		printf(" winding=\"eofill\"");
	else
		printf(" winding=\"nonzero\"");
	fz_trace_matrix(ctm);
	printf(" contentbbox=\"%g %g %g %g\">\n", rect->x0, rect->y0, rect->x1, rect->y1);
	fz_trace_path(path, 0);
	printf("</clip_path>\n");
}
示例#6
0
static void
fz_trace_fill_path(void *user, fz_path *path, int even_odd, fz_matrix ctm,
	fz_colorspace *colorspace, float *color, float alpha)
{
	printf("<fill_path ");
	if (even_odd)
		printf("winding=\"eofill\" ");
	else
		printf("winding=\"nonzero\" ");
	fz_trace_color(colorspace, color, alpha);
	fz_trace_matrix(ctm);
	printf(">\n");
	fz_trace_path(path, 0);
	printf("</fill_path>\n");
}
示例#7
0
static void
fz_trace_fill_path(fz_context *ctx, fz_device *dev, const fz_path *path, int even_odd, const fz_matrix *ctm,
	const fz_colorspace *colorspace, const float *color, float alpha)
{
	fz_output *out = ((fz_trace_device*)dev)->out;
	fz_printf(ctx, out, "<fill_path");
	if (even_odd)
		fz_printf(ctx, out, " winding=\"eofill\"");
	else
		fz_printf(ctx, out, " winding=\"nonzero\"");
	fz_trace_color(ctx, out, colorspace, color, alpha);
	fz_trace_matrix(ctx, out, ctm);
	fz_printf(ctx, out, ">\n");
	fz_trace_path(ctx, out, path);
	fz_printf(ctx, out, "</fill_path>\n");
}
示例#8
0
static void
fz_trace_clip_path(fz_context *ctx, fz_device *dev, const fz_path *path, const fz_rect *rect, int even_odd, const fz_matrix *ctm)
{
	fz_output *out = ((fz_trace_device*)dev)->out;
	fz_printf(ctx, out, "<clip_path");
	if (even_odd)
		fz_printf(ctx, out, " winding=\"eofill\"");
	else
		fz_printf(ctx, out, " winding=\"nonzero\"");
	fz_trace_matrix(ctx, out, ctm);
	if (rect)
		fz_printf(ctx, out, " contentbbox=\"%g %g %g %g\">\n", rect->x0, rect->y0, rect->x1, rect->y1);
	else
		fz_printf(ctx, out, ">\n");
	fz_trace_path(ctx, out, path);
	fz_printf(ctx, out, "</clip_path>\n");
}