X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=pdf2swf%2Fswfoutput.h;h=279c289f15d9c6825c21bc9acb2446129f970000;hb=6ebfa7da8328bdb7622115371b8ab372a6611685;hp=048361c52fda1359937a76cc410d2e836070116b;hpb=805f5355196fae7072f303c8d88cee1c851834ab;p=swftools.git diff --git a/pdf2swf/swfoutput.h b/pdf2swf/swfoutput.h index 048361c..279c289 100644 --- a/pdf2swf/swfoutput.h +++ b/pdf2swf/swfoutput.h @@ -3,28 +3,32 @@ Part of the swftools package. - Copyright (c) 2001 Matthias Kramm - - This file is distributed under the GPL, see file COPYING for details */ + Copyright (c) 2001,2002,2003 Matthias Kramm + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef __swfoutput_h__ #define __swfoutput_h__ -#include -extern "C" { #include "../lib/rfxswf.h" -} - -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 +#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 { @@ -32,47 +36,16 @@ struct swfcoord { twip y; }; -class SWFFont -{ - T1_OUTLINE**outline; - char**charname; - int*width; - char*used; - - char*name; - int charnum; - - U16*char2swfcharid; - U16*swfcharid2char; - int swfcharpos; - - char**standardtable; - int standardtablesize; - - public: - - int t1id; - char*fontid; - unsigned int swfid; - - SWFFont(char*name, int t1id, char*filename); - SWFFont::~SWFFont(); - T1_OUTLINE*getOutline(char*charname); - int getSWFCharID(char*name, int charnr); - int getWidth(char*name); - char*getName(); - char*getCharName(int t); - int getCharWidth(int t) {return width[t];} -}; - struct swfoutput { - //int t1font; + MATRIX fontmatrix; double fontm11,fontm12,fontm21,fontm22; - unsigned short int linewidth; - SWFFont*font; + SWFFONT *swffont; RGBA strokergb; RGBA fillrgb; + int drawmode; + int x1,y1,x2,y2; + void*internal; }; #define DRAWMODE_STROKE 1 @@ -81,39 +54,38 @@ struct swfoutput #define DRAWMODE_CLIP 4 #define DRAWMODE_EOCLIP 5 -void swfoutput_init(struct swfoutput*, char*filename, int sizex, int sizey); -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, int t1font, char*filename); +void swfoutput_setfont(struct swfoutput*, char*fontid, char*filename); int swfoutput_queryfont(struct swfoutput*, char*fontid); -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, gfxcolor_t* col); -void swfoutput_drawchar(struct swfoutput*,double x,double y,char*a, int charnr); -void swfoutput_drawpath(struct swfoutput*, T1_OUTLINE*outline, struct swfmatrix*m); -void swfoutput_startclip(struct swfoutput*, T1_OUTLINE*outline, struct swfmatrix*m); +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*, char*filename, 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, - double x1,double y1, - double x2,double y2, - double x3,double y3, - double x4,double y4); -int swfoutput_drawimagelossless256(struct swfoutput*, U8*pic,RGBA*pal, 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); -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, @@ -121,6 +93,7 @@ void swfoutput_drawimageagain(struct swfoutput*, int id, int sizex, int sizey, void swfoutput_linktopage(struct swfoutput*, int page, swfcoord*points); void swfoutput_linktourl(struct swfoutput*, char*url, swfcoord*points); +void swfoutput_namedlink(struct swfoutput*obj, char*name, swfcoord*points); void swfoutput_destroy(struct swfoutput*);