xref: /petsc/src/sys/classes/draw/tests/ex4f.F90 (revision 98d129c30f3ee9fdddc40fdbc5a989b7be64f888)
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
17
18      PetscInt i
19
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      end
28
29      program main
30      use petscsys
31      implicit none
32
33      PetscDraw draw
34      PetscErrorCode ierr
35      integer  x,y,width,height
36      External zoomfunction
37      x      = 0
38      y      = 0
39      width  = 256
40      height = 256
41
42      PetscCallA(PetscInitialize(ierr))
43      PetscCallA(PetscDrawCreate(PETSC_COMM_WORLD,PETSC_NULL_CHARACTER,'Title',x,y,width,height,draw,ierr))
44      PetscCallA(PetscDrawSetFromOptions(draw,ierr))
45      PetscCallA(PetscDrawZoom(draw,zoomfunction,PETSC_NULL_INTEGER,ierr))
46      PetscCallA(PetscDrawDestroy(draw,ierr))
47      PetscCallA(PetscFinalize(ierr))
48      end
49
50!/*TEST
51!
52!   build:
53!     requires: x
54!
55!   test:
56!     output_file: output/ex1_1.out
57!
58!TEST*/
59