correct 'use' behavior when dragging elements in webkit
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@2199 eee81c28-f429-11dd-99c0-75d572ba1ddd
This commit is contained in:
@@ -376,17 +376,19 @@ canvas.undoMgr = new svgedit.history.UndoManager({
|
|||||||
if (values["stdDeviation"]) {
|
if (values["stdDeviation"]) {
|
||||||
canvas.setBlurOffsets(cmd.elem.parentNode, values["stdDeviation"]);
|
canvas.setBlurOffsets(cmd.elem.parentNode, values["stdDeviation"]);
|
||||||
}
|
}
|
||||||
|
// This is resolved in later versions of webkit, perhaps we should
|
||||||
|
// have a featured detection for correct 'use' behavior?
|
||||||
|
// ——————————
|
||||||
// Remove & Re-add hack for Webkit (issue 775)
|
// Remove & Re-add hack for Webkit (issue 775)
|
||||||
if(cmd.elem.tagName === 'use' && svgedit.browser.isWebkit()) {
|
//if(cmd.elem.tagName === 'use' && svgedit.browser.isWebkit()) {
|
||||||
var elem = cmd.elem;
|
// var elem = cmd.elem;
|
||||||
if(!elem.getAttribute('x') && !elem.getAttribute('y')) {
|
// if(!elem.getAttribute('x') && !elem.getAttribute('y')) {
|
||||||
var parent = elem.parentNode;
|
// var parent = elem.parentNode;
|
||||||
var sib = elem.nextSibling;
|
// var sib = elem.nextSibling;
|
||||||
parent.removeChild(elem);
|
// parent.removeChild(elem);
|
||||||
parent.insertBefore(elem, sib);
|
// parent.insertBefore(elem, sib);
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -497,14 +497,17 @@ svgedit.utilities.getBBox = function(elem) {
|
|||||||
|
|
||||||
if(elname === 'use') {
|
if(elname === 'use') {
|
||||||
if(!ret) ret = selected.getBBox();
|
if(!ret) ret = selected.getBBox();
|
||||||
if(!svgedit.browser.isWebkit()) {
|
// This is resolved in later versions of webkit, perhaps we should
|
||||||
|
// have a featured detection for correct 'use' behavior?
|
||||||
|
// ——————————
|
||||||
|
//if(!svgedit.browser.isWebkit()) {
|
||||||
var bb = {};
|
var bb = {};
|
||||||
bb.width = ret.width;
|
bb.width = ret.width;
|
||||||
bb.height = ret.height;
|
bb.height = ret.height;
|
||||||
bb.x = ret.x + parseFloat(selected.getAttribute('x')||0);
|
bb.x = ret.x + parseFloat(selected.getAttribute('x')||0);
|
||||||
bb.y = ret.y + parseFloat(selected.getAttribute('y')||0);
|
bb.y = ret.y + parseFloat(selected.getAttribute('y')||0);
|
||||||
ret = bb;
|
ret = bb;
|
||||||
}
|
//}
|
||||||
} else if(~visElems_arr.indexOf(elname)) {
|
} else if(~visElems_arr.indexOf(elname)) {
|
||||||
try { ret = selected.getBBox();}
|
try { ret = selected.getBBox();}
|
||||||
catch(e) {
|
catch(e) {
|
||||||
|
|||||||
Reference in New Issue
Block a user