docs: function () {
          var brushCanvas = this._brushCanvas || (this._brushCanvas = zrUtil.createCanvas());
          // set brush size
          var r = this.pointSize + this.blurSize;
          var d = r * 2;
          brushCanvas.width = d;
          brushCanvas.height = d;
  
          var ctx = brushCanvas.getContext('2d');
          ctx.clearRect(0, 0, d, d);
  
          // in order to render shadow without the distinct circle,
          // draw the distinct circle in an invisible place,
          // and use shadowOffset to draw shadow in the center of the canvas
          ctx.shadowOffsetX = d;
          ctx.shadowBlur = this.blurSize;
          // draw the shadow in black, and use alpha and shadow blur to generate
          // color in color map
          ctx.shadowColor = '#000';
  
          // draw circle in the left to the canvas
          ctx.beginPath();
          ctx.arc(-r, r, this.pointSize, 0, Math.PI * 2, true);
          ctx.closePath();
          ctx.fill();
          return brushCanvas;
      }