Rev 16700 | Rev 16722 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 16700 | Rev 16718 | ||
---|---|---|---|
Line 90... | Line 90... | ||
90 | this.use_filled = use_filled || 0;\ |
90 | this.use_filled = use_filled || 0;\ |
91 | this.use_dashed = use_dashed || 0;\ |
91 | this.use_dashed = use_dashed || 0;\ |
92 | this.dashtype0 = dashtype0 || 4;\ |
92 | this.dashtype0 = dashtype0 || 4;\ |
93 | this.dashtype1 = dashtype1 || 4;\ |
93 | this.dashtype1 = dashtype1 || 4;\ |
94 | this.use_offset = use_offset || 0;\ |
94 | this.use_offset = use_offset || 0;\ |
- | 95 | this.clicked = 0;\ |
|
95 | if( this.onclick == 2 && this.use_slider != -1){this.onclick = 5;};\ |
96 | if( this.onclick == 2 && this.use_slider != -1){this.onclick = 5;};\ |
96 | dragdrop_reply[object_cnt] = {object_cnt:this.object_cnt,type:onclick,x:this.x[0],y:this.y[0],r:this.w[0],angle:this.angle,clicked:0};\ |
97 | dragdrop_reply[object_cnt] = {object_cnt:this.object_cnt,type:onclick,x:this.x[0],y:this.y[0],r:this.w[0],angle:this.angle,clicked:0};\ |
97 | };"); |
98 | };"); |
98 | 99 | ||
99 | // dragdrop_reply[object_cnt] = {object_cnt:this.object_cnt,type:onclick,x:this.x[0],y:this.y[0],r:this.w[0],angle:this.angle,clicked:0}; |
100 | // dragdrop_reply[object_cnt] = {object_cnt:this.object_cnt,type:onclick,x:this.x[0],y:this.y[0],r:this.w[0],angle:this.angle,clicked:0}; |
Line 201... | Line 202... | ||
201 | container_div.addEventListener( 'mousemove' , mousemove,false);\ |
202 | container_div.addEventListener( 'mousemove' , mousemove,false);\ |
202 | container_div.addEventListener( 'mousedown' , mousedown,false);\ |
203 | container_div.addEventListener( 'mousedown' , mousedown,false);\ |
203 | container_div.addEventListener('touchstart' , function(e) { e.preventDefault(); mousedown(e.changedTouches[0]);},false);\ |
204 | container_div.addEventListener('touchstart' , function(e) { e.preventDefault(); mousedown(e.changedTouches[0]);},false);\ |
204 | container_div.addEventListener( 'touchmove' , function(e) { e.preventDefault(); mousemove(e.changedTouches[0]);},false);\ |
205 | container_div.addEventListener( 'touchmove' , function(e) { e.preventDefault(); mousemove(e.changedTouches[0]);},false);\ |
205 | container_div.addEventListener( 'touchend' , function(e) { e.preventDefault(); mouseup( e.changedTouches[0]);},false);\ |
206 | container_div.addEventListener( 'touchend' , function(e) { e.preventDefault(); mouseup( e.changedTouches[0]);},false);\ |
206 | function mousedown(e){if( wims_status == \"done\"){return null;};var mouse = getMouse(e,canvas);var mx = mouse.x;var my = mouse.y;var shapes = myState.shapes;var l = shapes.length;var chk = -1;for(var i=0;i<l;i++){chk = shapes[i].contains(mx, my);if ( chk != -1 ){if( myState.shapes[i].use_slider[0] != -1 ){if( slidergroup[shapes[i].object_cnt] == null ){slidergroup[shapes[i].object_cnt] = shapes[i];}else{slidergroup[shapes[i].object_cnt] = null;};};myState.chk = chk;myState.selection = shapes[i];myState.valid = false;switch(shapes[i].onclick){case 0:myState.dragging = false;break;case 1:if( dragdrop_reply[myState.selection.object_cnt].clicked != 1 ){myState.selection.line_width = 2*myState.selection.org_line_width;myState.selection.font_family |
207 | function mousedown(e){if( wims_status == \"done\"){return null;};var mouse = getMouse(e,canvas);var mx = mouse.x;var my = mouse.y;var shapes = myState.shapes;var l = shapes.length;var chk = -1;for(var i=0;i<l;i++){chk = shapes[i].contains(mx, my);if ( chk != -1 ){if( myState.shapes[i].use_slider[0] != -1 ){if( slidergroup[shapes[i].object_cnt] == null ){slidergroup[shapes[i].object_cnt] = shapes[i];}else{slidergroup[shapes[i].object_cnt] = null;};};myState.chk = chk;myState.selection = shapes[i];myState.valid = false;switch(shapes[i].onclick){case 0:myState.dragging = false;break;case 1:if( dragdrop_reply[myState.selection.object_cnt].clicked != 1 ){myState.selection.line_width = 2*myState.selection.org_line_width;myState.selection.clicked = 1;myState.selection.font_family = parseInt(myState.selection.font_size+10)+\"px Courier\";dragdrop_reply[myState.selection.object_cnt].clicked = 1;}else{dragdrop_reply[myState.selection.object_cnt].clicked = 0;myState.selection.clicked = 0;myState.selection.font_family = myState.selection.org_font_family;myState.selection.line_width = myState.selection.org_line_width;};myState.dragging = false;myState.draw();myState.selection = null;break;\ |
207 | case 2: myState.dragging = true;break;\ |
208 | case 2: myState.dragging = true;break;\ |
208 | case 3: break;\ |
209 | case 3: break;\ |
209 | case 4: break;\ |
210 | case 4: break;\ |
210 | case 5: myState.dragging = true;break;\ |
211 | case 5: myState.dragging = true;break;\ |
211 | default:break;};myState.valid = true;return;};};myState.valid = true;return;};\ |
212 | default:break;};myState.valid = true;return;};};myState.valid = true;return;};\ |
Line 222... | Line 223... | ||
222 | dragdrop + onclick for 'dragstuff', command 'copy' and external 'xml/mathml/javascript objects' |
223 | dragdrop + onclick for 'dragstuff', command 'copy' and external 'xml/mathml/javascript objects' |
223 | only the FIRST x,y value-pair is used for the reply !! |
224 | only the FIRST x,y value-pair is used for the reply !! |
224 | */ |
225 | */ |
225 | if(reply_format == 100){/* this reply is raw javascript giving ALL object/properties */ |
226 | if(reply_format == 100){/* this reply is raw javascript giving ALL object/properties */ |
226 | fprintf(js_include_file,"\n/* add reply stuff */\ |
227 | fprintf(js_include_file,"\n/* add reply stuff */\ |
227 | CanvasState.prototype.read_dragdrop = function(){\ |
228 | CanvasState.prototype.read_dragdrop = function(props){\ |
228 | if( wims_status == 'done' || use_dragdrop_reply == -1 ){return null;};\ |
229 | if( wims_status == 'done' || use_dragdrop_reply == -1 ){return null;};\ |
- | 230 | if( typeof(props) !== 'object' ){var props = ['clicked','text','angle'];};\ |
|
- | 231 | var s = props.length;\ |
|
229 | var obj = dragstuff.shapes;\ |
232 | var obj = dragstuff.shapes;\ |
230 | var total = '';var rep = '';\ |
233 | var total = '';var rep = '';\ |
- | 234 | for(var pr = 0 ; pr < s ; pr++){\ |
|
- | 235 | var prop = props[pr];\ |
|
231 | Object.getOwnPropertyNames(obj).forEach(\ |
236 | Object.getOwnPropertyNames(obj).forEach(\ |
232 | function(val, idx, array){ var tmp = obj[val];\ |
237 | function(val, idx, array){ var tmp = obj[val];\ |
233 | Object.getOwnPropertyNames(tmp).forEach(\ |
238 | Object.getOwnPropertyNames(tmp).forEach(\ |
234 | function(val, idx, array){\ |
239 | function(val, idx, array){\ |
235 | rep = rep+':'+val+'='+tmp[val]+'\\t';\ |
240 | if(val == prop){rep = rep+':'+val+'='+tmp[val]+'\\t';}\ |
236 | }\ |
241 | }\ |
237 | )\ |
242 | );\ |
238 | total = total+tmp['object_cnt']+rep+'\\n';rep='';\ |
243 | total = total+tmp['object_cnt']+rep+'\\n';rep='';\ |
239 | }\ |
244 | }\ |
240 | );\ |
245 | );\ |
- | 246 | };\ |
|
241 | return total;\ |
247 | return total;\ |
242 | };read_dragdrop%d = dragstuff.read_dragdrop;",canvas_root_id); |
248 | };read_dragdrop%d = dragstuff.read_dragdrop;",canvas_root_id); |
243 | }else{ |
249 | }else{ |
244 | fprintf(js_include_file,"\n/* add reply stuff */\ |
250 | fprintf(js_include_file,"\n/* add reply stuff */\ |
245 | function set_precision(val){val = (Math.round(dragdrop_precision*val))/dragdrop_precision;if(Number.isNaN(val) ){return 'NaN';}else{return val;};};\ |
251 | function set_precision(val){val = (Math.round(dragdrop_precision*val))/dragdrop_precision;if(Number.isNaN(val) ){return 'NaN';}else{return val;};};\ |