Fire postcompose events from map

This commit is contained in:
Tom Payne
2013-11-11 03:17:28 +01:00
parent 1670b67bd8
commit f3138d6039

View File

@@ -10,6 +10,9 @@ goog.require('ol.css');
goog.require('ol.layer.Image');
goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector');
goog.require('ol.render.RenderEvent');
goog.require('ol.render.RenderEventType');
goog.require('ol.render.canvas.Immediate');
goog.require('ol.renderer.Map');
goog.require('ol.renderer.canvas.ImageLayer');
goog.require('ol.renderer.canvas.TileLayer');
@@ -122,6 +125,15 @@ ol.renderer.canvas.Map.prototype.renderFrame = function(frameState) {
layerRenderer.composeFrame(frameState, layerState, context);
}
var map = this.getMap();
if (map.hasListener(ol.render.RenderEventType.POSTCOMPOSE)) {
var render = new ol.render.canvas.Immediate(
context, frameState.extent, frameState.coordinateToPixelMatrix);
var postComposeEvent = new ol.render.RenderEvent(
ol.render.RenderEventType.POSTCOMPOSE, map, render, context, null);
map.dispatchEvent(postComposeEvent);
}
if (!this.renderedVisible_) {
goog.style.setElementShown(this.canvas_, true);
this.renderedVisible_ = true;