On Sun, 2010-10-31 at 21:43 +0000, Peter Clifton wrote: > > The update code is sadly pretty dumb. > > What I wanted to ensure was fast, would be panning / zooming, which > involved full frame redraws. I want to optimise that first, _then we can > make the editing small areas case lightning fast. >
Unfortunately there are not much examples, at least not for clever buffering with cairo. My guess: For zooming we have to do a complete redraw of the visible area. For panning: I intend to draw to a buffer, which dimension increases when we zoom in, and copy a part of that buffer to the smaller cairo drawing area of the GTK window. So panning is fast, only copy. Moving a symbol: Mark that symbol as invisible, draw buffer, copy area of buffer to window, draw moving symbol to window. For each new frame: Copy area of buffer, draw that moving symbol. I guess that may work, even for slow Ruby. Of course for PCB and OpenGL all is more difficult. Recently I was wondering if that Clutter library may be useful, but I think that will make all more complicated. http://www.clutter-project.org/ _______________________________________________ geda-user mailing list [email protected] http://www.seul.org/cgi-bin/mailman/listinfo/geda-user

