docs: function(config) {
              config = config || {};
  
              var mimeType = config.mimeType || null,
                  quality = config.quality || null,
                  stage = this.getStage(),
                  x = config.x || 0,
                  y = config.y || 0,
                  canvas = new Kinetic.SceneCanvas({
                      width: config.width || this.getWidth() || (stage ? stage.getWidth() : 0),
                      height: config.height || this.getHeight() || (stage ? stage.getHeight() : 0),
                      pixelRatio: 1
                  }),
                  context = canvas.getContext();
  
              context.save();
  
              if(x || y) {
                  context.translate(-1 * x, -1 * y);
              }
  
              this.drawScene(canvas);
              context.restore();
  
              return canvas.toDataURL(mimeType, quality);
          }