void BSplineDemo() { GrBitMap *b=GrAlias(Gs->grbase,Fs); I8 p1,p2,i=0,cmd; BoolU4 old_inhibit=ip_inhibit_win_operations; BoolU4 old_ip_double=Bts(&Fs->crt_flags,CRTf_NO_DOUBLE_CLICK); P3I4 c[64]; ip_inhibit_win_operations=TRUE; PutS("$$CL$$"); GrClear; do { cmd=GetMsg(&p1,&p2,1<color=GREEN^WHITE; GrCircle(b,p1,p2,10); i++; } } while (cmd!=MSG_IP_R_UP); b->color=RED^WHITE; Gr2BSpline(b,c,i,TRUE); b->color=BLUE^WHITE; Gr3BSpline(b,c,i,TRUE); AssignBit(&Fs->crt_flags,CRTf_NO_DOUBLE_CLICK,old_ip_double); ip_inhibit_win_operations=old_inhibit; GrDel(b); } BSplineDemo;