code: function (x0, y0, radius, color, c)
      {
          _c = c || _c
          if (color)
          {
              _c.fillStyle = color
          }
          x0 *= _scale
          y0 *= _scale
          radius *= _scale
          let x = radius
          let y = 0
          let decisionOver2 = 1 - x   // Decision criterion divided by 2 evaluated at x=r, y=0
  
          while (x >= y)
          {
              put(x + x0, y + y0)
              put(y + x0, x + y0)
              put(-x + x0, y + y0)
              put(-y + x0, x + y0)
              put(-x + x0, -y + y0)
              put(-y + x0, -x + y0)
              put(x + x0, -y + y0)
              put(y + x0, -x + y0)
              y++
              if (decisionOver2 <= 0)
              {
                  decisionOver2 += 2 * y + 1 // Change in decision criterion for y -> y+1
              } else
              {
                  x--
                  decisionOver2 += 2 * (y - x) + 1 // Change for y -> y+1, x -> x-1
              }
          }
      }
docs: draw circle
  from https://en.wikipedia.org/wiki/Midpoint_circle_algorithm
  @param {number} x0 - x-center
  @param {number} y0 - y-center
  @param {number} radius - radius
  @param {string} color
  @param {CanvasRenderingContext2D} [c]