| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 | 
							- export default class WxCanvas {
 
-   constructor(ctx, canvasId, isNew, canvasNode) {
 
-     this.ctx = ctx;
 
-     this.canvasId = canvasId;
 
-     this.chart = null;
 
-     this.isNew = isNew
 
-     if (isNew) {
 
-       this.canvasNode = canvasNode;
 
-     }
 
-     else {
 
-       this._initStyle(ctx);
 
-     }
 
-     // this._initCanvas(zrender, ctx);
 
-     this._initEvent();
 
-   }
 
-   getContext(contextType) {
 
-     if (contextType === '2d') {
 
-       return this.ctx;
 
-     }
 
-   }
 
-   // canvasToTempFilePath(opt) {
 
-   //   if (!opt.canvasId) {
 
-   //     opt.canvasId = this.canvasId;
 
-   //   }
 
-   //   return wx.canvasToTempFilePath(opt, this);
 
-   // }
 
-   setChart(chart) {
 
-     this.chart = chart;
 
-   }
 
-   attachEvent() {
 
-     // noop
 
-   }
 
-   detachEvent() {
 
-     // noop
 
-   }
 
-   _initCanvas(zrender, ctx) {
 
-     zrender.util.getContext = function () {
 
-       return ctx;
 
-     };
 
-     zrender.util.$override('measureText', function (text, font) {
 
-       ctx.font = font || '12px sans-serif';
 
-       return ctx.measureText(text);
 
-     });
 
-   }
 
-   _initStyle(ctx) {
 
-     var styles = ['fillStyle', 'strokeStyle', 'globalAlpha',
 
-       'textAlign', 'textBaseAlign', 'shadow', 'lineWidth',
 
-       'lineCap', 'lineJoin', 'lineDash', 'miterLimit', 'fontSize'];
 
-     styles.forEach(style => {
 
-       Object.defineProperty(ctx, style, {
 
-         set: value => {
 
-           if (style !== 'fillStyle' && style !== 'strokeStyle'
 
-             || value !== 'none' && value !== null
 
-           ) {
 
-             ctx['set' + style.charAt(0).toUpperCase() + style.slice(1)](value);
 
-           }
 
-         }
 
-       });
 
-     });
 
-     ctx.createRadialGradient = () => {
 
-       return ctx.createCircularGradient(arguments);
 
-     };
 
-   }
 
-   _initEvent() {
 
-     this.event = {};
 
-     const eventNames = [{
 
-       wxName: 'touchStart',
 
-       ecName: 'mousedown'
 
-     }, {
 
-       wxName: 'touchMove',
 
-       ecName: 'mousemove'
 
-     }, {
 
-       wxName: 'touchEnd',
 
-       ecName: 'mouseup'
 
-     }, {
 
-       wxName: 'touchEnd',
 
-       ecName: 'click'
 
-     }];
 
-     eventNames.forEach(name => {
 
-       this.event[name.wxName] = e => {
 
-         const touch = e.touches[0];
 
-         this.chart.getZr().handler.dispatch(name.ecName, {
 
-           zrX: name.wxName === 'tap' ? touch.clientX : touch.x,
 
-           zrY: name.wxName === 'tap' ? touch.clientY : touch.y
 
-         });
 
-       };
 
-     });
 
-   }
 
-   set width(w) {
 
-     if (this.canvasNode) this.canvasNode.width = w
 
-   }
 
-   set height(h) {
 
-     if (this.canvasNode) this.canvasNode.height = h
 
-   }
 
-   get width() {
 
-     if (this.canvasNode)
 
-       return this.canvasNode.width
 
-     return 0
 
-   }
 
-   get height() {
 
-     if (this.canvasNode)
 
-       return this.canvasNode.height
 
-     return 0
 
-   }
 
- }
 
 
  |