diff --git a/conllusvg/conllusvgRtoL.js b/conllusvg/conllusvgRtoL.js index 1ac64a3d229bef5454f96502532a6f3b88003a12..a1ec3f5d910d3c6a30821c4af25703e6e4068a7e 100644 --- a/conllusvg/conllusvgRtoL.js +++ b/conllusvg/conllusvgRtoL.js @@ -243,3 +243,40 @@ conllusvg.writeLinksSVGdouble=function(link){ t.setAttribute("d","M "+link.toX+" "+link.toY+" l -4 -10 h 8 Z"); link.svg.appendChild(t); } +conllusvg.redArrowSVG=function(textid){ + var c=conllusvg.main[textid]; + var r=c.svg.getBoundingClientRect(); + var x=c.event.handler.clientX-r.left; + var y=c.event.handler.clientY-r.top; + var i=x-c.event.startX; + var j=y-c.event.startY; + var k=Math.sqrt(i*i+j*j); + var t; + if(k<15){ + if(c.event.redArrow!=null){ + c.svg.removeChild(c.event.redArrow); + c.svg.removeChild(c.event.redTriangle); + c.event.redArrow=c.event.redTriangle=null; + } + return; + } + x-=i*5/k; + y-=j*5/k; + if(c.event.redArrow==null){ + t=document.createElementNS("http://www.w3.org/2000/svg","path"); + t.setAttribute("stroke","red"); + t.setAttribute("fill","none"); + t.setAttribute("stroke-width",1); + t.setAttribute("d","M "+(c.width-c.event.startX)+" "+c.event.startY+" L "+(c.width-x)+" "+y); + c.svg.appendChild(t); + c.event.redArrow=t; + t=document.createElementNS("http://www.w3.org/2000/svg","path"); + t.setAttribute("fill","red"); + t.setAttribute("d","M 0 0 l -4 -10 h 8 Z"); + c.svg.appendChild(t); + c.event.redTriangle=t; + } + else + c.event.redArrow.setAttribute("d","M "+(c.width-c.event.startX)+" "+c.event.startY+" L "+(c.width-x)+" "+y); + c.event.redTriangle.setAttribute("transform","matrix("+(-j/k)+" "+(-i/k)+" "+(-i/k)+" "+(j/k)+" "+(c.width-x)+" "+y+")"); +} diff --git a/conllusvg/editorRtoL.html b/conllusvg/editorRtoL.html index 168b8ef97aecb3acaba9dd8c533c330339db0b6d..d0873a8be7f8e8cd12489d84aace66a9dcee7026 100644 --- a/conllusvg/editorRtoL.html +++ b/conllusvg/editorRtoL.html @@ -2,8 +2,8 @@