2: /*
3: Defines the operations for the X PetscDraw implementation.
4: */
6: #include <../src/sys/classes/draw/impls/x/ximpl.h> /*I "petscsys.h" I*/
10: /*@C
11: PetscDrawOpenX - Opens an X-window for use with the PetscDraw routines.
13: Collective on MPI_Comm 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
25: Output Parameters:
26: . draw - the drawing context.
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.
47: Level: beginner
49: Note:
50: When finished with the drawing context, it should be destroyed
51: with PetscDrawDestroy().
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.
59: Concepts: X windows^drawing to
61: .seealso: PetscDrawFlush(), PetscDrawDestroy(), PetscDrawCreate(), PetscDrawOpnOpenGL()
62: @*/
63: PetscErrorCodePetscDrawOpenX(MPI_Comm comm,const char display[],const char title[],int x,int y,int w,int h,PetscDraw *draw) 64: {
68: PetscDrawCreate(comm,display,title,x,y,w,h,draw);
69: PetscDrawSetType(*draw,PETSC_DRAW_X);
70: return(0);
71: }