More internal code improvements/documentation
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@1610 eee81c28-f429-11dd-99c0-75d572ba1dddmaster
parent
e420c6beba
commit
4cd1fbf995
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -33,7 +33,7 @@ var indexSectionsWithContent = {
|
|||
"Symbols": false,
|
||||
"Numbers": false,
|
||||
"A": true,
|
||||
"B": false,
|
||||
"B": true,
|
||||
"C": true,
|
||||
"D": true,
|
||||
"E": true,
|
||||
|
|
|
@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
|
|||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_addToSelection><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.addToSelection" target=_parent class=ISymbol>addToSelection</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_apply><div class=IEntry><a href="javascript:searchResults.Toggle('SR_apply')" class=ISymbol>apply</a><div class=ISubIndex><a href="../files/svgcanvas-js.html#SvgCanvas.ChangeElementCommand.apply" target=_parent class=IParent>SvgCanvas.<wbr>ChangeElementCommand</a><a href="../files/svgcanvas-js.html#SvgCanvas.InsertElementCommand.apply" target=_parent class=IParent>SvgCanvas.<wbr>InsertElementCommand</a><a href="../files/svgcanvas-js.html#SvgCanvas.RemoveElementCommand.apply" target=_parent class=IParent>SvgCanvas.<wbr>RemoveElementCommand</a></div></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_addSubCommand><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.BatchCommand.addSubCommand" target=_parent class=ISymbol>addSubCommand</a>, <span class=IParent>SvgCanvas.<wbr>BatchCommand</span></div></div><div class=SRResult id=SR_addToSelection><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.addToSelection" target=_parent class=ISymbol>addToSelection</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_apply><div class=IEntry><a href="javascript:searchResults.Toggle('SR_apply')" class=ISymbol>apply</a><div class=ISubIndex><a href="../files/svgcanvas-js.html#SvgCanvas.BatchCommand.apply" target=_parent class=IParent>SvgCanvas.<wbr>BatchCommand</a><a href="../files/svgcanvas-js.html#SvgCanvas.ChangeElementCommand.apply" target=_parent class=IParent>SvgCanvas.<wbr>ChangeElementCommand</a><a href="../files/svgcanvas-js.html#SvgCanvas.InsertElementCommand.apply" target=_parent class=IParent>SvgCanvas.<wbr>InsertElementCommand</a><a href="../files/svgcanvas-js.html#SvgCanvas.RemoveElementCommand.apply" target=_parent class=IParent>SvgCanvas.<wbr>RemoveElementCommand</a></div></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
|
|
|
@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
|
|||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_ChangeElementCommand><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.ChangeElementCommand" target=_parent class=ISymbol>ChangeElementCommand</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_clear><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.clear" target=_parent class=ISymbol>clear</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_clearSelection><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.clearSelection" target=_parent class=ISymbol>clearSelection</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_createLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.createLayer" target=_parent class=ISymbol>createLayer</a>, <span class=IParent>SvgCanvas</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_ChangeElementCommand><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.ChangeElementCommand" target=_parent class=ISymbol>ChangeElementCommand</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_clear><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.clear" target=_parent class=ISymbol>clear</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_clearSelection><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.clearSelection" target=_parent class=ISymbol>clearSelection</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_createLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.createLayer" target=_parent class=ISymbol>createLayer</a>, <span class=IParent>SelectorManager</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
|
|
|
@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
|
|||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_deleteCurrentLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.deleteCurrentLayer" target=_parent class=ISymbol>deleteCurrentLayer</a>, <span class=IParent>SvgCanvas</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_deleteCurrentLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.deleteCurrentLayer" target=_parent class=ISymbol>deleteCurrentLayer</a>, <span class=IParent>SelectorManager</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
|
|
|
@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
|
|||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_getCurrentLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.getCurrentLayer" target=_parent class=ISymbol>getCurrentLayer</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_getLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.getLayer" target=_parent class=ISymbol>getLayer</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_getLayerOpacity><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.getLayerOpacity" target=_parent class=ISymbol>getLayerOpacity</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_getLayerVisibility><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.getLayerVisibility" target=_parent class=ISymbol>getLayerVisibility</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_getNumLayers><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.getNumLayers" target=_parent class=ISymbol>getNumLayers</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_getSvgString><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.getSvgString" target=_parent class=ISymbol>getSvgString</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_getVersion><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.getVersion" target=_parent class=ISymbol>getVersion</a>, <span class=IParent>SvgCanvas</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_getCurrentLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.getCurrentLayer" target=_parent class=ISymbol>getCurrentLayer</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_getLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.getLayer" target=_parent class=ISymbol>getLayer</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_getLayerOpacity><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.getLayerOpacity" target=_parent class=ISymbol>getLayerOpacity</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_getLayerVisibility><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.getLayerVisibility" target=_parent class=ISymbol>getLayerVisibility</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_getNumLayers><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.getNumLayers" target=_parent class=ISymbol>getNumLayers</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_getRubberBandBox><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.SelectorManager.getRubberBandBox" target=_parent class=ISymbol>getRubberBandBox</a>, <span class=IParent>SelectorManager.<wbr>SelectorManager</span></div></div><div class=SRResult id=SR_getSvgString><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.getSvgString" target=_parent class=ISymbol>getSvgString</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_getVersion><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.getVersion" target=_parent class=ISymbol>getVersion</a>, <span class=IParent>SelectorManager</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
|
|
|
@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
|
|||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_MoveElementCommand><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.MoveElementCommand" target=_parent class=ISymbol>MoveElementCommand</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_moveSelectedToLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.moveSelectedToLayer" target=_parent class=ISymbol>moveSelectedToLayer</a>, <span class=IParent>SvgCanvas</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_MoveElementCommand><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.MoveElementCommand" target=_parent class=ISymbol>MoveElementCommand</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_moveSelectedToLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.moveSelectedToLayer" target=_parent class=ISymbol>moveSelectedToLayer</a>, <span class=IParent>SelectorManager</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
|
|
|
@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
|
|||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_RemoveElementCommand><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.RemoveElementCommand" target=_parent class=ISymbol>RemoveElementCommand</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_removeFromSelection><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.removeFromSelection" target=_parent class=ISymbol>removeFromSelection</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_renameCurrentLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.renameCurrentLayer" target=_parent class=ISymbol>renameCurrentLayer</a>, <span class=IParent>SvgCanvas</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_releaseSelector><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.SelectorManager.releaseSelector" target=_parent class=ISymbol>releaseSelector</a>, <span class=IParent>SelectorManager.<wbr>SelectorManager</span></div></div><div class=SRResult id=SR_RemoveElementCommand><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.RemoveElementCommand" target=_parent class=ISymbol>RemoveElementCommand</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_removeFromSelection><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.removeFromSelection" target=_parent class=ISymbol>removeFromSelection</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_renameCurrentLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.renameCurrentLayer" target=_parent class=ISymbol>renameCurrentLayer</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_requestSelector><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.SelectorManager.requestSelector" target=_parent class=ISymbol>requestSelector</a>, <span class=IParent>SelectorManager.<wbr>SelectorManager</span></div></div><div class=SRResult id=SR_reset><div class=IEntry><a href="../files/svgcanvas-js.html#Selector.Selector.reset" target=_parent class=ISymbol>reset</a>, <span class=IParent>Selector.<wbr>Selector</span></div></div><div class=SRResult id=SR_resize><div class=IEntry><a href="../files/svgcanvas-js.html#Selector.Selector.resize" target=_parent class=ISymbol>resize</a>, <span class=IParent>Selector.<wbr>Selector</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
|
|
|
@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
|
|||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_save><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.save" target=_parent class=ISymbol>save</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_selectAllInCurrentLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.selectAllInCurrentLayer" target=_parent class=ISymbol>selectAllInCurrentLayer</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_setCurrentLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.setCurrentLayer" target=_parent class=ISymbol>setCurrentLayer</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_setCurrentLayerPosition><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.setCurrentLayerPosition" target=_parent class=ISymbol>setCurrentLayerPosition</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_setForeignString_lpaxmlString_comelt_rpa><div class=IEntry><a href="../files/extensions/ext-foreignobject-js.html#setForeignString(xmlString,elt)" target=_parent class=ISymbol>setForeignString(xmlString,elt)</a></div></div><div class=SRResult id=SR_setLayerOpacity><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.setLayerOpacity" target=_parent class=ISymbol>setLayerOpacity</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_setLayerVisibility><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.setLayerVisibility" target=_parent class=ISymbol>setLayerVisibility</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_setSvgString><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.setSvgString" target=_parent class=ISymbol>setSvgString</a>, <span class=IParent>SvgCanvas</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_save><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.save" target=_parent class=ISymbol>save</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_selectAllInCurrentLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.selectAllInCurrentLayer" target=_parent class=ISymbol>selectAllInCurrentLayer</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_setCurrentLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.setCurrentLayer" target=_parent class=ISymbol>setCurrentLayer</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_setCurrentLayerPosition><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.setCurrentLayerPosition" target=_parent class=ISymbol>setCurrentLayerPosition</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_setForeignString_lpaxmlString_comelt_rpa><div class=IEntry><a href="../files/extensions/ext-foreignobject-js.html#setForeignString(xmlString,elt)" target=_parent class=ISymbol>setForeignString(xmlString,elt)</a></div></div><div class=SRResult id=SR_setLayerOpacity><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.setLayerOpacity" target=_parent class=ISymbol>setLayerOpacity</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_setLayerVisibility><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.setLayerVisibility" target=_parent class=ISymbol>setLayerVisibility</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_setSvgString><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.setSvgString" target=_parent class=ISymbol>setSvgString</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_showGrips><div class=IEntry><a href="../files/svgcanvas-js.html#Selector.Selector.showGrips" target=_parent class=ISymbol>showGrips</a>, <span class=IParent>Selector.<wbr>Selector</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
|
|
|
@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
|
|||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_addToSelection><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.addToSelection" target=_parent class=ISymbol>addToSelection</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_apply><div class=IEntry><a href="javascript:searchResults.Toggle('SR_apply')" class=ISymbol>apply</a><div class=ISubIndex><a href="../files/svgcanvas-js.html#SvgCanvas.ChangeElementCommand.apply" target=_parent class=IParent>SvgCanvas.<wbr>ChangeElementCommand</a><a href="../files/svgcanvas-js.html#SvgCanvas.InsertElementCommand.apply" target=_parent class=IParent>SvgCanvas.<wbr>InsertElementCommand</a><a href="../files/svgcanvas-js.html#SvgCanvas.RemoveElementCommand.apply" target=_parent class=IParent>SvgCanvas.<wbr>RemoveElementCommand</a></div></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_addSubCommand><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.BatchCommand.addSubCommand" target=_parent class=ISymbol>addSubCommand</a>, <span class=IParent>SvgCanvas.<wbr>BatchCommand</span></div></div><div class=SRResult id=SR_addToSelection><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.addToSelection" target=_parent class=ISymbol>addToSelection</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_apply><div class=IEntry><a href="javascript:searchResults.Toggle('SR_apply')" class=ISymbol>apply</a><div class=ISubIndex><a href="../files/svgcanvas-js.html#SvgCanvas.BatchCommand.apply" target=_parent class=IParent>SvgCanvas.<wbr>BatchCommand</a><a href="../files/svgcanvas-js.html#SvgCanvas.ChangeElementCommand.apply" target=_parent class=IParent>SvgCanvas.<wbr>ChangeElementCommand</a><a href="../files/svgcanvas-js.html#SvgCanvas.InsertElementCommand.apply" target=_parent class=IParent>SvgCanvas.<wbr>InsertElementCommand</a><a href="../files/svgcanvas-js.html#SvgCanvas.RemoveElementCommand.apply" target=_parent class=IParent>SvgCanvas.<wbr>RemoveElementCommand</a></div></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
|
|
|
@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
|
|||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_ChangeElementCommand><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.ChangeElementCommand" target=_parent class=ISymbol>ChangeElementCommand</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_clear><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.clear" target=_parent class=ISymbol>clear</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_clearSelection><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.clearSelection" target=_parent class=ISymbol>clearSelection</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_createLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.createLayer" target=_parent class=ISymbol>createLayer</a>, <span class=IParent>SvgCanvas</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_ChangeElementCommand><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.ChangeElementCommand" target=_parent class=ISymbol>ChangeElementCommand</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_clear><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.clear" target=_parent class=ISymbol>clear</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_clearSelection><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.clearSelection" target=_parent class=ISymbol>clearSelection</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_createLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.createLayer" target=_parent class=ISymbol>createLayer</a>, <span class=IParent>SelectorManager</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
|
|
|
@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
|
|||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_deleteCurrentLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.deleteCurrentLayer" target=_parent class=ISymbol>deleteCurrentLayer</a>, <span class=IParent>SvgCanvas</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_deleteCurrentLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.deleteCurrentLayer" target=_parent class=ISymbol>deleteCurrentLayer</a>, <span class=IParent>SelectorManager</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
|
|
|
@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
|
|||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Fill_spcand_spcStroke><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.Fill_and_Stroke" target=_parent class=ISymbol>Fill and Stroke</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_fromXml><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.fromXml" target=_parent class=ISymbol>fromXml</a>, <span class=IParent>SvgCanvas</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Fill_spcand_spcStroke><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.Fill_and_Stroke" target=_parent class=ISymbol>Fill and Stroke</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_fromXml><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.fromXml" target=_parent class=ISymbol>fromXml</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_Functions><div class=IEntry><a href="../files/svgcanvas-js.html#Selector.Functions" target=_parent class=ISymbol>Functions</a>, <span class=IParent>Selector</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
|
|
|
@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
|
|||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_getCurrentLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.getCurrentLayer" target=_parent class=ISymbol>getCurrentLayer</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_getLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.getLayer" target=_parent class=ISymbol>getLayer</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_getLayerOpacity><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.getLayerOpacity" target=_parent class=ISymbol>getLayerOpacity</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_getLayerVisibility><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.getLayerVisibility" target=_parent class=ISymbol>getLayerVisibility</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_getNumLayers><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.getNumLayers" target=_parent class=ISymbol>getNumLayers</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_getSvgString><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.getSvgString" target=_parent class=ISymbol>getSvgString</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_getVersion><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.getVersion" target=_parent class=ISymbol>getVersion</a>, <span class=IParent>SvgCanvas</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_getCurrentLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.getCurrentLayer" target=_parent class=ISymbol>getCurrentLayer</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_getLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.getLayer" target=_parent class=ISymbol>getLayer</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_getLayerOpacity><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.getLayerOpacity" target=_parent class=ISymbol>getLayerOpacity</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_getLayerVisibility><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.getLayerVisibility" target=_parent class=ISymbol>getLayerVisibility</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_getNumLayers><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.getNumLayers" target=_parent class=ISymbol>getNumLayers</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_getRubberBandBox><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.SelectorManager.getRubberBandBox" target=_parent class=ISymbol>getRubberBandBox</a>, <span class=IParent>SelectorManager.<wbr>SelectorManager</span></div></div><div class=SRResult id=SR_getSvgString><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.getSvgString" target=_parent class=ISymbol>getSvgString</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_getVersion><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.getVersion" target=_parent class=ISymbol>getVersion</a>, <span class=IParent>SelectorManager</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
|
|
|
@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
|
|||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Layers><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.Layers" target=_parent class=ISymbol>Layers</a>, <span class=IParent>SvgCanvas</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_Layers><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.Layers" target=_parent class=ISymbol>Layers</a>, <span class=IParent>SelectorManager</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
|
|
|
@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
|
|||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_MoveElementCommand><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.MoveElementCommand" target=_parent class=ISymbol>MoveElementCommand</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_moveSelectedToLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.moveSelectedToLayer" target=_parent class=ISymbol>moveSelectedToLayer</a>, <span class=IParent>SvgCanvas</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_MoveElementCommand><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.MoveElementCommand" target=_parent class=ISymbol>MoveElementCommand</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_moveSelectedToLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.moveSelectedToLayer" target=_parent class=ISymbol>moveSelectedToLayer</a>, <span class=IParent>SelectorManager</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
|
|
|
@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
|
|||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_RemoveElementCommand><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.RemoveElementCommand" target=_parent class=ISymbol>RemoveElementCommand</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_removeFromSelection><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.removeFromSelection" target=_parent class=ISymbol>removeFromSelection</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_renameCurrentLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.renameCurrentLayer" target=_parent class=ISymbol>renameCurrentLayer</a>, <span class=IParent>SvgCanvas</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_releaseSelector><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.SelectorManager.releaseSelector" target=_parent class=ISymbol>releaseSelector</a>, <span class=IParent>SelectorManager.<wbr>SelectorManager</span></div></div><div class=SRResult id=SR_RemoveElementCommand><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.RemoveElementCommand" target=_parent class=ISymbol>RemoveElementCommand</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_removeFromSelection><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.removeFromSelection" target=_parent class=ISymbol>removeFromSelection</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_renameCurrentLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.renameCurrentLayer" target=_parent class=ISymbol>renameCurrentLayer</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_requestSelector><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.SelectorManager.requestSelector" target=_parent class=ISymbol>requestSelector</a>, <span class=IParent>SelectorManager.<wbr>SelectorManager</span></div></div><div class=SRResult id=SR_reset><div class=IEntry><a href="../files/svgcanvas-js.html#Selector.Selector.reset" target=_parent class=ISymbol>reset</a>, <span class=IParent>Selector.<wbr>Selector</span></div></div><div class=SRResult id=SR_resize><div class=IEntry><a href="../files/svgcanvas-js.html#Selector.Selector.resize" target=_parent class=ISymbol>resize</a>, <span class=IParent>Selector.<wbr>Selector</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
|
|
|
@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
|
|||
|
||||
|
||||
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_save><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.save" target=_parent class=ISymbol>save</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_selectAllInCurrentLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.selectAllInCurrentLayer" target=_parent class=ISymbol>selectAllInCurrentLayer</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_Selection><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.Selection" target=_parent class=ISymbol>Selection</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_Serialization><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.Serialization" target=_parent class=ISymbol>Serialization</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_setCurrentLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.setCurrentLayer" target=_parent class=ISymbol>setCurrentLayer</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_setCurrentLayerPosition><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.setCurrentLayerPosition" target=_parent class=ISymbol>setCurrentLayerPosition</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_setForeignString_lpaxmlString_comelt_rpa><div class=IEntry><a href="../files/extensions/ext-foreignobject-js.html#setForeignString(xmlString,elt)" target=_parent class=ISymbol>setForeignString(xmlString,elt)</a></div></div><div class=SRResult id=SR_setLayerOpacity><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.setLayerOpacity" target=_parent class=ISymbol>setLayerOpacity</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_setLayerVisibility><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.setLayerVisibility" target=_parent class=ISymbol>setLayerVisibility</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_setSvgString><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas.setSvgString" target=_parent class=ISymbol>setSvgString</a>, <span class=IParent>SvgCanvas</span></div></div><div class=SRResult id=SR_SvgCanvas><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas" target=_parent class=ISymbol>SvgCanvas</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_save><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.save" target=_parent class=ISymbol>save</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_selectAllInCurrentLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.selectAllInCurrentLayer" target=_parent class=ISymbol>selectAllInCurrentLayer</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_Selection><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.Selection" target=_parent class=ISymbol>Selection</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_Selector><div class=IEntry><a href="../files/svgcanvas-js.html#Selector" target=_parent class=ISymbol>Selector</a></div></div><div class=SRResult id=SR_SelectorManager><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager" target=_parent class=ISymbol>SelectorManager</a></div></div><div class=SRResult id=SR_Serialization><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.Serialization" target=_parent class=ISymbol>Serialization</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_setCurrentLayer><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.setCurrentLayer" target=_parent class=ISymbol>setCurrentLayer</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_setCurrentLayerPosition><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.setCurrentLayerPosition" target=_parent class=ISymbol>setCurrentLayerPosition</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_setForeignString_lpaxmlString_comelt_rpa><div class=IEntry><a href="../files/extensions/ext-foreignobject-js.html#setForeignString(xmlString,elt)" target=_parent class=ISymbol>setForeignString(xmlString,elt)</a></div></div><div class=SRResult id=SR_setLayerOpacity><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.setLayerOpacity" target=_parent class=ISymbol>setLayerOpacity</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_setLayerVisibility><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.setLayerVisibility" target=_parent class=ISymbol>setLayerVisibility</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_setSvgString><div class=IEntry><a href="../files/svgcanvas-js.html#SelectorManager.setSvgString" target=_parent class=ISymbol>setSvgString</a>, <span class=IParent>SelectorManager</span></div></div><div class=SRResult id=SR_showGrips><div class=IEntry><a href="../files/svgcanvas-js.html#Selector.Selector.showGrips" target=_parent class=ISymbol>showGrips</a>, <span class=IParent>Selector.<wbr>Selector</span></div></div><div class=SRResult id=SR_SvgCanvas><div class=IEntry><a href="../files/svgcanvas-js.html#SvgCanvas" target=_parent class=ISymbol>SvgCanvas</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults", "HTML");
|
||||
|
|
|
@ -91,6 +91,8 @@ $.SvgCanvas = function(container, config)
|
|||
{
|
||||
var isOpera = !!window.opera,
|
||||
isWebkit = navigator.userAgent.indexOf("AppleWebKit") != -1,
|
||||
|
||||
// Object populated later with booleans indicating support for features
|
||||
support = {},
|
||||
|
||||
// this defines which elements and attributes that we support
|
||||
|
@ -182,6 +184,7 @@ var isOpera = !!window.opera,
|
|||
// Converts characters in a string to XML-friendly entities.
|
||||
//
|
||||
// Example: "&" becomes "&"
|
||||
//
|
||||
// Parameters:
|
||||
// str - The string to be converted
|
||||
// Returns: The converted string
|
||||
|
@ -192,6 +195,7 @@ var isOpera = !!window.opera,
|
|||
// Function: fromXml
|
||||
// Converts XML entities in a string to single characters.
|
||||
// Example: "&" becomes "&"
|
||||
//
|
||||
// Parameters:
|
||||
// str - The string to be converted
|
||||
// Returns: The converted string
|
||||
|
@ -204,11 +208,221 @@ var isOpera = !!window.opera,
|
|||
$.extend(curConfig, config);
|
||||
}
|
||||
|
||||
|
||||
// TODO: declare the variables and set them as null, then move this setup stuff to
|
||||
// an initialization function - probably just use clear()
|
||||
|
||||
var canvas = this,
|
||||
|
||||
// Namespace constants
|
||||
svgns = "http://www.w3.org/2000/svg",
|
||||
xlinkns = "http://www.w3.org/1999/xlink",
|
||||
xmlns = "http://www.w3.org/XML/1998/namespace",
|
||||
xmlnsns = "http://www.w3.org/2000/xmlns/", // see http://www.w3.org/TR/REC-xml-names/#xmlReserved
|
||||
se_ns = "http://svg-edit.googlecode.com",
|
||||
htmlns = "http://www.w3.org/1999/xhtml",
|
||||
mathns = "http://www.w3.org/1998/Math/MathML",
|
||||
|
||||
// Prefix string for element IDs
|
||||
idprefix = "svg_",
|
||||
|
||||
// Map of units, those set to 0 are updated later based on calculations
|
||||
var unit_types = {'em':0,'ex':0,'px':1,'cm':35.43307,'mm':3.543307,'in':90,'pt':1.25,'pc':15,'%':0};
|
||||
unit_types = {'em':0,'ex':0,'px':1,'cm':35.43307,'mm':3.543307,'in':90,'pt':1.25,'pc':15,'%':0},
|
||||
|
||||
//nonce to uniquify id's
|
||||
nonce = Math.floor(Math.random()*100001),
|
||||
|
||||
// Boolean to indicate whether or not IDs given to elements should be random
|
||||
randomize_ids = false,
|
||||
|
||||
// "document" element associated with the container (same as window.document using default svg-editor.js)
|
||||
svgdoc = container.ownerDocument,
|
||||
|
||||
// Array with width/height of canvas
|
||||
dimensions = curConfig.dimensions,
|
||||
|
||||
// Create Root SVG element. This is a container for the document being edited, not the document itself.
|
||||
svgroot = svgdoc.importNode(Utils.text2xml('<svg id="svgroot" xmlns="' + svgns + '" xlinkns="' + xlinkns + '" ' +
|
||||
'width="' + dimensions[0] + '" height="' + dimensions[1] + '" x="' + dimensions[0] + '" y="' + dimensions[1] + '" overflow="visible">' +
|
||||
'<defs>' +
|
||||
'<filter id="canvashadow" filterUnits="objectBoundingBox">' +
|
||||
'<feGaussianBlur in="SourceAlpha" stdDeviation="4" result="blur"/>'+
|
||||
'<feOffset in="blur" dx="5" dy="5" result="offsetBlur"/>'+
|
||||
'<feMerge>'+
|
||||
'<feMergeNode in="offsetBlur"/>'+
|
||||
'<feMergeNode in="SourceGraphic"/>'+
|
||||
'</feMerge>'+
|
||||
'</filter>'+
|
||||
'</defs>'+
|
||||
'</svg>').documentElement, true);
|
||||
|
||||
|
||||
container.appendChild(svgroot);
|
||||
|
||||
// The actual element that represents the final output SVG element
|
||||
var svgcontent = svgdoc.createElementNS(svgns, "svg");
|
||||
$(svgcontent).attr({
|
||||
id: 'svgcontent',
|
||||
width: dimensions[0],
|
||||
height: dimensions[1],
|
||||
x: dimensions[0],
|
||||
y: dimensions[1],
|
||||
overflow: curConfig.show_outside_canvas?'visible':'hidden',
|
||||
xmlns: svgns,
|
||||
"xmlns:se": se_ns,
|
||||
"xmlns:xlink": xlinkns
|
||||
}).appendTo(svgroot);
|
||||
|
||||
// Set nonce if randomize_ids = true
|
||||
if (randomize_ids) svgcontent.setAttributeNS(se_ns, 'se:nonce', nonce);
|
||||
|
||||
// map namespace URIs to prefixes
|
||||
var nsMap = {};
|
||||
nsMap[xlinkns] = 'xlink';
|
||||
nsMap[xmlns] = 'xml';
|
||||
nsMap[xmlnsns] = 'xmlns';
|
||||
nsMap[se_ns] = 'se';
|
||||
nsMap[htmlns] = 'xhtml';
|
||||
nsMap[mathns] = 'mathml';
|
||||
|
||||
// map prefixes to namespace URIs
|
||||
var nsRevMap = {};
|
||||
$.each(nsMap, function(key,value){
|
||||
nsRevMap[value] = key;
|
||||
});
|
||||
|
||||
// Produce a Namespace-aware version of svgWhitelist
|
||||
var svgWhiteListNS = {};
|
||||
$.each(svgWhiteList, function(elt,atts){
|
||||
var attNS = {};
|
||||
$.each(atts, function(i, att){
|
||||
if (att.indexOf(':') != -1) {
|
||||
var v = att.split(':');
|
||||
attNS[v[1]] = nsRevMap[v[0]];
|
||||
} else {
|
||||
attNS[att] = att == 'xmlns' ? xmlnsns : null;
|
||||
}
|
||||
});
|
||||
svgWhiteListNS[elt] = attNS;
|
||||
});
|
||||
|
||||
// Animation element to change the opacity of any newly created element
|
||||
var opac_ani = document.createElementNS(svgns, 'animate');
|
||||
$(opac_ani).attr({
|
||||
attributeName: 'opacity',
|
||||
begin: 'indefinite',
|
||||
dur: 1,
|
||||
fill: 'freeze'
|
||||
}).appendTo(svgroot);
|
||||
|
||||
// Unit conversion functions
|
||||
var convertToNum, convertToUnit, setUnitAttr;
|
||||
|
||||
(function() {
|
||||
var w_attrs = ['x', 'x1', 'cx', 'rx', 'width'];
|
||||
var h_attrs = ['y', 'y1', 'cy', 'ry', 'height'];
|
||||
var unit_attrs = $.merge(['r','radius'], w_attrs);
|
||||
$.merge(unit_attrs, h_attrs);
|
||||
|
||||
// Converts given values to numbers. Attributes must be supplied in
|
||||
// case a percentage is given
|
||||
convertToNum = function(attr, val) {
|
||||
// Return a number if that's what it already is
|
||||
if(!isNaN(val)) return val-0;
|
||||
|
||||
if(val.substr(-1) === '%') {
|
||||
// Deal with percentage, depends on attribute
|
||||
var num = val.substr(0, val.length-1)/100;
|
||||
var res = canvas.getResolution();
|
||||
|
||||
if($.inArray(attr, w_attrs) !== -1) {
|
||||
return num * res.w;
|
||||
} else if($.inArray(attr, h_attrs) !== -1) {
|
||||
return num * res.h;
|
||||
} else {
|
||||
return num * Math.sqrt((res.w*res.w) + (res.h*res.h))/Math.sqrt(2);
|
||||
}
|
||||
} else {
|
||||
var unit = val.substr(-2);
|
||||
var num = val.substr(0, val.length-2);
|
||||
// Note that this multiplication turns the string into a number
|
||||
return num * unit_types[unit];
|
||||
}
|
||||
};
|
||||
|
||||
setUnitAttr = function(elem, attr, val) {
|
||||
if(!isNaN(val)) {
|
||||
// New value is a number, so check currently used unit
|
||||
var old_val = elem.getAttribute(attr);
|
||||
|
||||
if(old_val !== null && isNaN(old_val)) {
|
||||
// Old value was a number, so get unit, then convert
|
||||
var unit;
|
||||
if(old_val.substr(-1) === '%') {
|
||||
var res = canvas.getResolution();
|
||||
unit = '%';
|
||||
val *= 100;
|
||||
if($.inArray(attr, w_attrs) !== -1) {
|
||||
val = val / res.w;
|
||||
} else if($.inArray(attr, h_attrs) !== -1) {
|
||||
val = val / res.h;
|
||||
} else {
|
||||
return val / Math.sqrt((res.w*res.w) + (res.h*res.h))/Math.sqrt(2);
|
||||
}
|
||||
|
||||
} else {
|
||||
unit = old_val.substr(-2);
|
||||
val = val / unit_types[unit];
|
||||
}
|
||||
|
||||
val += unit;
|
||||
}
|
||||
}
|
||||
|
||||
elem.setAttribute(attr, val);
|
||||
}
|
||||
|
||||
canvas.isValidUnit = function(attr, val) {
|
||||
var valid = false;
|
||||
if($.inArray(attr, unit_attrs) != -1) {
|
||||
// True if it's just a number
|
||||
if(!isNaN(val)) {
|
||||
valid = true;
|
||||
} else {
|
||||
// Not a number, check if it has a valid unit
|
||||
val = val.toLowerCase();
|
||||
$.each(unit_types, function(unit) {
|
||||
if(valid) return;
|
||||
var re = new RegExp('^-?[\\d\\.]+' + unit + '$');
|
||||
if(re.test(val)) valid = true;
|
||||
});
|
||||
}
|
||||
} else if (attr == "id") {
|
||||
// if we're trying to change the id, make sure it's not already present in the doc
|
||||
// and the id value is valid.
|
||||
|
||||
var result = false;
|
||||
// because getElem() can throw an exception in the case of an invalid id
|
||||
// (according to http://www.w3.org/TR/xml-id/ IDs must be a NCName)
|
||||
// we wrap it in an exception and only return true if the ID was valid and
|
||||
// not already present
|
||||
try {
|
||||
var elem = getElem(val);
|
||||
result = (elem == null);
|
||||
} catch(e) {}
|
||||
return result;
|
||||
} else valid = true;
|
||||
|
||||
return valid;
|
||||
}
|
||||
|
||||
})();
|
||||
|
||||
|
||||
// Group: Undo/Redo history management
|
||||
|
||||
this.undoCmd = {};
|
||||
|
||||
// Function: ChangeElementCommand
|
||||
// History command to make a change to an element.
|
||||
// Usually an attribute change, but can also be textcontent.
|
||||
|
@ -217,7 +431,7 @@ var isOpera = !!window.opera,
|
|||
// elem - The DOM element that was changed
|
||||
// attrs - An object with the attributes to be changed and the values they had *before* the change
|
||||
// text - An optional string visible to user related to this change
|
||||
function ChangeElementCommand(elem, attrs, text) {
|
||||
var ChangeElementCommand = this.undoCmd.changeElement = function(elem, attrs, text) {
|
||||
this.elem = elem;
|
||||
this.text = text ? ("Change " + elem.tagName + " " + text) : ("Change " + elem.tagName);
|
||||
this.newValues = {};
|
||||
|
@ -325,7 +539,7 @@ function ChangeElementCommand(elem, attrs, text) {
|
|||
// Parameters:
|
||||
// elem - The newly added DOM element
|
||||
// text - An optional string visible to user related to this change
|
||||
function InsertElementCommand(elem, text) {
|
||||
var InsertElementCommand = this.undoCmd.insertElement = function(elem, text) {
|
||||
this.elem = elem;
|
||||
this.text = text || ("Create " + elem.tagName);
|
||||
this.parent = elem.parentNode;
|
||||
|
@ -359,9 +573,9 @@ function InsertElementCommand(elem, text) {
|
|||
//
|
||||
// Parameters:
|
||||
// elem - The removed DOM element
|
||||
// elem - The DOM element's parent
|
||||
// parent - The DOM element's parent
|
||||
// text - An optional string visible to user related to this change
|
||||
function RemoveElementCommand(elem, parent, text) {
|
||||
var RemoveElementCommand = this.undoCmd.removeElement = function(elem, parent, text) {
|
||||
this.elem = elem;
|
||||
this.text = text || ("Delete " + elem.tagName);
|
||||
this.parent = parent;
|
||||
|
@ -411,7 +625,7 @@ function RemoveElementCommand(elem, parent, text) {
|
|||
// oldNextSibling - The element's next sibling before it was moved
|
||||
// oldParent - The element's parent before it was moved
|
||||
// text - An optional string visible to user related to this change
|
||||
function MoveElementCommand(elem, oldNextSibling, oldParent, text) {
|
||||
var MoveElementCommand = this.undoCmd.moveElement = function(elem, oldNextSibling, oldParent, text) {
|
||||
this.elem = elem;
|
||||
this.text = text ? ("Move " + elem.tagName + " to " + text) : ("Move " + elem.tagName);
|
||||
this.oldNextSibling = oldNextSibling;
|
||||
|
@ -437,7 +651,7 @@ function MoveElementCommand(elem, oldNextSibling, oldParent, text) {
|
|||
}
|
||||
};
|
||||
|
||||
// Function: InsertElementCommand.elements
|
||||
// Function: MoveElementCommand.elements
|
||||
// Returns array with element associated with this command
|
||||
this.elements = function() { return [this.elem]; };
|
||||
}
|
||||
|
@ -446,11 +660,17 @@ function MoveElementCommand(elem, oldNextSibling, oldParent, text) {
|
|||
// if a new Typing command is created and the top command on the stack is also a Typing
|
||||
// and they both affect the same element, then collapse the two commands into one
|
||||
|
||||
// this command object acts an arbitrary number of subcommands
|
||||
function BatchCommand(text) {
|
||||
// Function: BatchCommand
|
||||
// History command that can contain/execute multiple other commands
|
||||
//
|
||||
// Parameters:
|
||||
// text - An optional string visible to user related to this change
|
||||
var BatchCommand = this.undoCmd.batch = function(text) {
|
||||
this.text = text || "Batch Command";
|
||||
this.stack = [];
|
||||
|
||||
// Function: BatchCommand.apply
|
||||
// Runs "apply" on all subcommands
|
||||
this.apply = function() {
|
||||
var len = this.stack.length;
|
||||
for (var i = 0; i < len; ++i) {
|
||||
|
@ -458,14 +678,17 @@ function BatchCommand(text) {
|
|||
}
|
||||
};
|
||||
|
||||
// Function: BatchCommand.unapply
|
||||
// Runs "unapply" on all subcommands
|
||||
this.unapply = function() {
|
||||
for (var i = this.stack.length-1; i >= 0; i--) {
|
||||
this.stack[i].unapply();
|
||||
}
|
||||
};
|
||||
|
||||
// Function: BatchCommand.elements
|
||||
// Iterate through all our subcommands and returns all the elements we are changing
|
||||
this.elements = function() {
|
||||
// iterate through all our subcommands and find all the elements we are changing
|
||||
var elems = [];
|
||||
var cmd = this.stack.length;
|
||||
while (cmd--) {
|
||||
|
@ -478,14 +701,30 @@ function BatchCommand(text) {
|
|||
return elems;
|
||||
};
|
||||
|
||||
// Function: BatchCommand.addSubCommand
|
||||
// Adds a given command to the history stack
|
||||
|
||||
// Parameters:
|
||||
// cmd - The undo command object to add
|
||||
this.addSubCommand = function(cmd) { this.stack.push(cmd); };
|
||||
|
||||
// Function: BatchCommand.isEmpty
|
||||
// Returns a boolean indicating whether or not the batch command is empty
|
||||
this.isEmpty = function() { return this.stack.length == 0; };
|
||||
}
|
||||
|
||||
// private members
|
||||
|
||||
// **************************************************************************************
|
||||
var SelectorManager;
|
||||
|
||||
(function() {
|
||||
|
||||
// Class: Selector
|
||||
// Private class for DOM element selection boxes
|
||||
//
|
||||
// Parameters:
|
||||
// id - integer to internally indentify the selector
|
||||
// elem - DOM element associated with this selector
|
||||
function Selector(id, elem) {
|
||||
// this is the selector's unique number
|
||||
this.id = id;
|
||||
|
@ -496,8 +735,12 @@ function BatchCommand(text) {
|
|||
// this is a flag used internally to track whether the selector is being used or not
|
||||
this.locked = true;
|
||||
|
||||
// this function is used to reset the id and element that the selector is attached to
|
||||
this.reset = function(e, update) {
|
||||
// Function: Selector.reset
|
||||
// Used to reset the id and element that the selector is attached to
|
||||
//
|
||||
// Parameters:
|
||||
// e - DOM element associated with this selector
|
||||
this.reset = function(e) {
|
||||
this.locked = true;
|
||||
this.selectedElement = e;
|
||||
this.resize();
|
||||
|
@ -575,6 +818,11 @@ function BatchCommand(text) {
|
|||
}) );
|
||||
}
|
||||
|
||||
// Function: Selector.showGrips
|
||||
// Show the resize grips of this selector
|
||||
//
|
||||
// Parameters:
|
||||
// show - boolean indicating whether grips should be shown or not
|
||||
this.showGrips = function(show) {
|
||||
// TODO: use suspendRedraw() here
|
||||
var bShow = show ? "inline" : "none";
|
||||
|
@ -587,7 +835,11 @@ function BatchCommand(text) {
|
|||
if(elem) this.updateGripCursors(canvas.getRotationAngle(elem));
|
||||
};
|
||||
|
||||
// Function: Selector.updateGripCursors
|
||||
// Updates cursors for corner grips on rotation so arrows point the right way
|
||||
//
|
||||
// Parameters:
|
||||
// angle - Float indicating current rotation angle in degrees
|
||||
this.updateGripCursors = function(angle) {
|
||||
var dir_arr = [];
|
||||
var steps = Math.round(angle / 45);
|
||||
|
@ -606,6 +858,8 @@ function BatchCommand(text) {
|
|||
};
|
||||
};
|
||||
|
||||
// Function: Selector.resize
|
||||
// Updates the selector to match the element's size
|
||||
this.resize = function() {
|
||||
var selectedBox = this.selectorRect,
|
||||
selectedGrips = this.selectorGrips,
|
||||
|
@ -731,7 +985,9 @@ function BatchCommand(text) {
|
|||
this.reset(elem);
|
||||
};
|
||||
|
||||
function SelectorManager() {
|
||||
// Class: SelectorManager
|
||||
// public class to manage all selector objects (selection boxes)
|
||||
SelectorManager = function() {
|
||||
|
||||
// this will hold the <g> element that contains all selector rects/grips
|
||||
this.selectorParentGroup = null;
|
||||
|
@ -748,6 +1004,8 @@ function BatchCommand(text) {
|
|||
// local reference to this object
|
||||
var mgr = this;
|
||||
|
||||
// Function: SelectorManager.initGroup
|
||||
// Resets the parent selector group element
|
||||
this.initGroup = function() {
|
||||
// remove old selector parent group if it existed
|
||||
if (mgr.selectorParentGroup && mgr.selectorParentGroup.parentNode) {
|
||||
|
@ -793,6 +1051,11 @@ function BatchCommand(text) {
|
|||
svgroot.insertBefore(canvasbg, svgcontent);
|
||||
};
|
||||
|
||||
// Function: SelectorManager.requestSelector
|
||||
// Returns the selector based on the given element
|
||||
//
|
||||
// Parameters:
|
||||
// elem - DOM element to get the selector for
|
||||
this.requestSelector = function(elem) {
|
||||
if (elem == null) return null;
|
||||
var N = this.selectors.length;
|
||||
|
@ -815,6 +1078,12 @@ function BatchCommand(text) {
|
|||
this.selectorMap[elem.id] = this.selectors[N];
|
||||
return this.selectors[N];
|
||||
};
|
||||
|
||||
// Function: SelectorManager.releaseSelector
|
||||
// Removes the selector of the given element (hides selection box)
|
||||
//
|
||||
// Parameters:
|
||||
// elem - DOM element to remove the selector for
|
||||
this.releaseSelector = function(elem) {
|
||||
if (elem == null) return;
|
||||
var N = this.selectors.length,
|
||||
|
@ -839,6 +1108,8 @@ function BatchCommand(text) {
|
|||
}
|
||||
};
|
||||
|
||||
// Function: SelectorManager.getRubberBandBox
|
||||
// Returns the rubberBandBox DOM element. This is the rectangle drawn by the user for selecting/zooming
|
||||
this.getRubberBandBox = function() {
|
||||
if (this.rubberBandBox == null) {
|
||||
this.rubberBandBox = this.selectorParentGroup.appendChild(
|
||||
|
@ -858,8 +1129,9 @@ function BatchCommand(text) {
|
|||
};
|
||||
|
||||
this.initGroup();
|
||||
}
|
||||
// **************************************************************************************
|
||||
};
|
||||
}());
|
||||
|
||||
|
||||
// **************************************************************************************
|
||||
// SVGTransformList implementation for Webkit
|
||||
|
@ -1011,197 +1283,6 @@ function BatchCommand(text) {
|
|||
};
|
||||
// **************************************************************************************
|
||||
|
||||
var addSvgElementFromJson = function(data) {
|
||||
return canvas.updateElementFromJson(data)
|
||||
};
|
||||
|
||||
// TODO: declare the variables and set them as null, then move this setup stuff to
|
||||
// an initialization function - probably just use clear()
|
||||
|
||||
var canvas = this,
|
||||
svgns = "http://www.w3.org/2000/svg",
|
||||
xlinkns = "http://www.w3.org/1999/xlink",
|
||||
xmlns = "http://www.w3.org/XML/1998/namespace",
|
||||
xmlnsns = "http://www.w3.org/2000/xmlns/", // see http://www.w3.org/TR/REC-xml-names/#xmlReserved
|
||||
se_ns = "http://svg-edit.googlecode.com",
|
||||
htmlns = "http://www.w3.org/1999/xhtml",
|
||||
mathns = "http://www.w3.org/1998/Math/MathML",
|
||||
idprefix = "svg_",
|
||||
svgdoc = container.ownerDocument,
|
||||
dimensions = curConfig.dimensions,
|
||||
svgroot = svgdoc.importNode(Utils.text2xml('<svg id="svgroot" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" ' +
|
||||
'width="' + dimensions[0] + '" height="' + dimensions[1] + '" x="' + dimensions[0] + '" y="' + dimensions[1] + '" overflow="visible">' +
|
||||
'<defs>' +
|
||||
'<filter id="canvashadow" filterUnits="objectBoundingBox">' +
|
||||
'<feGaussianBlur in="SourceAlpha" stdDeviation="4" result="blur"/>'+
|
||||
'<feOffset in="blur" dx="5" dy="5" result="offsetBlur"/>'+
|
||||
'<feMerge>'+
|
||||
'<feMergeNode in="offsetBlur"/>'+
|
||||
'<feMergeNode in="SourceGraphic"/>'+
|
||||
'</feMerge>'+
|
||||
'</filter>'+
|
||||
'</defs>'+
|
||||
'</svg>').documentElement, true);
|
||||
|
||||
$(svgroot).appendTo(container);
|
||||
var opac_ani = document.createElementNS(svgns, 'animate');
|
||||
$(opac_ani).attr({
|
||||
attributeName: 'opacity',
|
||||
begin: 'indefinite',
|
||||
dur: 1,
|
||||
fill: 'freeze'
|
||||
}).appendTo(svgroot);
|
||||
|
||||
//nonce to uniquify id's
|
||||
var nonce = Math.floor(Math.random()*100001);
|
||||
var randomize_ids = false;
|
||||
|
||||
// map namespace URIs to prefixes
|
||||
var nsMap = {};
|
||||
nsMap[xlinkns] = 'xlink';
|
||||
nsMap[xmlns] = 'xml';
|
||||
nsMap[xmlnsns] = 'xmlns';
|
||||
nsMap[se_ns] = 'se';
|
||||
nsMap[htmlns] = 'xhtml';
|
||||
nsMap[mathns] = 'mathml';
|
||||
|
||||
// map prefixes to namespace URIs
|
||||
var nsRevMap = {};
|
||||
$.each(nsMap, function(key,value){
|
||||
nsRevMap[value] = key;
|
||||
});
|
||||
|
||||
// Produce a Namespace-aware version of svgWhitelist
|
||||
var svgWhiteListNS = {};
|
||||
$.each(svgWhiteList, function(elt,atts){
|
||||
var attNS = {};
|
||||
$.each(atts, function(i, att){
|
||||
if (att.indexOf(':') != -1) {
|
||||
var v = att.split(':');
|
||||
attNS[v[1]] = nsRevMap[v[0]];
|
||||
} else {
|
||||
attNS[att] = att == 'xmlns' ? xmlnsns : null;
|
||||
}
|
||||
});
|
||||
svgWhiteListNS[elt] = attNS;
|
||||
});
|
||||
|
||||
var svgcontent = svgdoc.createElementNS(svgns, "svg");
|
||||
$(svgcontent).attr({
|
||||
id: 'svgcontent',
|
||||
width: dimensions[0],
|
||||
height: dimensions[1],
|
||||
x: dimensions[0],
|
||||
y: dimensions[1],
|
||||
overflow: curConfig.show_outside_canvas?'visible':'hidden',
|
||||
xmlns: svgns,
|
||||
"xmlns:se": se_ns,
|
||||
"xmlns:xlink": xlinkns
|
||||
}).appendTo(svgroot);
|
||||
if (randomize_ids) svgcontent.setAttributeNS(se_ns, 'se:nonce', nonce);
|
||||
|
||||
var convertToNum, convertToUnit, setUnitAttr;
|
||||
|
||||
(function() {
|
||||
var w_attrs = ['x', 'x1', 'cx', 'rx', 'width'];
|
||||
var h_attrs = ['y', 'y1', 'cy', 'ry', 'height'];
|
||||
var unit_attrs = $.merge(['r','radius'], w_attrs);
|
||||
$.merge(unit_attrs, h_attrs);
|
||||
|
||||
// Converts given values to numbers. Attributes must be supplied in
|
||||
// case a percentage is given
|
||||
convertToNum = function(attr, val) {
|
||||
// Return a number if that's what it already is
|
||||
if(!isNaN(val)) return val-0;
|
||||
|
||||
if(val.substr(-1) === '%') {
|
||||
// Deal with percentage, depends on attribute
|
||||
var num = val.substr(0, val.length-1)/100;
|
||||
var res = canvas.getResolution();
|
||||
|
||||
if($.inArray(attr, w_attrs) !== -1) {
|
||||
return num * res.w;
|
||||
} else if($.inArray(attr, h_attrs) !== -1) {
|
||||
return num * res.h;
|
||||
} else {
|
||||
return num * Math.sqrt((res.w*res.w) + (res.h*res.h))/Math.sqrt(2);
|
||||
}
|
||||
} else {
|
||||
var unit = val.substr(-2);
|
||||
var num = val.substr(0, val.length-2);
|
||||
// Note that this multiplication turns the string into a number
|
||||
return num * unit_types[unit];
|
||||
}
|
||||
};
|
||||
|
||||
setUnitAttr = function(elem, attr, val) {
|
||||
if(!isNaN(val)) {
|
||||
// New value is a number, so check currently used unit
|
||||
var old_val = elem.getAttribute(attr);
|
||||
|
||||
if(old_val !== null && isNaN(old_val)) {
|
||||
// Old value was a number, so get unit, then convert
|
||||
var unit;
|
||||
if(old_val.substr(-1) === '%') {
|
||||
var res = canvas.getResolution();
|
||||
unit = '%';
|
||||
val *= 100;
|
||||
if($.inArray(attr, w_attrs) !== -1) {
|
||||
val = val / res.w;
|
||||
} else if($.inArray(attr, h_attrs) !== -1) {
|
||||
val = val / res.h;
|
||||
} else {
|
||||
return val / Math.sqrt((res.w*res.w) + (res.h*res.h))/Math.sqrt(2);
|
||||
}
|
||||
|
||||
} else {
|
||||
unit = old_val.substr(-2);
|
||||
val = val / unit_types[unit];
|
||||
}
|
||||
|
||||
val += unit;
|
||||
}
|
||||
}
|
||||
|
||||
elem.setAttribute(attr, val);
|
||||
}
|
||||
|
||||
canvas.isValidUnit = function(attr, val) {
|
||||
var valid = false;
|
||||
if($.inArray(attr, unit_attrs) != -1) {
|
||||
// True if it's just a number
|
||||
if(!isNaN(val)) {
|
||||
valid = true;
|
||||
} else {
|
||||
// Not a number, check if it has a valid unit
|
||||
val = val.toLowerCase();
|
||||
$.each(unit_types, function(unit) {
|
||||
if(valid) return;
|
||||
var re = new RegExp('^-?[\\d\\.]+' + unit + '$');
|
||||
if(re.test(val)) valid = true;
|
||||
});
|
||||
}
|
||||
} else if (attr == "id") {
|
||||
// if we're trying to change the id, make sure it's not already present in the doc
|
||||
// and the id value is valid.
|
||||
|
||||
var result = false;
|
||||
// because getElem() can throw an exception in the case of an invalid id
|
||||
// (according to http://www.w3.org/TR/xml-id/ IDs must be a NCName)
|
||||
// we wrap it in an exception and only return true if the ID was valid and
|
||||
// not already present
|
||||
try {
|
||||
var elem = getElem(val);
|
||||
result = (elem == null);
|
||||
} catch(e) {}
|
||||
return result;
|
||||
} else valid = true;
|
||||
|
||||
return valid;
|
||||
}
|
||||
|
||||
})();
|
||||
|
||||
var assignAttributes = function(node, attrs, suspendLength, unitCheck) {
|
||||
if(!suspendLength) suspendLength = 0;
|
||||
// Opera has a problem with suspendRedraw() apparently
|
||||
|
@ -1250,7 +1331,7 @@ function BatchCommand(text) {
|
|||
svgroot.unsuspendRedraw(handle);
|
||||
};
|
||||
|
||||
this.updateElementFromJson = function(data) {
|
||||
var addSvgElementFromJson = this.updateElementFromJson = function(data) {
|
||||
var shape = getElem(data.attr.id);
|
||||
// if shape is a path but we need to create a rect/ellipse, then remove the path
|
||||
if (shape && data.element != shape.tagName) {
|
||||
|
@ -9303,7 +9384,6 @@ function BatchCommand(text) {
|
|||
round: round,
|
||||
runExtensions: runExtensions,
|
||||
sanitizeSvg: sanitizeSvg,
|
||||
Selector: Selector,
|
||||
SelectorManager: SelectorManager,
|
||||
shortFloat: shortFloat,
|
||||
svgCanvasToString: svgCanvasToString,
|
||||
|
|
Loading…
Reference in New Issue