Subversion Repositories wimsdev

Rev

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

Rev 14548 Rev 15111
Line 1... Line 1...
1
#include <assert.h>
1
#include <assert.h>
2
#include "../../Lib/libwims.h"
2
#include "../../Lib/libwims.h"
3
#define MAX_INT         128
3
#define MAX_INT                 128
4
#define MAX_BUFFER 16384
4
#define MAX_BUFFER              65536
-
 
5
#define MAX_DRAGSTUFF           24
-
 
6
#define MAX_MULTI_PRIMITIVES    27
-
 
7
/* wims : MAX_FWRITE_SIZE 64*1024=65536 == 2*MAX_BUFFER */
5
#define MAX_COLOR_STRING        32
8
#define MAX_COLOR_STRING        32
6
#define MAX_JS_FUNCTIONS 64
-
 
7
#define MAX_SLIDERS     16
9
#define MAX_SLIDERS             16
8
/* the commmand / keyword name collecton */
10
/* the commmand / keyword name collection */
9
#define END             -1
11
#define END             -1
10
#define COMMENT         -2
12
#define COMMENT         -2
11
#define SIZE            1
13
#define SIZE            1
12
#define XRANGE          2
14
#define XRANGE          2
13
#define YRANGE          3
15
#define YRANGE          3
Line 35... Line 37...
35
#define SQUARE          29
37
#define SQUARE          29
36
#define ELLIPSE         31
38
#define ELLIPSE         31
37
#define ROTATE          32
39
#define ROTATE          32
38
#define TYPE            33
40
#define TYPE            33
39
#define QUALITY         34
41
#define QUALITY         34
40
#define INPUTSTYLE      35
42
#define CSS     35
41
#define POINTS          36
43
#define POINTS          36
42
#define TRIANGLE        37
44
#define TRIANGLE        37
43
#define HLINE           38
45
#define HLINE           38
44
#define VLINE           39
46
#define VLINE           39
45
#define GRID            40
47
#define GRID            40
Line 128... Line 130...
128
#define STATUS          133
130
#define STATUS          133
129
#define SNAPTOGRID      134
131
#define SNAPTOGRID      134
130
#define XSNAPTOGRID     135
132
#define XSNAPTOGRID     135
131
#define YSNAPTOGRID     136
133
#define YSNAPTOGRID     136
132
#define USERINPUT_XY    137
134
#define USERINPUT_XY    137
133
#define USERTEXTAREA_XY 138
-
 
134
#define SGRAPH          139
135
#define SGRAPH          139
135
#define YLOGBASE        140
136
#define YLOGBASE        140
136
#define AFFINE          141
137
#define AFFINE          141
137
#define KILLAFFINE      142
138
#define KILLAFFINE      142
138
#define LEVELCURVE      143
139
#define LEVELCURVE      143
Line 211... Line 212...
211
#define CURVEDARROW2    217
212
#define CURVEDARROW2    217
212
#define CURVEDARROW     218
213
#define CURVEDARROW     218
213
#define CURVEDARROWS    219
214
#define CURVEDARROWS    219
214
#define CURVEDARROWS2   220
215
#define CURVEDARROWS2   220
215
#define LATEX           221
216
#define LATEX           221
216
#define ALLOW_DUPLICATES        222
-
 
217
/* the draw_function collection */
-
 
218
#define DRAW_GRID       0
-
 
219
#define DRAW_SEGMENTS   1
-
 
220
#define DRAW_CROSSHAIRS 2
-
 
221
#define DRAW_RECTS      3
-
 
222
#define DRAW_ROUNDRECTS 4
-
 
223
#define DRAW_ARROWS     6
-
 
224
#define DRAW_GRIDFILL   7
-
 
225
#define DRAW_XML        8
-
 
226
#define DRAW_CIRCLES    9
-
 
227
#define DRAW_ARCS       10
-
 
228
#define DRAW_ELLIPSES   11
-
 
229
#define DRAW_TEXTS      12
217
#define KATEX           222
230
#define DRAW_CURVE      13
-
 
231
#define DRAW_PATHS      14
218
#define ALLOW_DUPLICATES        223
232
#define DRAW_LATTICE    15
-
 
233
#define DRAW_INPUTS     16
219
#define LINEAR          224
234
#define DRAW_TEXTAREAS  17
-
 
235
#define DRAW_HTTP       18
-
 
236
#define DRAW_AUDIO      19
-
 
237
#define DRAW_VIDEO      20
220
#define KILLLINEAR      225
238
#define DRAW_DOTFILL    21
-
 
239
#define DRAW_HATCHFILL  22
-
 
240
#define DRAW_IMAGEFILL  23
-
 
241
#define DRAW_FLOODFILL  24
-
 
242
#define DRAW_FILLTOBORDER       25
-
 
243
#define DRAW_PIXELS     26
221
#define OBABEL          226
244
#define DRAW_POLY       27
222
#define CHEMTEX         227
245
#define DRAW_LINES      28
223
#define NORESET         228
246
#define DRAW_PIECHART   29
-
 
247
#define DRAW_CLOCK      30
-
 
248
#define DRAW_EXTERNAL_IMAGE     32
224
/* the js_function[] dcollection : js-code without configurable argumens see canvasutil.c  */
249
#define DRAW_DIAMONDFILL        33
-
 
250
#define DRAW_SGRAPH     34
-
 
251
#define DRAW_POLYLINE   35
-
 
252
#define DRAW_YLOGSCALE  36
-
 
253
#define DRAW_XLOGSCALE  37
-
 
254
#define DRAW_XYLOGSCALE 38
-
 
255
#define DRAW_CENTERSTRING 39
-
 
256
#define DRAW_JSFUNCTION 40
225
#define MAX_JS_FUNCTIONS        50
257
#define DRAW_DEMILINES  41
-
 
258
#define DRAW_BEZIER     42
-
 
259
#define DRAW_BOXPLOT    43
-
 
260
#define DRAW_JSBOXPLOT  44
-
 
261
#define DRAW_NUMBERLINE 45
-
 
262
#define JS_FIND_ANGLE   46
-
 
263
#define DRAW_TEXTFILL   47
-
 
264
#define ADD_LOAD_IMAGE  48
-
 
265
#define ADD_JS_ROTATE_MOUSE 49
-
 
266
#define ADD_JS_TRANSFORM_MOUSE 50
-
 
267
 
226
 
-
 
227
#define DRAW_GRID       0
-
 
228
#define DRAW_CROSSHAIRS 1
-
 
229
#define DRAW_GRIDFILL   2
-
 
230
#define DRAW_XML        3
-
 
231
#define DRAW_ARCS       4
-
 
232
#define DRAW_LATTICE    5
-
 
233
#define DRAW_INPUTS     6
-
 
234
#define DRAW_TEXTAREAS  7
-
 
235
#define DRAW_HTTP       8
-
 
236
#define DRAW_AUDIO      9
-
 
237
#define DRAW_VIDEO      10
-
 
238
#define DRAW_DOTFILL    11
-
 
239
#define DRAW_HATCHFILL  12
-
 
240
#define DRAW_IMAGEFILL  13
-
 
241
#define DRAW_FLOODFILL  14
-
 
242
#define DRAW_FILLTOBORDER       15
-
 
243
#define DRAW_PIXELS     16
-
 
244
#define DRAW_LINES      17
-
 
245
#define DRAW_PIECHART   18
-
 
246
#define DRAW_CLOCK      19
-
 
247
#define DRAW_EXTERNAL_IMAGE     20
-
 
248
#define DRAW_DIAMONDFILL        21
-
 
249
#define DRAW_SGRAPH     22
-
 
250
#define DRAW_YLOGSCALE  23
-
 
251
#define DRAW_XLOGSCALE  24
-
 
252
#define DRAW_XYLOGSCALE 25
-
 
253
#define DRAW_CENTERSTRING       26
-
 
254
#define DRAW_JSFUNCTION 27
-
 
255
#define DRAW_BEZIER     28
-
 
256
#define DRAW_BOXPLOT    29
-
 
257
#define DRAW_JSBOXPLOT  30
-
 
258
#define DRAW_NUMBERLINE 31
-
 
259
#define JS_FIND_ANGLE   32
-
 
260
#define DRAW_TEXTFILL   33
-
 
261
#define INTERACTIVE     34
-
 
262
#define JS_ROTATE_MOUSE 35
-
 
263
#define JS_TRANSFORM_MOUSE      36
-
 
264
#define DRAW_FILL_PATTERN       37
-
 
265
#define JS_ZOOM 38
-
 
266
#define DRAG_AND_ZOOM   39
-
 
267
#define USERDRAW_AND_ZOOM       40
-
 
268
#define JS_RAWMATH      41
-
 
269
#define JS_LOAD_IMAGE   42
-
 
270
#define JS_SAFE_EVAL    43
-
 
271
#define JS_PLOT 44
-
 
272
#define JS_MATH 45
-
 
273
#define DRAW_TEXTS      46
-
 
274
#define DRAG_EXTERNAL_IMAGE     47
-
 
275
#define ADD_USER_INPUTS 48
-
 
276
#define JSPLOT_AND_ZOOM 49
-
 
277
/*  end js_function[]  */
-
 
278
/* default canvasses, eg png images xsize x ysize */
268
#define EXTERNAL_IMAGE_CANVAS 0 /* this is created first !!! in order to draw on it */
279
#define EXTERNAL_IMAGE_CANVAS 0 /* this is created first !!! in order to draw on it */
269
#define BG_CANVAS       1
280
#define BG_CANVAS       1
270
#define STATIC_CANVAS   2
281
#define STATIC_CANVAS   2
271
#define MOUSE_CANVAS    3
282
#define MOUSE_CANVAS    3
272
#define GRID_CANVAS     4
283
#define GRID_CANVAS     4
Line 280... Line 291...
280
#define FILL_CANVAS     200 /* will be increase with every fill */
291
#define FILL_CANVAS     200 /* will be increase with every fill */
281
#define USERDRAW_JSPLOT 300 /* USERDRAW_JSPLOT will be increased with every added inputfield...should not conflict with other images*/
292
#define USERDRAW_JSPLOT 300 /* USERDRAW_JSPLOT will be increased with every added inputfield...should not conflict with other images*/
282
#define CLICKFILL_CANVAS 400 /* will be increase with every click fill */
293
#define CLICKFILL_CANVAS 400 /* will be increase with every click fill */
283
#define BOXPLOT_CANVAS  500 /* will increase with every new boxplot */ 
294
#define BOXPLOT_CANVAS  500 /* will increase with every new boxplot */ 
284
#define NUMBERLINE_CANVAS 600
295
#define NUMBERLINE_CANVAS 600
285
 
-
 
-
 
296
#define MULTIDRAW_CANVAS        1000 /* + >25 draw types... 1001=points*/
-
 
297
#define ZOOM_CANVAS     1100
-
 
298
#define STATIC_IMAGE_CANVAS 700
286
#ifndef STD_H
299
#ifndef STD_H
287
#define STD_H
300
#define STD_H
288
 
301
 
289
#ifndef bool
302
#ifndef bool
290
#define bool            char
303
#define bool            char
291
#endif
304
#endif
292
#ifndef TRUE
305
#ifndef TRUE
293
#define TRUE            1
306
#define TRUE            1
294
#endif
307
#endif
295
#ifndef FALSE
308
#ifndef FALSE
296
#define FALSE           0
309
#define FALSE           0
297
#endif
310
#endif
298
 
311
 
299
#endif
312
#endif
-
 
313
void    add_to_buffer(char *tmp); /* add tmp_buffer to the buffer */
-
 
314
void    check_string_length(int length);
-
 
315
void *tmp_buffer;
300
 
316
 
301
void add_drag_code(FILE *js_include_file,int canvas_cnt,int canvas_root_id);
317
void rotate(int num,double angle,double center[],int incr);
302
void add_trace_js_mouse(FILE *js_include_file,int canvas_cnt,int canvas_root_id,char *stroke_color,char *jsmath,int font_size,double stroke_opacity,int line_width,int crosshair_size,char *input_style);
318
void transform(int num,int incr);
303
void add_setlimits(FILE *js_include_file, int canvas_root_id,int font_size,char *input_style);
319
void add_read_canvas(int type_reply,int reply_precision);
304
void add_safe_eval(FILE *js_include_file);
320
void add_javascript_function();
305
void add_to_js_math(FILE *js_include_file);
321
void add_drag_code(int canvas_cnt,int use_dragstuff, int stuff[],int reply_format);
306
void add_calc_y(FILE *js_include_file,int canvas_root_id,char *jsmath,int font_size,char *input_style);
322
void add_trace_js_mouse(int canvas_cnt,char *stroke_color,char *jsmath,int font_size,double stroke_opacity,int line_width,int crosshair_size,char *css_class);
307
void add_jsplot(FILE *js_include_file,int canvas_root_id);
323
void add_setlimits(int font_size,char *css_class);
-
 
324
void add_safe_eval();
308
void add_slider(FILE *js_include_file,int canvas_root_id);
325
void add_calc_y(char *jsmath,int font_size,char *css_class);
-
 
326
void add_slider(int anim);
309
void add_slider_display(FILE *js_include_file, int canvas_root_id,int precision,int font_size,char *font_color,double stroke_opacity);
327
void add_slider_display(int precision,int font_size,char *font_color,double stroke_opacity);
310
void add_xyslider(FILE *js_include_file, int canvas_root_id,double v1,double v2,int width,int height,char *use_slider,char *label,int slider_cnt,char *stroke_color,char *fill_color,int line_width,double opacity,char *font_family,char *font_color,int use_slider_display);
328
void add_xyslider(double v1,double v2,int width,int height,char *use_slider,char *label,int slider_cnt,char *stroke_color,char *fill_color,int line_width,double opacity,char *font_family,char *font_color,int use_slider_display);
311
void *my_newmem(size_t size);
329
void *my_newmem(size_t size);
312
void canvas_error(char *msg);
330
void canvas_error(char *msg);
313
char *eval(int xsize,int ysize,char *fun,double xmin,double xmax,double ymin,double ymax,int xsteps,int precision);
331
char *eval(int xsize,int ysize,char *fun,double xmin,double xmax,double ymin,double ymax,int xsteps,int precision);
314
char *eval_parametric(int xsize,int ysize,char *fun1,char* fun2,double xmin,double xmax,double ymin,double ymax, double tmin,double tmax,int plotsteps,int precision);
332
char *eval_parametric(int xsize,int ysize,char *fun1,char* fun2,double xmin,double xmax,double ymin,double ymax, double tmin,double tmax,int plotsteps,int precision);
315
char *eval_levelcurve(int xsize,int ysize,char *fun,double xmin,double xmax,double ymin,double ymax,int plotsteps,int precision,double level);
333
char *eval_levelcurve(int xsize,int ysize,char *fun,double xmin,double xmax,double ymin,double ymax,int plotsteps,int precision,double level);
316
char *getMML(char *tex);
334
char *getMML(char *tex);
-
 
335
char *getSVGMOL(char *inputtype,char *keys);
317
char *data2js_array(int data[],int len);
336
char *data2js_array(int data[],int len);
318
char *double_xy2js_array(double xy[],int len,int decimals);
337
char *double_xy2js_array(double xy[],int len,int decimals);
-
 
338
char *doubledata2js_array(double data[],int len, int decimals);
-
 
339
char *list2js_array(char *list,char *s);
319
int find_number_of_digits(int i);
340
int find_number_of_digits(int i);
320
int x2px(double x);
341
int x2px(double x);
321
int y2px(double y);
342
int y2px(double y);
322
 
-
 
323
void add_clear_button(FILE *js_include_file,int canvas_root_id,char *input_style,char *button_text);
343
char *str_replace(const char *str, const char *old, const char *new);
324
void add_js_inputs(FILE *js_include_file,int canvas_root_id,int num,int input_cnt,char *input_style,int line_width,int use_offset,int use_snap);
344
void add_clear_button(char *css_class,char *button_text);
325
void add_js_mouse(FILE *js_include_file,int canvas_cnt,int canvas_root_id,int precision,char *stroke_color,int font_size,double stroke_opacity,int type);
345
void add_js_mouse(int canvas_cnt,int precision,char *stroke_color,int font_size,double stroke_opacity,int type);
326
void add_js_points(FILE *js_include_file,int num,char *draw_type,int line_width, int radius ,char *stroke_color,double stroke_opacity,int use_filled,char *fill_color,double fill_opacity,int use_dashed,int dashtype0,int dashtype1,int use_snap);
-
 
327
void add_js_circles(FILE *js_include_file,int num,char *draw_type, int line_width, int radius , char *stroke_color,double stroke_opacity,int use_filled,char *fill_color,double fill_opacity,int use_dashed,int dashtype0,int dashtype1,int use_snap);
-
 
328
void add_js_segments(FILE *js_include_file,int num,char *draw_type,int line_width, char *stroke_color,double stroke_opacity,int use_dashed,int dashtype0,int dashtype1,int use_snap);
-
 
329
void add_js_demilines(FILE *js_include_file,int num,char *draw_type,int line_width, char *stroke_color,double stroke_opacity,int use_dashed,int dashtype0,int dashtype1,int use_snap);
-
 
330
void add_js_polyline(FILE *js_include_file,char *draw_type,int line_width, char *stroke_color,double stroke_opacity,int use_dashed,int dashtype0,int dashtype1,int use_snap);
-
 
331
void add_js_lines(FILE *js_include_file,int num,char *draw_type,int line_width, char *stroke_color,double stroke_opacity,int use_dashed,int dashtype0,int dashtype1,int use_snap);
-
 
332
void add_js_hlines(FILE *js_include_file,int num,char *draw_type,int line_width, char *stroke_color,double stroke_opacity,int use_dashed,int dashtype0,int dashtype1,int use_snap);
-
 
333
void add_js_arrows(FILE *js_include_file,int num,char *draw_type,int line_width,int type, char *stroke_color,double stroke_opacity,int use_dashed,int dashtype0,int dashtype1,int arrow_head,int use_snap);
-
 
334
void add_js_curvedarrow(FILE *js_include_file,int canvas_root_id,int num,int line_width,char *stroke_color,double stroke_opacity,int use_dashed,int arrow_head,int type,int use_snap);
-
 
335
void add_js_crosshairs(FILE *js_include_file,int num,char *draw_type,int line_width, int crosshair_size ,char *stroke_color,double stroke_opacity,int use_snap);
-
 
336
void add_js_paths(FILE *js_include_file,int num,char *draw_type,int line_width, int closed_path,char *stroke_color,double stroke_opacity,int use_filled, char *fill_color,double fill_opacity,int use_dashed,int dashtype0,int dashtype1,int use_snap);
-
 
337
void add_js_poly(FILE *js_include_file,int num,char *draw_type,int line_width,char *stroke_color,double stroke_opacity,int use_filled,char *fill_color,double fill_opacity,int use_dashed,int dashtype0,int dashtype1,int use_snap);
-
 
338
void add_js_rect(FILE *js_include_file,int num,int roundrect,char *draw_type,int line_width,char *stroke_color,double stroke_opacity,int use_filled,char *fill_color,double fill_opacity,int use_dashed,int dashtype0,int dashtype1,int use_snap);
-
 
339
void add_js_clickfill(FILE *js_include_file,int canvas_root_id,char *clickcolor,int opacity,int use_snap);
-
 
340
void add_js_filltoborder(FILE *js_include_file,int canvas_root_id,int canvas_type);
346
void add_js_filltoborder(int canvas_type);
341
void add_js_arc(FILE *js_include_file,int canvas_root_id,int num,int line_width,char *stroke_color,double stroke_opacity,char *fill_color,double fill_opacity,int use_dashed,int dashtype0,int dashtype1,int use_filled,int use_snap);
-
 
342
void add_js_text(FILE *js_include_file,int canvas_root_id,int font_size,char *font_family,char *font_color,double stroke_opacity,int use_snap);
347
void add_js_multidraw(char *draw_types,char *button_style,int use_offset,int use_controls,int crosshair_size,int use_zoom);
343
void add_js_multidraw(FILE *js_include_file,int canvas_root_id,char *draw_types,char *button_style,int use_offset);
348
extern void add_js_userdraw(char *draw_type,char *stroke_color,double stroke_opacity,int crosshair_size,int arrow_head,int use_offset, char *css_class,int use_snap,int canvas_type,int use_filled,char * fill_color,double fill_opacity,int line_width,char *font_family);
344
/* these should  be harmonized via switch key !!*/
349
/* these should  be harmonized via switch key !!*/
345
void add_input_circle(FILE *js_include_file,int type,int num);
350
void add_input_circle(int type,int num);
346
void add_input_segment(FILE *js_include_file,int num);
351
void add_input_segment(int num);
347
void add_input_demiline(FILE *js_include_file,int num);
352
void add_input_demiline(int num);
348
void add_input_line(FILE *js_include_file,int num);
353
void add_input_line(int num);
349
void add_input_polyline(FILE *js_include_file);
354
void add_input_polyline();
350
void add_textarea_polygon(FILE *js_include_file);
-
 
351
void add_input_crosshair(FILE *js_include_file,int num);
355
void add_input_crosshair(int num);
352
void add_input_arrow(FILE *js_include_file,int num);
356
void add_input_arrow(int num);
353
void add_input_xy(FILE *js_include_file, int canvas_root_id,int font_size,char *input_style);
357
void add_input_xy(int font_size,char *css_class);
354
void add_input_xyr(FILE *js_include_file, int canvas_root_id,int font_size,char *input_style);
358
void add_input_xyr(int font_size,char *css_class);
355
void add_input_x1y1x2y2(FILE *js_include_file, int canvas_root_id,int font_size,char *input_style);
359
void add_input_x1y1x2y2(int font_size,char *css_class);
356
void add_textarea_xy(FILE *js_include_file, int canvas_root_id,char *input_style);
360
void add_textarea_xy(char *css_class);
357
void add_zoom_buttons(FILE *js_include_file,int canvas_root_id,char *stroke_color,double stroke_opacity);
361
void add_js_zoom_buttons(char *stroke_color,double stroke_opacity);
358
void add_js_tooltip(int canvas_root_id,char *tooltip_text,char *bgcolor,int xsize,int ysize);
362
void add_js_tooltip(char *tooltip_text,char *bgcolor);
359
void add_js_popup(int canvas_root_id,int xsize,int ysize,char *getfile_cmd);
363
void add_js_popup(char *getfile_cmd);
360
void add_input_jsfunction(FILE *js_include_file, int canvas_root_id,char *input_style,char *input_label,int input_cnt,char *stroke_color,float stroke_opacity,int line_width,int use_dashed,int dashtype0,int dashtype1,int font_size);
364
void add_input_jsfunction(char *css_class,char *input_label,int input_cnt,char *stroke_color,float stroke_opacity,int line_width,int use_dashed,int dashtype0,int dashtype1,int font_size);
361
void add_rawmath(FILE *js_include_file);
-
 
362
void add_js_protractor(FILE *js_include_file,int canvas_root_id,int type,double xcenter,double ycenter,int size,char *font,char *stroke_color,double stroke_opacity,char *fill_color,double fill_opacity,int line_width,int use_scale,int dynamic,int use_snap);
365
void add_js_protractor(int type,double xcenter,double ycenter,int size,char *font,char *stroke_color,double stroke_opacity,char *fill_color,double fill_opacity,int line_width,int use_scale,int dynamic,int use_snap);
363
void add_js_ruler(FILE *js_include_file,int canvas_root_id,double x,double y,double sizex,double sizey,char *font,char *stroke_color,double stroke_opacity,char *fill_color,double fill_opacity,int line_width,int dynamic,int use_snap);
366
void add_js_ruler(double x,double y,double sizex,double sizey,char *font,char *stroke_color,double stroke_opacity,char *fill_color,double fill_opacity,int line_width,int dynamic,int use_snap);
364
void add_color_palette(FILE *js_include_file,int canvas_root_id,char *input_style);
367
void add_color_palette(char *css_class);
365
void add_js_load_image(FILE *js_include_file,int canvas_root_id);
368
void add_js_images(int use_offset,int snap);
366
void add_js_images(FILE *js_include_file,int canvas_root_id,int use_offset,int snap);
-
 
367
extern int NUMBER_OF_COLORNAMES;
369
extern int NUMBER_OF_COLORNAMES;
368
extern struct colors { char *hex; char *name; char *rgb; } colors[];
370
extern struct colors { char *hex; char *name; char *rgb; } colors[];
-
 
371
extern int js_function[MAX_JS_FUNCTIONS];
-
 
372
extern int reply_format;
-
 
373
extern int xsize;
-
 
374
extern int ysize;
-
 
375
extern unsigned int canvas_root_id;
-
 
376
extern int user_input_xy;
-
 
377
extern char *css_class;
-
 
378
extern int font_size;
-
 
379
extern char *draw_type;
-
 
380
extern char *function_label;
-
 
381
extern int input_cnt;
-
 
382
extern int use_dashed;
-
 
383
extern int dashtype[];
-
 
384
extern int jsplot_cnt;
-
 
385
extern int linegraph_cnt;
-
 
386
extern int barchart_cnt;
-
 
387
extern int legend_cnt;
-
 
388
extern int use_axis;
-
 
389
extern int use_axis_numbering;
-
 
390
 
-
 
391
FILE    *js_include_file;
-
 
392
/* used multidraw primitives : identifier in canvasmultidraw.c is index of this array
-
 
393
static char multidraw_primitives[MAX_MULTI_PRIMITIVES][32] = {"point","points","circle","circles",
-
 
394
"line","lines","segment","segments",
-
 
395
"arrow","arrows","triangle","triangles",
-
 
396
"closedpoly","text","rect","rects",
-
 
397
"poly","polys","parallelogram","parallelograms",
-
 
398
"images","curvedarrow","curvedarrows","curvedarrow2","curvedarrows2",
-
 
399
"crosshair","crosshairs"};
-
 
400
size of words "point","points",... == 6,7,..
-
 
401
static int multidraw_primitives_length[MAX_MULTI_PRIMITIVES] = {7,6,8,7,6,5,9,8,7,6,10,9,11,5,6,5,6,5,15,14,7,14,
-
 
402
13,13,12,10,11};
-
 
403
*/