Rev 16834 | Rev 16845 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 16834 | Rev 16844 | ||
---|---|---|---|
Line 70... | Line 70... | ||
70 | var reg = /(?:[a-z$_][a-z0-9$_]*)|(?:[;={}\\[\\]\"'!&<>^\\\\?:])/ig;\ |
70 | var reg = /(?:[a-z$_][a-z0-9$_]*)|(?:[;={}\\[\\]\"'!&<>^\\\\?:])/ig;\ |
71 | var valid = true;\ |
71 | var valid = true;\ |
72 | exp = exp.replace(reg,function($0){\ |
72 | exp = exp.replace(reg,function($0){\ |
73 | if(Math.hasOwnProperty($0)){\ |
73 | if(Math.hasOwnProperty($0)){\ |
74 | return \"Math.\"+$0;\ |
74 | return \"Math.\"+$0;\ |
75 | }\ |
- | |
76 | else\ |
75 | } else {\ |
77 | {\ |
- | |
78 | valid = false;\ |
76 | valid = false;\ |
79 | }\ |
77 | }\ |
80 | }\ |
78 | }\ |
81 | );\ |
79 | );\ |
82 | if( !valid ){\ |
80 | if( !valid ){\ |
83 | alert(\"hmmm \"+exp+\" ?\"); exp = null;\ |
81 | alert(\"hmmm \"+exp+\" ?\"); exp = null;\ |
84 | }\ |
- | |
85 | else\ |
82 | } else {\ |
86 | {\ |
- | |
87 | try{ exp = eval(exp); } catch(e){alert(\"Invalid arithmetic expression\"); exp = null;};\ |
83 | try{ exp = eval(exp); } catch(e){alert(\"Invalid arithmetic expression\"); exp = null;};\ |
88 | };\ |
84 | };\ |
89 | return exp;\ |
85 | return exp;\ |
90 | };"); |
86 | };"); |
91 | break; |
87 | break; |
Line 229... | Line 225... | ||
229 | tab.push(math_fun);w_cnt = 0;math_fun = small_trick + (tab.length - 1);\ |
225 | tab.push(math_fun);w_cnt = 0;math_fun = small_trick + (tab.length - 1);\ |
230 | while (math_fun.indexOf(small_trick) != -1){\ |
226 | while (math_fun.indexOf(small_trick) != -1){\ |
231 | math_fun = math_fun.replace(new RegExp(small_trick + \"(\\\\d+)\", \"g\"), function(m, d){return tab[d].replace(/(\\w*)\\^(\\w*)/g, out_fun+\"($1,$2)\");});\ |
227 | math_fun = math_fun.replace(new RegExp(small_trick + \"(\\\\d+)\", \"g\"), function(m, d){return tab[d].replace(/(\\w*)\\^(\\w*)/g, out_fun+\"($1,$2)\");});\ |
232 | w_cnt++;if(w_cnt>1000){alert(\"hmmm \"+math_fun+\" ?\\nUse command plot for more complex math functions...\");return null;};\ |
228 | w_cnt++;if(w_cnt>1000){alert(\"hmmm \"+math_fun+\" ?\\nUse command plot for more complex math functions...\");return null;};\ |
233 | };\ |
229 | };\ |
234 | }\ |
- | |
235 | else\ |
230 | } else {\ |
236 | {\ |
- | |
237 | while( math_fun.indexOf(in_fun) != -1 ){\ |
231 | while( math_fun.indexOf(in_fun) != -1 ){\ |
238 | math_fun = math_fun.replace(in_fun,out_fun);\ |
232 | math_fun = math_fun.replace(in_fun,out_fun);\ |
239 | math_fun = math_fun.replace(in_fun,In_Fun);\ |
233 | math_fun = math_fun.replace(in_fun,In_Fun);\ |
240 | w_cnt++;if(w_cnt>1000){alert(\"hmmm \"+math_fun+\" ?\\nUse command plot for more complex math functions...\");return null;};\ |
234 | w_cnt++;if(w_cnt>1000){alert(\"hmmm \"+math_fun+\" ?\\nUse command plot for more complex math functions...\");return null;};\ |
241 | };\ |
235 | };\ |
Line 543... | Line 537... | ||
543 | };\ |
537 | };\ |
544 | };\ |
538 | };\ |
545 | };\ |
539 | };\ |
546 | };\ |
540 | };\ |
547 | };\ |
541 | };\ |
548 | }\ |
- | |
549 | else\ |
542 | } else {\ |
550 | {\ |
- | |
551 | selected_image = null;\ |
543 | selected_image = null;\ |
552 | };\ |
544 | };\ |
553 | };"); |
545 | };"); |
554 | break; |
546 | break; |
555 | 547 | ||
Line 594... | Line 586... | ||
594 | if( typeof(all_fill_patterns) != 'object' ){ var all_fill_patterns = []; };\ |
586 | if( typeof(all_fill_patterns) != 'object' ){ var all_fill_patterns = []; };\ |
595 | function draw_bezier(canvas_type,linewidth,xy_points,fill_color,fill_opacity,stroke_color,stroke_opacity,use_filled,use_dashed,dashtype0,dashtype1,use_rotate,angle){\ |
587 | function draw_bezier(canvas_type,linewidth,xy_points,fill_color,fill_opacity,stroke_color,stroke_opacity,use_filled,use_dashed,dashtype0,dashtype1,use_rotate,angle){\ |
596 | var obj;\ |
588 | var obj;\ |
597 | if( document.getElementById(\"wims_canvas%d\"+canvas_type) ){\ |
589 | if( document.getElementById(\"wims_canvas%d\"+canvas_type) ){\ |
598 | obj = document.getElementById(\"wims_canvas%d\"+canvas_type);\ |
590 | obj = document.getElementById(\"wims_canvas%d\"+canvas_type);\ |
599 | }\ |
- | |
600 | else\ |
591 | } else {\ |
601 | {\ |
- | |
602 | obj = create_canvas%d(canvas_type,xsize,ysize);\ |
592 | obj = create_canvas%d(canvas_type,xsize,ysize);\ |
603 | };\ |
593 | };\ |
604 | var ctx = obj.getContext(\"2d\");\ |
594 | var ctx = obj.getContext(\"2d\");\ |
605 | ctx.save();\ |
595 | ctx.save();\ |
606 | ctx.strokeStyle=\"rgba(\"+stroke_color+\",\"+stroke_opacity+\")\";\ |
596 | ctx.strokeStyle=\"rgba(\"+stroke_color+\",\"+stroke_opacity+\")\";\ |
Line 645... | Line 635... | ||
645 | ctx.closePath();\ |
635 | ctx.closePath();\ |
646 | ctx.stroke();\ |
636 | ctx.stroke();\ |
647 | };\ |
637 | };\ |
648 | if( use_userdraw ){\ |
638 | if( use_userdraw ){\ |
649 | grid_fill_pattern = ctx;\ |
639 | grid_fill_pattern = ctx;\ |
650 | }\ |
- | |
651 | else\ |
640 | } else {\ |
652 | {\ |
- | |
653 | setTimeout(function(){ filltoborder( x0,y0,color,color,canvas_type,true,ctx); },500);};return;\ |
641 | setTimeout(function(){ filltoborder( x0,y0,color,color,canvas_type,true,ctx); },500);};return;\ |
654 | };",canvas_root_id,canvas_root_id); |
642 | };",canvas_root_id,canvas_root_id); |
655 | break; |
643 | break; |
656 | 644 | ||
657 | case DRAW_IMAGEFILL:/* not used for userdraw */ |
645 | case DRAW_IMAGEFILL:/* not used for userdraw */ |
Line 674... | Line 662... | ||
674 | };\ |
662 | };\ |
675 | };\ |
663 | };\ |
676 | };\ |
664 | };\ |
677 | if( use_userdraw ){\ |
665 | if( use_userdraw ){\ |
678 | image_pattern = ctx;\ |
666 | image_pattern = ctx;\ |
679 | }\ |
- | |
680 | else\ |
667 | } else {\ |
681 | {\ |
- | |
682 | setTimeout(function(){ filltoborder( x0,y0,'red','red',canvas_type,true,ctx); },500);\ |
668 | setTimeout(function(){ filltoborder( x0,y0,'red','red',canvas_type,true,ctx); },500);\ |
683 | };\ |
669 | };\ |
684 | };\ |
670 | };\ |
685 | };",canvas_root_id,canvas_root_id); |
671 | };",canvas_root_id,canvas_root_id); |
686 | break; |
672 | break; |
Line 707... | Line 693... | ||
707 | ctx.fill();\ |
693 | ctx.fill();\ |
708 | };\ |
694 | };\ |
709 | };\ |
695 | };\ |
710 | if( use_userdraw ){\ |
696 | if( use_userdraw ){\ |
711 | dot_fill_pattern = ctx;\ |
697 | dot_fill_pattern = ctx;\ |
712 | }\ |
- | |
713 | else\ |
698 | } else {\ |
714 | {\ |
- | |
715 | setTimeout(function(){ filltoborder( x0,y0,color,color,canvas_type,true,ctx); },500);\ |
699 | setTimeout(function(){ filltoborder( x0,y0,color,color,canvas_type,true,ctx); },500);\ |
716 | };\ |
700 | };\ |
717 | return;\ |
701 | return;\ |
718 | };",canvas_root_id,canvas_root_id); |
702 | };",canvas_root_id,canvas_root_id); |
719 | break; |
703 | break; |
Line 1062... | Line 1046... | ||
1062 | xml_div.style.position = \"absolute\";\ |
1046 | xml_div.style.position = \"absolute\";\ |
1063 | xml_div.style.color = \"rgba(\"+obj.stroke_color+\",\"+obj.stroke_opacity+\")\";\ |
1047 | xml_div.style.color = \"rgba(\"+obj.stroke_color+\",\"+obj.stroke_opacity+\")\";\ |
1064 | xml_div.style.font = obj.fontfamily;\ |
1048 | xml_div.style.font = obj.fontfamily;\ |
1065 | if( ! obj.rotation_center){obj.rotation_center = [obj.x[0],obj.y[0]];}else{obj.rotation_center=[x2px(obj.rotation_center[0]) ,y2px(obj.rotation_center[1]) ];};\ |
1049 | if( ! obj.rotation_center){obj.rotation_center = [obj.x[0],obj.y[0]];}else{obj.rotation_center=[x2px(obj.rotation_center[0]) ,y2px(obj.rotation_center[1]) ];};\ |
1066 | if( obj.use_center == 1 ){if( obj.type == 'image' ){xml_div.addEventListener('load',function(e){centered(xml_div,obj);},true);}else{%s};};\ |
1050 | if( obj.use_center == 1 ){if( obj.type == 'image' ){xml_div.addEventListener('load',function(e){centered(xml_div,obj);},true);}else{%s};};\ |
1067 | }\ |
- | |
1068 | else\ |
1051 | } else {\ |
1069 | {\ |
- | |
1070 | xml_div = document.getElementById('xml_div'+obj.id );\ |
1052 | xml_div = document.getElementById('xml_div'+obj.id );\ |
1071 | };\ |
1053 | };\ |
1072 | if( typeof(xml_div) === 'undefined' ){console.log('hmmmmm'); return;};\ |
1054 | if( typeof(xml_div) === 'undefined' ){console.log('hmmmmm'); return;};\ |
1073 | xml_div.style.left = parseInt(obj.x[0] - obj.offset[0]) +'px';\ |
1055 | xml_div.style.left = parseInt(obj.x[0] - obj.offset[0]) +'px';\ |
1074 | xml_div.style.top = parseInt(obj.y[0] - obj.offset[1]) +'px';\ |
1056 | xml_div.style.top = parseInt(obj.y[0] - obj.offset[1]) +'px';\ |
Line 1084... | Line 1066... | ||
1084 | if(isTouch){\ |
1066 | if(isTouch){\ |
1085 | canvas_div.addEventListener('touchmove' ,function(evt){ evt.preventDefault();if(!dragging){return;};mouse = getMouse(evt.changedTouches[0],xml_div);xy = multisnap_check( mouse.x,mouse.y,obj.use_snap);xml_div.style.left = xy[0] - obj.offset[0] - obj.transform[4] + 'px';xml_div.style.top = xy[1] - obj.offset[1] - obj.transform[5] + 'px';},false);\ |
1067 | canvas_div.addEventListener('touchmove' ,function(evt){ evt.preventDefault();if(!dragging){return;};mouse = getMouse(evt.changedTouches[0],xml_div);xy = multisnap_check( mouse.x,mouse.y,obj.use_snap);xml_div.style.left = xy[0] - obj.offset[0] - obj.transform[4] + 'px';xml_div.style.top = xy[1] - obj.offset[1] - obj.transform[5] + 'px';},false);\ |
1086 | canvas_div.addEventListener('touchend' ,function(evt){ evt.preventDefault();dragging = false;xml_div.style.backgroundColor = no_color;dragdrop_reply[obj.object_cnt] = {object_cnt:obj.object_cnt,type:obj.onclick,x:xy[0],y:xy[1],r:0,angle:obj.angle,clicked:0};obj.x[0] = xy[0];obj.y[0] = xy[1];},false);\ |
1068 | canvas_div.addEventListener('touchend' ,function(evt){ evt.preventDefault();dragging = false;xml_div.style.backgroundColor = no_color;dragdrop_reply[obj.object_cnt] = {object_cnt:obj.object_cnt,type:obj.onclick,x:xy[0],y:xy[1],r:0,angle:obj.angle,clicked:0};obj.x[0] = xy[0];obj.y[0] = xy[1];},false);\ |
1087 | xml_div.addEventListener('touchstart',function(evt){evt.preventDefault();if(dragging){dragging = false;xml_div.style.backgroundColor = no_color;}else{dragging = true;xml_div.style.backgroundColor = back_color;};},false);\ |
1069 | xml_div.addEventListener('touchstart',function(evt){evt.preventDefault();if(dragging){dragging = false;xml_div.style.backgroundColor = no_color;}else{dragging = true;xml_div.style.backgroundColor = back_color;};},false);\ |
1088 | xml_div.addEventListener('touchend' ,function(evt){ evt.preventDefault();dragging = false;xml_div.style.backgroundColor = no_color;dragdrop_reply[obj.object_cnt] = {object_cnt:obj.object_cnt,type:obj.onclick,x:xy[0],y:xy[1],r:0,angle:obj.angle,clicked:0};obj.x[0] = xy[0];obj.y[0] = xy[1];},false);\ |
1070 | xml_div.addEventListener('touchend' ,function(evt){ evt.preventDefault();dragging = false;xml_div.style.backgroundColor = no_color;dragdrop_reply[obj.object_cnt] = {object_cnt:obj.object_cnt,type:obj.onclick,x:xy[0],y:xy[1],r:0,angle:obj.angle,clicked:0};obj.x[0] = xy[0];obj.y[0] = xy[1];},false);\ |
1089 | }else{\ |
1071 | } else {\ |
1090 | canvas_div.addEventListener('mousemove',function(evt){if(!dragging){return;};mouse = getMouse(evt,xml_div);xy = multisnap_check( mouse.x,mouse.y,obj.use_snap);xml_div.style.left = xy[0] - obj.offset[0] - obj.transform[4] + 'px';xml_div.style.top = xy[1] - obj.offset[1] - obj.transform[5] + 'px';},false);\ |
1072 | canvas_div.addEventListener('mousemove',function(evt){if(!dragging){return;};mouse = getMouse(evt,xml_div);xy = multisnap_check( mouse.x,mouse.y,obj.use_snap);xml_div.style.left = xy[0] - obj.offset[0] - obj.transform[4] + 'px';xml_div.style.top = xy[1] - obj.offset[1] - obj.transform[5] + 'px';},false);\ |
1091 | canvas_div.addEventListener('mouseup',function(evt){dragging = false;xml_div.style.backgroundColor = no_color;dragdrop_reply[obj.object_cnt] = {object_cnt:obj.object_cnt,type:obj.onclick,x:xy[0],y:xy[1],r:0,angle:obj.angle,clicked:0};obj.x[0] = xy[0];obj.y[0] = xy[1];},false);\ |
1073 | canvas_div.addEventListener('mouseup',function(evt){dragging = false;xml_div.style.backgroundColor = no_color;dragdrop_reply[obj.object_cnt] = {object_cnt:obj.object_cnt,type:obj.onclick,x:xy[0],y:xy[1],r:0,angle:obj.angle,clicked:0};obj.x[0] = xy[0];obj.y[0] = xy[1];},false);\ |
1092 | xml_div.addEventListener('mousedown', function(evt){if(dragging){dragging = false;xml_div.style.backgroundColor = no_color;}else{dragging = true;xml_div.style.backgroundColor = back_color;};},false);\ |
1074 | xml_div.addEventListener('mousedown', function(evt){if(dragging){dragging = false;xml_div.style.backgroundColor = no_color;}else{dragging = true;xml_div.style.backgroundColor = back_color;};},false);\ |
1093 | };\ |
1075 | };\ |
1094 | break;\ |
1076 | break;\ |
1095 | case 1:\ |
1077 | case 1:\ |
1096 | if(isTouch |
1078 | if(isTouch){\ |
1097 | xml_div.addEventListener('touchstart', function(e){ e.preventDefault();if(dragdrop_reply[obj.object_cnt].clicked == 0){ dragdrop_reply[obj.object_cnt].clicked = 1;xml_div.style.backgroundColor = back_color;}else{dragdrop_reply[obj.object_cnt].clicked = 0;xml_div.style.backgroundColor = no_color;};} ,false);\ |
1079 | xml_div.addEventListener('touchstart', function(e){ e.preventDefault();if(dragdrop_reply[obj.object_cnt].clicked == 0){ dragdrop_reply[obj.object_cnt].clicked = 1;xml_div.style.backgroundColor = back_color;}else{dragdrop_reply[obj.object_cnt].clicked = 0;xml_div.style.backgroundColor = no_color;};} ,false);\ |
1098 | }else{\ |
1080 | } else {\ |
1099 | xml_div.addEventListener('mousedown' , function(evt){if(dragdrop_reply[obj.object_cnt].clicked == 0){ dragdrop_reply[obj.object_cnt].clicked = 1;xml_div.style.backgroundColor = back_color;}else{dragdrop_reply[obj.object_cnt].clicked = 0;xml_div.style.backgroundColor = no_color;};} ,false);\ |
1081 | xml_div.addEventListener('mousedown' , function(evt){if(dragdrop_reply[obj.object_cnt].clicked == 0){ dragdrop_reply[obj.object_cnt].clicked = 1;xml_div.style.backgroundColor = back_color;}else{dragdrop_reply[obj.object_cnt].clicked = 0;xml_div.style.backgroundColor = no_color;};} ,false);\ |
1100 | };\ |
1082 | };\ |
1101 | break;\ |
1083 | break;\ |
1102 | case 3:\ |
1084 | case 3:\ |
1103 | if(isTouch |
1085 | if(isTouch){\ |
1104 | xml_div.addEventListener('touchstart',function(evt){ if(slidergroup[obj.object_cnt] == null ){ slidergroup[obj.object_cnt] = obj;xml_div.style.backgroundColor = back_color;}else{ slidergroup[obj.object_cnt] = null;xml_div.style.backgroundColor = no_color;};} ,false);\ |
1086 | xml_div.addEventListener('touchstart',function(evt){ if(slidergroup[obj.object_cnt] == null ){ slidergroup[obj.object_cnt] = obj;xml_div.style.backgroundColor = back_color;}else{ slidergroup[obj.object_cnt] = null;xml_div.style.backgroundColor = no_color;};} ,false);\ |
1105 | }else{\ |
1087 | } else {\ |
1106 | xml_div.addEventListener('mousedown' ,function(evt){ if(slidergroup[obj.object_cnt] == null ){ slidergroup[obj.object_cnt] = obj;xml_div.style.backgroundColor = back_color;}else{ slidergroup[obj.object_cnt] = null;xml_div.style.backgroundColor = no_color;};} ,false);\ |
1088 | xml_div.addEventListener('mousedown' ,function(evt){ if(slidergroup[obj.object_cnt] == null ){ slidergroup[obj.object_cnt] = obj;xml_div.style.backgroundColor = back_color;}else{ slidergroup[obj.object_cnt] = null;xml_div.style.backgroundColor = no_color;};} ,false);\ |
1107 | };\ |
1089 | };\ |
1108 | break;\ |
1090 | break;\ |
1109 | case 4:slidergroup[obj.object_cnt] = obj;break;\ |
1091 | case 4:slidergroup[obj.object_cnt] = obj;break;\ |
1110 | case 5:slidergroup[obj.object_cnt] = obj;\ |
1092 | case 5:slidergroup[obj.object_cnt] = obj;\ |
Line 1139... | Line 1121... | ||
1139 | var zero_x = 0.1*xsize;\ |
1121 | var zero_x = 0.1*xsize;\ |
1140 | var zero_y = 0.9*ysize;\ |
1122 | var zero_y = 0.9*ysize;\ |
1141 | var snor_x;var snor_y;\ |
1123 | var snor_x;var snor_y;\ |
1142 | if( xstart != xmin){\ |
1124 | if( xstart != xmin){\ |
1143 | snor_x = 0.1*xsize;\ |
1125 | snor_x = 0.1*xsize;\ |
1144 | }\ |
- | |
1145 | else\ |
1126 | }else{\ |
1146 | {\ |
- | |
1147 | snor_x = 0;\ |
1127 | snor_x = 0;\ |
1148 | xstart = xmin;\ |
1128 | xstart = xmin;\ |
1149 | };\ |
1129 | };\ |
1150 | ctx.strokeStyle = \"rgba(\"+majorcolor+\",\"+opacity+\")\";\ |
1130 | ctx.strokeStyle = \"rgba(\"+majorcolor+\",\"+opacity+\")\";\ |
1151 | ctx.lineWidth = 2;\ |
1131 | ctx.lineWidth = 2;\ |
Line 1171... | Line 1151... | ||
1171 | for(var x = zero_x+snor_x ; x < xsize;x = x + step_x){\ |
1151 | for(var x = zero_x+snor_x ; x < xsize;x = x + step_x){\ |
1172 | txtsize = ctx.measureText(num).width;\ |
1152 | txtsize = ctx.measureText(num).width;\ |
1173 | if( txtsize > txt_marge ){if( flipflop == 1 ){flipflop = 0;}else{flipflop = 1;};};\ |
1153 | if( txtsize > txt_marge ){if( flipflop == 1 ){flipflop = 0;}else{flipflop = 1;};};\ |
1174 | if( flipflop == 1){\ |
1154 | if( flipflop == 1){\ |
1175 | ctx.fillText(num,x - 0.5*txtsize,zero_y+font_size);\ |
1155 | ctx.fillText(num,x - 0.5*txtsize,zero_y+font_size);\ |
1176 | }\ |
- | |
1177 | else\ |
1156 | } else {\ |
1178 | {\ |
- | |
1179 | ctx.fillText(num,x - 0.5*txtsize,zero_y+2*font_size);\ |
1157 | ctx.fillText(num,x - 0.5*txtsize,zero_y+2*font_size);\ |
1180 | };\ |
1158 | };\ |
1181 | num = num + xmajor;\ |
1159 | num = num + xmajor;\ |
1182 | };\ |
1160 | };\ |
1183 | ctx.stroke();\ |
1161 | ctx.stroke();\ |
Line 1202... | Line 1180... | ||
1202 | nx = x + num*minor_step_x;\ |
1180 | nx = x + num*minor_step_x;\ |
1203 | ctx.moveTo(nx,zero_y);\ |
1181 | ctx.moveTo(nx,zero_y);\ |
1204 | ctx.lineTo(nx,0);\ |
1182 | ctx.lineTo(nx,0);\ |
1205 | num++;\ |
1183 | num++;\ |
1206 | };\ |
1184 | };\ |
1207 | };\ |
1185 | };\ |
1208 | ctx.stroke();\ |
1186 | ctx.stroke();\ |
1209 | ctx.closePath();\ |
1187 | ctx.closePath();\ |
1210 | ctx.beginPath();\ |
1188 | ctx.beginPath();\ |
1211 | ctx.lineWidth = 2;\ |
1189 | ctx.lineWidth = 2;\ |
1212 | ctx.strokeStyle = \"rgba(\"+majorcolor+\",\"+opacity+\")\";\ |
1190 | ctx.strokeStyle = \"rgba(\"+majorcolor+\",\"+opacity+\")\";\ |
Line 1221... | Line 1199... | ||
1221 | ctx.lineWidth = 0.5;\ |
1199 | ctx.lineWidth = 0.5;\ |
1222 | };\ |
1200 | };\ |
1223 | xmin = xstart - (xmajor*(zero_x+snor_x)/step_x);\ |
1201 | xmin = xstart - (xmajor*(zero_x+snor_x)/step_x);\ |
1224 | if( ystart != ymin){\ |
1202 | if( ystart != ymin){\ |
1225 | snor_y = 0.1*ysize;\ |
1203 | snor_y = 0.1*ysize;\ |
1226 | }\ |
- | |
1227 | else\ |
1204 | } else {\ |
1228 | {\ |
- | |
1229 | snor_y = 0;\ |
1205 | snor_y = 0;\ |
1230 | ystart = ymin;\ |
1206 | ystart = ymin;\ |
1231 | };\ |
1207 | };\ |
1232 | ctx.lineWidth = 2;\ |
1208 | ctx.lineWidth = 2;\ |
1233 | ctx.strokeStyle = \"rgba(\"+majorcolor+\",\"+opacity+\")\";\ |
1209 | ctx.strokeStyle = \"rgba(\"+majorcolor+\",\"+opacity+\")\";\ |
Line 1291... | Line 1267... | ||
1291 | var l_length = legend%d.length;var barcolor = new Array();\ |
1267 | var l_length = legend%d.length;var barcolor = new Array();\ |
1292 | if( typeof(legendcolors%d) !== 'undefined' ){\ |
1268 | if( typeof(legendcolors%d) !== 'undefined' ){\ |
1293 | for(var p = 0 ; p < l_length ; p++){\ |
1269 | for(var p = 0 ; p < l_length ; p++){\ |
1294 | barcolor[p] = legendcolors%d[p];\ |
1270 | barcolor[p] = legendcolors%d[p];\ |
1295 | };\ |
1271 | };\ |
1296 | }else{\ |
1272 | } else {\ |
1297 | if( barcolor.length == 0 ){\ |
1273 | if( barcolor.length == 0 ){\ |
1298 | for(var p = 0 ; p < l_length ; p++){\ |
1274 | for(var p = 0 ; p < l_length ; p++){\ |
1299 | barcolor[p] = stroke_color;\ |
1275 | barcolor[p] = stroke_color;\ |
1300 | };\ |
1276 | };\ |
1301 | };\ |
1277 | };\ |
Line 1370... | Line 1346... | ||
1370 | var x_nums = x2px(eval(str[p]));\ |
1346 | var x_nums = x2px(eval(str[p]));\ |
1371 | var x_text = str[p+1];\ |
1347 | var x_text = str[p+1];\ |
1372 | corr = ctx.measureText(x_text).width;\ |
1348 | corr = ctx.measureText(x_text).width;\ |
1373 | if( corr > xmajor){ if(flipflop == 0 ){flipflop = 1; off = ybase2;}else{flipflop = 0; off = ybase1;};};\ |
1349 | if( corr > xmajor){ if(flipflop == 0 ){flipflop = 1; off = ybase2;}else{flipflop = 0; off = ybase1;};};\ |
1374 | ctx.fillText(x_text,parseInt(x_nums-0.5*corr),off);\ |
1350 | ctx.fillText(x_text,parseInt(x_nums-0.5*corr),off);\ |
1375 | };\ |
1351 | };\ |
1376 | }\ |
- | |
1377 | else\ |
1352 | } else {\ |
1378 | {\ |
- | |
1379 | for(var p = 0 ; p < len ; p = p+2){\ |
1353 | for(var p = 0 ; p < len ; p = p+2){\ |
1380 | x_nums = x2px(eval(str[p]));\ |
1354 | x_nums = x2px(eval(str[p]));\ |
1381 | x_text = str[p+1];\ |
1355 | x_text = str[p+1];\ |
1382 | corr = ctx.measureText(x_text).width + ybase1 - fontsize;\ |
1356 | corr = ctx.measureText(x_text).width + ybase1 - fontsize;\ |
1383 | ctx.save();\ |
1357 | ctx.save();\ |
Line 1385... | Line 1359... | ||
1385 | ctx.rotate(-1.5708);\ |
1359 | ctx.rotate(-1.5708);\ |
1386 | ctx.fillText(x_text,0,0);\ |
1360 | ctx.fillText(x_text,0,0);\ |
1387 | ctx.restore();\ |
1361 | ctx.restore();\ |
1388 | };\ |
1362 | };\ |
1389 | }\ |
1363 | }\ |
1390 | }\ |
- | |
1391 | else\ |
1364 | } else {\ |
1392 | {\ |
- | |
1393 | var corr;var num;var flipflop = 0;var off = ybase1;\ |
1365 | var corr;var num;var flipflop = 0;var off = ybase1;\ |
1394 | var prec = parseInt(Math.log(precision)/Math.log(10));\ |
1366 | var prec = parseInt(Math.log(precision)/Math.log(10));\ |
1395 | for(var p = x0 ; p < x1+xmajor ; p = p+xmajor){\ |
1367 | for(var p = x0 ; p < x1+xmajor ; p = p+xmajor){\ |
1396 | num = (px2x(p)).toFixed(prec);\ |
1368 | num = (px2x(p)).toFixed(prec);\ |
1397 | corr = ctx.measureText(num).width;\ |
1369 | corr = ctx.measureText(num).width;\ |
Line 1553... | Line 1525... | ||
1553 | if( skip > 1 ){if(flip == 0 ){flip = 1; shift = shift + font_size;}else{flip = 0; shift = shift - font_size;};};\ |
1525 | if( skip > 1 ){if(flip == 0 ){flip = 1; shift = shift + font_size;}else{flip = 0; shift = shift - font_size;};};\ |
1554 | ctx.fillText(x_text,parseInt(x_nums-0.5*corr),shift);\ |
1526 | ctx.fillText(x_text,parseInt(x_nums-0.5*corr),shift);\ |
1555 | ctx.moveTo(x_nums,zero_y - tics_length);\ |
1527 | ctx.moveTo(x_nums,zero_y - tics_length);\ |
1556 | ctx.lineTo(x_nums,zero_y + tics_length);\ |
1528 | ctx.lineTo(x_nums,zero_y + tics_length);\ |
1557 | };\ |
1529 | };\ |
1558 | }\ |
- | |
1559 | else\ |
1530 | } else {\ |
1560 | {\ |
- | |
1561 | for(var p = 0 ; p < len ; p = p+2){\ |
1531 | for(var p = 0 ; p < len ; p = p+2){\ |
1562 | var x_nums = x2px(eval(str[p]));\ |
1532 | var x_nums = x2px(eval(str[p]));\ |
1563 | var x_text = str[p+1];\ |
1533 | var x_text = str[p+1];\ |
1564 | corr = 2 + tics_length + zero_y + ctx.measureText(x_text).width;\ |
1534 | corr = 2 + tics_length + zero_y + ctx.measureText(x_text).width;\ |
1565 | if( corr > ysize ){corr = ysize;};\ |
1535 | if( corr > ysize ){corr = ysize;};\ |
Line 1571... | Line 1541... | ||
1571 | ctx.moveTo(x_nums,zero_y - tics_length);\ |
1541 | ctx.moveTo(x_nums,zero_y - tics_length);\ |
1572 | ctx.lineTo(x_nums,zero_y + tics_length);\ |
1542 | ctx.lineTo(x_nums,zero_y + tics_length);\ |
1573 | };\ |
1543 | };\ |
1574 | };\ |
1544 | };\ |
1575 | ctx.closePath();\ |
1545 | ctx.closePath();\ |
1576 | }\ |
- | |
1577 | else\ |
1546 | } else {\ |
1578 | {\ |
- | |
1579 | skip = 1;cnt = px2x(zero_x);\ |
1547 | skip = 1;cnt = px2x(zero_x);\ |
1580 | prec = Math.log(precision)/(Math.log(10));\ |
1548 | prec = Math.log(precision)/(Math.log(10));\ |
1581 | var y_basis;if(f_y == 1){ y_basis = ysize }else{ y_basis = zero_y + 1.4*font_size;};\ |
1549 | var y_basis;if(f_y == 1){ y_basis = ysize }else{ y_basis = zero_y + 1.4*font_size;};\ |
1582 | for( var p = zero_x ; p < xsize ; p = p+xstep){\ |
1550 | for( var p = zero_x ; p < xsize ; p = p+xstep){\ |
1583 | if(skip == 0 ){\ |
1551 | if(skip == 0 ){\ |
1584 | disp_cnt = cnt.toFixed(prec);\ |
1552 | disp_cnt = cnt.toFixed(prec);\ |
1585 | corr = ctx.measureText(disp_cnt).width;\ |
1553 | corr = ctx.measureText(disp_cnt).width;\ |
1586 | skip = parseInt(1.2*corr/xstep);\ |
1554 | skip = parseInt(1.2*corr/xstep);\ |
1587 | ctx.fillText(disp_cnt,p-0.5*corr,y_basis);\ |
1555 | ctx.fillText(disp_cnt,p-0.5*corr,y_basis);\ |
1588 | }\ |
- | |
1589 | else\ |
1556 | } else {\ |
1590 | {\ |
- | |
1591 | skip--;\ |
1557 | skip--;\ |
1592 | };\ |
1558 | };\ |
1593 | cnt = cnt + xmajor;\ |
1559 | cnt = cnt + xmajor;\ |
1594 | };\ |
1560 | };\ |
1595 | cnt = px2x(zero_x);skip = 1;\ |
1561 | cnt = px2x(zero_x);skip = 1;\ |
Line 1597... | Line 1563... | ||
1597 | if(skip == 0 ){\ |
1563 | if(skip == 0 ){\ |
1598 | disp_cnt = cnt.toFixed(prec);\ |
1564 | disp_cnt = cnt.toFixed(prec);\ |
1599 | corr = ctx.measureText(disp_cnt).width;\ |
1565 | corr = ctx.measureText(disp_cnt).width;\ |
1600 | skip = parseInt(1.2*corr/xstep);\ |
1566 | skip = parseInt(1.2*corr/xstep);\ |
1601 | ctx.fillText(disp_cnt,p-0.5*corr,y_basis);\ |
1567 | ctx.fillText(disp_cnt,p-0.5*corr,y_basis);\ |
1602 | }\ |
- | |
1603 | else\ |
1568 | } else {\ |
1604 | {\ |
- | |
1605 | skip--;\ |
1569 | skip--;\ |
1606 | };\ |
1570 | };\ |
1607 | cnt = cnt - xmajor;\ |
1571 | cnt = cnt - xmajor;\ |
1608 | };\ |
1572 | };\ |
1609 | };\ |
1573 | };\ |
Line 1618... | Line 1582... | ||
1618 | ctx.fillText(y_text,zero_x - corr,y_nums + 0.5*font_size);\ |
1582 | ctx.fillText(y_text,zero_x - corr,y_nums + 0.5*font_size);\ |
1619 | ctx.moveTo(zero_x - tics_length,y_nums);\ |
1583 | ctx.moveTo(zero_x - tics_length,y_nums);\ |
1620 | ctx.lineTo(zero_x + tics_length,y_nums);\ |
1584 | ctx.lineTo(zero_x + tics_length,y_nums);\ |
1621 | };\ |
1585 | };\ |
1622 | ctx.closePath();\ |
1586 | ctx.closePath();\ |
1623 | }\ |
- | |
1624 | else\ |
1587 | } else {\ |
1625 | {\ |
- | |
1626 | if(f_x == 1){ corr = 1.5*tics_length; }\ |
1588 | if(f_x == 1){ corr = 1.5*tics_length; }\ |
1627 | cnt = px2y(zero_y);skip = 1;\ |
1589 | cnt = px2y(zero_y);skip = 1;\ |
1628 | for( var p = zero_y ; p < ysize ; p = p+ystep){\ |
1590 | for( var p = zero_y ; p < ysize ; p = p+ystep){\ |
1629 | if(skip == 0 ){\ |
1591 | if(skip == 0 ){\ |
1630 | skip = parseInt(1.4*font_size/ystep);\ |
1592 | skip = parseInt(1.4*font_size/ystep);\ |
1631 | disp_cnt = cnt.toFixed(prec);\ |
1593 | disp_cnt = cnt.toFixed(prec);\ |
1632 | if(f_x == -1 ){ corr = parseInt(zero_x - (2 + tics_length + ctx.measureText(disp_cnt).width));};\ |
1594 | if(f_x == -1 ){ corr = parseInt(zero_x - (2 + tics_length + ctx.measureText(disp_cnt).width));};\ |
1633 | ctx.fillText(disp_cnt,parseInt(corr),parseInt(p+(0.4*font_size)));\ |
1595 | ctx.fillText(disp_cnt,parseInt(corr),parseInt(p+(0.4*font_size)));\ |
1634 | }\ |
- | |
1635 | else\ |
1596 | } else {\ |
1636 | {\ |
- | |
1637 | skip--;\ |
1597 | skip--;\ |
1638 | };\ |
1598 | };\ |
1639 | cnt = cnt - ymajor;\ |
1599 | cnt = cnt - ymajor;\ |
1640 | };\ |
1600 | };\ |
1641 | corr = 0;cnt = px2y(zero_y);skip = 1;\ |
1601 | corr = 0;cnt = px2y(zero_y);skip = 1;\ |
Line 1644... | Line 1604... | ||
1644 | if(skip == 0 ){\ |
1604 | if(skip == 0 ){\ |
1645 | skip = parseInt(1.4*font_size/ystep);\ |
1605 | skip = parseInt(1.4*font_size/ystep);\ |
1646 | disp_cnt = cnt.toFixed(prec);\ |
1606 | disp_cnt = cnt.toFixed(prec);\ |
1647 | if(f_x == -1 ){corr = parseInt(zero_x - (2 + tics_length + ctx.measureText(disp_cnt).width));};\ |
1607 | if(f_x == -1 ){corr = parseInt(zero_x - (2 + tics_length + ctx.measureText(disp_cnt).width));};\ |
1648 | ctx.fillText(disp_cnt,parseInt(corr),parseInt(p+(0.4*font_size)));\ |
1608 | ctx.fillText(disp_cnt,parseInt(corr),parseInt(p+(0.4*font_size)));\ |
1649 | }\ |
- | |
1650 | else\ |
1609 | } else {\ |
1651 | {\ |
- | |
1652 | skip--;\ |
1610 | skip--;\ |
1653 | };\ |
1611 | };\ |
1654 | cnt = cnt + ymajor;\ |
1612 | cnt = cnt + ymajor;\ |
1655 | };\ |
1613 | };\ |
1656 | };\ |
1614 | };\ |
Line 1668... | Line 1626... | ||
1668 | var l_length = legend0.length;\ |
1626 | var l_length = legend0.length;\ |
1669 | if( typeof(legendcolors0) !== 'undefined' ){\ |
1627 | if( typeof(legendcolors0) !== 'undefined' ){\ |
1670 | for(var p = 0 ; p < l_length ; p++){\ |
1628 | for(var p = 0 ; p < l_length ; p++){\ |
1671 | barcolor[p] = legendcolors0[p];\ |
1629 | barcolor[p] = legendcolors0[p];\ |
1672 | };\ |
1630 | };\ |
1673 | }\ |
- | |
1674 | else\ |
1631 | } else {\ |
1675 | {\ |
- | |
1676 | if( barcolor.length == 0 ){\ |
1632 | if( barcolor.length == 0 ){\ |
1677 | for(var p = 0 ; p < l_length ; p++){\ |
1633 | for(var p = 0 ; p < l_length ; p++){\ |
1678 | barcolor[p] = stroke_color;\ |
1634 | barcolor[p] = stroke_color;\ |
1679 | };\ |
1635 | };\ |
1680 | };\ |
1636 | };\ |
Line 1715... | Line 1671... | ||
1715 | ctx.beginPath();\ |
1671 | ctx.beginPath();\ |
1716 | ctx.strokeStyle = barcolor[p];\ |
1672 | ctx.strokeStyle = barcolor[p];\ |
1717 | ctx.fillStyle = barcolor[p];\ |
1673 | ctx.fillStyle = barcolor[p];\ |
1718 | ctx.rect(bar_x[p]-0.4*x2step+dx,bar_y[p],bar_width,zero_y - bar_y[p]);\ |
1674 | ctx.rect(bar_x[p]-0.4*x2step+dx,bar_y[p],bar_width,zero_y - bar_y[p]);\ |
1719 | ctx.fill();\ |
1675 | ctx.fill();\ |
1720 | ctx.stroke();\ |
1676 | ctx.stroke();\ |
1721 | ctx.closePath();\ |
1677 | ctx.closePath();\ |
1722 | };\ |
1678 | };\ |
1723 | };\ |
1679 | };\ |
1724 | ctx.restore();"); |
1680 | ctx.restore();"); |
1725 | } |
1681 | } |
1726 | 1682 | ||
1727 | if( linegraph_cnt != 0 ){ |
1683 | if( linegraph_cnt != 0 ){ |
1728 | fprintf(js_include_file,"ctx.save();\ |
1684 | fprintf(js_include_file,"ctx.save();\ |
Line 1734... | Line 1690... | ||
1734 | ctx.lineWidth = parseInt(line_name[1]);\ |
1690 | ctx.lineWidth = parseInt(line_name[1]);\ |
1735 | if(line_name[2] == \"1\"){\ |
1691 | if(line_name[2] == \"1\"){\ |
1736 | var d1 = parseInt(line_name[3]);\ |
1692 | var d1 = parseInt(line_name[3]);\ |
1737 | var d2 = parseInt(line_name[4]);\ |
1693 | var d2 = parseInt(line_name[4]);\ |
1738 | if(ctx.setLineDash){ ctx.setLineDash([d1,d2]); } else { ctx.mozDash = [d1,d2];};\ |
1694 | if(ctx.setLineDash){ ctx.setLineDash([d1,d2]); } else { ctx.mozDash = [d1,d2];};\ |
1739 | }\ |
- | |
1740 | else\ |
1695 | } else {\ |
1741 | {\ |
- | |
1742 | if(ctx.setLineDash){ctx.setLineDash = null;};if(ctx.mozDash){ctx.mozDash = null;}\ |
1696 | if(ctx.setLineDash){ctx.setLineDash = null;};if(ctx.mozDash){ctx.mozDash = null;}\ |
1743 | };\ |
1697 | };\ |
1744 | var data_x = new Array();var data_y = new Array();\ |
1698 | var data_x = new Array();var data_y = new Array();\ |
1745 | var lb = line_name.length;var idx = 0;\ |
1699 | var lb = line_name.length;var idx = 0;\ |
1746 | for( var p = 5 ; p < lb ; p = p + 2 ){\ |
1700 | for( var p = 5 ; p < lb ; p = p + 2 ){\ |
1747 | data_x[idx] = x2px(line_name[p]);\ |
1701 | data_x[idx] = x2px(line_name[p]);\ |
1748 | data_y[idx] = y2px(line_name[p+1]);\ |
1702 | data_y[idx] = y2px(line_name[p+1]);\ |
1749 | idx++;\ |
1703 | idx++;\ |
1750 | };\ |
1704 | };\ |
1751 | for( var p = 0; p < idx ; p++){\ |
1705 | for( var p = 0; p < idx ; p++){\ |
1752 | ctx.beginPath();\ |
1706 | ctx.beginPath();\ |
1753 | ctx.moveTo(data_x[p],data_y[p]);\ |
1707 | ctx.moveTo(data_x[p],data_y[p]);\ |
1754 | ctx.lineTo(data_x[p+1],data_y[p+1]);\ |
1708 | ctx.lineTo(data_x[p+1],data_y[p+1]);\ |
1755 | ctx.stroke();\ |
1709 | ctx.stroke();\ |
Line 1769... | Line 1723... | ||
1769 | if( typeof(all_fill_patterns) != 'object' ){ var all_fill_patterns = []; };\ |
1723 | if( typeof(all_fill_patterns) != 'object' ){ var all_fill_patterns = []; };\ |
1770 | function draw_piechart(canvas_type,x_center,y_center,radius, data_color_list,fill_opacity,legend_cnt,font_family,use_filled,use_offset){\ |
1724 | function draw_piechart(canvas_type,x_center,y_center,radius, data_color_list,fill_opacity,legend_cnt,font_family,use_filled,use_offset){\ |
1771 | var obj;\ |
1725 | var obj;\ |
1772 | if( document.getElementById(\"wims_canvas%d\"+canvas_type) ){\ |
1726 | if( document.getElementById(\"wims_canvas%d\"+canvas_type) ){\ |
1773 | obj = document.getElementById(\"wims_canvas%d\"+canvas_type);\ |
1727 | obj = document.getElementById(\"wims_canvas%d\"+canvas_type);\ |
1774 | }\ |
- | |
1775 | else\ |
1728 | } else {\ |
1776 | {\ |
- | |
1777 | obj = create_canvas%d(canvas_type,xsize,ysize);\ |
1729 | obj = create_canvas%d(canvas_type,xsize,ysize);\ |
1778 | };\ |
1730 | };\ |
1779 | var center_text = use_offset || 0;\ |
1731 | var center_text = use_offset || 0;\ |
1780 | var ld = data_color_list.length;\ |
1732 | var ld = data_color_list.length;\ |
1781 | var sum = 0;\ |
1733 | var sum = 0;\ |
Line 1830... | Line 1782... | ||
1830 | ctx.save();\ |
1782 | ctx.save();\ |
1831 | ctx.translate(x_center, y_center);\ |
1783 | ctx.translate(x_center, y_center);\ |
1832 | ctx.rotate(angles[p]);\ |
1784 | ctx.rotate(angles[p]);\ |
1833 | ctx.fillText(txt,radius-txt_size,0);\ |
1785 | ctx.fillText(txt,radius-txt_size,0);\ |
1834 | ctx.restore();\ |
1786 | ctx.restore();\ |
1835 | }\ |
- | |
1836 | else\ |
1787 | } else {\ |
1837 | {\ |
- | |
1838 | if( x_center + radius + txt_size > xsize ){ x_offset = x_center + radius + txt_size - xsize;} else { x_offset = 0; };\ |
1788 | if( x_center + radius + txt_size > xsize ){ x_offset = x_center + radius + txt_size - xsize;} else { x_offset = 0; };\ |
1839 | ctx.fillText(txt,x_center + radius - x_offset, y_center - radius + y_offset);\ |
1789 | ctx.fillText(txt,x_center + radius - x_offset, y_center - radius + y_offset);\ |
1840 | y_offset = parseInt(y_offset + 1.5*font_size);\ |
1790 | y_offset = parseInt(y_offset + 1.5*font_size);\ |
1841 | };\ |
1791 | };\ |
1842 | };\ |
1792 | };\ |
Line 1874... | Line 1824... | ||
1874 | var half = Math.floor(0.5*len);\ |
1824 | var half = Math.floor(0.5*len);\ |
1875 | if(len %%2 == 1){\ |
1825 | if(len %%2 == 1){\ |
1876 | median = data[half];\ |
1826 | median = data[half];\ |
1877 | Q1 = data[q1];\ |
1827 | Q1 = data[q1];\ |
1878 | Q3 = data[q3];\ |
1828 | Q3 = data[q3];\ |
1879 | }\ |
- | |
1880 | else\ |
1829 | } else {\ |
1881 | {\ |
- | |
1882 | median = (data[half - 1] + data[half] )/2;\ |
1830 | median = (data[half - 1] + data[half] )/2;\ |
1883 | Q1 = (data[q1 - 1] + data[q1] )/2;\ |
1831 | Q1 = (data[q1 - 1] + data[q1] )/2;\ |
1884 | Q3 = (data[q3 - 1] + data[q3] )/2;\ |
1832 | Q3 = (data[q3 - 1] + data[q3] )/2;\ |
1885 | };\ |
1833 | };\ |
1886 | return [min,Q1,median,Q3,max];\ |
1834 | return [min,Q1,median,Q3,max];\ |
1887 | };"); |
1835 | };"); |
1888 | break; |
1836 | break; |
1889 | 1837 | ||
1890 | case DRAW_BOXPLOT: |
1838 | case DRAW_BOXPLOT: |
Line 1912... | Line 1860... | ||
1912 | switch(boxplot_source){\ |
1860 | switch(boxplot_source){\ |
1913 | case 1: if( typeof(jsboxplot_data) === 'undefined'){return;};data = statistics(jsboxplot_data);break;\ |
1861 | case 1: if( typeof(jsboxplot_data) === 'undefined'){return;};data = statistics(jsboxplot_data);break;\ |
1914 | case 2: if( typeof(student_boxplot_data) === 'undefined'){return;};data = statistics(student_boxplot_data);break;\ |
1862 | case 2: if( typeof(student_boxplot_data) === 'undefined'){return;};data = statistics(student_boxplot_data);break;\ |
1915 | case 3: if( typeof(student_boxplot) === 'undefined'){return;};data = student_boxplot;break;\ |
1863 | case 3: if( typeof(student_boxplot) === 'undefined'){return;};data = student_boxplot;break;\ |
1916 | default: break;\ |
1864 | default: break;\ |
1917 | };\ |
1865 | };\ |
1918 | var min,Q1,median,Q3,max;\ |
1866 | var min,Q1,median,Q3,max;\ |
1919 | if(xy == 1 ){\ |
1867 | if(xy == 1 ){\ |
1920 | min=x2px(data[0]);Q1=x2px(data[1]);median=x2px(data[2]);Q3=x2px(data[3]);max=x2px(data[4]);\ |
1868 | min=x2px(data[0]);Q1=x2px(data[1]);median=x2px(data[2]);Q3=x2px(data[3]);max=x2px(data[4]);\ |
1921 | hh = Math.abs(y2px(hh) - y2px(ystart));\ |
1869 | hh = Math.abs(y2px(hh) - y2px(ystart));\ |
1922 | hw = Math.abs(y2px(hw) - y2px(ystart));\ |
1870 | hw = Math.abs(y2px(hw) - y2px(ystart));\ |
Line 1988... | Line 1936... | ||
1988 | fprintf(js_include_file,"\n/* draw centerstring */\ |
1936 | fprintf(js_include_file,"\n/* draw centerstring */\ |
1989 | var draw_centerstring = function(canvas_type,y,font_family,stroke_color,stroke_opacity,text){\ |
1937 | var draw_centerstring = function(canvas_type,y,font_family,stroke_color,stroke_opacity,text){\ |
1990 | var obj;\ |
1938 | var obj;\ |
1991 | if( document.getElementById(\"wims_canvas%d\"+canvas_type) ){\ |
1939 | if( document.getElementById(\"wims_canvas%d\"+canvas_type) ){\ |
1992 | obj = document.getElementById(\"wims_canvas%d\"+canvas_type);\ |
1940 | obj = document.getElementById(\"wims_canvas%d\"+canvas_type);\ |
1993 | }\ |
- | |
1994 | else\ |
1941 | } else {\ |
1995 | {\ |
- | |
1996 | obj = create_canvas%d(canvas_type,xsize,ysize);\ |
1942 | obj = create_canvas%d(canvas_type,xsize,ysize);\ |
1997 | };\ |
1943 | };\ |
1998 | var ctx = obj.getContext(\"2d\");\ |
1944 | var ctx = obj.getContext(\"2d\");\ |
1999 | ctx.save();\ |
1945 | ctx.save();\ |
2000 | ctx.clearRect(0,0,xsize,ysize);\ |
1946 | ctx.clearRect(0,0,xsize,ysize);\ |
Line 2012... | Line 1958... | ||
2012 | fprintf(js_include_file,"\n/* draw text */\ |
1958 | fprintf(js_include_file,"\n/* draw text */\ |
2013 | var draw_text = function(canvas_type,x,y,font_size,font_family,stroke_color,stroke_opacity,angle2,text,use_rotate,angle,use_offset){\ |
1959 | var draw_text = function(canvas_type,x,y,font_size,font_family,stroke_color,stroke_opacity,angle2,text,use_rotate,angle,use_offset){\ |
2014 | var obj;\ |
1960 | var obj;\ |
2015 | if( document.getElementById(\"wims_canvas%d\"+canvas_type) ){\ |
1961 | if( document.getElementById(\"wims_canvas%d\"+canvas_type) ){\ |
2016 | obj = document.getElementById(\"wims_canvas%d\"+canvas_type);\ |
1962 | obj = document.getElementById(\"wims_canvas%d\"+canvas_type);\ |
2017 | }\ |
- | |
2018 | else\ |
1963 | } else {\ |
2019 | {\ |
- | |
2020 | obj = create_canvas%d(canvas_type,xsize,ysize);\ |
1964 | obj = create_canvas%d(canvas_type,xsize,ysize);\ |
2021 | };\ |
1965 | };\ |
2022 | var ctx = obj.getContext(\"2d\");\ |
1966 | var ctx = obj.getContext(\"2d\");\ |
2023 | if( font_family != 'null' ){\ |
1967 | if( font_family != 'null' ){\ |
2024 | ctx.font = font_family;\ |
1968 | ctx.font = font_family;\ |
2025 | }\ |
- | |
2026 | else\ |
1969 | } else {\ |
2027 | {\ |
- | |
2028 | ctx.font = font_size+'px Arial';\ |
1970 | ctx.font = font_size+'px Arial';\ |
2029 | };\ |
1971 | };\ |
2030 | if( use_offset == 3 ){if(angle2 < 0 ){ y = y + 0.8*font_size; x = x + (Math.cos(angle2))*font_size; }else{y = y - 0.8*font_size; x = x + (Math.sin(angle2))*font_size;};};\ |
1972 | if( use_offset == 3 ){if(angle2 < 0 ){ y = y + 0.8*font_size; x = x + (Math.cos(angle2))*font_size; }else{y = y - 0.8*font_size; x = x + (Math.sin(angle2))*font_size;};};\ |
2031 | if(angle2 == 0 && angle != 0){\ |
1973 | if(angle2 == 0 && angle != 0){\ |
2032 | ctx.save();\ |
1974 | ctx.save();\ |
2033 | if(use_rotate == 1 ){\ |
1975 | if(use_rotate == 1 ){\ |
2034 | ctx.rotate(angle*Math.PI/180);};\ |
1976 | ctx.rotate(angle*Math.PI/180);};\ |
2035 | ctx.restore();\ |
1977 | ctx.restore();\ |
2036 | };\ |
1978 | };\ |
2037 | ctx.fillStyle = \"rgba(\"+stroke_color+\",\"+stroke_opacity+\")\";\ |
1979 | ctx.fillStyle = \"rgba(\"+stroke_color+\",\"+stroke_opacity+\")\";\ |
2038 | if(angle2 != 0){\ |
1980 | if(angle2 != 0){\ |
2039 | ctx.save();\ |
1981 | ctx.save();\ |
2040 | ctx.translate(x,y);\ |
1982 | ctx.translate(x,y);\ |
2041 | ctx.rotate((360-angle2)*(Math.PI / 180));\ |
1983 | ctx.rotate((360-angle2)*(Math.PI / 180));\ |
2042 | ctx.fillText(text,0,0);\ |
1984 | ctx.fillText(text,0,0);\ |
2043 | ctx.restore();\ |
1985 | ctx.restore();\ |
2044 | }\ |
- | |
2045 | else\ |
1986 | } else {\ |
2046 | {\ |
- | |
2047 | ctx.fillText(text,x,y);\ |
1987 | ctx.fillText(text,x,y);\ |
2048 | };\ |
1988 | };\ |
2049 | return;\ |
1989 | return;\ |
2050 | };",canvas_root_id,canvas_root_id,canvas_root_id); |
1990 | };",canvas_root_id,canvas_root_id,canvas_root_id); |
2051 | break; |
1991 | break; |
Line 2101... | Line 2041... | ||
2101 | if(pixelsize%%2 == 1){ ctx.translate(0.5,0.5);};\ |
2041 | if(pixelsize%%2 == 1){ ctx.translate(0.5,0.5);};\ |
2102 | ctx.fillStyle = \"rgba(\"+color+\",\"+opacity+\")\";\ |
2042 | ctx.fillStyle = \"rgba(\"+color+\",\"+opacity+\")\";\ |
2103 | ctx.clearRect(0,0,xsize,ysize);\ |
2043 | ctx.clearRect(0,0,xsize,ysize);\ |
2104 | for(var p=0; p<x.length;p++){\ |
2044 | for(var p=0; p<x.length;p++){\ |
2105 | ctx.fillRect( x2px(x[p]) - d, y2px(y[p]) - d , pixelsize, pixelsize );\ |
2045 | ctx.fillRect( x2px(x[p]) - d, y2px(y[p]) - d , pixelsize, pixelsize );\ |
2106 | };\ |
2046 | };\ |
2107 | ctx.fill();ctx.stroke();\ |
2047 | ctx.fill();ctx.stroke();\ |
2108 | };",canvas_root_id); |
2048 | };",canvas_root_id); |
2109 | break; |
2049 | break; |
2110 | 2050 | ||
2111 | case DRAW_CLOCK: |
2051 | case DRAW_CLOCK: |
Line 2170... | Line 2110... | ||
2170 | clock_ctx.beginPath();\ |
2110 | clock_ctx.beginPath();\ |
2171 | for(var p = 1; p <= 12 ; p++){\ |
2111 | for(var p = 1; p <= 12 ; p++){\ |
2172 | angle_cos = this.radius*(Math.cos(p * (Math.PI * 2) / 12));\ |
2112 | angle_cos = this.radius*(Math.cos(p * (Math.PI * 2) / 12));\ |
2173 | angle_sin = this.radius*(Math.sin(p * (Math.PI * 2) / 12));\ |
2113 | angle_sin = this.radius*(Math.sin(p * (Math.PI * 2) / 12));\ |
2174 | x1 = 0.9*angle_cos;y1 = 0.9*angle_sin;x2 = angle_cos;y2 = angle_sin;\ |
2114 | x1 = 0.9*angle_cos;y1 = 0.9*angle_sin;x2 = angle_cos;y2 = angle_sin;\ |
2175 | clock_ctx.moveTo(x1,y1);\ |
2115 | clock_ctx.moveTo(x1,y1);\ |
2176 | clock_ctx.lineTo(x2,y2);\ |
2116 | clock_ctx.lineTo(x2,y2);\ |
2177 | };\ |
2117 | };\ |
2178 | for(var p = 1; p <= 60 ; p++){\ |
2118 | for(var p = 1; p <= 60 ; p++){\ |
2179 | angle_cos = this.radius*(Math.cos(p * (Math.PI * 2) / 60));\ |
2119 | angle_cos = this.radius*(Math.cos(p * (Math.PI * 2) / 60));\ |
2180 | angle_sin = this.radius*(Math.sin(p * (Math.PI * 2) / 60));\ |
2120 | angle_sin = this.radius*(Math.sin(p * (Math.PI * 2) / 60));\ |
2181 | x1 = 0.95*angle_cos;y1 = 0.95*angle_sin;x2 = angle_cos;y2 = angle_sin;\ |
2121 | x1 = 0.95*angle_cos;y1 = 0.95*angle_sin;x2 = angle_cos;y2 = angle_sin;\ |
Line 2222... | Line 2162... | ||
2222 | fprintf(js_include_file,"\n/* draw lattice */\ |
2162 | fprintf(js_include_file,"\n/* draw lattice */\ |
2223 | var draw_lattice = function(canvas_type,line_width,x0,y0,dx1,dy1,dx2,dy2,n1,n2,fill_color,fill_opacity,stroke_color,stroke_opacity,use_rotate,angle,use_filled){\ |
2163 | var draw_lattice = function(canvas_type,line_width,x0,y0,dx1,dy1,dx2,dy2,n1,n2,fill_color,fill_opacity,stroke_color,stroke_opacity,use_rotate,angle,use_filled){\ |
2224 | var obj;\ |
2164 | var obj;\ |
2225 | if( document.getElementById(\"wims_canvas%d\"+canvas_type) ){\ |
2165 | if( document.getElementById(\"wims_canvas%d\"+canvas_type) ){\ |
2226 | obj = document.getElementById(\"wims_canvas%d\"+canvas_type);\ |
2166 | obj = document.getElementById(\"wims_canvas%d\"+canvas_type);\ |
2227 | }\ |
- | |
2228 | else\ |
2167 | } else {\ |
2229 | {\ |
- | |
2230 | obj = create_canvas%d(canvas_type,xsize,ysize);\ |
2168 | obj = create_canvas%d(canvas_type,xsize,ysize);\ |
2231 | };\ |
2169 | };\ |
2232 | var ctx = obj.getContext(\"2d\");\ |
2170 | var ctx = obj.getContext(\"2d\");\ |
2233 | ctx.save();\ |
2171 | ctx.save();\ |
2234 | if(use_rotate == 1 ){ctx.rotate(angle*Math.PI/180);}\ |
2172 | if(use_rotate == 1 ){ctx.rotate(angle*Math.PI/180);}\ |
Line 2246... | Line 2184... | ||
2246 | var yv2 = dy2*y_step_px;\ |
2184 | var yv2 = dy2*y_step_px;\ |
2247 | for(var p = 0; p < n1 ;p++){\ |
2185 | for(var p = 0; p < n1 ;p++){\ |
2248 | x = p*xv1 + x0;\ |
2186 | x = p*xv1 + x0;\ |
2249 | y = p*yv1 + y0;\ |
2187 | y = p*yv1 + y0;\ |
2250 | for(var c = 0; c < n2 ; c++){\ |
2188 | for(var c = 0; c < n2 ; c++){\ |
2251 | ctx.beginPath();\ |
2189 | ctx.beginPath();\ |
2252 | ctx.arc(x+c*xv2,y+c*yv2,radius,0,2*Math.PI,false);\ |
2190 | ctx.arc(x+c*xv2,y+c*yv2,radius,0,2*Math.PI,false);\ |
2253 | ctx.fill();\ |
2191 | ctx.fill();\ |
2254 | ctx.stroke();\ |
2192 | ctx.stroke();\ |
2255 | ctx.closePath();\ |
2193 | ctx.closePath();\ |
2256 | };\ |
2194 | };\ |
Line 2264... | Line 2202... | ||
2264 | fprintf(js_include_file,"\n/* draw xylogscale */\ |
2202 | fprintf(js_include_file,"\n/* draw xylogscale */\ |
2265 | var draw_grid%d = function(canvas_type,line_width,major_color,minor_color,major_opacity,minor_opacity,font_size,font_family,font_color,use_axis_numbering,precision){\ |
2203 | var draw_grid%d = function(canvas_type,line_width,major_color,minor_color,major_opacity,minor_opacity,font_size,font_family,font_color,use_axis_numbering,precision){\ |
2266 | var obj;\ |
2204 | var obj;\ |
2267 | if( document.getElementById(\"wims_canvas%d\"+canvas_type) ){\ |
2205 | if( document.getElementById(\"wims_canvas%d\"+canvas_type) ){\ |
2268 | obj = document.getElementById(\"wims_canvas%d\"+canvas_type);\ |
2206 | obj = document.getElementById(\"wims_canvas%d\"+canvas_type);\ |
2269 | }\ |
- | |
2270 | else\ |
2207 | } else {\ |
2271 | {\ |
- | |
2272 | obj = create_canvas%d(canvas_type,xsize,ysize);\ |
2208 | obj = create_canvas%d(canvas_type,xsize,ysize);\ |
2273 | };\ |
2209 | };\ |
2274 | var ctx = obj.getContext(\"2d\");\ |
2210 | var ctx = obj.getContext(\"2d\");\ |
2275 | ctx.clearRect(0,0,xsize,ysize);\ |
2211 | ctx.clearRect(0,0,xsize,ysize);\ |
2276 | ctx.save();\ |
2212 | ctx.save();\ |
Line 2280... | Line 2216... | ||
2280 | var y_min = Math.log(ymin)/Math.log(ylogbase);\ |
2216 | var y_min = Math.log(ymin)/Math.log(ylogbase);\ |
2281 | var y_max = Math.log(ymax)/Math.log(ylogbase);\ |
2217 | var y_max = Math.log(ymax)/Math.log(ylogbase);\ |
2282 | if(use_axis_numbering != -1){\ |
2218 | if(use_axis_numbering != -1){\ |
2283 | ctx.font = font_family;\ |
2219 | ctx.font = font_family;\ |
2284 | xmarge = ctx.measureText(ylogbase+'^'+y_max.toFixed(0)+' ').width;\ |
2220 | xmarge = ctx.measureText(ylogbase+'^'+y_max.toFixed(0)+' ').width;\ |
2285 | ymarge = parseInt(1.5*font_size);\ |
2221 | ymarge = parseInt(1.5*font_size);\ |
2286 | ctx.save();\ |
2222 | ctx.save();\ |
2287 | ctx.fillStyle=\"rgba(255,215,0,0.2)\";\ |
2223 | ctx.fillStyle=\"rgba(255,215,0,0.2)\";\ |
2288 | ctx.rect(0,0,xmarge,ysize);\ |
2224 | ctx.rect(0,0,xmarge,ysize);\ |
2289 | ctx.rect(0,ysize-ymarge,xsize,ysize);\ |
2225 | ctx.rect(0,ysize-ymarge,xsize,ysize);\ |
2290 | ctx.fill();\ |
2226 | ctx.fill();\ |
2291 | ctx.restore();\ |
2227 | ctx.restore();\ |
2292 | }else{xmarge = 0;ymarge = 0;};\ |
2228 | }else{xmarge = 0;ymarge = 0;};\ |
2293 | if( typeof(xaxislabel) !== 'undefined' ){\ |
2229 | if( typeof(xaxislabel) !== 'undefined' ){\ |
2294 | ctx.save();\ |
2230 | ctx.save();\ |
2295 | ctx.font = \"italic \"+font_size+\"px Arial\";\ |
2231 | ctx.font = \"italic \"+font_size+\"px Arial\";\ |
Line 2316... | Line 2252... | ||
2316 | x_e = x2px(i*num);\ |
2252 | x_e = x2px(i*num);\ |
2317 | if( i == 1 ){\ |
2253 | if( i == 1 ){\ |
2318 | ctx.lineWidth = line_width;\ |
2254 | ctx.lineWidth = line_width;\ |
2319 | ctx.strokeStyle=\"rgba(\"+major_color+\",\"+major_opacity+\")\";\ |
2255 | ctx.strokeStyle=\"rgba(\"+major_color+\",\"+major_opacity+\")\";\ |
2320 | if( use_axis_numbering != -1 && p > x_min){\ |
2256 | if( use_axis_numbering != -1 && p > x_min){\ |
2321 | xtxt = xlogbase+'^'+p.toFixed(0);\ |
2257 | xtxt = xlogbase+'^'+p.toFixed(0);\ |
2322 | corr = 0.5*(ctx.measureText(xtxt).width);\ |
2258 | corr = 0.5*(ctx.measureText(xtxt).width);\ |
2323 | ctx.fillText(xtxt,x_e - corr,ysize - 4);\ |
2259 | ctx.fillText(xtxt,x_e - corr,ysize - 4);\ |
2324 | };\ |
2260 | };\ |
2325 | }else{\ |
2261 | }else{\ |
2326 | ctx.lineWidth = 0.2*line_width;\ |
2262 | ctx.lineWidth = 0.2*line_width;\ |
2327 | ctx.strokeStyle=\"rgba(\"+minor_color+\",\"+minor_opacity+\")\";\ |
2263 | ctx.strokeStyle=\"rgba(\"+minor_color+\",\"+minor_opacity+\")\";\ |
2328 | };\ |
2264 | };\ |
2329 | if( x_e >= xmarge ){\ |
2265 | if( x_e >= xmarge ){\ |
2330 | ctx.beginPath();\ |
2266 | ctx.beginPath();\ |
2331 | ctx.moveTo(x_e,0);\ |
2267 | ctx.moveTo(x_e,0);\ |
2332 | ctx.lineTo(x_e,ysize - ymarge);\ |
2268 | ctx.lineTo(x_e,ysize - ymarge);\ |
2333 | ctx.stroke();\ |
2269 | ctx.stroke();\ |
2334 | ctx.closePath();\ |
2270 | ctx.closePath();\ |
2335 | };\ |
2271 | };\ |
2336 | };\ |
2272 | };\ |
2337 | };\ |
2273 | };\ |
2338 | for(var p = y_min; p <= y_max ; p++){\ |
2274 | for(var p = y_min; p <= y_max ; p++){\ |
2339 | num = Math.pow(ylogbase,p);\ |
2275 | num = Math.pow(ylogbase,p);\ |
2340 | for(var i = 1 ; i < ylogbase ; i++){\ |
2276 | for(var i = 1 ; i < ylogbase ; i++){\ |
2341 | y_e = y2px(i*num);\ |
2277 | y_e = y2px(i*num);\ |
2342 | if( i == 1 ){\ |
2278 | if( i == 1 ){\ |
Line 2350... | Line 2286... | ||
2350 | ctx.strokeStyle=\"rgba(\"+minor_color+\",\"+minor_opacity+\")\";\ |
2286 | ctx.strokeStyle=\"rgba(\"+minor_color+\",\"+minor_opacity+\")\";\ |
2351 | };\ |
2287 | };\ |
2352 | ctx.beginPath();\ |
2288 | ctx.beginPath();\ |
2353 | ctx.moveTo(xmarge,y_e);\ |
2289 | ctx.moveTo(xmarge,y_e);\ |
2354 | ctx.lineTo(xsize,y_e);\ |
2290 | ctx.lineTo(xsize,y_e);\ |
2355 | ctx.stroke();\ |
2291 | ctx.stroke();\ |
2356 | ctx.closePath();\ |
2292 | ctx.closePath();\ |
2357 | };\ |
2293 | };\ |
2358 | };\ |
2294 | };\ |
2359 | ctx.restore();\ |
2295 | ctx.restore();\ |
2360 | };",canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id); |
2296 | };",canvas_root_id,canvas_root_id,canvas_root_id,canvas_root_id); |
2361 | break; |
2297 | break; |
2362 | 2298 | ||
2363 | case DRAW_XLOGSCALE: |
2299 | case DRAW_XLOGSCALE: |
2364 | fprintf(js_include_file,"\n/* draw xlogscale */\ |
2300 | fprintf(js_include_file,"\n/* draw xlogscale */\ |
2365 | var draw_grid%d = function(canvas_type,line_width,major_color,minor_color,major_opacity,minor_opacity,font_size,font_family,font_color,use_axis_numbering,ymajor,yminor,precision){\ |
2301 | var draw_grid%d = function(canvas_type,line_width,major_color,minor_color,major_opacity,minor_opacity,font_size,font_family,font_color,use_axis_numbering,ymajor,yminor,precision){\ |
2366 | var obj;\ |
2302 | var obj;\ |
2367 | if( document.getElementById(\"wims_canvas%d\"+canvas_type) ){\ |
2303 | if( document.getElementById(\"wims_canvas%d\"+canvas_type) ){\ |
2368 | obj = document.getElementById(\"wims_canvas%d\"+canvas_type);\ |
2304 | obj = document.getElementById(\"wims_canvas%d\"+canvas_type);\ |
2369 | }\ |
- | |
2370 | else\ |
2305 | } else {\ |
2371 | {\ |
- | |
2372 | obj = create_canvas%d(canvas_type,xsize,ysize);\ |
2306 | obj = create_canvas%d(canvas_type,xsize,ysize);\ |
2373 | };\ |
2307 | };\ |
2374 | var ctx = obj.getContext(\"2d\");\ |
2308 | var ctx = obj.getContext(\"2d\");\ |
2375 | ctx.clearRect(0,0,xsize,ysize);\ |
2309 | ctx.clearRect(0,0,xsize,ysize);\ |
2376 | ctx.save();\ |
2310 | ctx.save();\ |
Line 2395... | Line 2329... | ||
2395 | ctx.save();\ |
2329 | ctx.save();\ |
2396 | ctx.font = \"italic \"+font_size+\"px Arial\";\ |
2330 | ctx.font = \"italic \"+font_size+\"px Arial\";\ |
2397 | ctx.fillStyle = \"rgba(\"+font_color+\",\"+major_opacity+\")\";\ |
2331 | ctx.fillStyle = \"rgba(\"+font_color+\",\"+major_opacity+\")\";\ |
2398 | corr = ctx.measureText(xaxislabel).width;\ |
2332 | corr = ctx.measureText(xaxislabel).width;\ |
2399 | ctx.fillText(xaxislabel,xsize - 1.5*corr,ysize - 2*font_size);\ |
2333 | ctx.fillText(xaxislabel,xsize - 1.5*corr,ysize - 2*font_size);\ |
2400 | ctx.restore();\ |
2334 | ctx.restore();\ |
2401 | };\ |
2335 | };\ |
2402 | if( typeof(yaxislabel) !== 'undefined' ){\ |
2336 | if( typeof(yaxislabel) !== 'undefined' ){\ |
2403 | ctx.save();\ |
2337 | ctx.save();\ |
2404 | ctx.font = \"italic \"+font_size+\"px Arial\";\ |
2338 | ctx.font = \"italic \"+font_size+\"px Arial\";\ |
2405 | ctx.fillStyle = \"rgba(\"+font_color+\",\"+major_opacity+\")\";\ |
2339 | ctx.fillStyle = \"rgba(\"+font_color+\",\"+major_opacity+\")\";\ |
2406 | corr = ctx.measureText(yaxislabel).width;\ |
2340 | corr = ctx.measureText(yaxislabel).width;\ |
Line 2432... | Line 2366... | ||
2432 | ctx.moveTo(x_e,0);\ |
2366 | ctx.moveTo(x_e,0);\ |
2433 | ctx.lineTo(x_e,ysize - ymarge);\ |
2367 | ctx.lineTo(x_e,ysize - ymarge);\ |
2434 | ctx.stroke();\ |
2368 | ctx.stroke();\ |
2435 | ctx.closePath();\ |
2369 | ctx.closePath();\ |
2436 | };\ |
2370 | };\ |
2437 | };\ |
2371 | };\ |
2438 | };\ |
2372 | };\ |
2439 | var stepy = Math.abs(y2px(ymajor) - y2px(0));\ |
2373 | var stepy = Math.abs(y2px(ymajor) - y2px(0));\ |
2440 | var minor_step = stepy / yminor;\ |
2374 | var minor_step = stepy / yminor;\ |
2441 | for(var y = 0 ; y < ysize - stepy ; y = y + stepy){\ |
2375 | for(var y = 0 ; y < ysize - stepy ; y = y + stepy){\ |
2442 | ctx.strokeStyle=\"rgba(\"+major_color+\",\"+major_opacity+\")\";\ |
2376 | ctx.strokeStyle=\"rgba(\"+major_color+\",\"+major_opacity+\")\";\ |
Line 2468... | Line 2402... | ||
2468 | fprintf(js_include_file,"\n/* draw ylogscale */\ |
2402 | fprintf(js_include_file,"\n/* draw ylogscale */\ |
2469 | var draw_grid%d = function(canvas_type,line_width,major_color,minor_color,major_opacity,minor_opacity,font_size,font_family,font_color,use_axis_numbering,xmajor,xminor,precision){\ |
2403 | var draw_grid%d = function(canvas_type,line_width,major_color,minor_color,major_opacity,minor_opacity,font_size,font_family,font_color,use_axis_numbering,xmajor,xminor,precision){\ |
2470 | var obj;\ |
2404 | var obj;\ |
2471 | if( document.getElementById(\"wims_canvas%d\"+canvas_type) ){\ |
2405 | if( document.getElementById(\"wims_canvas%d\"+canvas_type) ){\ |
2472 | obj = document.getElementById(\"wims_canvas%d\"+canvas_type);\ |
2406 | obj = document.getElementById(\"wims_canvas%d\"+canvas_type);\ |
2473 | }\ |
- | |
2474 | else\ |
2407 | } else {\ |
2475 | {\ |
- | |
2476 | obj = create_canvas%d(canvas_type,xsize,ysize);\ |
2408 | obj = create_canvas%d(canvas_type,xsize,ysize);\ |
2477 | };\ |
2409 | };\ |
2478 | var ctx = obj.getContext(\"2d\");\ |
2410 | var ctx = obj.getContext(\"2d\");\ |
2479 | ctx.clearRect(0,0,xsize,ysize);\ |
2411 | ctx.clearRect(0,0,xsize,ysize);\ |
2480 | ctx.save();\ |
2412 | ctx.save();\ |