15c6c1daeSBarry Smith 25c6c1daeSBarry Smith /* 35c6c1daeSBarry Smith Defines the operations for the X PetscDraw implementation. 45c6c1daeSBarry Smith */ 55c6c1daeSBarry Smith 65c6c1daeSBarry Smith #include <../src/sys/classes/draw/impls/x/ximpl.h> /*I "petscsys.h" I*/ 75c6c1daeSBarry Smith 85c6c1daeSBarry Smith /*@C 9811af0c4SBarry Smith PetscDrawOpenX - Opens an X-window for use with the `PetscDraw` routines. 105c6c1daeSBarry Smith 11d083f849SBarry Smith Collective 125c6c1daeSBarry Smith 135c6c1daeSBarry Smith Input Parameters: 145c6c1daeSBarry Smith + comm - the communicator that will share X-window 155c6c1daeSBarry Smith . display - the X display on which to open,or null for the local machine 165c6c1daeSBarry Smith . title - the title to put in the title bar,or null for no title 175c6c1daeSBarry Smith . x,y - the screen coordinates of the upper left corner of window 18811af0c4SBarry Smith may use `PETSC_DECIDE` for these two arguments, then PETSc places the 195c6c1daeSBarry Smith window 20811af0c4SBarry Smith - w, h - the screen width and height in pixels, or `PETSC_DRAW_HALF_SIZE`, `PETSC_DRAW_FULL_SIZE`, 21811af0c4SBarry Smith or `PETSC_DRAW_THIRD_SIZE` or `PETSC_DRAW_QUARTER_SIZE` 225c6c1daeSBarry Smith 23f899ff85SJose E. Roman Output Parameter: 245c6c1daeSBarry Smith . draw - the drawing context. 255c6c1daeSBarry Smith 265c6c1daeSBarry Smith Options Database Keys: 275c6c1daeSBarry Smith + -nox - Disables all x-windows output 285c6c1daeSBarry Smith . -display <name> - Sets name of machine for the X display 295c6c1daeSBarry Smith . -draw_pause <pause> - Sets time (in seconds) that the 305c6c1daeSBarry Smith program pauses after PetscDrawPause() has been called 315c6c1daeSBarry Smith (0 is default, -1 implies until user input). 3200d931feSLisandro Dalcin . -draw_cmap <name> - Sets the colormap to use. 3300d931feSLisandro Dalcin . -draw_cmap_reverse - Reverses the colormap. 3400d931feSLisandro Dalcin . -draw_cmap_brighten - Brighten (0 < beta < 1) or darken (-1 < beta < 0) the colormap. 355c6c1daeSBarry Smith . -draw_x_shared_colormap - Causes PETSc to use a shared 365c6c1daeSBarry Smith colormap. By default PETSc creates a separate color 375c6c1daeSBarry Smith for its windows, you must put the mouse into the graphics 385c6c1daeSBarry Smith window to see the correct colors. This options forces 395c6c1daeSBarry Smith PETSc to use the default colormap which will usually result 405c6c1daeSBarry Smith in bad contour plots. 4100d931feSLisandro Dalcin . -draw_fast - Does not create colormap for countour plots. 425c6c1daeSBarry Smith . -draw_double_buffer - Uses double buffering for smooth animation. 4300d931feSLisandro Dalcin - -geometry - Indicates location and size of window. 445c6c1daeSBarry Smith 455c6c1daeSBarry Smith Level: beginner 465c6c1daeSBarry Smith 475c6c1daeSBarry Smith Note: 485c6c1daeSBarry Smith When finished with the drawing context, it should be destroyed 49811af0c4SBarry Smith with `PetscDrawDestroy()`. 505c6c1daeSBarry Smith 515c6c1daeSBarry Smith Note for Fortran Programmers: 525c6c1daeSBarry Smith Whenever indicating null character data in a Fortran code, 53811af0c4SBarry Smith `PETSC_NULL_CHARACTER` must be employed; using NULL is not 54811af0c4SBarry Smith correct for character data! Thus, `PETSC_NULL_CHARACTER` can be 555c6c1daeSBarry Smith used for the display and title input parameters. 565c6c1daeSBarry Smith 57db781477SPatrick Sanan .seealso: `PetscDrawFlush()`, `PetscDrawDestroy()`, `PetscDrawCreate()`, `PetscDrawOpnOpenGL()` 585c6c1daeSBarry Smith @*/ 59d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscDrawOpenX(MPI_Comm comm, const char display[], const char title[], int x, int y, int w, int h, PetscDraw *draw) 60d71ae5a4SJacob Faibussowitsch { 615c6c1daeSBarry Smith PetscFunctionBegin; 629566063dSJacob Faibussowitsch PetscCall(PetscDrawCreate(comm, display, title, x, y, w, h, draw)); 639566063dSJacob Faibussowitsch PetscCall(PetscDrawSetType(*draw, PETSC_DRAW_X)); 64*3ba16761SJacob Faibussowitsch PetscFunctionReturn(PETSC_SUCCESS); 655c6c1daeSBarry Smith } 66