Colour pinstripe/Display: Difference between revisions

Content deleted Content added
Wherrera (talk | contribs)
Wherrera (talk | contribs)
Line 542: Line 542:


=={{header|Julia}}==
=={{header|Julia}}==
<lang julia>
<lang julia>using Gtk, Graphics, Colors
using Gtk, Graphics, Colors


function drawline(ctx, lin, color)
function drawline(ctx, p1, p2, color)
isempty(lin) && return
move_to(ctx, p1.x, p1.y)
p = first(lin)
move_to(ctx, p.x, p.y)
set_source(ctx, color)
set_source(ctx, color)
line_to(ctx, p2.x, p2.y)
for i = 2:length(lin)
p = lin[i]
line_to(ctx, p.x, p.y)
end
stroke(ctx)
stroke(ctx)
end
end


const can = @GtkCanvas()
const can = @GtkCanvas()

const win = GtkWindow(can, "Colour pinstripe/Display", 500, 500)
const win = GtkWindow(can, "Colour pinstripe/Display", 500, 500)

const colors = [colorant"black", colorant"red", colorant"green", colorant"blue",
const colors = [colorant"black", colorant"red", colorant"green", colorant"blue",
colorant"magenta", colorant"cyan", colorant"yellow", colorant"white"]
colorant"magenta", colorant"cyan", colorant"yellow", colorant"white"]
Line 571: Line 563:
deltaw = 1.0
deltaw = 1.0
for (i, x) in enumerate(0:deltaw:w)
for (i, x) in enumerate(0:deltaw:w)
drawline(ctx, [Point(x, 0.25*h), Point(x, 0)], colors[i % numcolors + 1])
drawline(ctx, Point(x, 0.25*h), Point(x, 0), colors[i % numcolors + 1])
end
end
for (i, x) in enumerate(0:deltaw*2:w)
for (i, x) in enumerate(0:deltaw*2:w)
drawline(ctx, [Point(x, 0.5*h), Point(x, 0.25*h)], colors[i % numcolors + 1])
drawline(ctx, Point(x, 0.5*h), Point(x, 0.25*h), colors[i % numcolors + 1])
end
end
for (i, x) in enumerate(0:deltaw*3:w)
for (i, x) in enumerate(0:deltaw*3:w)
drawline(ctx, [Point(x, 0.75*h), Point(x, 0.5*h)], colors[i % numcolors + 1])
drawline(ctx, Point(x, 0.75*h), Point(x, 0.5*h), colors[i % numcolors + 1])
end
end
for (i, x) in enumerate(0:deltaw*4:w)
for (i, x) in enumerate(0:deltaw*4:w)
drawline(ctx, [Point(x, h), Point(x, 0.75*h)], colors[i % numcolors + 1])
drawline(ctx, Point(x, h), Point(x, 0.75*h), colors[i % numcolors + 1])
end
end
end
end


function app(wn, cn)
show(cn)
if !isinteractive()
cond = Condition()
endit(w) = notify(cond)
signal_connect(endit, wn, :destroy)
end
wait(cond)
end


app(win, can)
show(can)
cond = Condition()
endit(w) = notify(cond)
signal_connect(endit, win, :destroy)
wait(cond)
</lang>
</lang>



=={{header|Kotlin}}==
=={{header|Kotlin}}==