#include "../gfxtools.h"
#include "swf.h"
#include "../gfxpoly.h"
-#include "../png.h"
+#include "../gfximage.h"
#define CHARDATAMAX 1024
#define CHARMIDX 0
int config_storeallcharacters;
int config_enablezlib;
int config_insertstoptag;
+ int config_showimages;
int config_watermark;
int config_noclips;
int config_flashversion;
static const int NO_FONT3=0;
-static void swf_fillbitmap(gfxdevice_t*driver, gfxline_t*line, gfximage_t*img, gfxmatrix_t*move, gfxcxform_t*cxform);
+static void swf_fillbitmap(gfxdevice_t*dev, gfxline_t*line, gfximage_t*img, gfxmatrix_t*matrix, gfxcxform_t*cxform);
static int swf_setparameter(gfxdevice_t*driver, const char*key, const char*value);
static void swf_drawstroke(gfxdevice_t*dev, gfxline_t*line, gfxcoord_t width, gfxcolor_t*color, gfx_capType cap_style, gfx_joinType joint_style, gfxcoord_t miterLimit);
static void swf_startclip(gfxdevice_t*dev, gfxline_t*line);
static void swf_endclip(gfxdevice_t*dev);
static void swf_stroke(gfxdevice_t*dev, gfxline_t*line, gfxcoord_t width, gfxcolor_t*color, gfx_capType cap_style, gfx_joinType joint_style, gfxcoord_t miterLimit);
static void swf_fill(gfxdevice_t*dev, gfxline_t*line, gfxcolor_t*color);
-static void swf_fillbitmap(gfxdevice_t*dev, gfxline_t*line, gfximage_t*img, gfxmatrix_t*matrix, gfxcxform_t*cxform);
static void swf_fillgradient(gfxdevice_t*dev, gfxline_t*line, gfxgradient_t*gradient, gfxgradienttype_t type, gfxmatrix_t*matrix);
static void swf_drawchar(gfxdevice_t*dev, gfxfont_t*font, int glyph, gfxcolor_t*color, gfxmatrix_t*matrix);
static void swf_addfont(gfxdevice_t*dev, gfxfont_t*font);
swfoutput_internal*i = (swfoutput_internal*)dev->internal;
if(i->pagefinished)
return;
+
if(i->shapeid>=0)
endshape(dev);
if(i->textmode)
dev->startclip = swf_startclip;
dev->endclip = swf_endclip;
dev->fill = swf_fill;
- dev->fillbitmap = swf_fillbitmap;
dev->fillgradient = swf_fillgradient;
dev->addfont = swf_addfont;
dev->drawchar = swf_drawchar;
i->config_dumpfonts = atoi(value);
} else if(!strcmp(name, "animate")) {
i->config_animate = atoi(value);
+ } else if(!strcmp(name, "linknameurl")) {
+ i->config_linknameurl = atoi(value);
+ } else if(!strcmp(name, "showimages")) {
+ i->config_showimages = atoi(value);
} else if(!strcmp(name, "disablelinks")) {
i->config_disablelinks = atoi(value);
} else if(!strcmp(name, "simpleviewer")) {
if(newsizex<sizex || newsizey<sizey) {
msg("<verbose> Scaling %dx%d image to %dx%d", sizex, sizey, newsizex, newsizey);
- newpic = swf_ImageScale(mem, sizex, sizey, newsizex, newsizey);
+ gfximage_t*ni = gfximage_rescale(img, newsizex, newsizey);
+ newpic = (RGBA*)ni->data;
+ free(ni);
*newwidth = sizex = newsizex;
*newheight = sizey = newsizey;
mem = newpic;
SHAPE*shape;
swf_ShapeNew(&shape);
int fsid = swf_ShapeAddBitmapFillStyle(shape,&m,bitid,1);
+ int lsid = 0;
+ if(i->config_showimages) {
+ RGBA pink = {255,255,0,255};
+ lsid = swf_ShapeAddLineStyle(shape, 20, &pink);
+ }
swf_SetU16(i->tag, myshapeid);
SRECT r = gfxline_getSWFbbox(line);
r = swf_ClipRect(i->pagebbox, r);
swf_SetShapeStyles(i->tag,shape);
swf_ShapeCountBits(shape,NULL,NULL);
swf_SetShapeBits(i->tag,shape);
- swf_ShapeSetAll(i->tag,shape,UNDEFINED_COORD,UNDEFINED_COORD,0,fsid,0);
+ swf_ShapeSetAll(i->tag,shape,UNDEFINED_COORD,UNDEFINED_COORD,lsid,fsid,0);
i->swflastx = i->swflasty = UNDEFINED_COORD;
drawgfxline(dev, line, 1);
swf_ShapeSetEnd(i->tag);