Subversion Repositories wimsdev

Rev

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 = 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.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
  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;};};\