xref: /petsc/src/sys/classes/draw/impls/x/drawopenx.c (revision e611a964e9853b74d61a56642fe9d06a6e51780f)
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