Rev 16827 | Rev 16872 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 16827 | Rev 16844 | ||
---|---|---|---|
Line 4... | Line 4... | ||
4 | fprintf(js_include_file,"\n/* draw zoom buttons */\ |
4 | fprintf(js_include_file,"\n/* draw zoom buttons */\ |
5 | var draw_zoom_buttons = function(){\ |
5 | var draw_zoom_buttons = function(){\ |
6 | var obj;var canvas_type =%d;\ |
6 | var obj;var canvas_type =%d;\ |
7 | if( document.getElementById(\"wims_canvas%d\"+canvas_type) ){\ |
7 | if( document.getElementById(\"wims_canvas%d\"+canvas_type) ){\ |
8 | obj = document.getElementById(\"wims_canvas%d\"+canvas_type);\ |
8 | obj = document.getElementById(\"wims_canvas%d\"+canvas_type);\ |
9 | }\ |
- | |
10 | else\ |
9 | } else {\ |
11 | {\ |
- | |
12 | obj = create_canvas%d(canvas_type,xsize,ysize);\ |
10 | obj = create_canvas%d(canvas_type,xsize,ysize);\ |
13 | };\ |
11 | };\ |
14 | var ctx = obj.getContext(\"2d\");\ |
12 | var ctx = obj.getContext(\"2d\");\ |
15 | ctx.font =\"20px Arial\";\ |
13 | ctx.font =\"20px Arial\";\ |
16 | ctx.textAlign = \"right\";\ |
14 | ctx.textAlign = \"right\";\ |
Line 26... | Line 24... | ||
26 | };draw_zoom_buttons();",BG_CANVAS,canvas_root_id,canvas_root_id,canvas_root_id,stroke_color,stroke_opacity); |
24 | };draw_zoom_buttons();",BG_CANVAS,canvas_root_id,canvas_root_id,canvas_root_id,stroke_color,stroke_opacity); |
27 | } |
25 | } |
28 | 26 | ||
29 | void add_js_popup(char *getfile_cmd){ |
27 | void add_js_popup(char *getfile_cmd){ |
30 | fprintf(stdout,"\n<!-- begin command popup %d -->\n\ |
28 | fprintf(stdout,"\n<!-- begin command popup %d -->\n\ |
31 | <script |
29 | <script>\n\ |
32 | if( wims_status != 'done'){\ |
30 | if( wims_status != 'done'){\ |
33 | var popup = window.open('','','toolbar=no,scrollbars=yes,menubar=no,location=no,resizable=yes,top=4,left=4,status=no, width = %dpx, height = %dpx');\ |
31 | var popup = window.open('','','toolbar=no,scrollbars=yes,menubar=no,location=no,resizable=yes,top=4,left=4,status=no, width = %dpx, height = %dpx');\ |
34 | var popupHTML =\"<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>\\n<html><head></head>\\n<body><div style='width:%dpx;height:%dpx;position:relative' id='canvas_div%d'></div><div id='tooltip_placeholder_div%d' style='display:block;position:relative;margin-left:auto;margin-right:auto;margin-bottom:4px;'><span id='tooltip_placeholder%d' style='display:none;'></span></div></body></html>\";\ |
32 | var popupHTML =\"<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>\\n<html><head></head>\\n<body><div style='width:%dpx;height:%dpx;position:relative' id='canvas_div%d'></div><div id='tooltip_placeholder_div%d' style='display:block;position:relative;margin-left:auto;margin-right:auto;margin-bottom:4px;'><span id='tooltip_placeholder%d' style='display:none;'></span></div></body></html>\";\ |
35 | popup.document.write(popupHTML);\ |
33 | popup.document.write(popupHTML);\ |
36 | var s0 = popup.document.createElement(\"script\");\ |
34 | var s0 = popup.document.createElement(\"script\");\ |
37 | s0.text=\"var wims_status = window.opener.wims_status; var use_dragdrop_reply = window.opener.use_dragdrop_reply;window.opener.canvas_scripts.push('%d');\";\ |
35 | s0.text=\"var wims_status = window.opener.wims_status; var use_dragdrop_reply = window.opener.use_dragdrop_reply;window.opener.canvas_scripts.push('%d');\";\ |
38 | popup.document.getElementsByTagName(\"HEAD\")[0].appendChild(s0);\ |
36 | popup.document.getElementsByTagName(\"HEAD\")[0].appendChild(s0);\ |
39 | var s1 = popup.document.createElement(\"script\");\ |
37 | var s1 = popup.document.createElement(\"script\");\ |
40 | s1.type = \"text/javascript\";\ |
- | |
41 | s1.src = \"%s\";\ |
38 | s1.src = \"%s\";\ |
42 | popup.document.getElementsByTagName(\"HEAD\")[0].appendChild(s1);\ |
39 | popup.document.getElementsByTagName(\"HEAD\")[0].appendChild(s1);\ |
43 | popup.document.close();\ |
40 | popup.document.close();\ |
44 | }else{\ |
41 | } else {\ |
45 | var canvas_div = document.getElementById('canvas_div%d');\ |
42 | var canvas_div = document.getElementById('canvas_div%d');\ |
46 | canvas_div.style.display='block';\ |
43 | canvas_div.style.display='block';\ |
47 | };\n</script>\n<!-- end command popup %d -->\n", |
44 | };\n</script>\n<!-- end command popup %d -->\n", |
48 | canvas_root_id, |
45 | canvas_root_id, |
49 | xsize+40,ysize+40, |
46 | xsize+40,ysize+40, |
50 | xsize,ysize, |
47 | xsize,ysize, |
51 | canvas_root_id, |
48 | canvas_root_id, |
Line 57... | Line 54... | ||
57 | canvas_root_id); |
54 | canvas_root_id); |
58 | } |
55 | } |
59 | 56 | ||
60 | void add_js_tooltip(char *tooltip_text,char *bgcolor){ |
57 | void add_js_tooltip(char *tooltip_text,char *bgcolor){ |
61 | fprintf(stdout,"\n<!-- begin command intooltip %d -->\n\ |
58 | fprintf(stdout,"\n<!-- begin command intooltip %d -->\n\ |
62 | <script |
59 | <script>\n\ |
63 | var xsize = %d;\ |
60 | var xsize = %d;\ |
64 | var ysize = %d;\ |
61 | var ysize = %d;\ |
65 | var tooltip%d_obj_x = 0;\ |
62 | var tooltip%d_obj_x = 0;\ |
66 | var tooltip%d_obj_y = 0;\ |
63 | var tooltip%d_obj_y = 0;\ |
67 | var tooltip%d_flipflop = 0;\ |
64 | var tooltip%d_flipflop = 0;\ |
Line 82... | Line 79... | ||
82 | if(action.clientX){\ |
79 | if(action.clientX){\ |
83 | tooltip%d_obj.style.left = (tooltip%d_mouseX(action) + 10) +\"px\";\ |
80 | tooltip%d_obj.style.left = (tooltip%d_mouseX(action) + 10) +\"px\";\ |
84 | var ytop = tooltip%d_mouseY(action);\ |
81 | var ytop = tooltip%d_mouseY(action);\ |
85 | if(ytop + ysize < window.innerHeight){\ |
82 | if(ytop + ysize < window.innerHeight){\ |
86 | tooltip%d_obj.style.top = (ytop - 10) +\"px\";\ |
83 | tooltip%d_obj.style.top = (ytop - 10) +\"px\";\ |
87 | }\ |
- | |
88 | else\ |
84 | } else {\ |
89 | {\ |
- | |
90 | tooltip%d_obj.style.top = parseInt(ytop - 0.8*ysize) +\"px\";\ |
85 | tooltip%d_obj.style.top = parseInt(ytop - 0.8*ysize) +\"px\";\ |
91 | };\ |
86 | };\ |
92 | }\ |
- | |
93 | else\ |
87 | } else {\ |
94 | {\ |
- | |
95 | return null;\ |
88 | return null;\ |
96 | };\ |
89 | };\ |
97 | };\ |
90 | };\ |
98 | function tooltip%d_mouseX(action){\ |
91 | function tooltip%d_mouseX(action){\ |
99 | if(action.pageX){\ |
92 | if(action.pageX){\ |
100 | return action.pageX;\ |
93 | return action.pageX;\ |
101 | }\ |
- | |
102 | else\ |
94 | } else {\ |
103 | {\ |
- | |
104 | if(action.clientX){\ |
95 | if(action.clientX){\ |
105 | return action.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);\ |
96 | return action.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);\ |
106 | }\ |
- | |
107 | else\ |
97 | } else {\ |
108 | {\ |
- | |
109 | return null;\ |
98 | return null;\ |
110 | };\ |
99 | };\ |
111 | };\ |
100 | };\ |
112 | };\ |
101 | };\ |
113 | function tooltip%d_mouseY(action){\ |
102 | function tooltip%d_mouseY(action){\ |
114 | if(action.pageY){\ |
103 | if(action.pageY){\ |
115 | return action.pageY;\ |
104 | return action.pageY;\ |
116 | }\ |
- | |
117 | else\ |
105 | } else {\ |
118 | {\ |
- | |
119 | if(action.clientY){\ |
106 | if(action.clientY){\ |
120 | return action.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop :document.body.scrollTop);\ |
107 | return action.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop :document.body.scrollTop);\ |
121 | }\ |
- | |
122 | else\ |
108 | } else {\ |
123 | {\ |
- | |
124 | return null;\ |
109 | return null;\ |
125 | };\ |
110 | };\ |
126 | };\ |
111 | };\ |
127 | };\ |
112 | };\ |
128 | function tooltip%d_show(){\ |
113 | function tooltip%d_show(){\ |
129 | if(tooltip%d_flipflop == 0){\ |
114 | if(tooltip%d_flipflop == 0){\ |
130 | tooltip%d_obj.style.display = \"block\";\ |
115 | tooltip%d_obj.style.display = \"block\";\ |
131 | tooltip%d_flipflop = 1;\ |
116 | tooltip%d_flipflop = 1;\ |
132 | }\ |
- | |
133 | else\ |
117 | } else {\ |
134 | {\ |
- | |
135 | tooltip%d_flipflop = 0;\ |
118 | tooltip%d_flipflop = 0;\ |
136 | tooltip%d_obj.style.display = \"none\";\ |
119 | tooltip%d_obj.style.display = \"none\";\ |
137 | };\ |
120 | };\ |
138 | };\n</script>\n<!-- end command intooltip %d -->\n",canvas_root_id,xsize,ysize,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,tooltip_text,canvas_root_id,bgcolor,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id); |
121 | };\n</script>\n<!-- end command intooltip %d -->\n",canvas_root_id,xsize,ysize,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,tooltip_text,canvas_root_id,bgcolor,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id); |
139 | 122 | ||
Line 378... | Line 361... | ||
378 | /* |
361 | /* |
379 | x-value of the mouse will be used to calculate via javascript the corresponding y-value using the verbatim js-math function |
362 | x-value of the mouse will be used to calculate via javascript the corresponding y-value using the verbatim js-math function |
380 | a configurable crosshair and vertical/horizontal crosshair lines will be drawn |
363 | a configurable crosshair and vertical/horizontal crosshair lines will be drawn |
381 | function is called "use_mouse_coordinates() and thus can not be combined with command 'mouse' |
364 | function is called "use_mouse_coordinates() and thus can not be combined with command 'mouse' |
382 | */ |
365 | */ |
383 | void add_trace_js_mouse(int canvas_cnt, |
366 | void add_trace_js_mouse(int canvas_cnt, char *stroke_color, char *jsmath, |
- | 367 | int font_size, double stroke_opacity, int line_width, |
|
- | 368 | int crosshair_size,char *css_class){ |
|
384 | fprintf(js_include_file,"\n/* add_trace_jsmath */\ |
369 | fprintf(js_include_file,"\n/* add_trace_jsmath */\ |
385 | use_jsmath=1;\ |
370 | use_jsmath=1;\ |
386 | function use_trace_jsmath(){\ |
371 | function use_trace_jsmath(){\ |
387 | if( wims_status == \"done\" ){return;};\ |
372 | if( wims_status == \"done\" ){return;};\ |
388 | var label_x = \"x\";var label_y = \"y\";\ |
373 | var label_x = \"x\";var label_y = \"y\";\ |
Line 618... | Line 603... | ||
618 | var add_y = safe_eval( document.getElementById(\"userinput_y\").value );\ |
603 | var add_y = safe_eval( document.getElementById(\"userinput_y\").value );\ |
619 | if( add_x != null && add_y != null ){\ |
604 | if( add_x != null && add_y != null ){\ |
620 | if( %d == 1 ){\ |
605 | if( %d == 1 ){\ |
621 | userdraw_x[0] = x2px(add_x);\ |
606 | userdraw_x[0] = x2px(add_x);\ |
622 | userdraw_y[0] = y2px(add_y);\ |
607 | userdraw_y[0] = y2px(add_y);\ |
623 | }\ |
- | |
624 | else\ |
608 | } else {\ |
625 | {\ |
- | |
626 | userdraw_x[lu] = x2px(add_x);\ |
609 | userdraw_x[lu] = x2px(add_x);\ |
627 | userdraw_y[lu] = y2px(add_y);\ |
610 | userdraw_y[lu] = y2px(add_y);\ |
628 | xy_cnt++;\ |
611 | xy_cnt++;\ |
629 | };\ |
612 | };\ |
630 | context_userdraw.clearRect(0,0,xsize,ysize);\ |
613 | context_userdraw.clearRect(0,0,xsize,ysize);\ |
Line 638... | Line 621... | ||
638 | void add_input_arrow(int num){ |
621 | void add_input_arrow(int num){ |
639 | fprintf(js_include_file,"\n/* add_input_arrow */\ |
622 | fprintf(js_include_file,"\n/* add_input_arrow */\ |
640 | function user_redraw(t){\ |
623 | function user_redraw(t){\ |
641 | var lu = userdraw_x.length;\ |
624 | var lu = userdraw_x.length;\ |
642 | if( t == -1 && lu > 1 ){\ |
625 | if( t == -1 && lu > 1 ){\ |
643 | userdraw_x.splice(lu-2,2);\ |
626 | userdraw_x.splice(lu-2,2);\ |
644 | userdraw_y.splice(lu-2,2);\ |
627 | userdraw_y.splice(lu-2,2);\ |
645 | context_userdraw.clearRect(0,0,xsize,ysize);\ |
628 | context_userdraw.clearRect(0,0,xsize,ysize);\ |
646 | draw_arrows(context_userdraw,userdraw_x,userdraw_y,arrow_head,line_width,stroke_color,stroke_opacity,use_dashed,dashtype0,dashtype1,type,use_rotate,angle,0,[1,0,0,1,0,0]);\ |
629 | draw_arrows(context_userdraw,userdraw_x,userdraw_y,arrow_head,line_width,stroke_color,stroke_opacity,use_dashed,dashtype0,dashtype1,type,use_rotate,angle,0,[1,0,0,1,0,0]);\ |
647 | return;\ |
630 | return;\ |
648 | };\ |
631 | };\ |
649 | var add_x1 = safe_eval( document.getElementById(\"userinput_x1\").value );\ |
632 | var add_x1 = safe_eval( document.getElementById(\"userinput_x1\").value );\ |
650 | var add_y1 = safe_eval( document.getElementById(\"userinput_y1\").value );\ |
633 | var add_y1 = safe_eval( document.getElementById(\"userinput_y1\").value );\ |
651 | var add_x2 = safe_eval( document.getElementById(\"userinput_x2\").value );\ |
634 | var add_x2 = safe_eval( document.getElementById(\"userinput_x2\").value );\ |
652 | var add_y2 = safe_eval( document.getElementById(\"userinput_y2\").value );\ |
635 | var add_y2 = safe_eval( document.getElementById(\"userinput_y2\").value );\ |
653 | if( add_x1 != null && add_y1 != null && add_x2 != null && add_y2 != null ){\ |
636 | if( add_x1 != null && add_y1 != null && add_x2 != null && add_y2 != null ){\ |
654 | if( %d == 2 ){\ |
637 | if( %d == 2 ){\ |
655 | var s = userdraw_x.length;\ |
638 | var s = userdraw_x.length;\ |
656 | userdraw_x[lu] = x2px(add_x1);\ |
639 | userdraw_x[lu] = x2px(add_x1);\ |
657 | userdraw_y[lu] = y2px(add_y1);\ |
640 | userdraw_y[lu] = y2px(add_y1);\ |
658 | userdraw_x[lu+1] = x2px(add_x2);\ |
641 | userdraw_x[lu+1] = x2px(add_x2);\ |
659 | userdraw_y[lu+1] = y2px(add_y2);\ |
642 | userdraw_y[lu+1] = y2px(add_y2);\ |
660 | }\ |
- | |
661 | else\ |
643 | } else {\ |
662 | {\ |
- | |
663 | userdraw_x[0] = x2px(add_x1);\ |
644 | userdraw_x[0] = x2px(add_x1);\ |
664 | userdraw_y[0] = y2px(add_y1);\ |
645 | userdraw_y[0] = y2px(add_y1);\ |
665 | userdraw_x[1] = x2px(add_x2);\ |
646 | userdraw_x[1] = x2px(add_x2);\ |
666 | userdraw_y[1] = y2px(add_y2);\ |
647 | userdraw_y[1] = y2px(add_y2);\ |
667 | };\ |
648 | };\ |
668 | context_userdraw.clearRect(0,0,xsize,ysize);\ |
649 | context_userdraw.clearRect(0,0,xsize,ysize);\ |
669 | draw_arrows(context_userdraw,userdraw_x,userdraw_y,arrow_head,line_width,stroke_color,stroke_opacity,use_dashed,dashtype0,dashtype1,type,use_rotate,angle,0,[1,0,0,1,0,0]);\ |
650 | draw_arrows(context_userdraw,userdraw_x,userdraw_y,arrow_head,line_width,stroke_color,stroke_opacity,use_dashed,dashtype0,dashtype1,type,use_rotate,angle,0,[1,0,0,1,0,0]);\ |
670 | };\ |
651 | };\ |
671 | return;\ |
652 | return;\ |
672 | };",num); |
653 | };",num); |
673 | } |
654 | } |
674 | 655 | ||
675 | /* draw line via inputfields x/y */ |
656 | /* draw line via inputfields x/y */ |
676 | void add_input_line(int num){ |
657 | void add_input_line(int num){ |
677 | fprintf(js_include_file,"\n/* line via inputfields */\ |
658 | fprintf(js_include_file,"\n/* line via inputfields */\ |
678 | function user_redraw(t){\ |
659 | function user_redraw(t){\ |
679 | var lu = userdraw_x.length;\ |
660 | var lu = userdraw_x.length;\ |
680 | if( t == -1 && lu > 1){\ |
661 | if( t == -1 && lu > 1){\ |
681 | userdraw_x.splice(lu-2,2);\ |
662 | userdraw_x.splice(lu-2,2);\ |
682 | userdraw_y.splice(lu-2,2);\ |
663 | userdraw_y.splice(lu-2,2);\ |
683 | context_userdraw.clearRect(0,0,xsize,ysize);\ |
664 | context_userdraw.clearRect(0,0,xsize,ysize);\ |
684 | draw_lines(context_userdraw,userdraw_x,userdraw_y,line_width,stroke_color,stroke_opacity,use_dashed,dashtype0,dashtype1,1,0,0);\ |
665 | draw_lines(context_userdraw,userdraw_x,userdraw_y,line_width,stroke_color,stroke_opacity,use_dashed,dashtype0,dashtype1,1,0,0);\ |
685 | return;\ |
666 | return;\ |
686 | };\ |
667 | };\ |
687 | var add_x1 = safe_eval( document.getElementById(\"userinput_x1\").value );\ |
668 | var add_x1 = safe_eval( document.getElementById(\"userinput_x1\").value );\ |
688 | var add_y1 = safe_eval( document.getElementById(\"userinput_y1\").value );\ |
669 | var add_y1 = safe_eval( document.getElementById(\"userinput_y1\").value );\ |
689 | var add_x2 = safe_eval( document.getElementById(\"userinput_x2\").value );\ |
670 | var add_x2 = safe_eval( document.getElementById(\"userinput_x2\").value );\ |
690 | var add_y2 = safe_eval( document.getElementById(\"userinput_y2\").value );\ |
671 | var add_y2 = safe_eval( document.getElementById(\"userinput_y2\").value );\ |
691 | if( add_x1 != null && add_y1 != null && add_x2 != null && add_y2 != null ){\ |
672 | if( add_x1 != null && add_y1 != null && add_x2 != null && add_y2 != null ){\ |
692 | if( %d == 2 ){\ |
673 | if( %d == 2 ){\ |
693 | userdraw_x[lu] = x2px(add_x1);\ |
674 | userdraw_x[lu] = x2px(add_x1);\ |
694 | userdraw_y[lu] = y2px(add_y1);\ |
675 | userdraw_y[lu] = y2px(add_y1);\ |
695 | userdraw_x[lu+1] = x2px(add_x2);\ |
676 | userdraw_x[lu+1] = x2px(add_x2);\ |
696 | userdraw_y[lu+1] = y2px(add_y2);\ |
677 | userdraw_y[lu+1] = y2px(add_y2);\ |
697 | }\ |
- | |
698 | else\ |
678 | } else {\ |
699 | {\ |
- | |
700 | userdraw_x[0] = x2px(add_x1);\ |
679 | userdraw_x[0] = x2px(add_x1);\ |
701 | userdraw_y[0] = y2px(add_y1);\ |
680 | userdraw_y[0] = y2px(add_y1);\ |
702 | userdraw_x[1] = x2px(add_x2);\ |
681 | userdraw_x[1] = x2px(add_x2);\ |
703 | userdraw_y[1] = y2px(add_y2);\ |
682 | userdraw_y[1] = y2px(add_y2);\ |
704 | };\ |
683 | };\ |
705 | context_userdraw.clearRect(0,0,xsize,ysize);\ |
684 | context_userdraw.clearRect(0,0,xsize,ysize);\ |
706 | draw_lines(context_userdraw,userdraw_x,userdraw_y,line_width,stroke_color,stroke_opacity,use_dashed,dashtype0,dashtype1,1,0,0);\ |
685 | draw_lines(context_userdraw,userdraw_x,userdraw_y,line_width,stroke_color,stroke_opacity,use_dashed,dashtype0,dashtype1,1,0,0);\ |
707 | };\ |
686 | };\ |
708 | return;\ |
687 | return;\ |
709 | };",num); |
688 | };",num); |
710 | } |
689 | } |
711 | 690 | ||
712 | 691 | ||
713 | /* draw polyline via inputfields x/y */ |
692 | /* draw polyline via inputfields x/y */ |
714 | void add_input_polyline(){ |
693 | void add_input_polyline(){ |
Line 734... | Line 713... | ||
734 | return;\ |
713 | return;\ |
735 | };"); |
714 | };"); |
736 | } |
715 | } |
737 | /* draw segment(s) via inputfields x/y */ |
716 | /* draw segment(s) via inputfields x/y */ |
738 | void add_input_segment(int num){ |
717 | void add_input_segment(int num){ |
739 | fprintf(js_include_file,"\n/* add_input_segment */\ |
718 | fprintf(js_include_file,"\n/* add_input_segment */\ |
740 | function user_redraw(t){\ |
719 | function user_redraw(t){\ |
741 | var lu = userdraw_x.length;\ |
720 | var lu = userdraw_x.length;\ |
742 | if( t == -1 && lu > 1){\ |
721 | if( t == -1 && lu > 1){\ |
743 | userdraw_x.splice(lu-2,2);\ |
722 | userdraw_x.splice(lu-2,2);\ |
744 | userdraw_y.splice(lu-2,2);\ |
723 | userdraw_y.splice(lu-2,2);\ |
745 | context_userdraw.clearRect(0,0,xsize,ysize);\ |
724 | context_userdraw.clearRect(0,0,xsize,ysize);\ |
746 | draw_segments(context_userdraw,userdraw_x,userdraw_y,line_width,stroke_color,stroke_opacity,use_dashed,dashtype0,dashtype1);\ |
725 | draw_segments(context_userdraw,userdraw_x,userdraw_y,line_width,stroke_color,stroke_opacity,use_dashed,dashtype0,dashtype1);\ |
747 | return;\ |
726 | return;\ |
748 | };\ |
727 | };\ |
749 | var add_x1 = safe_eval( document.getElementById(\"userinput_x1\").value );\ |
728 | var add_x1 = safe_eval( document.getElementById(\"userinput_x1\").value );\ |
750 | var add_y1 = safe_eval( document.getElementById(\"userinput_y1\").value );\ |
729 | var add_y1 = safe_eval( document.getElementById(\"userinput_y1\").value );\ |
751 | var add_x2 = safe_eval( document.getElementById(\"userinput_x2\").value );\ |
730 | var add_x2 = safe_eval( document.getElementById(\"userinput_x2\").value );\ |
752 | var add_y2 = safe_eval( document.getElementById(\"userinput_y2\").value );\ |
731 | var add_y2 = safe_eval( document.getElementById(\"userinput_y2\").value );\ |
753 | if( add_x1 != null && add_y1 != null && add_x2 != null && add_y2 != null ){\ |
732 | if( add_x1 != null && add_y1 != null && add_x2 != null && add_y2 != null ){\ |
754 | if( %d == 2 ){\ |
733 | if( %d == 2 ){\ |
755 | var s = userdraw_x.length;\ |
734 | var s = userdraw_x.length;\ |
756 | userdraw_x[s] = x2px(add_x1);\ |
735 | userdraw_x[s] = x2px(add_x1);\ |
757 | userdraw_y[s] = y2px(add_y1);\ |
736 | userdraw_y[s] = y2px(add_y1);\ |
758 | userdraw_x[s+1] = x2px(add_x2);\ |
737 | userdraw_x[s+1] = x2px(add_x2);\ |
759 | userdraw_y[s+1] = y2px(add_y2);\ |
738 | userdraw_y[s+1] = y2px(add_y2);\ |
760 | }\ |
- | |
761 | else\ |
739 | } else {\ |
762 | {\ |
- | |
763 | userdraw_x[0] = x2px(add_x1);\ |
740 | userdraw_x[0] = x2px(add_x1);\ |
764 | userdraw_y[0] = y2px(add_y1);\ |
741 | userdraw_y[0] = y2px(add_y1);\ |
765 | userdraw_x[1] = x2px(add_x2);\ |
742 | userdraw_x[1] = x2px(add_x2);\ |
766 | userdraw_y[1] = y2px(add_y2);\ |
743 | userdraw_y[1] = y2px(add_y2);\ |
767 | };\ |
744 | };\ |
768 | context_userdraw.clearRect(0,0,xsize,ysize);\ |
745 | context_userdraw.clearRect(0,0,xsize,ysize);\ |
769 | draw_segments(context_userdraw,userdraw_x,userdraw_y,line_width,stroke_color,stroke_opacity,use_dashed,dashtype0,dashtype1);\ |
746 | draw_segments(context_userdraw,userdraw_x,userdraw_y,line_width,stroke_color,stroke_opacity,use_dashed,dashtype0,dashtype1);\ |
770 | };\ |
747 | };\ |
771 | return;\ |
748 | return;\ |
Line 793... | Line 770... | ||
793 | var s = userdraw_x.length;\ |
770 | var s = userdraw_x.length;\ |
794 | userdraw_x[s] = x2px(add_x1);\ |
771 | userdraw_x[s] = x2px(add_x1);\ |
795 | userdraw_y[s] = y2px(add_y1);\ |
772 | userdraw_y[s] = y2px(add_y1);\ |
796 | userdraw_x[s+1] = x2px(add_x2);\ |
773 | userdraw_x[s+1] = x2px(add_x2);\ |
797 | userdraw_y[s+1] = y2px(add_y2);\ |
774 | userdraw_y[s+1] = y2px(add_y2);\ |
798 | }\ |
- | |
799 | else\ |
775 | } else {\ |
800 | {\ |
- | |
801 | userdraw_x[0] = x2px(add_x1);\ |
776 | userdraw_x[0] = x2px(add_x1);\ |
802 | userdraw_y[0] = y2px(add_y1);\ |
777 | userdraw_y[0] = y2px(add_y1);\ |
803 | userdraw_x[1] = x2px(add_x2);\ |
778 | userdraw_x[1] = x2px(add_x2);\ |
804 | userdraw_y[1] = y2px(add_y2);\ |
779 | userdraw_y[1] = y2px(add_y2);\ |
805 | };\ |
780 | };\ |
806 | context_userdraw.clearRect(0,0,xsize,ysize);\ |
781 | context_userdraw.clearRect(0,0,xsize,ysize);\ |
807 | draw_demilines(context_userdraw,userdraw_x,userdraw_y,line_width,stroke_color,stroke_opacity,use_dashed,dashtype0,dashtype1);\ |
782 | draw_demilines(context_userdraw,userdraw_x,userdraw_y,line_width,stroke_color,stroke_opacity,use_dashed,dashtype0,dashtype1);\ |
808 | };\ |
783 | };\ |
809 | return;\ |
784 | return;\ |
810 | };",num); |
785 | };",num); |
811 | } |
786 | } |
812 | 787 | ||
813 | void add_clear_button(char *css_class,char *button_text){ |
788 | void add_clear_button(char *css_class,char *button_text){ |
814 | /* 25/11/2014 added clearing of reply array |
789 | /* 25/11/2014 added clearing of reply array |
815 | all members will be set to 0 eg reply[0] = 0 , reply[1] = 0 ... |
790 | all members will be set to 0 eg reply[0] = 0 , reply[1] = 0 ... |
816 | hope this does not interfere with existing work... |
791 | hope this does not interfere with existing work... |
817 | */ |
792 | */ |
818 | /* |
793 | /* |
819 | 5/2016 changed to 'setAttribute()' because of trouble on Chromium/Safari/IE |
794 | 5/2016 changed to 'setAttribute()' because of trouble on Chromium/Safari/IE |
820 | 10/2016 corrected contex-reset-flaw when using "userdraw text,color" and added inputs to the things we can remove |
795 | 10/2016 corrected contex-reset-flaw when using "userdraw text,color" and added inputs to the things we can remove |
821 | 7/2017 added 'userdraw clickfill,color' to removable things...one user_filling per click |
796 | 7/2017 added 'userdraw clickfill,color' to removable things...one user_filling per click |
822 | */ |
797 | */ |
823 | fprintf(js_include_file,"\n/* add clear button */\ |
798 | fprintf(js_include_file,"\n/* add clear button */\ |
824 | clear_draw_area%d = function(){\ |
799 | clear_draw_area%d = function(){\ |
Line 1061... | Line 1036... | ||
1061 | var fill_data;\ |
1036 | var fill_data;\ |
1062 | var _setPixel;\ |
1037 | var _setPixel;\ |
1063 | function finish_filling(){\ |
1038 | function finish_filling(){\ |
1064 | if(document.getElementById(\"wims_canvas%d\"+fill_canvas_no)){\ |
1039 | if(document.getElementById(\"wims_canvas%d\"+fill_canvas_no)){\ |
1065 | console.log('dit canvas nummer '+fill_canvas_no+' bestaat al');\ |
1040 | console.log('dit canvas nummer '+fill_canvas_no+' bestaat al');\ |
1066 | }else{\ |
1041 | } else {\ |
1067 | var fill_canvas = create_canvas%d(fill_canvas_no,xsize,ysize);\ |
1042 | var fill_canvas = create_canvas%d(fill_canvas_no,xsize,ysize);\ |
1068 | var fill_canvas_ctx = fill_canvas.getContext(\"2d\");\ |
1043 | var fill_canvas_ctx = fill_canvas.getContext(\"2d\");\ |
1069 | fill_canvas_ctx.clearRect(0,0,xsize,ysize);\ |
1044 | fill_canvas_ctx.clearRect(0,0,xsize,ysize);\ |
1070 | fill_canvas_ctx.putImageData(image, 0, 0);\ |
1045 | fill_canvas_ctx.putImageData(image, 0, 0);\ |
1071 | };\ |
1046 | };\ |
Line 1085... | Line 1060... | ||
1085 | o = imageData[pixelPos+p];\ |
1060 | o = imageData[pixelPos+p];\ |
1086 | if( n != o ){ imageData[pixelPos+p] = n; } else { if( o == 255 ){ o = 253;} imageData[pixelPos+p] = o+1;};\ |
1061 | if( n != o ){ imageData[pixelPos+p] = n; } else { if( o == 255 ){ o = 253;} imageData[pixelPos+p] = o+1;};\ |
1087 | };\ |
1062 | };\ |
1088 | imageData[pixelPos+3] = 255;\ |
1063 | imageData[pixelPos+3] = 255;\ |
1089 | };\ |
1064 | };\ |
1090 | }\ |
- | |
1091 | else\ |
1065 | } else {\ |
1092 | {\ |
- | |
1093 | _setPixel = function(pixelPos){\ |
1066 | _setPixel = function(pixelPos){\ |
1094 | imageData[pixelPos] = color.r;\ |
1067 | imageData[pixelPos] = color.r;\ |
1095 | imageData[pixelPos+1] = color.g;\ |
1068 | imageData[pixelPos+1] = color.g;\ |
1096 | imageData[pixelPos+2] = color.b;\ |
1069 | imageData[pixelPos+2] = color.b;\ |
1097 | imageData[pixelPos+3] = color.a;\ |
1070 | imageData[pixelPos+3] = color.a;\ |
Line 1240... | Line 1213... | ||
1240 | ctx_temp.stroke();\ |
1213 | ctx_temp.stroke();\ |
1241 | };\ |
1214 | };\ |
1242 | ctx_temp.drawImage(canvas,ruler_x,ruler_y);\ |
1215 | ctx_temp.drawImage(canvas,ruler_x,ruler_y);\ |
1243 | once = false;\ |
1216 | once = false;\ |
1244 | }",canvas_root_id,use_snap,canvas_root_id,sizex,sizey,x,y,font,stroke_color,stroke_opacity,fill_color,fill_opacity,line_width); |
1217 | }",canvas_root_id,use_snap,canvas_root_id,sizex,sizey,x,y,font,stroke_color,stroke_opacity,fill_color,fill_opacity,line_width); |
1245 | 1218 | ||
1246 | if( dynamic == -1 ){ |
1219 | if( dynamic == -1 ){ |
1247 | fprintf(js_include_file,"\ |
1220 | fprintf(js_include_file,"\ |
1248 | ctx.drawImage(canvas_temp,0,0);\ |
1221 | ctx.drawImage(canvas_temp,0,0);\ |
1249 | if(wims_status != \"done\"){\ |
1222 | if(wims_status != \"done\"){\ |
1250 | canvas_div.addEventListener( 'mouseup' , ruler_stop,false);\ |
1223 | canvas_div.addEventListener( 'mouseup' , ruler_stop,false);\ |