diff options
author | Jesse Luehrs <doy@tozt.net> | 2014-10-27 17:12:58 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2014-10-27 17:12:58 -0400 |
commit | 2444bb6440a3cfc4d560624eed7997a42863982c (patch) | |
tree | 80628f30ce14049954fc42e0ba9d15b60716c08a | |
parent | 5a4131f163aa3222ee433a2d945904b235f8d05e (diff) | |
download | julia-fractals-2444bb6440a3cfc4d560624eed7997a42863982c.tar.gz julia-fractals-2444bb6440a3cfc4d560624eed7997a42863982c.zip |
set up redraw handlers
i don't really understand how this works at all, just copying from the
ImageView package at the moment
-rw-r--r-- | src/renderer.jl | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/renderer.jl b/src/renderer.jl index e4596d8..8e0106e 100644 --- a/src/renderer.jl +++ b/src/renderer.jl @@ -13,8 +13,16 @@ type FractalCanvas f = FractalExplorer.Fractal{Float64}(winsize, make_c, step) image = [ HSV(0, 0, 0) for y=1:winsize[1], x=1:winsize[2] ] fc = new(c, f, image) - redraw(fc) - setup_handlers(c) + imgc, imgslice = redraw(fc) + c.draw = function(x) + props = Dict() + img2 = ImageView.ImageSlice2d(fc.image, props) + imgc = ImageView.ImageCanvas(ImageView.cairo_format(fc.image), props) + imgc.c = fc.c + ImageView.allocate_surface!(imgc, winsize[2], winsize[1]) + ImageView.rerender(imgc, img2) + ImageView.resize(imgc, img2) + end return fc end end @@ -67,9 +75,6 @@ function createwindow(winsize::(Integer, Integer) = (640, 480)) return canvas end -function setup_handlers(c::Canvas) -end - function redraw(fc::FractalCanvas) return view(fc.c, fc.image, interactive=false) end |