summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2014-10-27 12:20:20 -0400
committerJesse Luehrs <doy@tozt.net>2014-10-27 12:20:20 -0400
commit185cb5af4a9221025b3cc1999651e30938b7386e (patch)
tree9b077ee33a884994e420696b03198524af562521
parent36692c31cf639a54d93758428e27266a278b0941 (diff)
downloadjulia-fractals-185cb5af4a9221025b3cc1999651e30938b7386e.tar.gz
julia-fractals-185cb5af4a9221025b3cc1999651e30938b7386e.zip
draw into our own window
-rw-r--r--examples/mandelbrot.jl11
-rw-r--r--src/renderer.jl18
2 files changed, 19 insertions, 10 deletions
diff --git a/examples/mandelbrot.jl b/examples/mandelbrot.jl
index 9bcc818..57637ef 100644
--- a/examples/mandelbrot.jl
+++ b/examples/mandelbrot.jl
@@ -7,5 +7,12 @@ using FractalExplorer
iterations = 45
imgsize = (640, 480)
-imgc, imgslice = view([ HSV(0, 0, 0) for y=1:imgsize[2], x=1:imgsize[1] ])
-mandelbrot(imgc, iterations)
+win = Toplevel("FractalExplorer", imgsize[1], imgsize[2], false)
+frame = Frame(win)
+pack(frame, expand=true, fill="both")
+canvas = Canvas(frame, imgsize[1], imgsize[2])
+pack(canvas, expand=true, fill="both")
+set_visible(win, true)
+view(canvas, [ 0.0 for y=1:imgsize[2], x=1:imgsize[1] ], interactive=false)
+
+mandelbrot(canvas, iterations)
diff --git a/src/renderer.jl b/src/renderer.jl
index 372353a..be70ae7 100644
--- a/src/renderer.jl
+++ b/src/renderer.jl
@@ -3,30 +3,32 @@ using Images
using ImageView
using Color
-function renderfractal(imgc, iterations, make_c, step)
- imgsize = get_size(canvas(imgc))
+function renderfractal(canvas, iterations, make_c, step)
+ imgsize = get_size(canvas)
img = [ HSV(0, 0, 0) for y=1:imgsize[1], x=1:imgsize[2] ]
+ view(canvas, img, interactive=false)
+
f = FractalExplorer.Fractal{Float64}(imgsize, make_c, step)
for i = 1:iterations
FractalExplorer.step(f)
new_pixels = (abs(f.z) .> 2) & (img .== HSV(0, 0, 0))
img[new_pixels] = HSV(i * 360/iterations, 1, 1)
- view(imgc, img)
+ view(canvas, img, interactive=false)
end
if (!isinteractive())
cv = Condition()
- win = toplevel(imgc)
+ win = Tk.toplevel(canvas)
bind(win, "<Destroy>", e->notify(cv))
wait(cv)
end
end
-function mandelbrot(imgc, iterations = 45)
- renderfractal(imgc, iterations, z -> z, (z, c) -> z.^2 + c)
+function mandelbrot(canvas, iterations = 45)
+ renderfractal(canvas, iterations, z -> z, (z, c) -> z.^2 + c)
end
-function julia(imgc, iterations = 45, c = 0)
- renderfractal(imgc, iterations, z -> c, (z, c) -> z.^2 + c)
+function julia(canvas, iterations = 45, c = 0)
+ renderfractal(canvas, iterations, z -> c, (z, c) -> z.^2 + c)
end