xref: /petsc/src/sys/classes/draw/tests/ex2.c (revision 609caa7c8c030312b00807b4f015fd827bb80932)
1c4762a1bSJed Brown static char help[] = "Demonstrates use of color map\n";
2c4762a1bSJed Brown 
3c4762a1bSJed Brown #include <petscsys.h>
4c4762a1bSJed Brown #include <petscdraw.h>
5c4762a1bSJed Brown 
main(int argc,char ** argv)6d71ae5a4SJacob Faibussowitsch int main(int argc, char **argv)
7d71ae5a4SJacob Faibussowitsch {
8c4762a1bSJed Brown   PetscDraw   draw;
9c4762a1bSJed Brown   PetscMPIInt size, rank;
10c4762a1bSJed Brown   int         x = 0, y = 0, width = 256, height = 256, i;
11c4762a1bSJed Brown 
12327415f7SBarry Smith   PetscFunctionBeginUser;
139566063dSJacob Faibussowitsch   PetscCall(PetscInitialize(&argc, &argv, NULL, help));
149566063dSJacob Faibussowitsch   PetscCall(PetscDrawCreate(PETSC_COMM_WORLD, 0, "Title", x, y, width, height, &draw));
159566063dSJacob Faibussowitsch   PetscCall(PetscDrawSetFromOptions(draw));
169566063dSJacob Faibussowitsch   PetscCallMPI(MPI_Comm_size(PETSC_COMM_WORLD, &size));
179566063dSJacob Faibussowitsch   PetscCallMPI(MPI_Comm_rank(PETSC_COMM_WORLD, &rank));
18c4762a1bSJed Brown   for (i = rank; i < height; i += size) {
19c4762a1bSJed Brown     PetscReal y = ((PetscReal)i) / (height - 1);
209566063dSJacob Faibussowitsch     PetscCall(PetscDrawLine(draw, 0.0, y, 1.0, y, i % 256));
21c4762a1bSJed Brown   }
229566063dSJacob Faibussowitsch   PetscCall(PetscDrawFlush(draw));
239566063dSJacob Faibussowitsch   PetscCall(PetscDrawPause(draw));
249566063dSJacob Faibussowitsch   PetscCall(PetscDrawSave(draw));
259566063dSJacob Faibussowitsch   PetscCall(PetscDrawDestroy(&draw));
269566063dSJacob Faibussowitsch   PetscCall(PetscFinalize());
27b122ec5aSJacob Faibussowitsch   return 0;
28c4762a1bSJed Brown }
29c4762a1bSJed Brown 
30c4762a1bSJed Brown /*TEST
31c4762a1bSJed Brown 
32c4762a1bSJed Brown    build:
33c4762a1bSJed Brown      requires: x
34c4762a1bSJed Brown 
35c4762a1bSJed Brown    test:
36*3886731fSPierre Jolivet      output_file: output/empty.out
37c4762a1bSJed Brown 
38c4762a1bSJed Brown TEST*/
39