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:
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
})();
|
||||
Reference in New Issue
Block a user