Actual source code: drawopenx.c

      2: /*
      3:     Defines the operations for the X PetscDraw implementation.
      4: */

      6: #include <../src/sys/classes/draw/impls/x/ximpl.h>

      8: /*@C
      9:    PetscDrawOpenX - Opens an X-window for use with the PetscDraw routines.

     11:    Collective

     13:    Input Parameters:
     14: +  comm - the communicator that will share X-window
     15: .  display - the X display on which to open,or null for the local machine
     16: .  title - the title to put in the title bar,or null for no title
     17: .  x,y - the screen coordinates of the upper left corner of window
     18:           may use PETSC_DECIDE for these two arguments, then PETSc places the
     19:           window
     20: -  w, h - the screen width and height in pixels,  or PETSC_DRAW_HALF_SIZE, PETSC_DRAW_FULL_SIZE,
     21:           or PETSC_DRAW_THIRD_SIZE or PETSC_DRAW_QUARTER_SIZE

     23:    Output Parameters:
     24: .  draw - the drawing context.

     26:    Options Database Keys:
     27: +  -nox - Disables all x-windows output
     28: .  -display <name> - Sets name of machine for the X display
     29: .  -draw_pause <pause> - Sets time (in seconds) that the
     30:        program pauses after PetscDrawPause() has been called
     31:        (0 is default, -1 implies until user input).
     32: .  -draw_cmap <name> - Sets the colormap to use.
     33: .  -draw_cmap_reverse - Reverses the colormap.
     34: .  -draw_cmap_brighten - Brighten (0 < beta < 1) or darken (-1 < beta < 0) the colormap.
     35: .  -draw_x_shared_colormap - Causes PETSc to use a shared
     36:        colormap. By default PETSc creates a separate color
     37:        for its windows, you must put the mouse into the graphics
     38:        window to see  the correct colors. This options forces
     39:        PETSc to use the default colormap which will usually result
     40:        in bad contour plots.
     41: .  -draw_fast - Does not create colormap for countour plots.
     42: .  -draw_double_buffer - Uses double buffering for smooth animation.
     43: -  -geometry - Indicates location and size of window.

     45:    Level: beginner

     47:    Note:
     48:    When finished with the drawing context, it should be destroyed
     49:    with PetscDrawDestroy().

     51:    Note for Fortran Programmers:
     52:    Whenever indicating null character data in a Fortran code,
     53:    PETSC_NULL_CHARACTER must be employed; using NULL is not
     54:    correct for character data!  Thus, PETSC_NULL_CHARACTER can be
     55:    used for the display and title input parameters.

     57: .seealso: PetscDrawFlush(), PetscDrawDestroy(), PetscDrawCreate(), PetscDrawOpnOpenGL()
     58: @*/
     59: PetscErrorCode  PetscDrawOpenX(MPI_Comm comm,const char display[],const char title[],int x,int y,int w,int h,PetscDraw *draw)
     60: {

     64:   PetscDrawCreate(comm,display,title,x,y,w,h,draw);
     65:   PetscDrawSetType(*draw,PETSC_DRAW_X);
     66:   return(0);
     67: }