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/empty.out
60: !
61: !TEST*/