olcs
Version:
OpenLayers Cesium integration and plugin library
26 lines • 2.43 kB
JavaScript
export function computeRectangle(canvas, tw, th) {
const maskAspectRatio = tw / th;
let maskSize;
if (maskAspectRatio > 1) {
// landscape
maskSize = [canvas.width, canvas.width / maskAspectRatio];
if (maskSize[1] > canvas.height) {
maskSize = [canvas.height * maskAspectRatio, canvas.height];
}
}
else {
// portrait
maskSize = [canvas.height * maskAspectRatio, canvas.height];
if (maskSize[0] > canvas.width) {
maskSize = [canvas.width, canvas.width / maskAspectRatio];
}
}
return {
scaling: [maskSize[0] / canvas.width, maskSize[1] / canvas.height],
width: maskSize[0],
height: maskSize[1],
offsetX: (canvas.width - maskSize[0]) / 2,
offsetY: (canvas.height - maskSize[1]) / 2,
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZVJlY3RhbmdsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vbGNzL3ByaW50L2NvbXB1dGVSZWN0YW5nbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixNQUF5QixFQUN6QixFQUFVLEVBQ1YsRUFBVTtJQUVWLE1BQU0sZUFBZSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDaEMsSUFBSSxRQUFRLENBQUM7SUFFYixJQUFJLGVBQWUsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN4QixZQUFZO1FBQ1osUUFBUSxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxHQUFHLGVBQWUsQ0FBQyxDQUFDO1FBQzFELElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQyxRQUFRLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLGVBQWUsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUQsQ0FBQztJQUNILENBQUM7U0FBTSxDQUFDO1FBQ04sV0FBVztRQUNYLFFBQVEsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsZUFBZSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1RCxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDL0IsUUFBUSxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxHQUFHLGVBQWUsQ0FBQyxDQUFDO1FBQzVELENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQ2xFLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ2xCLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ25CLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUN6QyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7S0FDM0MsQ0FBQztBQUNKLENBQUMifQ==