markup_renderer.js 856 B

123456789101112131415161718192021222324
  1. import * as EngineConst from '../common/engine_const.js';
  2. import { AbstractAudioRenderer } from './abstract_audio_renderer.js';
  3. export class MarkupRenderer extends AbstractAudioRenderer {
  4. constructor() {
  5. super(...arguments);
  6. this.ignoreElements = [EngineConst.personalityProps.LAYOUT];
  7. this.scaleFunction = null;
  8. }
  9. setScaleFunction(a, b, c, d, decimals = 0) {
  10. this.scaleFunction = (x) => {
  11. const delta = (x - a) / (b - a);
  12. const num = c * (1 - delta) + d * delta;
  13. return +(Math.round((num + 'e+' + decimals)) +
  14. 'e-' +
  15. decimals);
  16. };
  17. }
  18. applyScaleFunction(value) {
  19. return this.scaleFunction ? this.scaleFunction(value) : value;
  20. }
  21. ignoreElement(key) {
  22. return this.ignoreElements.indexOf(key) !== -1;
  23. }
  24. }