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