git.asbjorn.biz
/
swftools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
swf_FontEnumerate now passes a self pointer to the callback function.
[swftools.git]
/
pdf2swf
/
SWFOutputDev.cc
diff --git
a/pdf2swf/SWFOutputDev.cc
b/pdf2swf/SWFOutputDev.cc
index
37110fd
..
52f00d0
100644
(file)
--- a/
pdf2swf/SWFOutputDev.cc
+++ b/
pdf2swf/SWFOutputDev.cc
@@
-126,6
+126,8
@@
public:
void setClip(int x1,int y1,int x2,int y2);
int save(char*filename);
void setClip(int x1,int y1,int x2,int y2);
int save(char*filename);
+ void pagefeed();
+ void* getSWF();
void getDimensions(int*x1,int*y1,int*x2,int*y2);
void getDimensions(int*x1,int*y1,int*x2,int*y2);
@@
-353,10
+355,7
@@
void SWFOutputDev::setClip(int x1,int y1,int x2,int y2)
}
void SWFOutputDev::getDimensions(int*x1,int*y1,int*x2,int*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;
+ return swfoutput_getdimensions(&output, x1,y1,x2,y2);
}
static char*getFontID(GfxFont*font)
}
static char*getFontID(GfxFont*font)
@@
-799,10
+798,20
@@
void SWFOutputDev::eoClip(GfxState *state)
clipping[clippos] ++;
free_outline(outline);
}
clipping[clippos] ++;
free_outline(outline);
}
+
+/* pass through functions for swf_output */
int SWFOutputDev::save(char*filename)
{
return swfoutput_save(&output, filename);
}
int SWFOutputDev::save(char*filename)
{
return swfoutput_save(&output, filename);
}
+void SWFOutputDev::pagefeed()
+{
+ swfoutput_pagefeed(&output);
+}
+void* SWFOutputDev::getSWF()
+{
+ return (void*)swfoutput_get(&output);
+}
SWFOutputDev::~SWFOutputDev()
{
SWFOutputDev::~SWFOutputDev()
{
@@
-947,10
+956,10
@@
void SWFOutputDev::startPage(int pageNum, GfxState *state, double crop_x1, doubl
/* apply user clip box */
if(user_clipx1|user_clipy1|user_clipx2|user_clipy2) {
/* apply user clip box */
if(user_clipx1|user_clipy1|user_clipx2|user_clipy2) {
- if(user_clipx1 > x1) x1 = user_clipx1;
- if(user_clipx2 < x2) x2 = user_clipx2;
- if(user_clipy1 > y1) y1 = user_clipy1;
- if(user_clipy2 < y2) y2 = user_clipy2;
+ /*if(user_clipx1 > x1)*/ x1 = user_clipx1;
+ /*if(user_clipx2 < x2)*/ x2 = user_clipx2;
+ /*if(user_clipy1 > y1)*/ y1 = user_clipy1;
+ /*if(user_clipy2 < y2)*/ y2 = user_clipy2;
}
if(!outputstarted) {
}
if(!outputstarted) {
@@
-2213,6
+2222,13
@@
void swf_output_setparameter(swf_output_t*swf_output, char*name, char*value)
pdfswf_setparameter(name, value);
}
pdfswf_setparameter(name, value);
}
+void swf_output_pagefeed(swf_output_t*swf)
+{
+ swf_output_internal_t*i= (swf_output_internal_t*)swf->internal;
+ i->outputDev->pagefeed();
+ i->outputDev->getDimensions(&swf->x1, &swf->y1, &swf->x2, &swf->y2);
+}
+
int swf_output_save(swf_output_t*swf, char*filename)
{
swf_output_internal_t*i= (swf_output_internal_t*)swf->internal;
int swf_output_save(swf_output_t*swf, char*filename)
{
swf_output_internal_t*i= (swf_output_internal_t*)swf->internal;
@@
-2221,6
+2237,14
@@
int swf_output_save(swf_output_t*swf, char*filename)
return ret;
}
return ret;
}
+void* swf_output_get(swf_output_t*swf)
+{
+ swf_output_internal_t*i= (swf_output_internal_t*)swf->internal;
+ void* ret = i->outputDev->getSWF();
+ i->outputDev->getDimensions(&swf->x1, &swf->y1, &swf->x2, &swf->y2);
+ return ret;
+}
+
void swf_output_destroy(swf_output_t*output)
{
swf_output_internal_t*i = (swf_output_internal_t*)output->internal;
void swf_output_destroy(swf_output_t*output)
{
swf_output_internal_t*i = (swf_output_internal_t*)output->internal;