Move getTransformList() into svgtransformlist.js, move getHref adn setHref into svgutils.js

git-svn-id: http://svg-edit.googlecode.com/svn/trunk@1837 eee81c28-f429-11dd-99c0-75d572ba1ddd
This commit is contained in:
Jeff Schiller
2010-11-05 14:43:12 +00:00
parent 985d061674
commit 16ea2a36a5
2 changed files with 55 additions and 52 deletions

View File

@@ -7,11 +7,17 @@
* Copyright(c) 2010 Jeff Schiller
*/
// Dependencies:
// 1) browwsersupport.js
(function() {
if (!window.svgedit) {
window.svgedit = {};
}
if (!svgedit.transformlist) {
svgedit.transformlist = {};
}
// Helper function.
function transformToString(xform) {
@@ -42,6 +48,12 @@ function transformToString(xform) {
return text;
};
/**
* Map of SVGTransformList objects.
*/
svgedit.transformlist.listMap = {};
// **************************************************************************************
// SVGTransformList implementation for Webkit
// These methods do not currently raise any exceptions.
@@ -62,7 +74,7 @@ function transformToString(xform) {
// NOT IMPLEMENTED: SVGTransform consolidate ( );
// }
// **************************************************************************************
svgedit.SVGTransformList = function(elem) {
svgedit.transformlist.SVGTransformList = function(elem) {
this._elem = elem || null;
this._xforms = [];
// TODO: how do we capture the undo-ability in the changed transform list?
@@ -197,4 +209,39 @@ svgedit.SVGTransformList = function(elem) {
};
};
// Function: getTransformList
// Returns an object that behaves like a SVGTransformList for the given DOM element
//
// Parameters:
// elem - DOM element to get a transformlist from
svgedit.transformlist.getTransformList = function(elem) {
if (svgedit.BrowserSupport.isWebkit) {
var id = elem.id;
if(!id) {
// Get unique ID for temporary element
id = 'temp';
}
var t = svgedit.transformlist.listMap[id];
if (!t || id == 'temp') {
svgedit.transformlist.listMap[id] = new svgedit.transformlist.SVGTransformList(elem);
svgedit.transformlist.listMap[id]._init();
t = svgedit.transformlist.listMap[id];
}
return t;
}
else if (elem.transform) {
return elem.transform.baseVal;
}
else if (elem.gradientTransform) {
return elem.gradientTransform.baseVal;
}
else if (elem.patternTransform) {
return elem.patternTransform.baseVal;
}
return null;
};
})();