geojs 1.8.9 → 1.8.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # GeoJS Change Log
2
2
 
3
+ ## Version 1.8.10
4
+
5
+ ### Improvements
6
+
7
+ - Added a uniformLine property to speed up line rendering ([#1211](../../pull/1211))
8
+
9
+ ## Version 1.8.9
10
+
11
+ ### Bug Fixes
12
+
13
+ - Fix a bug introduced in #1207 ([#1210](../../pull/1210))
14
+
3
15
  ## Version 1.8.8
4
16
 
5
17
  ### Improvements
package/geo.js CHANGED
@@ -11490,6 +11490,7 @@ var geojsonReader = function geojsonReader(arg) {
11490
11490
  strokeOffset: 0,
11491
11491
  lineCap: 'butt',
11492
11492
  lineJoin: 'miter',
11493
+ uniformLine: true,
11493
11494
  closed: false
11494
11495
  }, arg.lineStyle),
11495
11496
  polygonStyle: _objectSpread({
@@ -11499,7 +11500,8 @@ var geojsonReader = function geojsonReader(arg) {
11499
11500
  stroke: true,
11500
11501
  strokeColor: '#999999',
11501
11502
  strokeWidth: 2,
11502
- strokeOpacity: 1
11503
+ strokeOpacity: 1,
11504
+ uniformPolygon: true
11503
11505
  }, arg.polygonStyle)
11504
11506
  });
11505
11507
 
@@ -15141,6 +15143,9 @@ var util = __webpack_require__(4634);
15141
15143
  * divided by the sine of half the angle between segments, then a bevel join
15142
15144
  * is used instead. This is a single value that applies to all lines. If a
15143
15145
  * function, it is called with `(data)`.
15146
+ * @property {boolean|function} [uniformLine=false] Boolean indicating if each
15147
+ * line has a uniform style (uniform stroke color, opacity, and width). Can
15148
+ * vary by line.
15144
15149
  * @property {number|function} [antialiasing] Antialiasing distance in pixels.
15145
15150
  * Values must be non-negative. A value greater than 1 will produce a
15146
15151
  * visible gradient. This is a single value that applies to all lines.
@@ -15258,24 +15263,38 @@ var lineFeature = function lineFeature(arg) {
15258
15263
  var data = m_this.data(),
15259
15264
  line = m_this.line(),
15260
15265
  widthFunc = m_this.style.get('strokeWidth'),
15266
+ widthVal = util.isFunction(m_this.style('strokeWidth')) ? undefined : widthFunc(),
15261
15267
  posFunc = m_this.position(),
15262
15268
  closedFunc = m_this.style.get('closed'),
15269
+ closedVal = util.isFunction(m_this.style('closed')) ? undefined : closedFunc(),
15270
+ uniformFunc = m_this.style.get('uniformLine'),
15271
+ uniformVal = util.isFunction(m_this.style('uniformLine')) ? undefined : uniformFunc(),
15263
15272
  gcs = m_this.gcs(),
15264
- mapgcs = m_this.layer().map().gcs();
15265
- data.forEach(function (d, index) {
15266
- var closed = closedFunc(d, index),
15267
- last,
15268
- lasti,
15269
- lastr,
15270
- lastr2,
15271
- first,
15272
- record = [],
15273
- min,
15274
- max;
15275
- line(d, index).forEach(function (current, j) {
15273
+ mapgcs = m_this.layer().map().gcs(),
15274
+ onlyInvertedY = transform.onlyInvertedY(gcs, mapgcs);
15275
+
15276
+ for (var index = 0; index < data.length; index += 1) {
15277
+ var d = data[index];
15278
+ var closed = closedVal === undefined ? closedFunc(d, index) : closedVal;
15279
+ var last = void 0,
15280
+ lasti = void 0,
15281
+ lastr = void 0,
15282
+ lastr2 = void 0,
15283
+ first = void 0,
15284
+ min = void 0,
15285
+ max = void 0,
15286
+ width = void 0;
15287
+ var record = [];
15288
+ var uniform = uniformVal === undefined ? uniformFunc(d, index) : uniformVal;
15289
+ var lineRecord = line(d, index);
15290
+
15291
+ for (var j = 0; j < lineRecord.length; j += 1) {
15292
+ var current = lineRecord[j];
15276
15293
  var p = posFunc(current, j, d, index);
15277
15294
 
15278
- if (gcs !== mapgcs) {
15295
+ if (onlyInvertedY) {
15296
+ p.y = -p.y;
15297
+ } else if (gcs !== mapgcs) {
15279
15298
  p = transform.transformCoordinates(gcs, mapgcs, p);
15280
15299
  }
15281
15300
 
@@ -15309,7 +15328,11 @@ var lineFeature = function lineFeature(arg) {
15309
15328
  max.y = p.y;
15310
15329
  }
15311
15330
 
15312
- var r = Math.ceil(widthFunc(current, j, d, index) / 2) + 2;
15331
+ if (!uniform || !j) {
15332
+ width = widthVal === undefined ? widthFunc(current, j, d, index) : widthVal;
15333
+ }
15334
+
15335
+ var r = Math.ceil(width / 2) + 2;
15313
15336
 
15314
15337
  if (max.r === undefined || r > max.r) {
15315
15338
  max.r = r;
@@ -15341,7 +15364,7 @@ var lineFeature = function lineFeature(arg) {
15341
15364
  i: j
15342
15365
  };
15343
15366
  }
15344
- });
15367
+ }
15345
15368
 
15346
15369
  if (closed && first && (last.x !== first.p.x || last.y !== first.p.y)) {
15347
15370
  record.push({
@@ -15357,7 +15380,8 @@ var lineFeature = function lineFeature(arg) {
15357
15380
  record.min = min;
15358
15381
  record.max = max;
15359
15382
  m_pointSearchInfo.push(record);
15360
- });
15383
+ }
15384
+
15361
15385
  return m_pointSearchInfo;
15362
15386
  };
15363
15387
  /**
@@ -24850,7 +24874,8 @@ var polygonFeature = function polygonFeature(arg) {
24850
24874
  strokeStyle: linePolyStyle(polyStyle.strokeStyle),
24851
24875
  strokeColor: linePolyStyle(polyStyle.strokeColor),
24852
24876
  strokeOffset: linePolyStyle(polyStyle.strokeOffset),
24853
- strokeOpacity: strokeOpacity
24877
+ strokeOpacity: strokeOpacity,
24878
+ uniformLine: linePolyStyle(polyStyle.uniformPolygon)
24854
24879
  });
24855
24880
  var data = m_this.data(),
24856
24881
  posVal = m_this.style('position');
@@ -27034,7 +27059,7 @@ module.exports = sceneObject;
27034
27059
  * @constant
27035
27060
  * @type {string}
27036
27061
  */
27037
- module.exports = "eacf9ad316c55bd4e941894ac51f0071b59d67f7";
27062
+ module.exports = "e13f6d922451bb86544884283bfb31843f58bd60";
27038
27063
 
27039
27064
  /***/ }),
27040
27065
 
@@ -39556,7 +39581,7 @@ module.exports = vectorFeature;
39556
39581
  * @constant
39557
39582
  * @type {string}
39558
39583
  */
39559
- module.exports = "1.8.9";
39584
+ module.exports = "1.8.10";
39560
39585
 
39561
39586
  /***/ }),
39562
39587
 
@@ -40808,6 +40833,9 @@ var webgl_lineFeature = function webgl_lineFeature(arg) {
40808
40833
  strokeOffsetVal,
40809
40834
  miterLimit = m_this.style.get('miterLimit')(data),
40810
40835
  antialiasing = m_this.style.get('antialiasing')(data) || 0,
40836
+ uniformFunc = m_this.style.get('uniformLine'),
40837
+ uniformVal,
40838
+ uniform,
40811
40839
  order = m_this.featureVertices(),
40812
40840
  orderk0,
40813
40841
  prevkey,
@@ -40838,6 +40866,7 @@ var webgl_lineFeature = function webgl_lineFeature(arg) {
40838
40866
  strokeOffsetVal = util.isFunction(m_this.style('strokeOffset')) ? undefined : strokeOffsetFunc() || 0;
40839
40867
  strokeOpacityVal = util.isFunction(m_this.style('strokeOpacity')) ? undefined : strokeOpacityFunc();
40840
40868
  strokeWidthVal = util.isFunction(m_this.style('strokeWidth')) ? undefined : strokeWidthFunc();
40869
+ uniformVal = util.isFunction(m_this.style('uniformLine')) ? undefined : uniformFunc();
40841
40870
 
40842
40871
  if (miterLimit !== undefined) {
40843
40872
  /* We impose a limit no matter what, since otherwise the growth is
@@ -40946,6 +40975,7 @@ var webgl_lineFeature = function webgl_lineFeature(arg) {
40946
40975
  continue;
40947
40976
  }
40948
40977
 
40978
+ uniform = uniformVal === undefined ? uniformFunc(lineItem, i) : uniformVal;
40949
40979
  d = data[i];
40950
40980
  closedVal = closed[i];
40951
40981
  firstPosIdx3 = posIdx3;
@@ -40975,13 +41005,27 @@ var webgl_lineFeature = function webgl_lineFeature(arg) {
40975
41005
  v.next = j + 1 < lineItem.length ? posIdx3 + 3 : closedVal ? j !== lidx ? firstPosIdx3 + 3 : firstPosIdx3 + 6 - closedVal * 3 : posIdx3;
40976
41006
  }
40977
41007
 
40978
- v.strokeWidth = strokeWidthVal === undefined ? strokeWidthFunc(lineItemData, lidx, d, i) : strokeWidthVal;
40979
- v.strokeColor = strokeColorVal === undefined ? strokeColorFunc(lineItemData, lidx, d, i) : strokeColorVal;
40980
- v.strokeOpacity = strokeOpacityVal === undefined ? strokeOpacityFunc(lineItemData, lidx, d, i) : strokeOpacityVal;
41008
+ if (uniform && j > 0) {
41009
+ if (j === 1) {
41010
+ v.strokeWidth = vert[0].strokeWidth;
41011
+ v.strokeColor = vert[0].strokeColor;
41012
+ v.strokeOpacity = vert[0].strokeOpacity;
41013
+ }
41014
+ } else {
41015
+ v.strokeWidth = strokeWidthVal === undefined ? strokeWidthFunc(lineItemData, lidx, d, i) : strokeWidthVal;
41016
+ v.strokeColor = strokeColorVal === undefined ? strokeColorFunc(lineItemData, lidx, d, i) : strokeColorVal;
41017
+ v.strokeOpacity = strokeOpacityVal === undefined ? strokeOpacityFunc(lineItemData, lidx, d, i) : strokeOpacityVal;
41018
+ }
40981
41019
 
40982
41020
  if (updateFlags) {
40983
41021
  if (strokeOffsetVal !== 0) {
40984
- v.strokeOffset = (strokeOffsetVal === undefined ? strokeOffsetFunc(lineItemData, lidx, d, i) : strokeOffsetVal) || 0;
41022
+ if (uniform && j > 0) {
41023
+ if (j === 1) {
41024
+ v.strokeOffset = vert[0].strokeOffset;
41025
+ }
41026
+ } else {
41027
+ v.strokeOffset = (strokeOffsetVal === undefined ? strokeOffsetFunc(lineItemData, lidx, d, i) : strokeOffsetVal) || 0;
41028
+ }
40985
41029
 
40986
41030
  if (v.strokeOffset) {
40987
41031
  /* we use 11 bits to store the offset, and we want to store values
@@ -43411,7 +43455,8 @@ var webgl_polygonFeature = function webgl_polygonFeature(arg) {
43411
43455
  fillOpacityVal,
43412
43456
  fillFunc,
43413
43457
  fillVal,
43414
- uniformPolyFunc,
43458
+ uniformFunc,
43459
+ uniformVal,
43415
43460
  uniform,
43416
43461
  indices,
43417
43462
  items = [],
@@ -43439,7 +43484,8 @@ var webgl_polygonFeature = function webgl_polygonFeature(arg) {
43439
43484
  fillOpacityVal = util.isFunction(m_this.style('fillOpacity')) ? undefined : fillOpacityFunc();
43440
43485
  fillFunc = m_this.style.get('fill');
43441
43486
  fillVal = util.isFunction(m_this.style('fill')) ? undefined : fillFunc();
43442
- uniformPolyFunc = m_this.style.get('uniformPolygon');
43487
+ uniformFunc = m_this.style.get('uniformPolygon');
43488
+ uniformVal = util.isFunction(m_this.style('uniformPolygon')) ? undefined : uniformFunc();
43443
43489
 
43444
43490
  if (!onlyStyle) {
43445
43491
  posFunc = m_this.style.get('position');
@@ -43547,7 +43593,7 @@ var webgl_polygonFeature = function webgl_polygonFeature(arg) {
43547
43593
  item = items[k].item;
43548
43594
  itemIndex = items[k].itemIndex;
43549
43595
  original = items[k].original;
43550
- uniform = uniformPolyFunc(item, itemIndex);
43596
+ uniform = uniformVal === undefined ? uniformFunc(item, itemIndex) : uniformVal;
43551
43597
  opacity = fillOpacityVal;
43552
43598
 
43553
43599
  if (uniform) {
package/geo.lean.js CHANGED
@@ -11490,6 +11490,7 @@ var geojsonReader = function geojsonReader(arg) {
11490
11490
  strokeOffset: 0,
11491
11491
  lineCap: 'butt',
11492
11492
  lineJoin: 'miter',
11493
+ uniformLine: true,
11493
11494
  closed: false
11494
11495
  }, arg.lineStyle),
11495
11496
  polygonStyle: _objectSpread({
@@ -11499,7 +11500,8 @@ var geojsonReader = function geojsonReader(arg) {
11499
11500
  stroke: true,
11500
11501
  strokeColor: '#999999',
11501
11502
  strokeWidth: 2,
11502
- strokeOpacity: 1
11503
+ strokeOpacity: 1,
11504
+ uniformPolygon: true
11503
11505
  }, arg.polygonStyle)
11504
11506
  });
11505
11507
 
@@ -15141,6 +15143,9 @@ var util = __webpack_require__(4634);
15141
15143
  * divided by the sine of half the angle between segments, then a bevel join
15142
15144
  * is used instead. This is a single value that applies to all lines. If a
15143
15145
  * function, it is called with `(data)`.
15146
+ * @property {boolean|function} [uniformLine=false] Boolean indicating if each
15147
+ * line has a uniform style (uniform stroke color, opacity, and width). Can
15148
+ * vary by line.
15144
15149
  * @property {number|function} [antialiasing] Antialiasing distance in pixels.
15145
15150
  * Values must be non-negative. A value greater than 1 will produce a
15146
15151
  * visible gradient. This is a single value that applies to all lines.
@@ -15258,24 +15263,38 @@ var lineFeature = function lineFeature(arg) {
15258
15263
  var data = m_this.data(),
15259
15264
  line = m_this.line(),
15260
15265
  widthFunc = m_this.style.get('strokeWidth'),
15266
+ widthVal = util.isFunction(m_this.style('strokeWidth')) ? undefined : widthFunc(),
15261
15267
  posFunc = m_this.position(),
15262
15268
  closedFunc = m_this.style.get('closed'),
15269
+ closedVal = util.isFunction(m_this.style('closed')) ? undefined : closedFunc(),
15270
+ uniformFunc = m_this.style.get('uniformLine'),
15271
+ uniformVal = util.isFunction(m_this.style('uniformLine')) ? undefined : uniformFunc(),
15263
15272
  gcs = m_this.gcs(),
15264
- mapgcs = m_this.layer().map().gcs();
15265
- data.forEach(function (d, index) {
15266
- var closed = closedFunc(d, index),
15267
- last,
15268
- lasti,
15269
- lastr,
15270
- lastr2,
15271
- first,
15272
- record = [],
15273
- min,
15274
- max;
15275
- line(d, index).forEach(function (current, j) {
15273
+ mapgcs = m_this.layer().map().gcs(),
15274
+ onlyInvertedY = transform.onlyInvertedY(gcs, mapgcs);
15275
+
15276
+ for (var index = 0; index < data.length; index += 1) {
15277
+ var d = data[index];
15278
+ var closed = closedVal === undefined ? closedFunc(d, index) : closedVal;
15279
+ var last = void 0,
15280
+ lasti = void 0,
15281
+ lastr = void 0,
15282
+ lastr2 = void 0,
15283
+ first = void 0,
15284
+ min = void 0,
15285
+ max = void 0,
15286
+ width = void 0;
15287
+ var record = [];
15288
+ var uniform = uniformVal === undefined ? uniformFunc(d, index) : uniformVal;
15289
+ var lineRecord = line(d, index);
15290
+
15291
+ for (var j = 0; j < lineRecord.length; j += 1) {
15292
+ var current = lineRecord[j];
15276
15293
  var p = posFunc(current, j, d, index);
15277
15294
 
15278
- if (gcs !== mapgcs) {
15295
+ if (onlyInvertedY) {
15296
+ p.y = -p.y;
15297
+ } else if (gcs !== mapgcs) {
15279
15298
  p = transform.transformCoordinates(gcs, mapgcs, p);
15280
15299
  }
15281
15300
 
@@ -15309,7 +15328,11 @@ var lineFeature = function lineFeature(arg) {
15309
15328
  max.y = p.y;
15310
15329
  }
15311
15330
 
15312
- var r = Math.ceil(widthFunc(current, j, d, index) / 2) + 2;
15331
+ if (!uniform || !j) {
15332
+ width = widthVal === undefined ? widthFunc(current, j, d, index) : widthVal;
15333
+ }
15334
+
15335
+ var r = Math.ceil(width / 2) + 2;
15313
15336
 
15314
15337
  if (max.r === undefined || r > max.r) {
15315
15338
  max.r = r;
@@ -15341,7 +15364,7 @@ var lineFeature = function lineFeature(arg) {
15341
15364
  i: j
15342
15365
  };
15343
15366
  }
15344
- });
15367
+ }
15345
15368
 
15346
15369
  if (closed && first && (last.x !== first.p.x || last.y !== first.p.y)) {
15347
15370
  record.push({
@@ -15357,7 +15380,8 @@ var lineFeature = function lineFeature(arg) {
15357
15380
  record.min = min;
15358
15381
  record.max = max;
15359
15382
  m_pointSearchInfo.push(record);
15360
- });
15383
+ }
15384
+
15361
15385
  return m_pointSearchInfo;
15362
15386
  };
15363
15387
  /**
@@ -24850,7 +24874,8 @@ var polygonFeature = function polygonFeature(arg) {
24850
24874
  strokeStyle: linePolyStyle(polyStyle.strokeStyle),
24851
24875
  strokeColor: linePolyStyle(polyStyle.strokeColor),
24852
24876
  strokeOffset: linePolyStyle(polyStyle.strokeOffset),
24853
- strokeOpacity: strokeOpacity
24877
+ strokeOpacity: strokeOpacity,
24878
+ uniformLine: linePolyStyle(polyStyle.uniformPolygon)
24854
24879
  });
24855
24880
  var data = m_this.data(),
24856
24881
  posVal = m_this.style('position');
@@ -27034,7 +27059,7 @@ module.exports = sceneObject;
27034
27059
  * @constant
27035
27060
  * @type {string}
27036
27061
  */
27037
- module.exports = "eacf9ad316c55bd4e941894ac51f0071b59d67f7";
27062
+ module.exports = "e13f6d922451bb86544884283bfb31843f58bd60";
27038
27063
 
27039
27064
  /***/ }),
27040
27065
 
@@ -39556,7 +39581,7 @@ module.exports = vectorFeature;
39556
39581
  * @constant
39557
39582
  * @type {string}
39558
39583
  */
39559
- module.exports = "1.8.9";
39584
+ module.exports = "1.8.10";
39560
39585
 
39561
39586
  /***/ }),
39562
39587
 
@@ -40808,6 +40833,9 @@ var webgl_lineFeature = function webgl_lineFeature(arg) {
40808
40833
  strokeOffsetVal,
40809
40834
  miterLimit = m_this.style.get('miterLimit')(data),
40810
40835
  antialiasing = m_this.style.get('antialiasing')(data) || 0,
40836
+ uniformFunc = m_this.style.get('uniformLine'),
40837
+ uniformVal,
40838
+ uniform,
40811
40839
  order = m_this.featureVertices(),
40812
40840
  orderk0,
40813
40841
  prevkey,
@@ -40838,6 +40866,7 @@ var webgl_lineFeature = function webgl_lineFeature(arg) {
40838
40866
  strokeOffsetVal = util.isFunction(m_this.style('strokeOffset')) ? undefined : strokeOffsetFunc() || 0;
40839
40867
  strokeOpacityVal = util.isFunction(m_this.style('strokeOpacity')) ? undefined : strokeOpacityFunc();
40840
40868
  strokeWidthVal = util.isFunction(m_this.style('strokeWidth')) ? undefined : strokeWidthFunc();
40869
+ uniformVal = util.isFunction(m_this.style('uniformLine')) ? undefined : uniformFunc();
40841
40870
 
40842
40871
  if (miterLimit !== undefined) {
40843
40872
  /* We impose a limit no matter what, since otherwise the growth is
@@ -40946,6 +40975,7 @@ var webgl_lineFeature = function webgl_lineFeature(arg) {
40946
40975
  continue;
40947
40976
  }
40948
40977
 
40978
+ uniform = uniformVal === undefined ? uniformFunc(lineItem, i) : uniformVal;
40949
40979
  d = data[i];
40950
40980
  closedVal = closed[i];
40951
40981
  firstPosIdx3 = posIdx3;
@@ -40975,13 +41005,27 @@ var webgl_lineFeature = function webgl_lineFeature(arg) {
40975
41005
  v.next = j + 1 < lineItem.length ? posIdx3 + 3 : closedVal ? j !== lidx ? firstPosIdx3 + 3 : firstPosIdx3 + 6 - closedVal * 3 : posIdx3;
40976
41006
  }
40977
41007
 
40978
- v.strokeWidth = strokeWidthVal === undefined ? strokeWidthFunc(lineItemData, lidx, d, i) : strokeWidthVal;
40979
- v.strokeColor = strokeColorVal === undefined ? strokeColorFunc(lineItemData, lidx, d, i) : strokeColorVal;
40980
- v.strokeOpacity = strokeOpacityVal === undefined ? strokeOpacityFunc(lineItemData, lidx, d, i) : strokeOpacityVal;
41008
+ if (uniform && j > 0) {
41009
+ if (j === 1) {
41010
+ v.strokeWidth = vert[0].strokeWidth;
41011
+ v.strokeColor = vert[0].strokeColor;
41012
+ v.strokeOpacity = vert[0].strokeOpacity;
41013
+ }
41014
+ } else {
41015
+ v.strokeWidth = strokeWidthVal === undefined ? strokeWidthFunc(lineItemData, lidx, d, i) : strokeWidthVal;
41016
+ v.strokeColor = strokeColorVal === undefined ? strokeColorFunc(lineItemData, lidx, d, i) : strokeColorVal;
41017
+ v.strokeOpacity = strokeOpacityVal === undefined ? strokeOpacityFunc(lineItemData, lidx, d, i) : strokeOpacityVal;
41018
+ }
40981
41019
 
40982
41020
  if (updateFlags) {
40983
41021
  if (strokeOffsetVal !== 0) {
40984
- v.strokeOffset = (strokeOffsetVal === undefined ? strokeOffsetFunc(lineItemData, lidx, d, i) : strokeOffsetVal) || 0;
41022
+ if (uniform && j > 0) {
41023
+ if (j === 1) {
41024
+ v.strokeOffset = vert[0].strokeOffset;
41025
+ }
41026
+ } else {
41027
+ v.strokeOffset = (strokeOffsetVal === undefined ? strokeOffsetFunc(lineItemData, lidx, d, i) : strokeOffsetVal) || 0;
41028
+ }
40985
41029
 
40986
41030
  if (v.strokeOffset) {
40987
41031
  /* we use 11 bits to store the offset, and we want to store values
@@ -43411,7 +43455,8 @@ var webgl_polygonFeature = function webgl_polygonFeature(arg) {
43411
43455
  fillOpacityVal,
43412
43456
  fillFunc,
43413
43457
  fillVal,
43414
- uniformPolyFunc,
43458
+ uniformFunc,
43459
+ uniformVal,
43415
43460
  uniform,
43416
43461
  indices,
43417
43462
  items = [],
@@ -43439,7 +43484,8 @@ var webgl_polygonFeature = function webgl_polygonFeature(arg) {
43439
43484
  fillOpacityVal = util.isFunction(m_this.style('fillOpacity')) ? undefined : fillOpacityFunc();
43440
43485
  fillFunc = m_this.style.get('fill');
43441
43486
  fillVal = util.isFunction(m_this.style('fill')) ? undefined : fillFunc();
43442
- uniformPolyFunc = m_this.style.get('uniformPolygon');
43487
+ uniformFunc = m_this.style.get('uniformPolygon');
43488
+ uniformVal = util.isFunction(m_this.style('uniformPolygon')) ? undefined : uniformFunc();
43443
43489
 
43444
43490
  if (!onlyStyle) {
43445
43491
  posFunc = m_this.style.get('position');
@@ -43547,7 +43593,7 @@ var webgl_polygonFeature = function webgl_polygonFeature(arg) {
43547
43593
  item = items[k].item;
43548
43594
  itemIndex = items[k].itemIndex;
43549
43595
  original = items[k].original;
43550
- uniform = uniformPolyFunc(item, itemIndex);
43596
+ uniform = uniformVal === undefined ? uniformFunc(item, itemIndex) : uniformVal;
43551
43597
  opacity = fillOpacityVal;
43552
43598
 
43553
43599
  if (uniform) {