How to redraw the curve ?

I try to use PgDrawLine() to draw one curve in one window,but when I move the window or some other window overlap with the curve,the part overlapped is erased,How can I avoid it ?

Hi!

Where are you drawing?

Since you are using the Pg* calls, you should draw on a PtRaw, and you should draw in it’s damage (draw) function, Pt_ARG_RAW_DRAW_F.
You will get the damaged area in that functions second argument,which you can use to determine where to redraw…

Look at the chapter “Raw Drawing and Animation” in the help to get a better understanding how to do this.

thanks a lot,I bave get it.

by the way,if I want to force the PtRaw to redraw,how can I do?now I use PtUnrealized(pt_raw) first,and then use PtRealized(pt_raw),but I know it’s not the best way.

eww!
very ugly, instead do this! PtDamageWidget().
if you only want to damage part of a widget, use PtDamageExtent()

Cheers!