code: function drawLinearBorder(context, width, r, x, y, w, h, colorStart, colorEnd) {
      context.beginPath();
      context.lineWidth = width;
      context.strokeStyle = colorEnd ?
          drawings.linearGradient(context, colorStart, colorEnd, h, true, y) :
          colorStart;
  
      (r > 0)  ?
          drawings.roundRect(context, x, y, w, h, r) :
          context.rect(x, y, w, h);
  
      context.stroke();
      context.closePath();
  }
docs: /* istanbul ignore next: private, not testable 
  Draws rectangle on a canvas
  
  @param {Canvas2DContext} context
  @param {number} width width of the border
  @param {number} r radius for founded corner rectangle if 0 or less won't be drawn
  @param {number} x x-coordinate of the top-left corner
  @param {number} y y-coordinate of the top-left corner
  @param {number} w width of the rectangle
  @param {number} h height of the rectangle
  @param {string} colorStart base fill color of the rectangle
  @param {string} [colorEnd] gradient color of the rectangle