MCPcopy Index your code
hub / github.com/SuperMap/iClient-JavaScript / _paintList

Method _paintList

src/common/overlay/levelRenderer/Painter.js:188–311  ·  view source on GitHub ↗

* Method: _paintList * 按列表绘制图形。

(list, paintAll)

Source from the content-addressed store, hash-verified

186 * 按列表绘制图形。
187 */
188 _paintList(list, paintAll) {
189 if (typeof(paintAll) == 'undefined') {
190 paintAll = false;
191 }
192
193 this._updateLayerStatus(list);
194
195 var currentLayer;
196 var currentZLevel;
197 var ctx;
198
199 for (var id in this._layers) {
200 if (id !== 'hover') {
201 this._layers[id].unusedCount++;
202 this._layers[id].updateTransform();
203 }
204 }
205
206 var invTransform = [];
207
208 for (var i = 0, l = list.length; i < l; i++) {
209 var shape = list[i];
210
211 if (currentZLevel !== shape.zlevel) {
212 if (currentLayer && currentLayer.needTransform) {
213 ctx.restore();
214 }
215
216 currentLayer = this.getLayer(shape.zlevel);
217 ctx = currentLayer.ctx;
218 currentZLevel = shape.zlevel;
219
220 // Reset the count
221 currentLayer.unusedCount = 0;
222
223 if (currentLayer.dirty || paintAll) {
224 currentLayer.clear();
225 }
226
227 if (currentLayer.needTransform) {
228 ctx.save();
229 currentLayer.setTransform(ctx);
230 }
231 }
232
233 // Start group clipping
234 if (ctx && shape.__startClip) {
235 var clipShape = shape.__startClip;
236 ctx.save();
237 // Set transform
238 if (clipShape.needTransform) {
239 let m = clipShape.transform;
240 SUtil.Util_matrix.invert(invTransform, m);
241 ctx.transform(
242 m[0], m[1],
243 m[2], m[3],
244 m[4], m[5]
245 );

Callers 10

refreshMethod · 0.95
PainterSpec.jsFile · 0.80
echarts-en.min.jsFile · 0.80
echarts.min.jsFile · 0.80
echarts.simple.jsFile · 0.80

Calls 10

_updateLayerStatusMethod · 0.95
getLayerMethod · 0.95
restoreMethod · 0.80
saveMethod · 0.80
setTransformMethod · 0.80
invertMethod · 0.80
updateTransformMethod · 0.45
clearMethod · 0.45
buildPathMethod · 0.45
brushMethod · 0.45

Tested by

no test coverage detected