/*Demonstrates symmetry. Right-click and draw line of symmetry. If the line of symmetry is a point, symmetry is turned-off. */ U0 SymmetryDemo() { I64 msg_code,x1,y1,x2,y2,arg1,arg2; CDC *dc=DCAlias; SettingsPush; //See $LK,"SettingsPush",A="MN:SettingsPush"$ Fs->win_inhibit=WIG_TASK_DFT-WIF_SELF_FOCUS-WIF_SELF_BORDER; WinBorder; WinMax; DocClear; DCFill; dc->flags|=DCF_SYMMETRY; DCSymmetrySet(dc,Fs->pix_width/2,0,Fs->pix_width/2,1); do { msg_code=GetMsg(&arg1,&arg2, 1<flags&=~DCF_SYMMETRY; dc->color=ROP_XOR+RED^TRANSPARENT; x1=arg1; y1=arg2; x2=arg1; y2=arg2; while (msg_code!=MSG_MS_R_UP) { GrLine3(dc,x1,y1,0,x2,y2,0); msg_code=GetMsg(&arg1,&arg2, 1<flags|=DCF_SYMMETRY; break; case MSG_MS_L_DOWN: dc->color=ROP_XOR+BLACK^TRANSPARENT; x1=arg1; y1=arg2; x2=arg1; y2=arg2; while (msg_code!=MSG_MS_L_UP) { GrLine3(dc,x1,y1,0,x2,y2,0); msg_code=GetMsg(&arg1,&arg2, 1<