Actual source code: ex4f.F90
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
13: PetscReal zero, one,value, max
14: PetscDraw draw
15: integer dummy
16: PetscErrorCode ierr
18: PetscInt i
20: zero = 0
21: one = 1
22: max = 256.0
23: do 10, i=0,255
24: value = i/max
25: PetscCall(PetscDrawLine(draw,zero,value,one,value,i,ierr))
26: 10 continue
27: return
28: end
30: program main
31: use petscsys
32: implicit none
34: PetscDraw draw
35: PetscErrorCode ierr
36: integer x,y,width,height
37: External zoomfunction
38: x = 0
39: y = 0
40: width = 256
41: height = 256
43: PetscCallA(PetscInitialize(ierr))
44: PetscCallA(PetscDrawCreate(PETSC_COMM_WORLD,PETSC_NULL_CHARACTER,'Title',x,y,width,height,draw,ierr))
45: PetscCallA(PetscDrawSetFromOptions(draw,ierr))
46: PetscCallA(PetscDrawZoom(draw,zoomfunction,PETSC_NULL_INTEGER,ierr))
47: PetscCallA(PetscDrawDestroy(draw,ierr))
48: PetscCallA(PetscFinalize(ierr))
49: end
51: !/*TEST
52: !
53: ! build:
54: ! requires: x
55: !
56: ! test:
57: ! output_file: output/ex1_1.out
58: !
59: !TEST*/