xref: /petsc/include/petscdraw.h (revision c01c455d43b147fbcccdf73d28be4d01ad7032e0)
1*c01c455dSBarry Smith /* $Id: draw.h,v 1.15 1995/07/27 02:18:38 bsmith Exp bsmith $ */
243e6b640SBarry Smith /*
343e6b640SBarry Smith   Public include file for all of the PETSc graphics routines
443e6b640SBarry Smith */
51eb62cbbSBarry Smith #if !defined(__DRAW_PACKAGE)
61eb62cbbSBarry Smith #define __DRAW_PACKAGE
7d6dfbf8fSBarry Smith #include "petsc.h"
843e6b640SBarry Smith 
99e25ed09SBarry Smith #define DRAW_COOKIE PETSC_COOKIE+6
10f0479e8cSBarry Smith 
11d6dfbf8fSBarry Smith /* types of draw contexts */
129e25ed09SBarry Smith #define XWINDOW 0
134ac43724SBarry Smith #define NULLWINDOW 1
14d6dfbf8fSBarry Smith 
1543e6b640SBarry Smith typedef struct _DrawCtx* DrawCtx;
1643e6b640SBarry Smith 
1720563c6bSBarry Smith #define DRAW_WHITE  0
1820563c6bSBarry Smith #define DRAW_BLACK  1
1920563c6bSBarry Smith #define DRAW_RED    2
2020563c6bSBarry Smith #define DRAW_YELLOW 3
2120563c6bSBarry Smith #define DRAW_GREEN  4
2220563c6bSBarry Smith #define DRAW_CYAN   5
2320563c6bSBarry Smith #define DRAW_BLUE   6
2420563c6bSBarry Smith 
259e25ed09SBarry Smith extern int DrawOpenX(MPI_Comm,char *,char *,int,int,int,int,DrawCtx*);
2651d15605SBarry Smith extern int DrawOpenNull(MPI_Comm,DrawCtx *);
279e25ed09SBarry Smith extern int DrawDestroy(DrawCtx);
2843e6b640SBarry Smith 
29c0534c1cSBarry Smith extern int DrawLine(DrawCtx,double,double,double,double,int);
309e25ed09SBarry Smith extern int DrawLineSetWidth(DrawCtx,double);
3143e6b640SBarry Smith 
329e25ed09SBarry Smith extern int DrawPoint(DrawCtx,double,double,int);
339e25ed09SBarry Smith extern int DrawPointSetSize(DrawCtx,double);
348ed539a5SBarry Smith 
359e25ed09SBarry Smith extern int DrawRectangle(DrawCtx,double,double,double,double,int,int,int,int);
369e25ed09SBarry Smith extern int DrawTriangle(DrawCtx,double,double,double,double,double,double,int,int,int);
378ed539a5SBarry Smith 
389e25ed09SBarry Smith extern int DrawText(DrawCtx,double,double,int,char*);
399e25ed09SBarry Smith extern int DrawTextVertical(DrawCtx,double,double,int,char*);
409e25ed09SBarry Smith extern int DrawTextSetSize(DrawCtx,double,double);
419e25ed09SBarry Smith extern int DrawTextGetSize(DrawCtx,double*,double*);
42d6dfbf8fSBarry Smith 
439e25ed09SBarry Smith extern int DrawSetViewPort(DrawCtx,double,double,double,double);
449e25ed09SBarry Smith extern int DrawSetCoordinates(DrawCtx,double,double,double,double);
459e25ed09SBarry Smith extern int DrawGetCoordinates(DrawCtx,double*,double*,double*,double*);
469e25ed09SBarry Smith 
479e25ed09SBarry Smith extern int DrawSetPause(DrawCtx,int);
489e25ed09SBarry Smith extern int DrawSetDoubleBuffer(DrawCtx);
499e25ed09SBarry Smith extern int DrawFlush(DrawCtx);
509e25ed09SBarry Smith extern int DrawSyncFlush(DrawCtx);
519e25ed09SBarry Smith extern int DrawClear(DrawCtx);
5220563c6bSBarry Smith 
5320563c6bSBarry Smith /* routines related to drawing Axis and line graphs */
5420563c6bSBarry Smith 
5520563c6bSBarry Smith typedef struct _DrawAxisCtx* DrawAxisCtx;
5620563c6bSBarry Smith typedef struct _DrawLGCtx*   DrawLGCtx;
5720563c6bSBarry Smith 
589e25ed09SBarry Smith extern int DrawAxisCreate(DrawCtx,DrawAxisCtx *);
599e25ed09SBarry Smith extern int DrawAxisDestroy(DrawAxisCtx);
609e25ed09SBarry Smith extern int DrawAxis(DrawAxisCtx);
619e25ed09SBarry Smith extern int DrawAxisSetLimits(DrawAxisCtx,double,double,double,double);
629e25ed09SBarry Smith extern int DrawAxisSetColors(DrawAxisCtx,int,int,int);
639e25ed09SBarry Smith extern int DrawAxisSetLabels(DrawAxisCtx,char*,char*,char*);
6420563c6bSBarry Smith 
659e25ed09SBarry Smith #define LG_COOKIE PETSC_COOKIE+7
669e25ed09SBarry Smith extern int DrawLGCreate(DrawCtx,int,DrawLGCtx *);
679e25ed09SBarry Smith extern int DrawLGDestroy(DrawLGCtx);
689e25ed09SBarry Smith extern int DrawLGAddPoint(DrawLGCtx,double*,double*);
699e25ed09SBarry Smith extern int DrawLGAddPoints(DrawLGCtx,int,double**,double**);
709e25ed09SBarry Smith extern int DrawLG(DrawLGCtx);
719e25ed09SBarry Smith extern int DrawLGReset(DrawLGCtx);
729e25ed09SBarry Smith extern int DrawLGGetAxisCtx(DrawLGCtx,DrawAxisCtx *);
739e25ed09SBarry Smith extern int DrawLGGetDrawCtx(DrawLGCtx,DrawCtx *);
744cf74a13SBarry Smith extern int DrawLGIndicateDataPoints(DrawLGCtx);
75*c01c455dSBarry Smith extern int DrawLGSetLimits(DrawLGCtx,double,double,double,double);
7643e6b640SBarry Smith 
777aa781d9SBarry Smith #if defined(__VEC_PACKAGE)
7812d3fcd6SBarry Smith int DrawTensorContour(DrawCtx,int,int,double*,double*,Vec);
797aa781d9SBarry Smith #endif
8012d3fcd6SBarry Smith 
8143e6b640SBarry Smith #endif
82