PARAMETER(PAI2=6.28319) INTEGER NB(2) CHARACTER FN*32, BUFF*80 DATA N,K,IC/20,16,32/ DATA NB/0,0/ WRITE(*,*) ' ' WRITE(*,*) ' 0: INVERTNOT = source XOR (NOT dest)' WRITE(*,*) ' 1: SRCCOPY = source' WRITE(*,*) ' 2: SRCPAINT = source OR dest' WRITE(*,*) ' 3: SRCAND = source AND dest' WRITE(*,*) ' 4: SRCINVERT = source XOR dest' WRITE(*,*) ' 5: SRCERASE = source AND (NOT dest )' WRITE(*,*) ' 6: NOTSRCCOPY = (NOT source)' WRITE(*,*) ' 7: NOTSRCERASE = (NOT src) AND (NOT dest)' WRITE(*,*) ' 8: MERGECOPY = (source AND pattern)' WRITE(*,*) ' 9: MERGEPAINT = (NOT source) OR dest' WRITE(*,*) '10: PATCOPY = pattern' WRITE(*,*) '11: PATPAINT = DPSnoo' WRITE(*,*) '12: PATINVERT = pattern XOR dest' WRITE(*,*) '13: DSTINVERT = (NOT dest)' WRITE(*,*) '14: BLACKNESS = BLACK' WRITE(*,*) '15: WHITENESS = WHITE' WRITE(*,'(/A,$)') 'Bitmap Mix Mode(0..15) = ' DATA S,MX/0.3,-1/ READ(*,*) MX CALL GWOPEN(ID,0) CALL GWNCOLOR(NC) C CALL GWSIZE(IR,1, LLW, LLH) C CALL GWVPORT(IR,0.0,0.0,1.0*LLW/LLH,1.0) CALL GWINDOW(IR,-PAI2*0.05, -1.2, PAI2*1.05, 1.2) AR = GWASPECT(-1) CALL GWLINE(IR,-PAI2*0.03, 0.0, PAI2*1.03, 0.0) CALL GWSETTXT(IR,0.1, 0.0, -1, 0, -1, ' ') CALL GWPUTTXT(IR,PAI2-0.3, 0.02, 'X-axis') CALL GWLINE(IR,0.0,1.1,0.0,-1.1) CALL GWSETTXT(IR,-1.0, 0.25, -1, -1, -1, ' ') CALL GWPUTTXT(IR,-0.02, 0.8, 'Y-axis') C CALL GWREFRESH(IR) CALL GWLOADBMP(NB(1), 0, 'ball.bmp') CALL GWGETBMP(IR,NB(1), W, H, IW, IH, NC, MNB, FN) CALL GWSETBMP(IR,NB(1),S,S*AR,MX,-1,-1) WRITE(*,*) NB(1), W, H, IW, IH, NC, MNB, ' ', FN CALL GWLOADBMP(NB(2), 0, 'jonathan1.bmp') CALL GWGETBMP(IR,NB(2), W, H, IW, IH, NC, MNB, FN) CALL GWSETBMP(IR,NB(2),S,S*AR,MX,-1,-1) WRITE(*,*) NB(2), W, H, IW, IH, NC, MNB, ' ', FN DO I=0,N X = I*PAI2/N Y = SIN(X) CALL GWPUTBMP(IR,NB(MOD(I,2)+1),X,Y,-1) END DO CALL GWSETSYM(IR,S/2, -1.0, -1, K, -1, ' ') C CALL GWSETSYM(IR,S/2, -1.0, -1, K, -1, '*') DO WHILE(X**2+Y**2.GT.0.1) WRITE(BUFF,'(2F8.3)') X, Y CALL GWCAPPNT(IR,X,Y,BUFF) IC = MOD(IC,255)+1 A = RAND() WRITE(*,'(1X,I3,2F8.3,I10,F8.1)') IC,X,Y,K,A CALL GWSETSYM(IR,-1.0, A, -1, -1, -1, ' ') CALL GWPUTSYM(IR,X, Y, IC) END DO CALL GWQUIT(IR) END