Remove unused ol.dom.transformElement2D()
This commit is contained in:
@@ -123,54 +123,6 @@ ol.dom.setTransform = function(element, value) {
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @param {!Element} element Element.
|
||||
* @param {ol.Transform} transform Matrix.
|
||||
* @param {number=} opt_precision Precision.
|
||||
*/
|
||||
ol.dom.transformElement2D = function(element, transform, opt_precision) {
|
||||
// using matrix() causes gaps in Chrome and Firefox on Mac OS X, so prefer
|
||||
// matrix3d()
|
||||
var i;
|
||||
if (ol.dom.canUseCssTransform3D()) {
|
||||
var value3D;
|
||||
var transform3D = ol.vec.Mat4.fromTransform(ol.dom.tmpMat4_, transform);
|
||||
if (opt_precision !== undefined) {
|
||||
/** @type {Array.<string>} */
|
||||
var strings3D = new Array(16);
|
||||
for (i = 0; i < 16; ++i) {
|
||||
strings3D[i] = transform3D[i].toFixed(opt_precision);
|
||||
}
|
||||
value3D = strings3D.join(',');
|
||||
} else {
|
||||
value3D = transform3D.join(',');
|
||||
}
|
||||
ol.dom.setTransform(element, 'matrix3d(' + value3D + ')');
|
||||
} else if (ol.dom.canUseCssTransform()) {
|
||||
/** @type {string} */
|
||||
var value2D;
|
||||
if (opt_precision !== undefined) {
|
||||
/** @type {Array.<string>} */
|
||||
var strings2D = new Array(6);
|
||||
for (i = 0; i < 6; ++i) {
|
||||
strings2D[i] = transform[i].toFixed(opt_precision);
|
||||
}
|
||||
value2D = strings2D.join(',');
|
||||
} else {
|
||||
value2D = transform.join(',');
|
||||
}
|
||||
ol.dom.setTransform(element, 'matrix(' + value2D + ')');
|
||||
} else {
|
||||
element.style.left = Math.round(transform[4]) + 'px';
|
||||
element.style.top = Math.round(transform[5]) + 'px';
|
||||
|
||||
// TODO: Add scaling here. This isn't quite as simple as multiplying
|
||||
// width/height, because that only changes the container size, not the
|
||||
// content size.
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Get the current computed width for the given element including margin,
|
||||
* padding and border.
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/*global Modernizr*/
|
||||
goog.provide('ol.test.dom');
|
||||
|
||||
goog.require('ol.transform');
|
||||
goog.require('ol.dom');
|
||||
|
||||
/*! modernizr 3.3.1 (Custom Build) | MIT
|
||||
@@ -139,120 +138,6 @@ describe('ol.dom', function() {
|
||||
|
||||
});
|
||||
|
||||
describe('ol.dom.transformElement2D', function() {
|
||||
var element = null;
|
||||
var transform = ol.transform.create();
|
||||
var transformFloat = ol.transform.create();
|
||||
transformFloat[0] = 0.12345;
|
||||
beforeEach(function() {
|
||||
element = document.createElement('div');
|
||||
});
|
||||
afterEach(function() {
|
||||
element = null;
|
||||
});
|
||||
|
||||
it('first prefers 3D transforms if available', function() {
|
||||
// save original value
|
||||
var originalCanUse3D = ol.dom.canUseCssTransform3D;
|
||||
// mock up
|
||||
ol.dom.canUseCssTransform3D = function() {
|
||||
return true;
|
||||
};
|
||||
|
||||
// test
|
||||
ol.dom.transformElement2D(element, transform);
|
||||
expect(element.style.transform).to.match(/matrix3d\(/);
|
||||
expect(element.style.left).to.not.be('0px');
|
||||
expect(element.style.top).to.not.be('0px');
|
||||
|
||||
// revert mock-up
|
||||
ol.dom.canUseCssTransform3D = originalCanUse3D;
|
||||
});
|
||||
|
||||
it('allows to configure precision for 3D transforms', function() {
|
||||
// save original value
|
||||
var originalCanUse3D = ol.dom.canUseCssTransform3D;
|
||||
// mock up
|
||||
ol.dom.canUseCssTransform3D = function() {
|
||||
return true;
|
||||
};
|
||||
|
||||
// test
|
||||
ol.dom.transformElement2D(element, transformFloat, 2);
|
||||
expect(element.style.transform).to.match(/matrix3d\(0\.12/);
|
||||
|
||||
// revert mock-up
|
||||
ol.dom.canUseCssTransform3D = originalCanUse3D;
|
||||
});
|
||||
|
||||
it('second prefers 2D transforms if available', function() {
|
||||
// save original values
|
||||
var originalCanUse3D = ol.dom.canUseCssTransform3D;
|
||||
var originalCanUse2D = ol.dom.canUseCssTransform;
|
||||
// mock up
|
||||
ol.dom.canUseCssTransform3D = function() {
|
||||
return false;
|
||||
};
|
||||
ol.dom.canUseCssTransform = function() {
|
||||
return true;
|
||||
};
|
||||
|
||||
// test
|
||||
ol.dom.transformElement2D(element, transform);
|
||||
expect(element.style.transform).to.match(/matrix\(/);
|
||||
expect(element.style.left).to.not.be('0px');
|
||||
expect(element.style.top).to.not.be('0px');
|
||||
|
||||
// revert mock-up
|
||||
ol.dom.canUseCssTransform3D = originalCanUse3D;
|
||||
ol.dom.canUseCssTransform = originalCanUse2D;
|
||||
});
|
||||
|
||||
it('allows to configure precision for 2D transforms', function() {
|
||||
// save original values
|
||||
var originalCanUse3D = ol.dom.canUseCssTransform3D;
|
||||
var originalCanUse2D = ol.dom.canUseCssTransform;
|
||||
// mock up
|
||||
ol.dom.canUseCssTransform3D = function() {
|
||||
return false;
|
||||
};
|
||||
ol.dom.canUseCssTransform = function() {
|
||||
return true;
|
||||
};
|
||||
|
||||
// test
|
||||
ol.dom.transformElement2D(element, transformFloat, 2);
|
||||
expect(element.style.transform).to.match(/matrix\(0\.12/);
|
||||
|
||||
// revert mock-up
|
||||
ol.dom.canUseCssTransform3D = originalCanUse3D;
|
||||
ol.dom.canUseCssTransform = originalCanUse2D;
|
||||
});
|
||||
|
||||
it('uses "left" and "top" otherwise', function() {
|
||||
// save original values
|
||||
var originalCanUse3D = ol.dom.canUseCssTransform3D;
|
||||
var originalCanUse2D = ol.dom.canUseCssTransform;
|
||||
// mock up
|
||||
ol.dom.canUseCssTransform3D = function() {
|
||||
return false;
|
||||
};
|
||||
ol.dom.canUseCssTransform = function() {
|
||||
return false;
|
||||
};
|
||||
|
||||
// test
|
||||
ol.dom.transformElement2D(element, transform);
|
||||
expect(element.style.left).to.be('0px');
|
||||
expect(element.style.top).to.be('0px');
|
||||
|
||||
// revert mock-up
|
||||
ol.dom.canUseCssTransform3D = originalCanUse3D;
|
||||
ol.dom.canUseCssTransform = originalCanUse2D;
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('ol.dom.outerWidth', function() {
|
||||
var element = null;
|
||||
beforeEach(function() {
|
||||
|
||||
Reference in New Issue
Block a user