#define PTS_NUM 16 U0 BSplineDemo() { CDC *dc=DCAlias; I64 arg1,arg2,i=0,msg_code; CD3I32 c[PTS_NUM]; SettingsPush; Fs->win_inhibit=WIG_TASK_DFT-WIF_SELF_FOCUS-WIF_SELF_BORDER; DocClear; "Sel ctrl points with left mouse. Right when finished.\n"; DCFill; do { msg_code=GetMsg(&arg1,&arg2,1<<MSG_MS_L_UP+1<<MSG_MS_R_UP); if (msg_code==MSG_MS_L_UP) { c[i].x=arg1; c[i].y=arg2; c[i].z=0; dc->color=GREEN; GrCircle(dc,arg1,arg2,10); i++; } } while (i<PTS_NUM && msg_code!=MSG_MS_R_UP); dc->color=RED; Gr2BSpline(dc,c,i,TRUE); dc->color=BLUE; Gr3BSpline(dc,c,i,TRUE); DCDel(dc); SettingsPop; PressAKey; DCFill; } BSplineDemo;