int config_enablezlib;
int config_insertstoptag;
int config_watermark;
+ int config_noclips;
int config_flashversion;
int config_reordertags;
int config_showclipshapes;
i->config_caplinewidth = atof(value);
} else if(!strcmp(name, "linktarget")) {
i->config_linktarget = strdup(value);
+ } else if(!strcmp(name, "noclips")) {
+ i->config_noclips = atoi(value);
} else if(!strcmp(name, "dumpfonts")) {
i->config_dumpfonts = atoi(value);
} else if(!strcmp(name, "animate")) {
static void swf_startclip(gfxdevice_t*dev, gfxline_t*line)
{
swfoutput_internal*i = (swfoutput_internal*)dev->internal;
+ if(i->config_noclips)
+ return;
endtext(dev);
endshape(dev);
static void swf_endclip(gfxdevice_t*dev)
{
swfoutput_internal*i = (swfoutput_internal*)dev->internal;
+ if(i->config_noclips)
+ return;
if(i->textid>=0)
endtext(dev);
if(i->shapeid>=0)
if(has_dots)
gfxline_fix_short_edges(line);
/* we need to convert the line into a polygon */
- gfxpoly_t* poly = gfxpoly_strokeToPoly(line, width, cap_style, joint_style, miterLimit);
- gfxline_t*gfxline = gfxpoly_to_gfxline(poly);
+ gfxpoly_t* poly = gfxpoly_from_stroke(line, width, cap_style, joint_style, miterLimit, DEFAULT_GRID);
+ gfxline_t*gfxline = gfxline_from_gfxpoly(poly);
dev->fill(dev, gfxline, color);
gfxline_free(gfxline);
- gfxpoly_free(poly);
+ gfxpoly_destroy(poly);
return;
}
swf_Shape01DrawerInit(&draw, 0);
line = font->glyphs[t].line;
+
while(line) {
FPOINT c,to;
c.x = line->sx * GLYPH_SCALE; c.y = line->sy * GLYPH_SCALE;