Skip to content

Commit

Permalink
When terrain is on, render last layer correct, fixes #1124 (#1189)
Browse files Browse the repository at this point in the history
* when terrain is on render last layer correct, fixes #1124

* Added test to verify the bug

* Fix lint

Co-authored-by: HarelM <harel.mazor@gmail.com>
  • Loading branch information
prozessor13 and HarelM authored May 12, 2022
1 parent 6a9d9cc commit b280511
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 1 deletion.
41 changes: 41 additions & 0 deletions src/render/render_to_texture.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
import RenderToTexture from './render_to_texture';
import type Painter from './painter';
import type LineStyleLayer from '../style/style_layer/line_style_layer';
import type SymbolStyleLayer from '../style/style_layer/symbol_style_layer';

describe('render to texture', () => {
test('should render text after a line by not adding the text to the stack', () => {
const painterMock = {
style: {
terrain: {
sourceCache: {
getRenderableTiles: () => [],
removeOutdated: () => {}
},
clearRerenderCache: () => {}
},
_order: []
}
} as any as Painter;
const uut = new RenderToTexture(painterMock);
const lineLayer = {
id: 'maine-line',
type: 'line',
source: 'maine'
} as LineStyleLayer;
const symbolLayer = {
id: 'maine-text',
type: 'symbol',
source: 'maine',
layout: {
'text-field': 'maine',
'symbol-placement': 'line'
}
} as any as SymbolStyleLayer;

expect(uut.renderLayer(lineLayer)).toBeTruthy();
painterMock.style._order = ['maine-line', 'maine-text'];
painterMock.currentLayer = 1;
expect(uut.renderLayer(symbolLayer)).toBeFalsy();
});
});
2 changes: 1 addition & 1 deletion src/render/render_to_texture.ts
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ export default class RenderToTexture {
return true;
}

if (isLastLayer) return true;
return this._renderToTexture[type];
}

return false;
Expand Down

0 comments on commit b280511

Please sign in to comment.