{"ZapfDingbats", "d050000l"}};
class SWFOutputDev: public OutputDev {
- struct swfoutput output;
int outputstarted;
+ struct swfoutput output;
public:
// Constructor.
int save(char*filename);
+ void getDimensions(int*x1,int*y1,int*x2,int*y2);
+
//----- get info about output device
// Does this device use upside-down coordinates?
this->user_clipx2 = x2;
this->user_clipy2 = y2;
}
+void SWFOutputDev::getDimensions(int*x1,int*y1,int*x2,int*y2)
+{
+ if(x1) *x1 = output.swf.movieSize.xmin/20;
+ if(y1) *y1 = output.swf.movieSize.ymin/20;
+ if(x2) *x2 = output.swf.movieSize.xmax/20;
+ if(y2) *y2 = output.swf.movieSize.ymax/20;
+}
static char*getFontID(GfxFont*font)
{
m.m12 = 0; m.m13 = 0; m.m23 = 0;
SWF_OUTLINE*outline = gfxPath_to_SWF_OUTLINE(state, path);
- if(screenloglevel >= LOGLEVEL_TRACE) {
+ if(getLogLevel() >= LOGLEVEL_TRACE) {
msg("<trace> stroke\n");
dump_outline(outline);
}
m.m12 = 0; m.m13 = 0; m.m23 = 0;
SWF_OUTLINE*outline = gfxPath_to_SWF_OUTLINE(state, path);
- if(screenloglevel >= LOGLEVEL_TRACE) {
+ if(getLogLevel() >= LOGLEVEL_TRACE) {
msg("<trace> fill\n");
dump_outline(outline);
}
m.m12 = 0; m.m13 = 0; m.m23 = 0;
SWF_OUTLINE*outline = gfxPath_to_SWF_OUTLINE(state, path);
- if(screenloglevel >= LOGLEVEL_TRACE) {
+ if(getLogLevel() >= LOGLEVEL_TRACE) {
msg("<trace> eofill\n");
dump_outline(outline);
}
m.m13 = 0; m.m23 = 0;
SWF_OUTLINE*outline = gfxPath_to_SWF_OUTLINE(state, path);
- if(screenloglevel >= LOGLEVEL_TRACE) {
+ if(getLogLevel() >= LOGLEVEL_TRACE) {
msg("<trace> clip\n");
dump_outline(outline);
}
m.m12 = 0; m.m13 = 0; m.m23 = 0;
SWF_OUTLINE*outline = gfxPath_to_SWF_OUTLINE(state, path);
- if(screenloglevel >= LOGLEVEL_TRACE) {
+ if(getLogLevel() >= LOGLEVEL_TRACE) {
msg("<trace> eoclip\n");
dump_outline(outline);
}
void pdfswf_setparameter(char*name, char*value)
{
+ msg("<verbose> setting parameter %s to \"%s\"", name, value);
if(!strcmp(name, "caplinewidth")) {
caplinewidth = atof(value);
} else if(!strcmp(name, "zoom")) {
// print doc info
i->doc->getDocInfo(&info);
if (info.isDict() &&
- (screenloglevel>=LOGLEVEL_NOTICE)) {
+ (getScreenLogLevel()>=LOGLEVEL_NOTICE)) {
printInfoString(info.getDict(), "Title", "Title: %s\n");
printInfoString(info.getDict(), "Subject", "Subject: %s\n");
printInfoString(info.getDict(), "Keywords", "Keywords: %s\n");
int swf_output_save(swf_output_t*swf, char*filename)
{
swf_output_internal_t*i= (swf_output_internal_t*)swf->internal;
- return i->outputDev->save(filename);
+ int ret = i->outputDev->save(filename);
+ i->outputDev->getDimensions(&swf->x1, &swf->y1, &swf->x2, &swf->y2);
+ return ret;
}
void swf_output_destroy(swf_output_t*output)
free(output);
}
-void pdf_page_render2(pdf_page_t*page, swf_output_t*output)
+void pdf_page_render2(pdf_page_t*page, swf_output_t*swf)
{
pdf_doc_internal_t*pi = (pdf_doc_internal_t*)page->parent->internal;
- swf_output_internal_t*si = (swf_output_internal_t*)output->internal;
+ swf_output_internal_t*si = (swf_output_internal_t*)swf->internal;
if(pi->protect) {
swfoutput_setparameter("protect", "1");
#else
pi->doc->displayPage((OutputDev*)si->outputDev, page->nr, zoom, zoom, /*rotate*/0, true, /*doLinks*/(int)1);
#endif
+ si->outputDev->getDimensions(&swf->x1, &swf->y1, &swf->x2, &swf->y2);
}
void pdf_page_rendersection(pdf_page_t*page, swf_output_t*output, int x, int y, int x1, int y1, int x2, int y2)