31 lines
762 B
Plaintext
31 lines
762 B
Plaintext
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<<MSG_IP_L_UP+1<<MSG_IP_R_UP);
|
|
if (cmd==MSG_IP_L_UP) {
|
|
c[i].x=p1; c[i].y=p2; c[i].z=0;
|
|
b->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;
|
|
|
|
|