xref: /petsc/src/sys/classes/draw/tests/ex10.c (revision 6a98f8dc3f2c9149905a87dc2e9d0fedaf64e09a)
1 
2 static char help[] = "Tests repeatedly setting a window type.\n";
3 
4 #include <petscsys.h>
5 #include <petscdraw.h>
6 
7 int main(int argc,char **argv)
8 {
9   PetscDraw      draw;
10   PetscErrorCode ierr;
11   int            x = 0,y = 0,width = 300,height = 300;
12 
13   ierr = PetscInitialize(&argc,&argv,NULL,help);if (ierr) return ierr;
14   ierr = PetscDrawCreate(PETSC_COMM_WORLD,0,"Title",x,y,width,height,&draw);CHKERRQ(ierr);
15 #if defined(PETSC_HAVE_X)
16   ierr = PetscDrawSetType(draw,"x");CHKERRQ(ierr);
17   ierr = PetscDrawSetType(draw,"null");CHKERRQ(ierr);
18   ierr = PetscDrawSetType(draw,"x");CHKERRQ(ierr);
19 #else
20   ierr = PetscDrawSetType(draw,"null");CHKERRQ(ierr);
21 #endif
22   ierr = PetscDrawSetFromOptions(draw);CHKERRQ(ierr);
23   ierr = PetscDrawSetViewPort(draw,.25,.25,.75,.75);CHKERRQ(ierr);
24   ierr = PetscDrawClear(draw);CHKERRQ(ierr);
25   ierr = PetscDrawLine(draw,0.0,0.0,1.0,1.0,PETSC_DRAW_BLACK);CHKERRQ(ierr);
26   ierr = PetscDrawString(draw,.2,.2,PETSC_DRAW_RED,"Some Text");CHKERRQ(ierr);
27   ierr = PetscDrawStringSetSize(draw,.5,.5);CHKERRQ(ierr);
28   ierr = PetscDrawString(draw,.2,.2,PETSC_DRAW_BLUE,"Some Text");CHKERRQ(ierr);
29   ierr = PetscDrawFlush(draw);CHKERRQ(ierr);
30   ierr = PetscSleep(2);CHKERRQ(ierr);
31   ierr = PetscDrawResizeWindow(draw,600,600);CHKERRQ(ierr);
32   ierr = PetscDrawClear(draw);CHKERRQ(ierr);
33   ierr = PetscSleep(2);CHKERRQ(ierr);
34   ierr = PetscDrawLine(draw,0.0,1.0,1.0,0.0,PETSC_DRAW_BLUE);CHKERRQ(ierr);
35   ierr = PetscDrawFlush(draw);CHKERRQ(ierr);
36   ierr = PetscSleep(2);CHKERRQ(ierr);
37   ierr = PetscDrawDestroy(&draw);CHKERRQ(ierr);
38   ierr = PetscFinalize();
39   return ierr;
40 }
41 
42 
43 
44 /*TEST
45 
46    build:
47      requires: x
48 
49    test:
50      output_file: output/ex1_1.out
51 
52 TEST*/
53