1 2 /* 3 Defines the operations for the X PetscDraw implementation. 4 */ 5 6 #include <../src/sys/classes/draw/impls/x/ximpl.h> /*I "petscsys.h" I*/ 7 8 #undef __FUNCT__ 9 #define __FUNCT__ "PetscDrawOpenX" 10 /*@C 11 PetscDrawOpenX - Opens an X-window for use with the PetscDraw routines. 12 13 Collective on MPI_Comm 14 15 Input Parameters: 16 + comm - the communicator that will share X-window 17 . display - the X display on which to open,or null for the local machine 18 . title - the title to put in the title bar,or null for no title 19 . x,y - the screen coordinates of the upper left corner of window 20 may use PETSC_DECIDE for these two arguments, then PETSc places the 21 window 22 - w, h - the screen width and height in pixels, or PETSC_DRAW_HALF_SIZE, PETSC_DRAW_FULL_SIZE, 23 or PETSC_DRAW_THIRD_SIZE or PETSC_DRAW_QUARTER_SIZE 24 25 Output Parameters: 26 . draw - the drawing context. 27 28 Options Database Keys: 29 + -nox - Disables all x-windows output 30 . -display <name> - Sets name of machine for the X display 31 . -draw_pause <pause> - Sets time (in seconds) that the 32 program pauses after PetscDrawPause() has been called 33 (0 is default, -1 implies until user input). 34 . -draw_cmap <name> - Sets the colormap to use. 35 . -draw_cmap_reverse - Reverses the colormap. 36 . -draw_cmap_brighten - Brighten (0 < beta < 1) or darken (-1 < beta < 0) the colormap. 37 . -draw_x_shared_colormap - Causes PETSc to use a shared 38 colormap. By default PETSc creates a separate color 39 for its windows, you must put the mouse into the graphics 40 window to see the correct colors. This options forces 41 PETSc to use the default colormap which will usually result 42 in bad contour plots. 43 . -draw_fast - Does not create colormap for countour plots. 44 . -draw_double_buffer - Uses double buffering for smooth animation. 45 - -geometry - Indicates location and size of window. 46 47 Level: beginner 48 49 Note: 50 When finished with the drawing context, it should be destroyed 51 with PetscDrawDestroy(). 52 53 Note for Fortran Programmers: 54 Whenever indicating null character data in a Fortran code, 55 PETSC_NULL_CHARACTER must be employed; using NULL is not 56 correct for character data! Thus, PETSC_NULL_CHARACTER can be 57 used for the display and title input parameters. 58 59 Concepts: X windows^drawing to 60 61 .seealso: PetscDrawFlush(), PetscDrawDestroy(), PetscDrawCreate(), PetscDrawOpnOpenGL() 62 @*/ 63 PetscErrorCode PetscDrawOpenX(MPI_Comm comm,const char display[],const char title[],int x,int y,int w,int h,PetscDraw *draw) 64 { 65 PetscErrorCode ierr; 66 67 PetscFunctionBegin; 68 ierr = PetscDrawCreate(comm,display,title,x,y,w,h,draw);CHKERRQ(ierr); 69 ierr = PetscDrawSetType(*draw,PETSC_DRAW_X);CHKERRQ(ierr); 70 PetscFunctionReturn(0); 71 } 72 73 74 75 76 77 78 79 80 81