MCPcopy Index your code
hub / github.com/SuperMap/iClient-JavaScript / parseTransformAttribute

Function parseTransformAttribute

libs/echarts/echarts.simple.js:26923–26966  ·  view source on GitHub ↗
(xmlNode, node)

Source from the content-addressed store, hash-verified

26921var transformRegex = /(translate|scale|rotate|skewX|skewY|matrix)\(([\-\s0-9\.e,]*)\)/g;
26922
26923function parseTransformAttribute(xmlNode, node) {
26924 var transform = xmlNode.getAttribute('transform');
26925 if (transform) {
26926 transform = transform.replace(/,/g, ' ');
26927 var m = null;
26928 var transformOps = [];
26929 transform.replace(transformRegex, function (str, type, value) {
26930 transformOps.push(type, value);
26931 });
26932 for (var i = transformOps.length - 1; i > 0; i -= 2) {
26933 var value = transformOps[i];
26934 var type = transformOps[i - 1];
26935 m = m || create$1();
26936 switch (type) {
26937 case 'translate':
26938 value = trim(value).split(DILIMITER_REG);
26939 translate(m, m, [parseFloat(value[0]), parseFloat(value[1] || 0)]);
26940 break;
26941 case 'scale':
26942 value = trim(value).split(DILIMITER_REG);
26943 scale$1(m, m, [parseFloat(value[0]), parseFloat(value[1] || value[0])]);
26944 break;
26945 case 'rotate':
26946 value = trim(value).split(DILIMITER_REG);
26947 rotate(m, m, parseFloat(value[0]));
26948 break;
26949 case 'skew':
26950 value = trim(value).split(DILIMITER_REG);
26951 console.warn('Skew transform is not supported yet');
26952 break;
26953 case 'matrix':
26954 var value = trim(value).split(DILIMITER_REG);
26955 m[0] = parseFloat(value[0]);
26956 m[1] = parseFloat(value[1]);
26957 m[2] = parseFloat(value[2]);
26958 m[3] = parseFloat(value[3]);
26959 m[4] = parseFloat(value[4]);
26960 m[5] = parseFloat(value[5]);
26961 break;
26962 }
26963 }
26964 node.setLocalTransform(m);
26965 }
26966}
26967
26968// Value may contain space.
26969var styleRegex = /([^\s:;]+)\s*:\s*([^:;]+)/g;

Callers 1

parseAttributesFunction · 0.70

Calls 6

pushMethod · 0.80
create$1Function · 0.70
trimFunction · 0.70
translateFunction · 0.70
scale$1Function · 0.70
rotateFunction · 0.70

Tested by

no test coverage detected