UNPKG

whs-cube-spheres

Version:

This plugin has a container with multiple spheres.

49 lines (38 loc) 1.18 kB
// import {addResizeListener} from 'detect-element-resize'; export class ResizeModule { constructor(params = {}) { this.params = Object.assign({ auto: true }, params); } setSize(width = 1, height = 1) { this.camera.native.aspect = width / height; this.camera.native.updateProjectionMatrix(); if (this.rendering) this.rendering.setSize(width, height); } trigger() { const { container: { offsetWidth, offsetHeight }, resolution } = this; this.setSize( Number(offsetWidth * resolution.x).toFixed(), Number(offsetHeight * resolution.y).toFixed() ); } addAutoresize() { this.container = this.getContainer(); this.resolution = this.getResolution(); if (this.params.auto) window.addEventListener('resize', this.trigger.bind(this)); } manager(manager) { this.rendering = manager.get('renderer'); this.camera = manager.get('camera'); this.getResolution = () => manager.get('renderer', true).params.resolution; this.getContainer = () => manager.get('container'); this.addAutoresize(); } }