| 1776 |
|
|
| 1777 |
function onDoubleTap(e){ |
function onDoubleTap(e){ |
| 1778 |
if(selectedItems.length == 1 ){ |
if(selectedItems.length == 1 ){ |
| 1779 |
|
svg_select.setAttribute("visibility","hidden"); |
| 1780 |
|
|
| 1781 |
var obj = selectedItems[0]; |
var obj = selectedItems[0]; |
| 1782 |
switch(obj.tagName){ |
switch(obj.tagName){ |
| 1783 |
case 'svg:text': |
case 'svg:text': |
| 1784 |
|
case 'text': |
| 1785 |
var txt = trim(obj.textContent); |
var txt = trim(obj.textContent); |
| 1786 |
var size = parseInt(obj.getAttribute("font-size")); |
var size = parseInt(obj.getAttribute("font-size")); |
| 1787 |
var x = parseInt(obj.getAttribute("x")); |
var x = parseInt(obj.getAttribute("x")); |
| 1795 |
default: |
default: |
| 1796 |
break; |
break; |
| 1797 |
} |
} |
| 1798 |
|
return false; |
| 1799 |
} |
} |
| 1800 |
} |
} |
| 1801 |
|
|
| 1895 |
function updateSelectedRectangle(){ |
function updateSelectedRectangle(){ |
| 1896 |
if(!svg_select) return; |
if(!svg_select) return; |
| 1897 |
if(selectedItems.length > 0){ |
if(selectedItems.length > 0){ |
| 1898 |
svg_select.setAttribute("visibility","visible;"); |
svg_select.setAttribute("visibility","visible"); |
| 1899 |
}else{ |
}else{ |
| 1900 |
svg_select.setAttribute("visibility","hidden;"); |
svg_select.setAttribute("visibility","hidden"); |
| 1901 |
} |
} |
| 1902 |
} |
} |
| 1903 |
|
|
| 1988 |
var inputform = document.getElementById('svg_input'); |
var inputform = document.getElementById('svg_input'); |
| 1989 |
var color=document.getElementById('svg_color'); |
var color=document.getElementById('svg_color'); |
| 1990 |
var size=document.getElementById('svg_size'); |
var size=document.getElementById('svg_size'); |
| 1991 |
|
if(!color || !size) return; |
| 1992 |
var y = parseInt(inputform.style.top) + parseInt(size.value)*0.8 + 12; |
var y = parseInt(inputform.style.top) + parseInt(size.value)*0.8 + 12; |
| 1993 |
var x = parseInt(inputform.style.left) + 12; |
var x = parseInt(inputform.style.left) + 12; |
| 1994 |
if(inputform.value){ |
if(inputform.value){ |
| 2036 |
inputform = document.createElement('input'); |
inputform = document.createElement('input'); |
| 2037 |
inputform.setAttribute("id", "svg_input"); |
inputform.setAttribute("id", "svg_input"); |
| 2038 |
inputform.setAttribute("style", "position:absolute;top:0px;left:0px; border:0px none"); |
inputform.setAttribute("style", "position:absolute;top:0px;left:0px; border:0px none"); |
| 2039 |
if(document.addEventListner){ |
preview.appendChild(inputform); |
| 2040 |
if(id){ |
} |
| 2041 |
inputform.addEventListener("onChange", svgModifyTextExec,false); |
|
| 2042 |
}else{ |
if(document.addEventListner){ |
| 2043 |
inputform.addEventListener("onChange", svgInputTextExec,false); |
if(id){ |
| 2044 |
} |
inputform.addEventListener("onChange", svgModifyTextExec,false); |
|
inputform.addEventListener("onkeydown", svgInputFormAdjust,false); |
|
| 2045 |
}else{ |
}else{ |
| 2046 |
if(id){ |
inputform.addEventListener("onChange", svgInputTextExec,false); |
|
inputform.setAttribute("onChange", "svgModifyTextExec()"); |
|
|
}else{ |
|
|
inputform.setAttribute("onChange", "svgInputTextExec()"); |
|
|
} |
|
|
inputform.setAttribute("onkeydown", "svgInputFormAdjust()"); |
|
| 2047 |
} |
} |
| 2048 |
preview.appendChild(inputform); |
inputform.addEventListener("onkeydown", svgInputFormAdjust,false); |
| 2049 |
|
}else{ |
| 2050 |
|
if(id){ |
| 2051 |
|
inputform.setAttribute("onChange", "svgModifyTextExec()"); |
| 2052 |
|
}else{ |
| 2053 |
|
inputform.setAttribute("onChange", "svgInputTextExec()"); |
| 2054 |
|
} |
| 2055 |
|
inputform.setAttribute("onkeydown", "svgInputFormAdjust()"); |
| 2056 |
} |
} |
| 2057 |
|
|
| 2058 |
inputform.setAttribute("type", "text"); |
inputform.setAttribute("type", "text"); |
| 2225 |
ey=e.pageY; |
ey=e.pageY; |
| 2226 |
|
|
| 2227 |
if(isChildById(e.target, 'preview') || e.target.id == 'preview') { |
if(isChildById(e.target, 'preview') || e.target.id == 'preview') { |
| 2228 |
onTouchStartCore(); |
if(editingTextObj){ |
| 2229 |
|
var inputform = document.getElementById('svg_input'); |
| 2230 |
|
inputform.setAttribute("type", "hidden"); |
| 2231 |
|
editingTextObj.style.display='block'; |
| 2232 |
|
editingTextObj=null; |
| 2233 |
|
} |
| 2234 |
|
|
| 2235 |
|
if(e.altKey){ |
| 2236 |
|
targetItem = selectedItems[0]; |
| 2237 |
|
if(targetItem){ |
| 2238 |
|
svg_wo = targetItem.getAttribute("width"); |
| 2239 |
|
svg_ho = targetItem.getAttribute("height"); |
| 2240 |
|
svg_ro = targetItem.getAttribute("r"); |
| 2241 |
|
svg_rxo = targetItem.getAttribute("rx"); |
| 2242 |
|
svg_ryo = targetItem.getAttribute("ry"); |
| 2243 |
|
svg_fsize = targetItem.getAttribute("font-size"); |
| 2244 |
|
}else{ |
| 2245 |
|
svg_wo = null; |
| 2246 |
|
svg_ho = null; |
| 2247 |
|
svg_ro = null; |
| 2248 |
|
svg_rxo = null; |
| 2249 |
|
svg_ryo = null; |
| 2250 |
|
svg_fsize = null; |
| 2251 |
|
} |
| 2252 |
|
}else{ |
| 2253 |
|
onTouchStartCore(); |
| 2254 |
|
} |
| 2255 |
updateSelectedRectangle(); |
updateSelectedRectangle(); |
| 2256 |
return false; |
return false; |
| 2257 |
}else if(isChildById(e.target, 'color-palette') && e.target.tagName == 'DIV'){ |
}else if(isChildById(e.target, 'color-palette') && e.target.tagName == 'DIV'){ |
| 2274 |
return true; |
return true; |
| 2275 |
} |
} |
| 2276 |
|
|
|
|
|
| 2277 |
function onMouseMove(e){ |
function onMouseMove(e){ |
|
if(mouse_state != 1) return true; |
|
| 2278 |
if(!isChildById(e.target, 'preview') && e.target.id != 'preview') { return true; } |
if(!isChildById(e.target, 'preview') && e.target.id != 'preview') { return true; } |
| 2279 |
|
|
| 2280 |
onTouchMoveCode1(e.pageX, e.pageY); |
if(mouse_state == 1) { |
| 2281 |
|
if(e.altKey){ |
| 2282 |
|
var dx = sx-e.pageX; |
| 2283 |
|
var dy = sy-e.pageY; |
| 2284 |
|
var th = Math.abs(Math.atan2(dy , dx)/Math.PI *180); |
| 2285 |
|
var scale; |
| 2286 |
|
|
| 2287 |
|
if(th > 165 || th < 25){ |
| 2288 |
|
svg_scale_dir = 'x'; |
| 2289 |
|
scale = -dx/50; |
| 2290 |
|
}else if(th > 65 && th < 115){ |
| 2291 |
|
svg_scale_dir = 'y'; |
| 2292 |
|
scale = -dy/50; |
| 2293 |
|
}else{ |
| 2294 |
|
svg_scale_dir = null; |
| 2295 |
|
if(dx > 0 && dy > 0) scale = -dx*dy/2500; |
| 2296 |
|
else if(dx < 0 && dy < 0) scale = dx*dy/2500; |
| 2297 |
|
else scale = 1; |
| 2298 |
|
} |
| 2299 |
|
|
| 2300 |
|
if(scale >= 0){ |
| 2301 |
|
if(scale < 1) scale=1; |
| 2302 |
|
}else{ |
| 2303 |
|
if(scale > -1) scale=1; |
| 2304 |
|
else{ |
| 2305 |
|
scale= -1/scale; |
| 2306 |
|
} |
| 2307 |
|
} |
| 2308 |
|
if(targetItem){ |
| 2309 |
|
if (svg_wo && svg_scale_dir != 'y') targetItem.setAttribute("width", Math.round(svg_wo*scale )); |
| 2310 |
|
if (svg_ho && svg_scale_dir != 'x') targetItem.setAttribute("height", Math.round(svg_ho*scale )); |
| 2311 |
|
if (svg_ro) targetItem.setAttribute("r", Math.round(svg_ro*scale )); |
| 2312 |
|
if (svg_rxo && svg_scale_dir != 'y') targetItem.setAttribute("rx", Math.round(svg_rxo*scale) ); |
| 2313 |
|
if (svg_ryo && svg_scale_dir != 'x') targetItem.setAttribute("ry", Math.round(svg_ryo*scale) ); |
| 2314 |
|
if (svg_fsize) targetItem.setAttribute("font-size", Math.round(svg_fsize*scale) ); |
| 2315 |
|
|
| 2316 |
|
updateShowMenu(); |
| 2317 |
|
} |
| 2318 |
|
}else { |
| 2319 |
|
onTouchMoveCode1(e.pageX, e.pageY); |
| 2320 |
|
} |
| 2321 |
|
} |
| 2322 |
|
|
|
// sx=e.pageX; |
|
|
// sy=e.pageY; |
|
| 2323 |
return false; |
return false; |
| 2324 |
} |
} |
| 2325 |
|
|
| 2356 |
document.onmousedown=onMouseDown; |
document.onmousedown=onMouseDown; |
| 2357 |
document.onmousemove=onMouseMove; |
document.onmousemove=onMouseMove; |
| 2358 |
document.onmouseup=onMouseUp; |
document.onmouseup=onMouseUp; |
| 2359 |
|
document.ondblclick=onDoubleTap; |
| 2360 |
} |
} |
| 2361 |
|
|