X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=pdf2swf%2Fswfoutput.h;h=279c289f15d9c6825c21bc9acb2446129f970000;hb=6ebfa7da8328bdb7622115371b8ab372a6611685;hp=16e6d6d2a34542602f0eb5910e90777318391977;hpb=5186504cac885da1446f2f8cf76d174d99b04276;p=swftools.git diff --git a/pdf2swf/swfoutput.h b/pdf2swf/swfoutput.h index 16e6d6d..279c289 100644 --- a/pdf2swf/swfoutput.h +++ b/pdf2swf/swfoutput.h @@ -22,25 +22,13 @@ #ifndef __swfoutput_h__ #define __swfoutput_h__ -extern "C" { #include "../lib/rfxswf.h" -} - -extern int enablezlib; //default:0 -extern int opennewwindow; //default:0 -extern int ignoredraworder; //default:0 -extern int drawonlyshapes; //default:0 -extern int jpegquality; //default:100; -extern int storeallcharacters; // default:0 -extern int insertstoptag; //default:0 -extern int flashversion; //default:4 -extern int splinemaxerror; //default:1 -extern int fontsplinemaxerror; //default:1 +#include "../lib/gfxdevice.h" typedef long int twip; struct swfmatrix { - double m11,m12,m21,m22,m13,m23; + double m11,m12,m21,m22,m31,m32; }; struct swfcoord { @@ -50,103 +38,54 @@ struct swfcoord { struct swfoutput { + MATRIX fontmatrix; double fontm11,fontm12,fontm21,fontm22; - unsigned short int linewidth; SWFFONT *swffont; RGBA strokergb; RGBA fillrgb; int drawmode; + int x1,y1,x2,y2; + void*internal; }; -/* outline definition, adapted from t1lib.h */ - -/* A fractional point */ -typedef struct { - long x; - long y; -} SWF_PATHPOINT; - -/* A straight outline segment, stroked or not stroked */ -typedef struct pathsegment { - char type; /* type of segment (line or move) */ - unsigned char flag; /* type1 rasterizer internal stuff */ - short references; /* type1 rasterizer internal stuff */ - unsigned char size; /* size of the structure */ - unsigned char context; /* index to device context */ - struct pathsegment *link; /* pointer to next structure in linked list */ - struct pathsegment *last; /* pointer to last structure in list */ - SWF_PATHPOINT dest; /* relative ending location of path segment */ -} SWF_PATHSEGMENT; - -/* A third order bezier segment */ -typedef struct bezierpathsegment { - char type; /* type of segment (bezier) */ - unsigned char flag; /* type1 rasterizer internal stuff */ - short references; /* type1 rasterizer internal stuff */ - unsigned char size; /* as with any 'segment' type */ - unsigned char context; /* as with any 'segment' type */ - SWF_PATHSEGMENT *link; /* as with any 'segment' type */ - SWF_PATHSEGMENT *last; /* as with any 'segment' type */ - SWF_PATHPOINT dest; /* ending point (D) */ - SWF_PATHPOINT B; /* control point B */ - SWF_PATHPOINT C; /* control point C */ -} SWF_BEZIERSEGMENT; - -typedef SWF_PATHSEGMENT SWF_OUTLINE; - -#define SWF_PATHTYPE_LINE 0x10 -#define SWF_PATHTYPE_BEZIER 0x12 -#define SWF_PATHTYPE_MOVE 0x15 - - #define DRAWMODE_STROKE 1 #define DRAWMODE_FILL 2 #define DRAWMODE_EOFILL 3 #define DRAWMODE_CLIP 4 #define DRAWMODE_EOCLIP 5 -void swfoutput_init(struct swfoutput*, char*filename, int x1, int y1, int x2, int y2); -void swfoutput_setprotected(); //write PROTECT tag +void swfoutput_setparameter(char*name, char*value); -void swfoutput_newpage(struct swfoutput*); +void swfoutput_init(struct swfoutput*); +int swfoutput_save(struct swfoutput*, char*filename); +SWF* swfoutput_get(struct swfoutput*); +void swfoutput_getdimensions(struct swfoutput*, int*x1, int*y1, int*x2, int*y2); + +void swfoutput_pagefeed(struct swfoutput*obj); +void swfoutput_newpage(struct swfoutput*, int pageNum, int movex, int movey, int x1, int y1, int x2, int y2); void swfoutput_setfont(struct swfoutput*, char*fontid, char*filename); int swfoutput_queryfont(struct swfoutput*, char*fontid); -int getCharID(SWFFONT *font, int charnr, char *charname, int u); -void swfoutput_setdrawmode(struct swfoutput*, int drawmode); -void swfoutput_setfillcolor(struct swfoutput*, unsigned char r, unsigned char g, unsigned char b, unsigned char a); -void swfoutput_setstrokecolor(struct swfoutput*, unsigned char r, unsigned char g, unsigned char b, unsigned char a); +void swfoutput_setfont(struct swfoutput*, char*fontid, char*filename); + +void swfoutput_gfxaddfont(struct swfoutput*, char*fontid, gfxfont_t*font); +void swfoutput_gfxdrawchar(struct swfoutput*, char*fontid, int glyph, gfxcolor_t*c, gfxmatrix_t*m); + void swfoutput_setfontmatrix(struct swfoutput*,double,double,double,double); -void swfoutput_setlinewidth(struct swfoutput*, double linewidth); - -int swfoutput_drawchar(struct swfoutput*,double x,double y,char*a, int charnr, int u); -void swfoutput_drawpath(struct swfoutput*, SWF_OUTLINE*outline, struct swfmatrix*m); -#define LINE_CAP_BUTT 0 -#define LINE_CAP_ROUND 1 -#define LINE_CAP_SQUARE 2 -#define LINE_JOIN_MITER 0 -#define LINE_JOIN_ROUND 1 -#define LINE_JOIN_BEVEL 2 -void swfoutput_drawpath2poly(struct swfoutput*, SWF_OUTLINE*outline, struct swfmatrix*m, int line_join, int line_cap, double line_width, double miter_limit); -void swfoutput_startclip(struct swfoutput*, SWF_OUTLINE*outline, struct swfmatrix*m); +int swfoutput_drawchar(struct swfoutput*,double x,double y,char*a, int charnr, int u, gfxcolor_t* col); + +void swfoutput_drawgfxline(struct swfoutput*, gfxline_t*line, gfxcoord_t width, gfxcolor_t*col, gfx_capType cap_style, gfx_joinType joint_style, gfxcoord_t miterLimit); +void swfoutput_fillgfxline(struct swfoutput*, gfxline_t*line, gfxcolor_t*col); +void swfoutput_startclip(struct swfoutput*, gfxline_t*line); void swfoutput_endclip(struct swfoutput*); -int swfoutput_drawimagejpeg(struct swfoutput*, RGBA*pic, int sizex,int sizey, - double x1,double y1, - double x2,double y2, - double x3,double y3, - double x4,double y4); -int swfoutput_drawimagelossless(struct swfoutput*, RGBA*pic, int sizex, int sizey, + +void swfoutput_drawimagejpeg(struct swfoutput*, RGBA*pic, int sizex,int sizey, double x1,double y1, double x2,double y2, double x3,double y3, double x4,double y4); -int swfoutput_drawimagelosslessN(struct swfoutput*, U8*pic, RGBA*pal, int sizex, int sizey, - double x1,double y1, - double x2,double y2, - double x3,double y3, - double x4,double y4, int n); -void swfoutput_drawimageagain(struct swfoutput*, int id, int sizex, int sizey, +void swfoutput_drawimagelossless(struct swfoutput*, RGBA*pic, int sizex, int sizey, double x1,double y1, double x2,double y2, double x3,double y3,