1c4762a1bSJed Brown 2c4762a1bSJed Brown static char help[] = "Demonstrates opening and drawing in a window\n"; 3c4762a1bSJed Brown 4c4762a1bSJed Brown #include <petscsys.h> 5c4762a1bSJed Brown #include <petscdraw.h> 6c4762a1bSJed Brown 7*d71ae5a4SJacob Faibussowitsch int main(int argc, char **argv) 8*d71ae5a4SJacob Faibussowitsch { 9c4762a1bSJed Brown PetscDraw draw; 10c4762a1bSJed Brown int x = 0, y = 0, width = 300, height = 300; 11c4762a1bSJed Brown 12327415f7SBarry Smith PetscFunctionBeginUser; 139566063dSJacob Faibussowitsch PetscCall(PetscInitialize(&argc, &argv, NULL, help)); 14c4762a1bSJed Brown 159566063dSJacob Faibussowitsch PetscCall(PetscDrawCreate(PETSC_COMM_WORLD, 0, "Title", x, y, width, height, &draw)); 169566063dSJacob Faibussowitsch PetscCall(PetscDrawSetPause(draw, 2.0)); 179566063dSJacob Faibussowitsch PetscCall(PetscDrawSetFromOptions(draw)); 189566063dSJacob Faibussowitsch PetscCall(PetscDrawSetViewPort(draw, .25, .25, .75, .75)); 19c4762a1bSJed Brown 209566063dSJacob Faibussowitsch PetscCall(PetscDrawLine(draw, 0.0, 0.0, 1.0, 1.0, PETSC_DRAW_BLACK)); 219566063dSJacob Faibussowitsch PetscCall(PetscDrawString(draw, .2, .2, PETSC_DRAW_RED, "Some Text")); 229566063dSJacob Faibussowitsch PetscCall(PetscDrawString(draw, .5, .5, PETSC_DRAW_GREEN, "Some Text")); 239566063dSJacob Faibussowitsch PetscCall(PetscDrawString(draw, .2, .8, PETSC_DRAW_BLUE, "Some Text")); 249566063dSJacob Faibussowitsch PetscCall(PetscDrawFlush(draw)); 259566063dSJacob Faibussowitsch PetscCall(PetscDrawPause(draw)); 269566063dSJacob Faibussowitsch PetscCall(PetscDrawSave(draw)); 27c4762a1bSJed Brown 289566063dSJacob Faibussowitsch PetscCall(PetscDrawClear(draw)); 299566063dSJacob Faibussowitsch /* PetscCall(PetscDrawStringSetSize(draw,.5,.5)); */ 309566063dSJacob Faibussowitsch PetscCall(PetscDrawString(draw, .2, .2, PETSC_DRAW_RED, "Some Text")); 319566063dSJacob Faibussowitsch PetscCall(PetscDrawString(draw, .5, .5, PETSC_DRAW_GREEN, "Some Text")); 329566063dSJacob Faibussowitsch PetscCall(PetscDrawString(draw, .2, .8, PETSC_DRAW_BLUE, "Some Text")); 339566063dSJacob Faibussowitsch PetscCall(PetscDrawFlush(draw)); 349566063dSJacob Faibussowitsch PetscCall(PetscDrawPause(draw)); 359566063dSJacob Faibussowitsch PetscCall(PetscDrawSave(draw)); 36c4762a1bSJed Brown 379566063dSJacob Faibussowitsch PetscCall(PetscDrawResizeWindow(draw, 600, 600)); 389566063dSJacob Faibussowitsch PetscCall(PetscDrawGetWindowSize(draw, &width, &height)); 399566063dSJacob Faibussowitsch PetscCall(PetscDrawSetViewPort(draw, 0, 0, 1, 1)); 409566063dSJacob Faibussowitsch PetscCall(PetscDrawClear(draw)); 419566063dSJacob Faibussowitsch /* PetscCall(PetscDrawLine(draw,0.0,0.0,1.0,1.0,PETSC_DRAW_RED)); */ 429566063dSJacob Faibussowitsch /* PetscCall(PetscDrawLine(draw,0.0,1.0,1.0,0.0,PETSC_DRAW_BLUE)); */ 439566063dSJacob Faibussowitsch PetscCall(PetscDrawString(draw, .2, .2, PETSC_DRAW_RED, "Some Text\n Some Other Text")); 449566063dSJacob Faibussowitsch PetscCall(PetscDrawString(draw, .5, .5, PETSC_DRAW_RED, "ABCygj\n()[]F$")); 459566063dSJacob Faibussowitsch PetscCall(PetscDrawString(draw, 0, 0, PETSC_DRAW_RED, "Horizontal Text (ABCygj)")); 469566063dSJacob Faibussowitsch PetscCall(PetscDrawStringVertical(draw, 0, 1, PETSC_DRAW_RED, "Vertical Text")); 479566063dSJacob Faibussowitsch PetscCall(PetscDrawFlush(draw)); 489566063dSJacob Faibussowitsch PetscCall(PetscDrawPause(draw)); 499566063dSJacob Faibussowitsch PetscCall(PetscDrawSave(draw)); 50c4762a1bSJed Brown 519566063dSJacob Faibussowitsch PetscCall(PetscDrawDestroy(&draw)); 529566063dSJacob Faibussowitsch PetscCall(PetscFinalize()); 53b122ec5aSJacob Faibussowitsch return 0; 54c4762a1bSJed Brown } 55c4762a1bSJed Brown 56c4762a1bSJed Brown /*TEST 57c4762a1bSJed Brown 58c4762a1bSJed Brown build: 59c4762a1bSJed Brown requires: x 60c4762a1bSJed Brown 61c4762a1bSJed Brown test: 62c4762a1bSJed Brown output_file: output/ex1_1.out 63c4762a1bSJed Brown 64c4762a1bSJed Brown TEST*/ 65