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 |
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 |
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 |
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 |
217 | #define KATEX 222 |
230 | #define DRAW_CURVE 13 |
- | |
231 | #define |
218 | #define ALLOW_DUPLICATES 223 |
232 | #define DRAW_LATTICE 15 |
- | |
233 | #define |
219 | #define LINEAR 224 |
234 | #define DRAW_TEXTAREAS 17 |
- | |
235 | #define DRAW_HTTP 18 |
- | |
236 | #define DRAW_AUDIO 19 |
- | |
237 | #define |
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 |
221 | #define OBABEL 226 |
244 | #define |
222 | #define CHEMTEX 227 |
245 | #define |
223 | #define NORESET 228 |
246 | #define DRAW_PIECHART 29 |
- | |
247 | #define DRAW_CLOCK 30 |
- | |
248 |
|
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 |
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 |
317 | void rotate(int num,double angle,double center[],int incr); |
302 | void |
318 | void transform(int num,int incr); |
303 | void |
319 | void add_read_canvas(int type_reply,int reply_precision); |
304 | void |
320 | void add_javascript_function(); |
305 | void |
321 | void add_drag_code(int canvas_cnt,int use_dragstuff, int stuff[],int reply_format); |
306 | void |
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 |
323 | void add_setlimits(int font_size,char *css_class); |
- | 324 | void add_safe_eval(); |
|
308 | void |
325 | void add_calc_y(char *jsmath,int font_size,char *css_class); |
- | 326 | void add_slider(int anim); |
|
309 | void add_slider_display( |
327 | void add_slider_display(int precision,int font_size,char *font_color,double stroke_opacity); |
310 | void add_xyslider( |
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 |
|
343 | char *str_replace(const char *str, const char *old, const char *new); |
324 | void |
344 | void add_clear_button(char *css_class,char *button_text); |
325 | void add_js_mouse( |
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( |
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 |
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 |
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( |
350 | void add_input_circle(int type,int num); |
346 | void add_input_segment( |
351 | void add_input_segment(int num); |
347 | void add_input_demiline( |
352 | void add_input_demiline(int num); |
348 | void add_input_line( |
353 | void add_input_line(int num); |
349 | void add_input_polyline( |
354 | void add_input_polyline(); |
350 | void add_textarea_polygon(FILE *js_include_file); |
- | |
351 | void add_input_crosshair( |
355 | void add_input_crosshair(int num); |
352 | void add_input_arrow( |
356 | void add_input_arrow(int num); |
353 | void add_input_xy( |
357 | void add_input_xy(int font_size,char *css_class); |
354 | void add_input_xyr( |
358 | void add_input_xyr(int font_size,char *css_class); |
355 | void add_input_x1y1x2y2( |
359 | void add_input_x1y1x2y2(int font_size,char *css_class); |
356 | void add_textarea_xy( |
360 | void add_textarea_xy(char *css_class); |
357 | void |
361 | void add_js_zoom_buttons(char *stroke_color,double stroke_opacity); |
358 | void add_js_tooltip( |
362 | void add_js_tooltip(char *tooltip_text,char *bgcolor); |
359 | void add_js_popup( |
363 | void add_js_popup(char *getfile_cmd); |
360 | void add_input_jsfunction( |
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( |
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( |
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( |
367 | void add_color_palette(char *css_class); |
365 | void |
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 | */ |