Add skeleton for webgl immediate renderer
This commit is contained in:
@@ -91,7 +91,6 @@ ol.render.Box.prototype.disposeInternal = function() {
|
||||
* @private
|
||||
*/
|
||||
ol.render.Box.prototype.handleMapPostCompose_ = function(event) {
|
||||
this.geometry_ = this.createGeometry_();
|
||||
var style = this.style_;
|
||||
goog.asserts.assert(!goog.isNull(style));
|
||||
var render = event.getRender();
|
||||
@@ -148,5 +147,6 @@ ol.render.Box.prototype.setCoordinates =
|
||||
function(startCoordinate, endCoordinate) {
|
||||
this.startCoordinate_ = startCoordinate;
|
||||
this.endCoordinate_ = endCoordinate;
|
||||
this.geometry_ = this.createGeometry_();
|
||||
this.requestMapRenderFrame_();
|
||||
};
|
||||
|
||||
109
src/ol/render/webgl/webglimmediate.js
Normal file
109
src/ol/render/webgl/webglimmediate.js
Normal file
@@ -0,0 +1,109 @@
|
||||
goog.provide('ol.render.webgl.Immediate');
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
* @implements {ol.render.IRender}
|
||||
* @param {ol.webgl.Context} context Context.
|
||||
* @param {number} pixelRatio Pixel ratio.
|
||||
* @struct
|
||||
*/
|
||||
ol.render.webgl.Immediate = function(context, pixelRatio) {
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @param {ol.Feature} feature Feature.
|
||||
* @param {ol.style.Style} style Style.
|
||||
*/
|
||||
ol.render.webgl.Immediate.prototype.drawFeature = function(feature, style) {
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @param {ol.geom.GeometryCollection} geometryCollectionGeometry Geometry
|
||||
* collection.
|
||||
* @param {Object} data Opaque data object.
|
||||
*/
|
||||
ol.render.webgl.Immediate.prototype.drawGeometryCollectionGeometry =
|
||||
function(geometryCollectionGeometry, data) {
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @param {ol.geom.Point} pointGeometry Point geometry.
|
||||
* @param {Object} data Opaque data object.
|
||||
*/
|
||||
ol.render.webgl.Immediate.prototype.drawPointGeometry =
|
||||
function(pointGeometry, data) {
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @param {ol.geom.LineString} lineStringGeometry Line string geometry.
|
||||
* @param {Object} data Opaque data object.
|
||||
*/
|
||||
ol.render.webgl.Immediate.prototype.drawLineStringGeometry =
|
||||
function(lineStringGeometry, data) {
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @param {ol.geom.MultiLineString} multiLineStringGeometry
|
||||
* MultiLineString geometry.
|
||||
* @param {Object} data Opaque data object.
|
||||
*/
|
||||
ol.render.webgl.Immediate.prototype.drawMultiLineStringGeometry =
|
||||
function(multiLineStringGeometry, data) {
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @param {ol.geom.MultiPoint} multiPointGeometry MultiPoint geometry.
|
||||
* @param {Object} data Opaque data object.
|
||||
*/
|
||||
ol.render.webgl.Immediate.prototype.drawMultiPointGeometry =
|
||||
function(multiPointGeometry, data) {
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @param {ol.geom.MultiPolygon} multiPolygonGeometry MultiPolygon geometry.
|
||||
* @param {Object} data Opaque data object.
|
||||
*/
|
||||
ol.render.webgl.Immediate.prototype.drawMultiPolygonGeometry =
|
||||
function(multiPolygonGeometry, data) {
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @param {ol.geom.Polygon} polygonGeometry Polygon geometry.
|
||||
* @param {Object} data Opaque data object.
|
||||
*/
|
||||
ol.render.webgl.Immediate.prototype.drawPolygonGeometry =
|
||||
function(polygonGeometry, data) {
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @param {ol.style.Fill} fillStyle Fill style.
|
||||
* @param {ol.style.Stroke} strokeStyle Stroke style.
|
||||
*/
|
||||
ol.render.webgl.Immediate.prototype.setFillStrokeStyle =
|
||||
function(fillStyle, strokeStyle) {
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @param {ol.style.Image} imageStyle Image style.
|
||||
*/
|
||||
ol.render.webgl.Immediate.prototype.setImageStyle = function(imageStyle) {
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @param {ol.style.Text} textStyle Text style.
|
||||
*/
|
||||
ol.render.webgl.Immediate.prototype.setTextStyle = function(textStyle) {
|
||||
};
|
||||
@@ -20,6 +20,7 @@ goog.require('ol.layer.Image');
|
||||
goog.require('ol.layer.Tile');
|
||||
goog.require('ol.render.Event');
|
||||
goog.require('ol.render.EventType');
|
||||
goog.require('ol.render.webgl.Immediate');
|
||||
goog.require('ol.renderer.Map');
|
||||
goog.require('ol.renderer.webgl.ImageLayer');
|
||||
goog.require('ol.renderer.webgl.Layer');
|
||||
@@ -282,10 +283,12 @@ ol.renderer.webgl.Map.prototype.createLayerRenderer = function(layer) {
|
||||
ol.renderer.webgl.Map.prototype.dispatchComposeEvent_ =
|
||||
function(type, frameState) {
|
||||
var map = this.getMap();
|
||||
var context = this.getContext();
|
||||
if (map.hasListener(type)) {
|
||||
var context = this.getContext();
|
||||
var render = new ol.render.webgl.Immediate(context,
|
||||
frameState.devicePixelRatio);
|
||||
var composeEvent = new ol.render.Event(
|
||||
type, map, null, frameState, null, context);
|
||||
type, map, render, frameState, null, context);
|
||||
map.dispatchEvent(composeEvent);
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user