Actual source code: ex1.c


  2: static char help[] = "Demonstrates opening and drawing in a window\n";

  4: #include <petscsys.h>
  5: #include <petscdraw.h>

  7: int main(int argc,char **argv)
  8: {
  9:   PetscDraw draw;
 10:   int       x = 0,y = 0,width = 300,height = 300;

 12:   PetscInitialize(&argc,&argv,NULL,help);

 14:   PetscDrawCreate(PETSC_COMM_WORLD,0,"Title",x,y,width,height,&draw);
 15:   PetscDrawSetPause(draw,2.0);
 16:   PetscDrawSetFromOptions(draw);
 17:   PetscDrawSetViewPort(draw,.25,.25,.75,.75);

 19:   PetscDrawLine(draw,0.0,0.0,1.0,1.0,PETSC_DRAW_BLACK);
 20:   PetscDrawString(draw,.2,.2,PETSC_DRAW_RED,"Some Text");
 21:   PetscDrawString(draw,.5,.5,PETSC_DRAW_GREEN,"Some Text");
 22:   PetscDrawString(draw,.2,.8,PETSC_DRAW_BLUE,"Some Text");
 23:   PetscDrawFlush(draw);
 24:   PetscDrawPause(draw);
 25:   PetscDrawSave(draw);

 27:   PetscDrawClear(draw);
 28:   /*PetscDrawStringSetSize(draw,.5,.5);*/
 29:   PetscDrawString(draw,.2,.2,PETSC_DRAW_RED,"Some Text");
 30:   PetscDrawString(draw,.5,.5,PETSC_DRAW_GREEN,"Some Text");
 31:   PetscDrawString(draw,.2,.8,PETSC_DRAW_BLUE,"Some Text");
 32:   PetscDrawFlush(draw);
 33:   PetscDrawPause(draw);
 34:   PetscDrawSave(draw);

 36:   PetscDrawResizeWindow(draw,600,600);
 37:   PetscDrawGetWindowSize(draw,&width,&height);
 38:   PetscDrawSetViewPort(draw,0,0,1,1);
 39:   PetscDrawClear(draw);
 40:   /*PetscDrawLine(draw,0.0,0.0,1.0,1.0,PETSC_DRAW_RED);*/
 41:   /*PetscDrawLine(draw,0.0,1.0,1.0,0.0,PETSC_DRAW_BLUE);*/
 42:   PetscDrawString(draw,.2,.2,PETSC_DRAW_RED,"Some Text\n  Some Other Text");
 43:   PetscDrawString(draw,.5,.5,PETSC_DRAW_RED,"ABCygj\n()[]F$");
 44:   PetscDrawString(draw,0,0,PETSC_DRAW_RED,"Horizontal Text (ABCygj)");
 45:   PetscDrawStringVertical(draw,0,1,PETSC_DRAW_RED,"Vertical Text");
 46:   PetscDrawFlush(draw);
 47:   PetscDrawPause(draw);
 48:   PetscDrawSave(draw);

 50:   PetscDrawDestroy(&draw);
 51:   PetscFinalize();
 52:   return 0;
 53: }

 55: /*TEST

 57:    build:
 58:      requires: x

 60:    test:
 61:      output_file: output/ex1_1.out

 63: TEST*/