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: PetscFunctionBeginUser;
13: PetscCall(PetscInitialize(&argc, &argv, NULL, help));
15: PetscCall(PetscDrawCreate(PETSC_COMM_WORLD, 0, "Title", x, y, width, height, &draw));
16: PetscCall(PetscDrawSetPause(draw, 2.0));
17: PetscCall(PetscDrawSetFromOptions(draw));
18: PetscCall(PetscDrawSetViewPort(draw, .25, .25, .75, .75));
20: PetscCall(PetscDrawLine(draw, 0.0, 0.0, 1.0, 1.0, PETSC_DRAW_BLACK));
21: PetscCall(PetscDrawString(draw, .2, .2, PETSC_DRAW_RED, "Some Text"));
22: PetscCall(PetscDrawString(draw, .5, .5, PETSC_DRAW_GREEN, "Some Text"));
23: PetscCall(PetscDrawString(draw, .2, .8, PETSC_DRAW_BLUE, "Some Text"));
24: PetscCall(PetscDrawFlush(draw));
25: PetscCall(PetscDrawPause(draw));
26: PetscCall(PetscDrawSave(draw));
28: PetscCall(PetscDrawClear(draw));
29: /* PetscCall(PetscDrawStringSetSize(draw,.5,.5)); */
30: PetscCall(PetscDrawString(draw, .2, .2, PETSC_DRAW_RED, "Some Text"));
31: PetscCall(PetscDrawString(draw, .5, .5, PETSC_DRAW_GREEN, "Some Text"));
32: PetscCall(PetscDrawString(draw, .2, .8, PETSC_DRAW_BLUE, "Some Text"));
33: PetscCall(PetscDrawFlush(draw));
34: PetscCall(PetscDrawPause(draw));
35: PetscCall(PetscDrawSave(draw));
37: PetscCall(PetscDrawResizeWindow(draw, 600, 600));
38: PetscCall(PetscDrawGetWindowSize(draw, &width, &height));
39: PetscCall(PetscDrawSetViewPort(draw, 0, 0, 1, 1));
40: PetscCall(PetscDrawClear(draw));
41: /* PetscCall(PetscDrawLine(draw,0.0,0.0,1.0,1.0,PETSC_DRAW_RED)); */
42: /* PetscCall(PetscDrawLine(draw,0.0,1.0,1.0,0.0,PETSC_DRAW_BLUE)); */
43: PetscCall(PetscDrawString(draw, .2, .2, PETSC_DRAW_RED, "Some Text\n Some Other Text"));
44: PetscCall(PetscDrawString(draw, .5, .5, PETSC_DRAW_RED, "ABCygj\n()[]F$"));
45: PetscCall(PetscDrawString(draw, 0, 0, PETSC_DRAW_RED, "Horizontal Text (ABCygj)"));
46: PetscCall(PetscDrawStringVertical(draw, 0, 1, PETSC_DRAW_RED, "Vertical Text"));
47: PetscCall(PetscDrawFlush(draw));
48: PetscCall(PetscDrawPause(draw));
49: PetscCall(PetscDrawSave(draw));
51: PetscCall(PetscDrawDestroy(&draw));
52: PetscCall(PetscFinalize());
53: return 0;
54: }
56: /*TEST
58: build:
59: requires: x
61: test:
62: output_file: output/ex1_1.out
64: TEST*/