xref: /petsc/src/sys/classes/draw/tests/ex1.c (revision c4762a1b19cd2af06abeed90e8f9d34fb975dd94)
1 
2 static char help[] = "Demonstrates opening and drawing in a window\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 
15   ierr = PetscDrawCreate(PETSC_COMM_WORLD,0,"Title",x,y,width,height,&draw);CHKERRQ(ierr);
16   ierr = PetscDrawSetPause(draw,2.0);CHKERRQ(ierr);
17   ierr = PetscDrawSetFromOptions(draw);CHKERRQ(ierr);
18   ierr = PetscDrawSetViewPort(draw,.25,.25,.75,.75);CHKERRQ(ierr);
19 
20   ierr = PetscDrawLine(draw,0.0,0.0,1.0,1.0,PETSC_DRAW_BLACK);CHKERRQ(ierr);
21   ierr = PetscDrawString(draw,.2,.2,PETSC_DRAW_RED,"Some Text");CHKERRQ(ierr);
22   ierr = PetscDrawString(draw,.5,.5,PETSC_DRAW_GREEN,"Some Text");CHKERRQ(ierr);
23   ierr = PetscDrawString(draw,.2,.8,PETSC_DRAW_BLUE,"Some Text");CHKERRQ(ierr);
24   ierr = PetscDrawFlush(draw);CHKERRQ(ierr);
25   ierr = PetscDrawPause(draw);CHKERRQ(ierr);
26   ierr = PetscDrawSave(draw);CHKERRQ(ierr);
27 
28   ierr = PetscDrawClear(draw);CHKERRQ(ierr);
29   /*ierr = PetscDrawStringSetSize(draw,.5,.5);CHKERRQ(ierr);*/
30   ierr = PetscDrawString(draw,.2,.2,PETSC_DRAW_RED,"Some Text");CHKERRQ(ierr);
31   ierr = PetscDrawString(draw,.5,.5,PETSC_DRAW_GREEN,"Some Text");CHKERRQ(ierr);
32   ierr = PetscDrawString(draw,.2,.8,PETSC_DRAW_BLUE,"Some Text");CHKERRQ(ierr);
33   ierr = PetscDrawFlush(draw);CHKERRQ(ierr);
34   ierr = PetscDrawPause(draw);CHKERRQ(ierr);
35   ierr = PetscDrawSave(draw);CHKERRQ(ierr);
36 
37   ierr = PetscDrawResizeWindow(draw,600,600);CHKERRQ(ierr);
38   ierr = PetscDrawGetWindowSize(draw,&width,&height);CHKERRQ(ierr);
39   ierr = PetscDrawSetViewPort(draw,0,0,1,1);CHKERRQ(ierr);
40   ierr = PetscDrawClear(draw);CHKERRQ(ierr);
41   /*ierr = PetscDrawLine(draw,0.0,0.0,1.0,1.0,PETSC_DRAW_RED);CHKERRQ(ierr);*/
42   /*ierr = PetscDrawLine(draw,0.0,1.0,1.0,0.0,PETSC_DRAW_BLUE);CHKERRQ(ierr);*/
43   ierr = PetscDrawString(draw,.2,.2,PETSC_DRAW_RED,"Some Text\n  Some Other Text");CHKERRQ(ierr);
44   ierr = PetscDrawString(draw,.5,.5,PETSC_DRAW_RED,"ABCygj\n()[]F$");CHKERRQ(ierr);
45   ierr = PetscDrawString(draw,0,0,PETSC_DRAW_RED,"Horizontal Text (ABCygj)");CHKERRQ(ierr);
46   ierr = PetscDrawStringVertical(draw,0,1,PETSC_DRAW_RED,"Vertical Text");CHKERRQ(ierr);
47   ierr = PetscDrawFlush(draw);CHKERRQ(ierr);
48   ierr = PetscDrawPause(draw);CHKERRQ(ierr);
49   ierr = PetscDrawSave(draw);CHKERRQ(ierr);
50 
51   ierr = PetscDrawDestroy(&draw);CHKERRQ(ierr);
52   ierr = PetscFinalize();
53   return ierr;
54 }
55 
56 
57 
58 /*TEST
59 
60    build:
61      requires: x
62 
63    test:
64      output_file: output/ex1_1.out
65 
66 TEST*/
67