From 2444bb6440a3cfc4d560624eed7997a42863982c Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Mon, 27 Oct 2014 17:12:58 -0400 Subject: set up redraw handlers i don't really understand how this works at all, just copying from the ImageView package at the moment --- src/renderer.jl | 15 ++++++++++----- 1 file 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 -- cgit v1.2.3-54-g00ecf