Synchronous rendering only
This commit is contained in:
@@ -39,13 +39,6 @@ goog.require('ol.vec.Mat4');
|
|||||||
ol.render.canvas.Immediate = function(context, pixelRatio, extent, transform, viewRotation) {
|
ol.render.canvas.Immediate = function(context, pixelRatio, extent, transform, viewRotation) {
|
||||||
goog.base(this);
|
goog.base(this);
|
||||||
|
|
||||||
/**
|
|
||||||
* @private
|
|
||||||
* @type {!Object.<string,
|
|
||||||
* Array.<function(ol.render.canvas.Immediate)>>}
|
|
||||||
*/
|
|
||||||
this.callbacksByZIndex_ = {};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @private
|
* @private
|
||||||
* @type {CanvasRenderingContext2D}
|
* @type {CanvasRenderingContext2D}
|
||||||
@@ -402,26 +395,6 @@ ol.render.canvas.Immediate.prototype.drawRings_ = function(flatCoordinates, offs
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Register a function to be called for rendering at a given zIndex. The
|
|
||||||
* function will be called asynchronously. The callback will receive a
|
|
||||||
* reference to {@link ol.render.canvas.Immediate} context for drawing.
|
|
||||||
*
|
|
||||||
* @param {number} zIndex Z index.
|
|
||||||
* @param {function(ol.render.canvas.Immediate)} callback Callback.
|
|
||||||
* @api
|
|
||||||
*/
|
|
||||||
ol.render.canvas.Immediate.prototype.drawAsync = function(zIndex, callback) {
|
|
||||||
var zIndexKey = zIndex.toString();
|
|
||||||
var callbacks = this.callbacksByZIndex_[zIndexKey];
|
|
||||||
if (callbacks !== undefined) {
|
|
||||||
callbacks.push(callback);
|
|
||||||
} else {
|
|
||||||
this.callbacksByZIndex_[zIndexKey] = [callback];
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Render a circle geometry into the canvas. Rendering is immediate and uses
|
* Render a circle geometry into the canvas. Rendering is immediate and uses
|
||||||
* the current fill and stroke styles.
|
* the current fill and stroke styles.
|
||||||
@@ -725,23 +698,6 @@ ol.render.canvas.Immediate.prototype.drawMultiPolygon = function(geometry) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FIXME: empty description for jsdoc
|
|
||||||
*/
|
|
||||||
ol.render.canvas.Immediate.prototype.flush = function() {
|
|
||||||
/** @type {Array.<number>} */
|
|
||||||
var zs = Object.keys(this.callbacksByZIndex_).map(Number);
|
|
||||||
zs.sort(ol.array.numberSafeCompareFunction);
|
|
||||||
var i, ii, callbacks, j, jj;
|
|
||||||
for (i = 0, ii = zs.length; i < ii; ++i) {
|
|
||||||
callbacks = this.callbacksByZIndex_[zs[i].toString()];
|
|
||||||
for (j = 0, jj = callbacks.length; j < jj; ++j) {
|
|
||||||
callbacks[j](this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {ol.render.canvas.FillState} fillState Fill state.
|
* @param {ol.render.canvas.FillState} fillState Fill state.
|
||||||
* @private
|
* @private
|
||||||
|
|||||||
@@ -127,7 +127,6 @@ ol.renderer.canvas.Layer.prototype.dispatchComposeEvent_ = function(type, contex
|
|||||||
var composeEvent = new ol.render.Event(type, layer, render, frameState,
|
var composeEvent = new ol.render.Event(type, layer, render, frameState,
|
||||||
context, null);
|
context, null);
|
||||||
layer.dispatchEvent(composeEvent);
|
layer.dispatchEvent(composeEvent);
|
||||||
render.flush();
|
|
||||||
ol.render.canvas.rotateAtOffset(context, rotation, width / 2, height / 2);
|
ol.render.canvas.rotateAtOffset(context, rotation, width / 2, height / 2);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -138,8 +138,6 @@ ol.renderer.canvas.Map.prototype.dispatchComposeEvent_ = function(type, frameSta
|
|||||||
var composeEvent = new ol.render.Event(type, map, vectorContext,
|
var composeEvent = new ol.render.Event(type, map, vectorContext,
|
||||||
frameState, context, null);
|
frameState, context, null);
|
||||||
map.dispatchEvent(composeEvent);
|
map.dispatchEvent(composeEvent);
|
||||||
|
|
||||||
vectorContext.flush();
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -138,7 +138,6 @@ ol.renderer.dom.Map.prototype.dispatchComposeEvent_ = function(type, frameState)
|
|||||||
var composeEvent = new ol.render.Event(type, map, vectorContext,
|
var composeEvent = new ol.render.Event(type, map, vectorContext,
|
||||||
frameState, context, null);
|
frameState, context, null);
|
||||||
map.dispatchEvent(composeEvent);
|
map.dispatchEvent(composeEvent);
|
||||||
vectorContext.flush();
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -175,7 +175,6 @@ ol.renderer.dom.VectorLayer.prototype.dispatchEvent_ = function(type, frameState
|
|||||||
var event = new ol.render.Event(type, layer, render, frameState,
|
var event = new ol.render.Event(type, layer, render, frameState,
|
||||||
context, null);
|
context, null);
|
||||||
layer.dispatchEvent(event);
|
layer.dispatchEvent(event);
|
||||||
render.flush();
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -21,21 +21,6 @@ describe('ol.render.canvas.Immediate', function() {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#flush', function() {
|
|
||||||
it('calls callback in correct z-order', function() {
|
|
||||||
var canvas = new ol.render.canvas.Immediate();
|
|
||||||
var log = [];
|
|
||||||
canvas.drawAsync(11, function() {
|
|
||||||
log.push(11);
|
|
||||||
});
|
|
||||||
canvas.drawAsync(5, function() {
|
|
||||||
log.push(5);
|
|
||||||
});
|
|
||||||
canvas.flush();
|
|
||||||
expect(log).to.eql([5, 11]);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe('#setStyle()', function() {
|
describe('#setStyle()', function() {
|
||||||
it('calls the more specific methods with style parts', function() {
|
it('calls the more specific methods with style parts', function() {
|
||||||
var context = new ol.render.canvas.Immediate();
|
var context = new ol.render.canvas.Immediate();
|
||||||
|
|||||||
Reference in New Issue
Block a user