Files
TempleOS-Rijn/Demo/Graphics/BSpline.HC
T
2018-09-08 21:48:09 +02:00

36 lines
698 B
HolyC

#define MAX_PTS 16
U0 BSplineDemo()
{
CDC *dc=DCAlias;
I64 arg1,arg2,i=0,msg_code;
CD3I32 c[MAX_PTS];
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<MAX_PTS && 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;