There is indeed a method.

One would probably call it double buffering (anthough when you're done with
your program you might have moe like quad buffering...

The idea is to render everything in layers:

bottom layer = your image (data, etc)
above: rulers, marks, selection box, etc (semi-static stuff)
above: brush outline

these are hopefully in the order of least to most often
changing, and what is painted on top of what.

the data is held in a pixbuf
you paint that pixbuf and the selection etc into another pixbuf
you paint that pixbuf and the outline into the topmost buffer

then that pixbuf is painted onto the screen.

HTH,
Jonathan

On 9/30/07, Keith Feesh <[EMAIL PROTECTED]> wrote:
>
> Hello, I have been developing a drawing application for quite some time
> now
> and I have implemented an outline system
> which shows where your next drawing operation will go (just load up the
> gimp, go on the paintbrush tool and select a size 11
> brush if you don't quite get what I mean).
>
> The way that I do things now includes redrawing the entire canvas every
> time
> the mouse is moved, in order to clear the old
> outline's drawing, and then to redraw the outline once again. This brings
> my
> system to it's knees and I figure there must be
> a better method, just I can't think of any method. Any hints would be
> great.
> _______________________________________________
> gtk-app-devel-list mailing list
> gtk-app-devel-list@gnome.org
> http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
>
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to