# PetscViewerDrawOpen

Opens an X window for use as a PetscViewer. If you want to do graphics in this window, you must call PetscViewerDrawGetDraw() and perform the graphics on the PetscDraw object.

### Synopsis

    #include "petscdraw.h"
    PetscErrorCode PETSC_DLLEXPORT PetscViewerDrawOpen(MPI_Comm comm,const char display[],const char title[],int x,int y,int w,int h,PetscViewer *viewer)

Collective on MPI_Comm

### Input Parameters

| comm | - communicator that will share window
| display | - the X display on which to open, or null for the local machine
| title | - the title to put in the title bar, or null for no title
| x, y | - the screen coordinates of the upper left corner of window, or use PETSC_DECIDE
| w, h | - window width and height in pixels, or may use PETSC_DECIDE or PETSC_DRAW_FULL_SIZE, PETSC_DRAW_HALF_SIZE, PETSC_DRAW_THIRD_SIZE, PETSC_DRAW_QUARTER_SIZE

### Output Parameters

viewer -the PetscViewer

### Format Options

| PETSC_VIEWER_DRAW_BASIC | - displays with basic format
| PETSC_VIEWER_DRAW_LG | - displays using a line graph

### Options Database Keys

PetscViewerDrawOpen() calls PetscDrawCreate(), so see the manual page for PetscDrawCreate() for runtime options, including

| -draw_type x or null | - . -nox - Disables all x-windows output
| -display <name> | - Specifies name of machine for the X display
| -geometry <x,y,w,h> | - allows setting the window location and size
| -draw_pause <pause> | - Sets time (in seconds) that the program pauses after PetscDrawPause() has been called (0 is default, -1 implies until user input).

### Note for Fortran Programmers

Whenever indicating null character data in a Fortran code, PETSC_NULL_CHARACTER must be employed; using PETSC_NULL is not correct for character data! Thus, PETSC_NULL_CHARACTER can be used for the display and title input parameters.

### See Also

PetscDrawCreate(), PetscViewerDestroy(), PetscViewerDrawGetDraw(), PetscViewerCreate(), PETSC_VIEWER_DRAW_,
PETSC_VIEWER_DRAW_WORLD, PETSC_VIEWER_DRAW_SELF

Level:beginner
Location:src/sys/src/viewer/impls/draw/drawv.c
Index of all Viewer routines
Table of Contents for all manual pages
Index of all manual pages

### Examples

src/vec/examples/tutorials/ex3.c.html
src/vec/examples/tutorials/ex3f.F.html
src/snes/examples/tutorials/ex2.c.html
src/snes/examples/tutorials/ex3.c.html
src/snes/examples/tutorials/ex21.c.html
src/snes/examples/tutorials/ex22.c.html
src/snes/examples/tutorials/ex23.c.html
src/ts/examples/tutorials/ex2.c.html
src/ts/examples/tutorials/ex3.c.html
src/ts/examples/tutorials/ex4.c.html
src/ts/examples/tutorials/ex5.c.html