summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2014-10-27 13:47:22 -0400
committerJesse Luehrs <doy@tozt.net>2014-10-27 13:47:22 -0400
commit458a226a3fec55de9c5af7b6068406c825e1ff1e (patch)
tree2c53fb04d457d1533df150a785a98b724a1ce6f9
parent9b7c502fde87451cc739835c2b565dca5d3c39ab (diff)
downloadjulia-fractals-458a226a3fec55de9c5af7b6068406c825e1ff1e.tar.gz
julia-fractals-458a226a3fec55de9c5af7b6068406c825e1ff1e.zip
add some type annotations
-rw-r--r--src/fractal.jl6
-rw-r--r--src/renderer.jl10
2 files changed, 10 insertions, 6 deletions
diff --git a/src/fractal.jl b/src/fractal.jl
index 8b7fa0d..58b76d6 100644
--- a/src/fractal.jl
+++ b/src/fractal.jl
@@ -3,7 +3,11 @@ type Fractal{T <: FloatingPoint}
c::Array{Complex{T}, 2}
step::Function
- function Fractal(imgsize, make_c = z -> z, step = (z, c) -> z.^2 + c)
+ function Fractal(
+ imgsize::(Integer, Integer),
+ make_c::Function,
+ step::Function
+ )
(size_y, size_x) = imgsize
aspect_ratio = size_y / size_x
if size_x < size_y
diff --git a/src/renderer.jl b/src/renderer.jl
index 7355879..d8f97ff 100644
--- a/src/renderer.jl
+++ b/src/renderer.jl
@@ -4,18 +4,18 @@ using ImageView
using Color
mandelbrot() = mandelbrot(createwindow())
-function mandelbrot(canvas)
+function mandelbrot(canvas::Canvas)
fractal(canvas, z -> z, (z, c) -> z.^2 + c)
end
julia(c = 0) = julia(createwindow(), c)
-function julia(canvas, c = 0)
+function julia(canvas::Canvas, c::Union(Number, Array{Number, 2}) = 0)
fractal(canvas, z -> c, (z, c) -> z.^2 + c)
end
fractal(make_c, step) = fractal(createwindow(), make_c, step)
-function fractal(canvas, make_c, step)
- imgsize = get_size(canvas)
+function fractal(canvas::Canvas, make_c::Function, step::Function)
+ imgsize = tuple(get_size(canvas)...)
img = [ HSV(0, 0, 0) for y=1:imgsize[1], x=1:imgsize[2] ]
view(canvas, img, interactive=false)
@@ -41,7 +41,7 @@ function fractal(canvas, make_c, step)
end
end
-function createwindow(winsize = (640, 480))
+function createwindow(winsize::(Integer, Integer) = (640, 480))
win = Toplevel("FractalExplorer", winsize[1], winsize[2], false)
frame = Frame(win)
pack(frame, expand=true, fill="both")