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