Subversion Repositories wimsdev

Rev

Rev 8076 | Rev 8134 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 8076 Rev 8102
Line 13... Line 13...
13
 *  You should have received a copy of the GNU General Public License
13
 *  You should have received a copy of the GNU General Public License
14
 *  along with this program; if not, write to the Free Software
14
 *  along with this program; if not, write to the Free Software
15
 *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
15
 *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
16
 */
16
 */
17
 
17
 
18
#include "../config.h"
-
 
19
#include <stdio.h>
18
#include <stdio.h>
20
#include <stdlib.h>
19
#include <stdlib.h>
21
#include <stdarg.h>
20
#include <stdarg.h>
22
#include <string.h>
21
#include <string.h>
23
#include <unistd.h>
22
#include <unistd.h>
24
#include <ctype.h>
23
#include <ctype.h>
25
#include <math.h>
24
#include <math.h>
26
 
-
 
27
#include <gd.h>
25
#include <gd.h>
28
#include <gdfontt.h>
26
#include <gdfontt.h>
29
#include <gdfonts.h>
27
#include <gdfonts.h>
30
#include <gdfontmb.h>
28
#include <gdfontmb.h>
31
#include <gdfontl.h>
29
#include <gdfontl.h>
32
#include <gdfontg.h>
30
#include <gdfontg.h>
-
 
31
 
-
 
32
#include "../config.h"
-
 
33
#include "../Lib/libwims.h"
33
 
34
 
34
#define MAX_PARMS   8192
35
#define MAX_PARMS   8192
35
#define MAX_SIZE    4096
36
#define MAX_SIZE    4096
36
#define MAX_VARS    1024
37
#define MAX_VARS    1024
37
#define MAX_VARNAMEBUF  16384
38
#define MAX_VARNAMEBUF  16384
38
#define BOUND   (MAX_SIZE*10)
39
#define BOUND   (MAX_SIZE*10)
39
#define exec_prefix_char '#'
40
#define exec_prefix_char '#'
40
 
41
 
41
 
42
 
-
 
43
/* from flydraw.c */
-
 
44
extern int linecnt, varcnt;
-
 
45
extern ev_variable vartab[];
-
 
46
extern char varnamebuf[MAX_VARNAMEBUF], *varnameptr;
-
 
47
extern gdImagePtr image, wimg,tileimg,brushimg;
-
 
48
extern int brushed,tiled,styled,savew, wcolor, transform;
-
 
49
typedef double matrice[4];
-
 
50
#define JC_NB_MATRICES 19
-
 
51
extern matrice matrices_pavage[JC_NB_MATRICES+1];
-
 
52
#define matrix matrices_pavage[0]
-
 
53
typedef double vecteur[2];
-
 
54
extern vecteur vecteurs_pavage[JC_NB_MATRICES+1];
-
 
55
#define vector vecteurs_pavage[0];
-
 
56
extern double scale_buf[MAX_PARMS];
-
 
57
extern double transx,transy; /* translation vector */
-
 
58
extern double xscale,yscale,xstart,ystart;
-
 
59
extern int sizex, sizey, saved;
-
 
60
extern int color_white,color_black,color_bounder,lstep;
-
 
61
extern int width;
-
 
62
extern double tend, tstart, tstep, plotjump,animstep;
-
 
63
int tranged;
-
 
64
extern int vimg_enable,vimg_ready;
-
 
65
extern FILE *vimgf;
-
 
66
extern char vimgfilename[1024], imagefilename[1024];
-
 
67
double parallogram_fonda[];
-
 
68
void output(void);
-
 
69
/* from wimg.c */
-
 
70
void vimg_init (void);
-
 
71
void vimg_close (void);
-
 
72
void vimg_arc (double x0,double y0, double rx, double ry,double a1, double a2);
-
 
73
void vimg_ellipse (double x0, double y0, double rx, double ry);
-
 
74
void vimg_line (double x1,double y1,double x2,double y2);
-
 
75
void vimg_polyline (double xy[], int cnt, int closed);
-
 
76
void vimg_rect (double x1, double y1, double x2, double y2);
-
 
77
void vimg_plotstart (void);
-
 
78
void vimg_plot1 (double x, double y);
-
 
79
void vimg_plotend (void);
-
 
80
 
-
 
81
 
-
 
82
/* from flylines.c */
-
 
83
char *find_name_start(char *p);
-
 
84
char *find_name_end(char *p);
-
 
85
void error(char *p);
-
 
86
void scale(double dbuf[], int ibuf[], int cnt);
-
 
87
/* scale without displacement */
-
 
88
void scale2(double xin, double yin, double *xout, double *yout);
-
 
89
int widthcolor(int w, int color);
-
 
90
int getcolor(int r, int g, int b);
-
 
91
void setvar(char *p, double v);
-
 
92
void collapse_item(char *p, int n);
-
 
93
int ggetline(char buf[]);
-
 
94
 
-
 
95
/* from nametab.c */
-
 
96
enum {t_prep,t_color,t_obj};
-
 
97
typedef struct objparm{ int p[MAX_PARMS]; double pd[MAX_PARMS]; int pcnt,color[2],fill;
-
 
98
char str[MAX_LINELEN+1],font[16]; } objparm;
-
 
99
enum {p_and,p_from,p_to,p_thru,p_center,p_color,p_font,
-
 
100
  p_diameter,p_radius,p_width,p_height };
-
 
101
 
-
 
102
extern struct preptab { char *name;int typ; } preptab[];
-
 
103
extern struct objtab {
-
 
104
 char *name;int required_parms,color_pos,fill_tag,subst;
-
 
105
 void (*routine) (objparm *pm); } objtab[];
-
 
106
 
-
 
107
extern struct colortab {char *name;char *def;} colortab[];
-
 
108
extern struct nametab {char *name;int type;int serial;} nametab[];
-
 
109
extern int nametab_no, prep_no, obj_no, color_no;
-
 
110
 
-
 
111
/* from objects.c */
-
 
112
int obj_main(char *p);