Actual source code: ex4f.F
petsc-3.8.4 2018-03-24
1: !
2: !
3: ! This example demonstrates use of PetscDrawZoom()
4: !
5: ! This function is called repeatedly by PetscDrawZoom() to
6: ! redraw the figure
7: !
8: subroutine zoomfunction(draw,dummy,ierr)
9: #include <petsc/finclude/petscsys.h>
10: #include <petsc/finclude/petscdraw.h>
11: use petscsys
12: implicit none
14: PetscDraw draw
15: integer dummy
16: PetscErrorCode ierr
18: integer i
20: do 10, i=0,255
21: call PetscDrawLine(draw,0.d0,i/256.d0,1.d0,i/256.d0,i,ierr)
22: 10 continue
23: return
24: end
26: program main
27: use petscsys
28: implicit none
30: PetscDraw draw
31: PetscErrorCode ierr
32: integer x,y,width,height
33: External zoomfunction
34: x = 0
35: y = 0
36: width = 256
37: height = 256
39: call PetscInitialize(PETSC_NULL_CHARACTER,ierr)
40: if (ierr .ne. 0) then
41: print*,'Unable to initialize PETSc'
42: stop
43: endif
44: call PetscDrawCreate(PETSC_COMM_WORLD,PETSC_NULL_CHARACTER, &
45: & 'Title',x,y,width,height,draw,ierr)
46: call PetscDrawSetFromOptions(draw,ierr)
47: call PetscDrawZoom(draw,zoomfunction,PETSC_NULL_INTEGER,ierr)
48: call PetscDrawDestroy(draw,ierr)
49: call PetscFinalize(ierr)
50: end