xref: /petsc/src/sys/classes/draw/tests/ex4f.F90 (revision 6dd63270497ad23dcf16ae500a87ff2b2a0b7474)
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))
28 10   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/ex1_1.out
60!
61!TEST*/
62