29 lines
628 B
Nim
29 lines
628 B
Nim
import cairo, math, times
|
|
|
|
var
|
|
surface = imageSurfaceCreate(FORMAT_ARGB32, 256, 256)
|
|
ctx = surface.create()
|
|
|
|
let start = epochTime()
|
|
|
|
ctx.setSourceRGB(0, 0, 1)
|
|
ctx.newPath() # current path is not consumed by ctx.clip()
|
|
ctx.rectangle(96, 96, 128, 128)
|
|
ctx.fill()
|
|
|
|
ctx.setSourceRGB(0, 1, 0)
|
|
ctx.newPath() # current path is not consumed by ctx.clip()
|
|
ctx.rectangle(64, 64, 128, 128)
|
|
ctx.fill()
|
|
|
|
for i in 0 .. 10000:
|
|
|
|
ctx.setSourceRGB(1, 0, 0)
|
|
ctx.newPath() # current path is not consumed by ctx.clip()
|
|
ctx.rectangle(32, 32, 128, 128)
|
|
ctx.fill()
|
|
|
|
echo epochTime() - start
|
|
|
|
discard surface.writeToPng("cairotest.png")
|