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