Make render listeners work with image render mode
This commit is contained in:
@@ -210,10 +210,10 @@ CanvasVectorLayerRenderer.prototype.compose = function(context, frameState, laye
|
|||||||
rotateAtOffset(replayContext, rotation,
|
rotateAtOffset(replayContext, rotation,
|
||||||
width / 2, height / 2);
|
width / 2, height / 2);
|
||||||
|
|
||||||
if (replayContext != context) {
|
|
||||||
if (hasRenderListeners) {
|
if (hasRenderListeners) {
|
||||||
this.dispatchRenderEvent(replayContext, frameState, transform);
|
this.dispatchRenderEvent(replayContext, frameState, transform);
|
||||||
}
|
}
|
||||||
|
if (replayContext != context) {
|
||||||
if (transparentLayer) {
|
if (transparentLayer) {
|
||||||
const mainContextAlpha = context.globalAlpha;
|
const mainContextAlpha = context.globalAlpha;
|
||||||
context.globalAlpha = layerState.opacity;
|
context.globalAlpha = layerState.opacity;
|
||||||
|
|||||||
@@ -218,7 +218,7 @@ describe('ol.renderer.canvas.VectorLayer', function() {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#prepareFrame', function() {
|
describe('#prepareFrame and #compose', function() {
|
||||||
let frameState, projExtent, renderer, worldWidth, buffer;
|
let frameState, projExtent, renderer, worldWidth, buffer;
|
||||||
|
|
||||||
beforeEach(function() {
|
beforeEach(function() {
|
||||||
@@ -296,6 +296,24 @@ describe('ol.renderer.canvas.VectorLayer', function() {
|
|||||||
expect(renderer.replayGroupChanged).to.be(false);
|
expect(renderer.replayGroupChanged).to.be(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it.only('dispatches a render event when rendering to own context', function(done) {
|
||||||
|
const layer = renderer.getLayer();
|
||||||
|
layer.getSource().addFeature(new Feature(new Point([0, 0])));
|
||||||
|
layer.once('render', function() {
|
||||||
|
expect(true);
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
frameState.extent = [-10000, -10000, 10000, 10000];
|
||||||
|
frameState.size = [100, 100];
|
||||||
|
frameState.viewState.center = [0, 0];
|
||||||
|
let composed = false;
|
||||||
|
if (renderer.prepareFrame(frameState, {})) {
|
||||||
|
composed = true;
|
||||||
|
renderer.compose(renderer.context, frameState, layer.getLayerState);
|
||||||
|
}
|
||||||
|
expect(composed).to.be(true);
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user