{"version":3,"sources":["webpack:///./node_modules/zrender/lib/zrender.js"],"names":["guid","env","zrUtil","Handler","Storage","Painter","Animation","HandlerProxy","useVML","canvasSupported","painterCtors","canvas","instances","version","init","dom","opts","zr","ZRender","id","dispose","key","hasOwnProperty","this","getInstance","registerPainter","name","Ctor","delInstance","self","storage","rendererType","renderer","vml","Error","painter","handerProxy","node","worker","getViewportRoot","root","handler","animation","stage","update","bind","flush","start","_needsRefresh","oldDelFromStorage","delFromStorage","oldAddToStorage","addToStorage","el","call","removeSelfFromZr","addSelfToZr","prototype","constructor","getId","add","addRoot","remove","delRoot","configLayer","zLevel","config","setBackgroundColor","backgroundColor","refreshImmediately","_needsRefreshHover","refresh","triggerRendered","refreshHoverImmediately","trigger","addHover","style","elMirror","refreshHover","removeHover","clearHover","resize","width","height","clearAnimation","clear","getWidth","getHeight","pathToImage","e","dpr","setCursorStyle","cursorStyle","findHover","x","y","on","eventName","eventHandler","context","off","event","stop","exports"],"mappings":"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","file":"js/chunk-2d0d0a07.cf5b1a5f.js","sourcesContent":["var guid = require(\"./core/guid\");\n\nvar env = require(\"./core/env\");\n\nvar zrUtil = require(\"./core/util\");\n\nvar Handler = require(\"./Handler\");\n\nvar Storage = require(\"./Storage\");\n\nvar Painter = require(\"./Painter\");\n\nvar Animation = require(\"./animation/Animation\");\n\nvar HandlerProxy = require(\"./dom/HandlerProxy\");\n\n/*!\n* ZRender, a high performance 2d drawing library.\n*\n* Copyright (c) 2013, Baidu Inc.\n* All rights reserved.\n*\n* LICENSE\n* https://github.com/ecomfe/zrender/blob/master/LICENSE.txt\n*/\nvar useVML = !env.canvasSupported;\nvar painterCtors = {\n canvas: Painter\n};\nvar instances = {}; // ZRender实例map索引\n\n/**\n * @type {string}\n */\n\nvar version = '4.3.1';\n/**\n * Initializing a zrender instance\n * @param {HTMLElement} dom\n * @param {Object} [opts]\n * @param {string} [opts.renderer='canvas'] 'canvas' or 'svg'\n * @param {number} [opts.devicePixelRatio]\n * @param {number|string} [opts.width] Can be 'auto' (the same as null/undefined)\n * @param {number|string} [opts.height] Can be 'auto' (the same as null/undefined)\n * @return {module:zrender/ZRender}\n */\n\nfunction init(dom, opts) {\n var zr = new ZRender(guid(), dom, opts);\n instances[zr.id] = zr;\n return zr;\n}\n/**\n * Dispose zrender instance\n * @param {module:zrender/ZRender} zr\n */\n\n\nfunction dispose(zr) {\n if (zr) {\n zr.dispose();\n } else {\n for (var key in instances) {\n if (instances.hasOwnProperty(key)) {\n instances[key].dispose();\n }\n }\n\n instances = {};\n }\n\n return this;\n}\n/**\n * Get zrender instance by id\n * @param {string} id zrender instance id\n * @return {module:zrender/ZRender}\n */\n\n\nfunction getInstance(id) {\n return instances[id];\n}\n\nfunction registerPainter(name, Ctor) {\n painterCtors[name] = Ctor;\n}\n\nfunction delInstance(id) {\n delete instances[id];\n}\n/**\n * @module zrender/ZRender\n */\n\n/**\n * @constructor\n * @alias module:zrender/ZRender\n * @param {string} id\n * @param {HTMLElement} dom\n * @param {Object} opts\n * @param {string} [opts.renderer='canvas'] 'canvas' or 'svg'\n * @param {number} [opts.devicePixelRatio]\n * @param {number} [opts.width] Can be 'auto' (the same as null/undefined)\n * @param {number} [opts.height] Can be 'auto' (the same as null/undefined)\n */\n\n\nvar ZRender = function (id, dom, opts) {\n opts = opts || {};\n /**\n * @type {HTMLDomElement}\n */\n\n this.dom = dom;\n /**\n * @type {string}\n */\n\n this.id = id;\n var self = this;\n var storage = new Storage();\n var rendererType = opts.renderer; // TODO WebGL\n\n if (useVML) {\n if (!painterCtors.vml) {\n throw new Error('You need to require \\'zrender/vml/vml\\' to support IE8');\n }\n\n rendererType = 'vml';\n } else if (!rendererType || !painterCtors[rendererType]) {\n rendererType = 'canvas';\n }\n\n var painter = new painterCtors[rendererType](dom, storage, opts, id);\n this.storage = storage;\n this.painter = painter;\n var handerProxy = !env.node && !env.worker ? new HandlerProxy(painter.getViewportRoot(), painter.root) : null;\n this.handler = new Handler(storage, painter, handerProxy, painter.root);\n /**\n * @type {module:zrender/animation/Animation}\n */\n\n this.animation = new Animation({\n stage: {\n update: zrUtil.bind(this.flush, this)\n }\n });\n this.animation.start();\n /**\n * @type {boolean}\n * @private\n */\n\n this._needsRefresh; // 修改 storage.delFromStorage, 每次删除元素之前删除动画\n // FIXME 有点ugly\n\n var oldDelFromStorage = storage.delFromStorage;\n var oldAddToStorage = storage.addToStorage;\n\n storage.delFromStorage = function (el) {\n oldDelFromStorage.call(storage, el);\n el && el.removeSelfFromZr(self);\n };\n\n storage.addToStorage = function (el) {\n oldAddToStorage.call(storage, el);\n el.addSelfToZr(self);\n };\n};\n\nZRender.prototype = {\n constructor: ZRender,\n\n /**\n * 获取实例唯一标识\n * @return {string}\n */\n getId: function () {\n return this.id;\n },\n\n /**\n * 添加元素\n * @param {module:zrender/Element} el\n */\n add: function (el) {\n this.storage.addRoot(el);\n this._needsRefresh = true;\n },\n\n /**\n * 删除元素\n * @param {module:zrender/Element} el\n */\n remove: function (el) {\n this.storage.delRoot(el);\n this._needsRefresh = true;\n },\n\n /**\n * Change configuration of layer\n * @param {string} zLevel\n * @param {Object} config\n * @param {string} [config.clearColor=0] Clear color\n * @param {string} [config.motionBlur=false] If enable motion blur\n * @param {number} [config.lastFrameAlpha=0.7] Motion blur factor. Larger value cause longer trailer\n */\n configLayer: function (zLevel, config) {\n if (this.painter.configLayer) {\n this.painter.configLayer(zLevel, config);\n }\n\n this._needsRefresh = true;\n },\n\n /**\n * Set background color\n * @param {string} backgroundColor\n */\n setBackgroundColor: function (backgroundColor) {\n if (this.painter.setBackgroundColor) {\n this.painter.setBackgroundColor(backgroundColor);\n }\n\n this._needsRefresh = true;\n },\n\n /**\n * Repaint the canvas immediately\n */\n refreshImmediately: function () {\n // var start = new Date();\n // Clear needsRefresh ahead to avoid something wrong happens in refresh\n // Or it will cause zrender refreshes again and again.\n this._needsRefresh = this._needsRefreshHover = false;\n this.painter.refresh(); // Avoid trigger zr.refresh in Element#beforeUpdate hook\n\n this._needsRefresh = this._needsRefreshHover = false; // var end = new Date();\n // var log = document.getElementById('log');\n // if (log) {\n // log.innerHTML = log.innerHTML + '
' + (end - start);\n // }\n },\n\n /**\n * Mark and repaint the canvas in the next frame of browser\n */\n refresh: function () {\n this._needsRefresh = true;\n },\n\n /**\n * Perform all refresh\n */\n flush: function () {\n var triggerRendered;\n\n if (this._needsRefresh) {\n triggerRendered = true;\n this.refreshImmediately();\n }\n\n if (this._needsRefreshHover) {\n triggerRendered = true;\n this.refreshHoverImmediately();\n }\n\n triggerRendered && this.trigger('rendered');\n },\n\n /**\n * Add element to hover layer\n * @param {module:zrender/Element} el\n * @param {Object} style\n */\n addHover: function (el, style) {\n if (this.painter.addHover) {\n var elMirror = this.painter.addHover(el, style);\n this.refreshHover();\n return elMirror;\n }\n },\n\n /**\n * Add element from hover layer\n * @param {module:zrender/Element} el\n */\n removeHover: function (el) {\n if (this.painter.removeHover) {\n this.painter.removeHover(el);\n this.refreshHover();\n }\n },\n\n /**\n * Clear all hover elements in hover layer\n * @param {module:zrender/Element} el\n */\n clearHover: function () {\n if (this.painter.clearHover) {\n this.painter.clearHover();\n this.refreshHover();\n }\n },\n\n /**\n * Refresh hover in next frame\n */\n refreshHover: function () {\n this._needsRefreshHover = true;\n },\n\n /**\n * Refresh hover immediately\n */\n refreshHoverImmediately: function () {\n this._needsRefreshHover = false;\n this.painter.refreshHover && this.painter.refreshHover();\n },\n\n /**\n * Resize the canvas.\n * Should be invoked when container size is changed\n * @param {Object} [opts]\n * @param {number|string} [opts.width] Can be 'auto' (the same as null/undefined)\n * @param {number|string} [opts.height] Can be 'auto' (the same as null/undefined)\n */\n resize: function (opts) {\n opts = opts || {};\n this.painter.resize(opts.width, opts.height);\n this.handler.resize();\n },\n\n /**\n * Stop and clear all animation immediately\n */\n clearAnimation: function () {\n this.animation.clear();\n },\n\n /**\n * Get container width\n */\n getWidth: function () {\n return this.painter.getWidth();\n },\n\n /**\n * Get container height\n */\n getHeight: function () {\n return this.painter.getHeight();\n },\n\n /**\n * Export the canvas as Base64 URL\n * @param {string} type\n * @param {string} [backgroundColor='#fff']\n * @return {string} Base64 URL\n */\n // toDataURL: function(type, backgroundColor) {\n // return this.painter.getRenderedCanvas({\n // backgroundColor: backgroundColor\n // }).toDataURL(type);\n // },\n\n /**\n * Converting a path to image.\n * It has much better performance of drawing image rather than drawing a vector path.\n * @param {module:zrender/graphic/Path} e\n * @param {number} width\n * @param {number} height\n */\n pathToImage: function (e, dpr) {\n return this.painter.pathToImage(e, dpr);\n },\n\n /**\n * Set default cursor\n * @param {string} [cursorStyle='default'] 例如 crosshair\n */\n setCursorStyle: function (cursorStyle) {\n this.handler.setCursorStyle(cursorStyle);\n },\n\n /**\n * Find hovered element\n * @param {number} x\n * @param {number} y\n * @return {Object} {target, topTarget}\n */\n findHover: function (x, y) {\n return this.handler.findHover(x, y);\n },\n\n /**\n * Bind event\n *\n * @param {string} eventName Event name\n * @param {Function} eventHandler Handler function\n * @param {Object} [context] Context object\n */\n on: function (eventName, eventHandler, context) {\n this.handler.on(eventName, eventHandler, context);\n },\n\n /**\n * Unbind event\n * @param {string} eventName Event name\n * @param {Function} [eventHandler] Handler function\n */\n off: function (eventName, eventHandler) {\n this.handler.off(eventName, eventHandler);\n },\n\n /**\n * Trigger event manually\n *\n * @param {string} eventName Event name\n * @param {event=} event Event object\n */\n trigger: function (eventName, event) {\n this.handler.trigger(eventName, event);\n },\n\n /**\n * Clear all objects and the canvas.\n */\n clear: function () {\n this.storage.delRoot();\n this.painter.clear();\n },\n\n /**\n * Dispose self.\n */\n dispose: function () {\n this.animation.stop();\n this.clear();\n this.storage.dispose();\n this.painter.dispose();\n this.handler.dispose();\n this.animation = this.storage = this.painter = this.handler = null;\n delInstance(this.id);\n }\n};\nexports.version = version;\nexports.init = init;\nexports.dispose = dispose;\nexports.getInstance = getInstance;\nexports.registerPainter = registerPainter;"],"sourceRoot":""}