Use a more robust solution to changing devicePixelRatio

This commit is contained in:
Daniel Imms
2017-12-29 13:54:01 -08:00
parent ef5beb6706
commit 72d946e089
3 changed files with 67 additions and 5 deletions
+5
View File
@@ -13,6 +13,7 @@ import { BaseRenderLayer } from './BaseRenderLayer';
import { IRenderLayer, IColorSet, IRenderer, IRenderDimensions } from './Interfaces';
import { LinkRenderLayer } from './LinkRenderLayer';
import { EventEmitter } from '../EventEmitter';
import { ScreenDprMonitor } from '../utils/ScreenDprMonitor';
export class Renderer extends EventEmitter implements IRenderer {
/** A queue of the rows to be refreshed */
@@ -21,6 +22,7 @@ export class Renderer extends EventEmitter implements IRenderer {
private _renderLayers: IRenderLayer[];
private _devicePixelRatio: number;
private _screenDprMonitor: ScreenDprMonitor;
public colorManager: ColorManager;
public dimensions: IRenderDimensions;
@@ -53,6 +55,9 @@ export class Renderer extends EventEmitter implements IRenderer {
};
this._devicePixelRatio = window.devicePixelRatio;
this._updateDimensions();
this._screenDprMonitor = new ScreenDprMonitor();
this._screenDprMonitor.setListener(() => this.onWindowResize(window.devicePixelRatio));
}
public onWindowResize(devicePixelRatio: number): void {