Team Ai
Datasetpublic

hschumann2/TempleOS-Source-Code

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes847downloads
Symmetry.txt64 linesDownload Raw Back to Graphics
1 2/*Demonstrates symmetry.3Right-click and draw line of symmetry.4If the line of symmetry is a point, symmetry is turned-off.5*/6 7U0 SymmetryDemo()8{9  I64 msg_code,x1,y1,x2,y2,arg1,arg2;10  CDC *dc=DCAlias;11 12  SettingsPush; //See SettingsPush13  Fs->win_inhibit=WIG_TASK_DFT-WIF_SELF_FOCUS-WIF_SELF_BORDER;14 15  WinBorder;16  WinMax;17  DocClear;18  DCFill;19  dc->flags|=DCF_SYMMETRY;20  DCSymmetrySet(dc,Fs->pix_width/2,0,Fs->pix_width/2,1);21  do {22    msg_code=GetMsg(&arg1,&arg2,23          1<<MSG_KEY_DOWN+1<<MSG_MS_L_DOWN+24          1<<MSG_MS_R_DOWN);25    switch (msg_code) {26      case MSG_MS_R_DOWN:27        dc->flags&=~DCF_SYMMETRY;28        dc->color=ROP_XOR+RED^TRANSPARENT;29        x1=arg1; y1=arg2;30        x2=arg1; y2=arg2;31        while (msg_code!=MSG_MS_R_UP) {32          GrLine3(dc,x1,y1,0,x2,y2,0);33          msg_code=GetMsg(&arg1,&arg2,34                1<<MSG_MS_R_UP+1<<MSG_MS_MOVE);35          GrLine3(dc,x1,y1,0,x2,y2,0);36          x2=arg1; y2=arg2;37        }38        GrLine3(dc,x1,y1,0,x2,y2,0);39        if (DCSymmetry3Set(dc,x1,y1,0,x2,y2,0,x2,y2,1))40          dc->flags|=DCF_SYMMETRY;41        break;42      case MSG_MS_L_DOWN:43        dc->color=ROP_XOR+BLACK^TRANSPARENT;44        x1=arg1; y1=arg2;45        x2=arg1; y2=arg2;46        while (msg_code!=MSG_MS_L_UP) {47          GrLine3(dc,x1,y1,0,x2,y2,0);48          msg_code=GetMsg(&arg1,&arg2,49                1<<MSG_MS_L_UP+1<<MSG_MS_MOVE);50          GrLine3(dc,x1,y1,0,x2,y2,0);51          x2=arg1; y2=arg2;52        }53        GrLine3(dc,x1,y1,0,x2,y2,0);54        break;55    }56  } while (msg_code!=MSG_KEY_DOWN || (arg1!=CH_ESC && arg1!=CH_SHIFT_ESC));57  GetMsg(,,1<<MSG_KEY_UP);58  DCFill;59  DCDel(dc);60  SettingsPop;61}62 63SymmetryDemo;  //Execute when #included64