Make createTransformToString a standalone function

This commit is contained in:
Andreas Hocevar
2020-03-12 11:46:40 +01:00
parent 3f5022630b
commit 56edbb2d73
5 changed files with 44 additions and 22 deletions

View File

@@ -6,6 +6,8 @@ import {createCanvasContext2D} from '../dom.js';
import {clear} from '../obj.js';
import BaseObject from '../Object.js';
import EventTarget from '../events/Target.js';
import {WINDOW} from '../has.js';
import {toString} from '../transform.js';
/**
@@ -438,3 +440,25 @@ function executeLabelInstructions(label, context) {
}
}
}
/**
* @type {HTMLCanvasElement}
* @private
*/
let createTransformStringCanvas = null;
/**
* @param {import("../transform.js").Transform} transform Transform.
* @return {string} CSS transform.
*/
export function createTransformString(transform) {
if (WINDOW) {
if (!createTransformStringCanvas) {
createTransformStringCanvas = createCanvasContext2D(1, 1).canvas;
}
createTransformStringCanvas.style.transform = toString(transform);
return createTransformStringCanvas.style.transform;
} else {
return toString(transform);
}
}