Skip to content

Commit f5a428d

Browse files
authored
Merge pull request #17 from 2gis/TILES-5025
refreshResizeFrame
2 parents 6f0fb4e + 90f1791 commit f5a428d

File tree

4 files changed

+13
-6
lines changed

4 files changed

+13
-6
lines changed

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@2gis/deck2gis-layer",
3-
"version": "1.1.6",
3+
"version": "1.1.7",
44
"description": "",
55
"main": "dist/deck2gislayer.js",
66
"typings": "dist/types/index.d.ts",

src/deckgl2gisLayer.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import {
88
updateLayer,
99
drawLayer,
1010
initDeck2gisProps,
11+
onMapResize,
1112
} from './utils';
1213
import type { Deck, Layer } from '@deck.gl/core/typed';
1314
import { CustomRenderProps, DeckCustomLayer } from './types';
@@ -178,14 +179,21 @@ export class Deck2gisLayer<LayerT extends Layer> implements DeckCustomLayer {
178179
) {
179180
return;
180181
}
182+
const mapSize = this.map.getSize();
183+
if (this.deck.width !== mapSize[0] || this.deck.height !== mapSize[1]) {
184+
(this.deck as any).animationLoop._resizeCanvasDrawingBuffer();
185+
(this.deck as any).animationLoop._resizeViewport();
186+
const renderTarget = this.frameBuffer.bind(this.gl);
187+
onMapResize(this.map, this.deck, renderTarget);
188+
}
181189
const { _2gisData } = this.deck.props as CustomRenderProps;
182-
_2gisData._2gisCurrentViewport = undefined;
183190
const gl = this.gl;
184191
this.frameBuffer.bind(gl);
185192
gl.clearColor(1, 1, 1, 0);
186193

187194
if (_2gisData._2gisFramestart) {
188195
gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
196+
_2gisData._2gisCurrentViewport = undefined;
189197
_2gisData._2gisFramestart = false;
190198
} else {
191199
gl.clear(gl.COLOR_BUFFER_BIT);
@@ -195,7 +203,6 @@ export class Deck2gisLayer<LayerT extends Layer> implements DeckCustomLayer {
195203
drawLayer(this.deck, this.map, this);
196204

197205
gl.bindFramebuffer(gl.FRAMEBUFFER, null);
198-
const mapSize = this.map.getSize();
199206
const texture = this.frameBuffer.getTexture();
200207
texture.enable(gl, 0);
201208
this.program.enable(gl);

src/utils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ function onMapMove(deck: Deck, map: Map): void {
172172
* @hidden
173173
* @internal
174174
*/
175-
function onMapResize(map: Map, deck: Deck, renderTarget: RenderTarget) {
175+
export function onMapResize(map: Map, deck: Deck, renderTarget: RenderTarget) {
176176
const mapSize = map.getSize();
177177
const gl = map.getWebGLContext();
178178
const size = [mapSize[0] * window.devicePixelRatio, mapSize[1] * window.devicePixelRatio];

0 commit comments

Comments
 (0)