> > > Yes, I called drawline outside draw() function, now I know if=20 > > I put the drawline() into override draw() function will has=20 > > no such issue. But I still has question, because I use=20 > > drawline() function to implement a painter application, so if=20 > > I put the drawline() into draw() function, then it will call=20 > > lots of drawline() at each redarw(). So does fltk has a=20 > > better solution to implement a painter application? Thanks. > > > If you want to "build up" an image over many interactions, you basically > have two options... > > A) You can keep a record of all the drawn lines and replay them every > time you draw() your widget. > You can just store them in a linked list (e.g. via the STL, or make your > own, or etc.) > The actual drawing doesn't usually take all that long, so you might find > this works very well. > Note that this way makes it *very easy* to implement an undo function - > you can simply delete the last few entries off the end of the > linked-list and redraw, and that's the edit undone! > > Also, this approach makes it very easy to store your drawing in a vector > format, since you have all the individual line vectors available to > store. > > > B) Use an offscreen to do the drawing. This will not be cleared between > redraws, so you can build up a drawing over time in the offscreen > surface, then blit that to the onscreen window for the operator to see. > > This is maybe more like what you had in mind, where the drawing is built > up over time, and only the changes are actually drawn in each redraw > (not the whole thing.) > > But this makes it very hard to implement an undo function, and can > usually only be stored in a pixel format, not a vector format. > > > Anyhow, either way works, so you can easily try both then see which > suits your way of working best. > > --=20 > Ian > > > SELEX Galileo Ltd > Registered Office: Sigma House, Christopher Martin Road, Basildon, Essex SS= > 14 3EL > A company registered in England & Wales. Company no. 02426132 > ******************************************************************** > This email and any attachments are confidential to the intended > recipient and may also be privileged. If you are not the intended > recipient please delete it from your system and notify the sender. > You should not copy it or use it for any purpose nor disclose or > distribute its contents to any other person. > ******************************************************************** > ---------------------------------------------------------------------- Dear,
_______________________________________________ fltk mailing list [email protected] http://lists.easysw.com/mailman/listinfo/fltk

