import pixie, chroma, vmath, fidget/opengl/perf, pixie/fileformats/bmp

block:
  var a = newImage(100, 100)
  a.fill(rgba(255, 0, 0, 255))
  var b = newImage(100, 100)
  b.fill(rgba(0, 255, 0, 255))
  a.draw(b, pos=vec2(25, 25))
  writeFile("tests/images/inplaceDraw.bmp", a.encodeBmp())

block:
  var a = newImage(100, 100)
  a.fill(rgba(255, 0, 0, 255))
  var b = newImage(100, 100)
  b.fill(rgba(0, 255, 0, 255))
  var c = a.gpuDraw(b, pos=vec2(25, 25))
  writeFile("tests/images/copyDraw.bmp", c.encodeBmp())


timeIt "inplaceDraw":
  var tmp = 0
  for i in 0 ..< 1000:
    var a = newImage(100, 100)
    a.fill(rgba(255, 0, 0, 255))
    var b = newImage(100, 100)
    b.fill(rgba(0, 255, 0, 255))
    a.draw(b, pos=vec2(25, 25))
    tmp += a.width * a.height
  echo tmp

timeIt "copyDraw":
  var tmp = 0
  for i in 0 ..< 1000:
    var a = newImage(100, 100)
    a.fill(rgba(255, 0, 0, 255))
    var b = newImage(100, 100)
    b.fill(rgba(0, 255, 0, 255))
    var c = a.gpuDraw(b, pos=vec2(25, 25))
    tmp += c.width * c.height
  echo tmp