Transformed

This commit is contained in:
Tim Schaub
2017-12-11 16:29:33 -07:00
parent 1cdb6a66f0
commit 7f47883c48
737 changed files with 22216 additions and 21609 deletions

View File

@@ -1,16 +1,16 @@
goog.provide('ol.render.webgl.TextReplay');
goog.require('ol');
goog.require('ol.colorlike');
goog.require('ol.dom');
goog.require('ol.geom.GeometryType');
goog.require('ol.has');
goog.require('ol.render.replay');
goog.require('ol.render.webgl');
goog.require('ol.render.webgl.TextureReplay');
goog.require('ol.style.AtlasManager');
goog.require('ol.webgl.Buffer');
/**
* @module ol/render/webgl/TextReplay
*/
import _ol_ from '../../index.js';
import _ol_colorlike_ from '../../colorlike.js';
import _ol_dom_ from '../../dom.js';
import _ol_geom_GeometryType_ from '../../geom/GeometryType.js';
import _ol_has_ from '../../has.js';
import _ol_render_replay_ from '../replay.js';
import _ol_render_webgl_ from '../webgl.js';
import _ol_render_webgl_TextureReplay_ from '../webgl/TextureReplay.js';
import _ol_style_AtlasManager_ from '../../style/AtlasManager.js';
import _ol_webgl_Buffer_ from '../../webgl/Buffer.js';
/**
* @constructor
@@ -19,8 +19,8 @@ goog.require('ol.webgl.Buffer');
* @param {ol.Extent} maxExtent Max extent.
* @struct
*/
ol.render.webgl.TextReplay = function(tolerance, maxExtent) {
ol.render.webgl.TextureReplay.call(this, tolerance, maxExtent);
var _ol_render_webgl_TextReplay_ = function(tolerance, maxExtent) {
_ol_render_webgl_TextureReplay_.call(this, tolerance, maxExtent);
/**
* @private
@@ -38,7 +38,7 @@ ol.render.webgl.TextReplay = function(tolerance, maxExtent) {
* @private
* @type {HTMLCanvasElement}
*/
this.measureCanvas_ = ol.dom.createCanvasContext2D(0, 0).canvas;
this.measureCanvas_ = _ol_dom_.createCanvasContext2D(0, 0).canvas;
/**
* @private
@@ -113,39 +113,40 @@ ol.render.webgl.TextReplay = function(tolerance, maxExtent) {
this.opacity = 1;
};
ol.inherits(ol.render.webgl.TextReplay, ol.render.webgl.TextureReplay);
_ol_.inherits(_ol_render_webgl_TextReplay_, _ol_render_webgl_TextureReplay_);
/**
* @inheritDoc
*/
ol.render.webgl.TextReplay.prototype.drawText = function(geometry, feature) {
_ol_render_webgl_TextReplay_.prototype.drawText = function(geometry, feature) {
if (this.text_) {
var flatCoordinates = null;
var offset = 0;
var end = 2;
var stride = 2;
switch (geometry.getType()) {
case ol.geom.GeometryType.POINT:
case ol.geom.GeometryType.MULTI_POINT:
case _ol_geom_GeometryType_.POINT:
case _ol_geom_GeometryType_.MULTI_POINT:
flatCoordinates = geometry.getFlatCoordinates();
end = flatCoordinates.length;
stride = geometry.getStride();
break;
case ol.geom.GeometryType.CIRCLE:
case _ol_geom_GeometryType_.CIRCLE:
flatCoordinates = /** @type {ol.geom.Circle} */ (geometry).getCenter();
break;
case ol.geom.GeometryType.LINE_STRING:
case _ol_geom_GeometryType_.LINE_STRING:
flatCoordinates = /** @type {ol.geom.LineString} */ (geometry).getFlatMidpoint();
break;
case ol.geom.GeometryType.MULTI_LINE_STRING:
case _ol_geom_GeometryType_.MULTI_LINE_STRING:
flatCoordinates = /** @type {ol.geom.MultiLineString} */ (geometry).getFlatMidpoints();
end = flatCoordinates.length;
break;
case ol.geom.GeometryType.POLYGON:
case _ol_geom_GeometryType_.POLYGON:
flatCoordinates = /** @type {ol.geom.Polygon} */ (geometry).getFlatInteriorPoint();
break;
case ol.geom.GeometryType.MULTI_POLYGON:
case _ol_geom_GeometryType_.MULTI_POLYGON:
flatCoordinates = /** @type {ol.geom.MultiPolygon} */ (geometry).getFlatInteriorPoints();
end = flatCoordinates.length;
break;
@@ -188,7 +189,7 @@ ol.render.webgl.TextReplay.prototype.drawText = function(geometry, feature) {
this.images_.push(image);
} else {
currentImage = this.images_[this.images_.length - 1];
if (ol.getUid(currentImage) != ol.getUid(image)) {
if (_ol_.getUid(currentImage) != _ol_.getUid(image)) {
this.groupIndices.push(this.indices.length);
this.images_.push(image);
}
@@ -208,7 +209,7 @@ ol.render.webgl.TextReplay.prototype.drawText = function(geometry, feature) {
* @param {Array.<string>} lines Label to draw split to lines.
* @return {Array.<number>} Size of the label in pixels.
*/
ol.render.webgl.TextReplay.prototype.getTextSize_ = function(lines) {
_ol_render_webgl_TextReplay_.prototype.getTextSize_ = function(lines) {
var self = this;
var glyphAtlas = this.currAtlas_;
var textHeight = lines.length * glyphAtlas.height;
@@ -239,7 +240,7 @@ ol.render.webgl.TextReplay.prototype.getTextSize_ = function(lines) {
* @param {number} end End.
* @param {number} stride Stride.
*/
ol.render.webgl.TextReplay.prototype.drawText_ = function(flatCoordinates, offset,
_ol_render_webgl_TextReplay_.prototype.drawText_ = function(flatCoordinates, offset,
end, stride) {
var i, ii;
for (i = offset, ii = end; i < ii; i += stride) {
@@ -252,7 +253,7 @@ ol.render.webgl.TextReplay.prototype.drawText_ = function(flatCoordinates, offse
* @private
* @param {string} char Character.
*/
ol.render.webgl.TextReplay.prototype.addCharToAtlas_ = function(char) {
_ol_render_webgl_TextReplay_.prototype.addCharToAtlas_ = function(char) {
if (char.length === 1) {
var glyphAtlas = this.currAtlas_;
var state = this.state_;
@@ -272,7 +273,7 @@ ol.render.webgl.TextReplay.prototype.addCharToAtlas_ = function(char) {
ctx.miterLimit = /** @type {number} */ (state.miterLimit);
ctx.textAlign = 'left';
ctx.textBaseline = 'top';
if (ol.has.CANVAS_LINE_DASH && state.lineDash) {
if (_ol_has_.CANVAS_LINE_DASH && state.lineDash) {
//FIXME: use pixelRatio
ctx.setLineDash(state.lineDash);
ctx.lineDashOffset = /** @type {number} */ (state.lineDashOffset);
@@ -302,17 +303,17 @@ ol.render.webgl.TextReplay.prototype.addCharToAtlas_ = function(char) {
/**
* @inheritDoc
*/
ol.render.webgl.TextReplay.prototype.finish = function(context) {
_ol_render_webgl_TextReplay_.prototype.finish = function(context) {
var gl = context.getGL();
this.groupIndices.push(this.indices.length);
this.hitDetectionGroupIndices = this.groupIndices;
// create, bind, and populate the vertices buffer
this.verticesBuffer = new ol.webgl.Buffer(this.vertices);
this.verticesBuffer = new _ol_webgl_Buffer_(this.vertices);
// create, bind, and populate the indices buffer
this.indicesBuffer = new ol.webgl.Buffer(this.indices);
this.indicesBuffer = new _ol_webgl_Buffer_(this.indices);
// create textures
/** @type {Object.<string, WebGLTexture>} */
@@ -340,14 +341,14 @@ ol.render.webgl.TextReplay.prototype.finish = function(context) {
this.images_ = null;
this.atlases_ = {};
this.currAtlas_ = undefined;
ol.render.webgl.TextureReplay.prototype.finish.call(this, context);
_ol_render_webgl_TextureReplay_.prototype.finish.call(this, context);
};
/**
* @inheritDoc
*/
ol.render.webgl.TextReplay.prototype.setTextStyle = function(textStyle) {
_ol_render_webgl_TextReplay_.prototype.setTextStyle = function(textStyle) {
var state = this.state_;
var textFillStyle = textStyle.getFill();
var textStrokeStyle = textStyle.getStroke();
@@ -358,33 +359,33 @@ ol.render.webgl.TextReplay.prototype.setTextStyle = function(textStyle) {
state.fillColor = null;
} else {
var textFillStyleColor = textFillStyle.getColor();
state.fillColor = ol.colorlike.asColorLike(textFillStyleColor ?
textFillStyleColor : ol.render.webgl.defaultFillStyle);
state.fillColor = _ol_colorlike_.asColorLike(textFillStyleColor ?
textFillStyleColor : _ol_render_webgl_.defaultFillStyle);
}
if (!textStrokeStyle) {
state.strokeColor = null;
state.lineWidth = 0;
} else {
var textStrokeStyleColor = textStrokeStyle.getColor();
state.strokeColor = ol.colorlike.asColorLike(textStrokeStyleColor ?
textStrokeStyleColor : ol.render.webgl.defaultStrokeStyle);
state.lineWidth = textStrokeStyle.getWidth() || ol.render.webgl.defaultLineWidth;
state.lineCap = textStrokeStyle.getLineCap() || ol.render.webgl.defaultLineCap;
state.lineDashOffset = textStrokeStyle.getLineDashOffset() || ol.render.webgl.defaultLineDashOffset;
state.lineJoin = textStrokeStyle.getLineJoin() || ol.render.webgl.defaultLineJoin;
state.miterLimit = textStrokeStyle.getMiterLimit() || ol.render.webgl.defaultMiterLimit;
state.strokeColor = _ol_colorlike_.asColorLike(textStrokeStyleColor ?
textStrokeStyleColor : _ol_render_webgl_.defaultStrokeStyle);
state.lineWidth = textStrokeStyle.getWidth() || _ol_render_webgl_.defaultLineWidth;
state.lineCap = textStrokeStyle.getLineCap() || _ol_render_webgl_.defaultLineCap;
state.lineDashOffset = textStrokeStyle.getLineDashOffset() || _ol_render_webgl_.defaultLineDashOffset;
state.lineJoin = textStrokeStyle.getLineJoin() || _ol_render_webgl_.defaultLineJoin;
state.miterLimit = textStrokeStyle.getMiterLimit() || _ol_render_webgl_.defaultMiterLimit;
var lineDash = textStrokeStyle.getLineDash();
state.lineDash = lineDash ? lineDash.slice() : ol.render.webgl.defaultLineDash;
state.lineDash = lineDash ? lineDash.slice() : _ol_render_webgl_.defaultLineDash;
}
state.font = textStyle.getFont() || ol.render.webgl.defaultFont;
state.font = textStyle.getFont() || _ol_render_webgl_.defaultFont;
state.scale = textStyle.getScale() || 1;
this.text_ = /** @type {string} */ (textStyle.getText());
var textAlign = ol.render.replay.TEXT_ALIGN[textStyle.getTextAlign()];
var textBaseline = ol.render.replay.TEXT_ALIGN[textStyle.getTextBaseline()];
var textAlign = _ol_render_replay_.TEXT_ALIGN[textStyle.getTextAlign()];
var textBaseline = _ol_render_replay_.TEXT_ALIGN[textStyle.getTextBaseline()];
this.textAlign_ = textAlign === undefined ?
ol.render.webgl.defaultTextAlign : textAlign;
_ol_render_webgl_.defaultTextAlign : textAlign;
this.textBaseline_ = textBaseline === undefined ?
ol.render.webgl.defaultTextBaseline : textBaseline;
_ol_render_webgl_.defaultTextBaseline : textBaseline;
this.offsetX_ = textStyle.getOffsetX() || 0;
this.offsetY_ = textStyle.getOffsetY() || 0;
this.rotateWithView = !!textStyle.getRotateWithView();
@@ -400,7 +401,7 @@ ol.render.webgl.TextReplay.prototype.setTextStyle = function(textStyle) {
* @param {Object} state Font attributes.
* @return {ol.WebglGlyphAtlas} Glyph atlas.
*/
ol.render.webgl.TextReplay.prototype.getAtlas_ = function(state) {
_ol_render_webgl_TextReplay_.prototype.getAtlas_ = function(state) {
var params = [];
var i;
for (i in state) {
@@ -420,7 +421,7 @@ ol.render.webgl.TextReplay.prototype.getAtlas_ = function(state) {
state.lineWidth / 2) * state.scale);
this.atlases_[hash] = {
atlas: new ol.style.AtlasManager({
atlas: new _ol_style_AtlasManager_({
space: state.lineWidth + 1
}),
width: {},
@@ -436,7 +437,7 @@ ol.render.webgl.TextReplay.prototype.getAtlas_ = function(state) {
* @param {Array.<string|number>} params Array of parameters.
* @return {string} Hash string.
*/
ol.render.webgl.TextReplay.prototype.calculateHash_ = function(params) {
_ol_render_webgl_TextReplay_.prototype.calculateHash_ = function(params) {
//TODO: Create a more performant, reliable, general hash function.
var i, ii;
var hash = '';
@@ -450,7 +451,7 @@ ol.render.webgl.TextReplay.prototype.calculateHash_ = function(params) {
/**
* @inheritDoc
*/
ol.render.webgl.TextReplay.prototype.getTextures = function(opt_all) {
_ol_render_webgl_TextReplay_.prototype.getTextures = function(opt_all) {
return this.textures_;
};
@@ -458,6 +459,7 @@ ol.render.webgl.TextReplay.prototype.getTextures = function(opt_all) {
/**
* @inheritDoc
*/
ol.render.webgl.TextReplay.prototype.getHitDetectionTextures = function() {
_ol_render_webgl_TextReplay_.prototype.getHitDetectionTextures = function() {
return this.textures_;
};
export default _ol_render_webgl_TextReplay_;