hschumann2/TempleOS-Source-Code
0847
1 2//This is a drawing program3 4U0 Doodle()5{6 I64 msg_code,i,x1,y1,x2,y2,arg1,arg2,color=BLACK;7 CDC *dc=DCAlias;8 9 SettingsPush; //See SettingsPush10 Fs->win_inhibit=WIG_TASK_DFT-WIF_SELF_FOCUS-WIF_SELF_BORDER;11 12 AutoComplete;13 WinBorder;14 WinMax;15 DocClear;16 DCFill;17 do {18 msg_code=GetMsg(&arg1,&arg2,19 1<<MSG_KEY_DOWN+1<<MSG_MS_L_DOWN+1<<MSG_MS_R_UP);20 switch (msg_code) {21 case MSG_MS_R_UP:22 i=PopUpColor;23 if (i>=0) color=i;24 break;25 case MSG_MS_L_DOWN:26 x1=arg1; y1=arg2;27 x2=arg1; y2=arg2;28 dc->color=ROP_XOR+color^TRANSPARENT;29 dc->thick=7;30 do {31 GrLine3(dc,x1,y1,0,x2,y2,0);32 msg_code=GetMsg(&arg1,&arg2,1<<MSG_MS_L_UP+1<<MSG_MS_MOVE);33 GrLine3(dc,x1,y1,0,x2,y2,0);34 x2=arg1; y2=arg2;35 } while (msg_code!=MSG_MS_L_UP);36 GrLine3(dc,x1,y1,0,x2,y2,0);37 break;38 case MSG_KEY_DOWN:39 break;40 }41 } while (msg_code!=MSG_KEY_DOWN || !arg1);42 GetMsg(,,1<<MSG_KEY_UP);43 DCFill;44 DCDel(dc);45 SettingsPop;46}47 48Doodle; //Execute when #included49 