xref: /petsc/src/sys/classes/draw/tests/ex4f.F90 (revision d1a032db6cd7c39db5bfaa476c8e42d0c0ea531b)
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
14
15        PetscReal zero, one, value, max
16        PetscDraw draw
17        integer dummy
18        PetscErrorCode ierr
19
20        PetscInt32 i
21
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))
2810        continue
29        end
30
31        program main
32          use petscsys
33          use petscdraw
34          implicit none
35
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
44
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
52
53!/*TEST
54!
55!   build:
56!     requires: x
57!
58!   test:
59!     output_file: output/empty.out
60!
61!TEST*/
62