Add skeleton for webgl immediate renderer
This commit is contained in:
@@ -91,7 +91,6 @@ ol.render.Box.prototype.disposeInternal = function() {
|
|||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
ol.render.Box.prototype.handleMapPostCompose_ = function(event) {
|
ol.render.Box.prototype.handleMapPostCompose_ = function(event) {
|
||||||
this.geometry_ = this.createGeometry_();
|
|
||||||
var style = this.style_;
|
var style = this.style_;
|
||||||
goog.asserts.assert(!goog.isNull(style));
|
goog.asserts.assert(!goog.isNull(style));
|
||||||
var render = event.getRender();
|
var render = event.getRender();
|
||||||
@@ -148,5 +147,6 @@ ol.render.Box.prototype.setCoordinates =
|
|||||||
function(startCoordinate, endCoordinate) {
|
function(startCoordinate, endCoordinate) {
|
||||||
this.startCoordinate_ = startCoordinate;
|
this.startCoordinate_ = startCoordinate;
|
||||||
this.endCoordinate_ = endCoordinate;
|
this.endCoordinate_ = endCoordinate;
|
||||||
|
this.geometry_ = this.createGeometry_();
|
||||||
this.requestMapRenderFrame_();
|
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.layer.Tile');
|
||||||
goog.require('ol.render.Event');
|
goog.require('ol.render.Event');
|
||||||
goog.require('ol.render.EventType');
|
goog.require('ol.render.EventType');
|
||||||
|
goog.require('ol.render.webgl.Immediate');
|
||||||
goog.require('ol.renderer.Map');
|
goog.require('ol.renderer.Map');
|
||||||
goog.require('ol.renderer.webgl.ImageLayer');
|
goog.require('ol.renderer.webgl.ImageLayer');
|
||||||
goog.require('ol.renderer.webgl.Layer');
|
goog.require('ol.renderer.webgl.Layer');
|
||||||
@@ -282,10 +283,12 @@ ol.renderer.webgl.Map.prototype.createLayerRenderer = function(layer) {
|
|||||||
ol.renderer.webgl.Map.prototype.dispatchComposeEvent_ =
|
ol.renderer.webgl.Map.prototype.dispatchComposeEvent_ =
|
||||||
function(type, frameState) {
|
function(type, frameState) {
|
||||||
var map = this.getMap();
|
var map = this.getMap();
|
||||||
var context = this.getContext();
|
|
||||||
if (map.hasListener(type)) {
|
if (map.hasListener(type)) {
|
||||||
|
var context = this.getContext();
|
||||||
|
var render = new ol.render.webgl.Immediate(context,
|
||||||
|
frameState.devicePixelRatio);
|
||||||
var composeEvent = new ol.render.Event(
|
var composeEvent = new ol.render.Event(
|
||||||
type, map, null, frameState, null, context);
|
type, map, render, frameState, null, context);
|
||||||
map.dispatchEvent(composeEvent);
|
map.dispatchEvent(composeEvent);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user