X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=pdf2swf%2Fswfoutput.h;h=58f1490157d84af39c114694c7cc6d02de95bb04;hb=49b5309d4910ff28785c905db5d16895f4f46ae1;hp=364c961aab796f8d7649ececb695aa63d1745324;hpb=835ca4129da82a6af2bc3a056699856be04e7a96;p=swftools.git diff --git a/pdf2swf/swfoutput.h b/pdf2swf/swfoutput.h index 364c961..58f1490 100644 --- a/pdf2swf/swfoutput.h +++ b/pdf2swf/swfoutput.h @@ -22,9 +22,9 @@ #ifndef __swfoutput_h__ #define __swfoutput_h__ -extern "C" { #include "../lib/rfxswf.h" -} +#include "../lib/gfxdevice.h" + typedef long int twip; struct swfmatrix { @@ -44,99 +44,43 @@ struct swfoutput 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_setparameter(char*name, char*value); -void swfoutput_setprotected(); //write PROTECT tag - -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_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,