xref: /petsc/include/petscdraw.h (revision 1eb62cbb64d64b61ce4c1a3ec8cb7777b3ff11c2)
143e6b640SBarry Smith /*
243e6b640SBarry Smith   Public include file for all of the PETSc graphics routines
343e6b640SBarry Smith */
4*1eb62cbbSBarry Smith #if !defined(__DRAW_PACKAGE)
5*1eb62cbbSBarry Smith #define __DRAW_PACKAGE
643e6b640SBarry Smith 
743e6b640SBarry Smith typedef struct _DrawCtx* DrawCtx;
843e6b640SBarry Smith 
920563c6bSBarry Smith #define DRAW_WHITE  0
1020563c6bSBarry Smith #define DRAW_BLACK  1
1120563c6bSBarry Smith #define DRAW_RED    2
1220563c6bSBarry Smith #define DRAW_YELLOW 3
1320563c6bSBarry Smith #define DRAW_GREEN  4
1420563c6bSBarry Smith #define DRAW_CYAN   5
1520563c6bSBarry Smith #define DRAW_BLUE   6
1620563c6bSBarry Smith 
17*1eb62cbbSBarry Smith #define DRAW_COOKIE 0x101010
188ed539a5SBarry Smith int DrawOpenX(char*,char *,int,int,int,int,DrawCtx*);
1943e6b640SBarry Smith int DrawDestroy(DrawCtx);
2043e6b640SBarry Smith 
218ed539a5SBarry Smith int DrawLine(DrawCtx,double,double,double,double,int,int);
2220563c6bSBarry Smith int DrawLineSetWidth(DrawCtx,double);
2343e6b640SBarry Smith 
248ed539a5SBarry Smith int DrawPoint(DrawCtx,double,double,int);
2520563c6bSBarry Smith int DrawPointSetSize(DrawCtx,double);
268ed539a5SBarry Smith 
278ed539a5SBarry Smith int DrawText(DrawCtx,double,double,int,char*);
2820563c6bSBarry Smith int DrawTextVertical(DrawCtx,double,double,int,char*);
2920563c6bSBarry Smith int DrawTextSetSize(DrawCtx,double,double);
3020563c6bSBarry Smith int DrawTextGetSize(DrawCtx,double*,double*);
318ed539a5SBarry Smith 
328ed539a5SBarry Smith int DrawSetViewPort(DrawCtx,double,double,double,double);
338ed539a5SBarry Smith int DrawSetCoordinates(DrawCtx,double,double,double,double);
348ed539a5SBarry Smith int DrawSetDoubleBuffer(DrawCtx);
358ed539a5SBarry Smith int DrawFlush(DrawCtx);
3620563c6bSBarry Smith int DrawClear(DrawCtx);
3720563c6bSBarry Smith 
3820563c6bSBarry Smith /* routines related to drawing Axis and line graphs */
3920563c6bSBarry Smith 
4020563c6bSBarry Smith typedef struct _DrawAxisCtx* DrawAxisCtx;
4120563c6bSBarry Smith typedef struct _DrawLGCtx*   DrawLGCtx;
4220563c6bSBarry Smith 
4320563c6bSBarry Smith int DrawAxisCreate(DrawCtx,DrawAxisCtx *);
4420563c6bSBarry Smith int DrawAxisDestroy(DrawAxisCtx);
4520563c6bSBarry Smith int DrawAxis(DrawAxisCtx);
4620563c6bSBarry Smith int DrawAxisSetLimits(DrawAxisCtx,double,double,double,double);
4720563c6bSBarry Smith int DrawAxisSetColors(DrawAxisCtx,int,int,int);
4820563c6bSBarry Smith int DrawAxisSetLabels(DrawAxisCtx,char*,char*,char*);
4920563c6bSBarry Smith 
50*1eb62cbbSBarry Smith #define LG_COOKIE 0x17181920
5120563c6bSBarry Smith int DrawLGCreate(DrawCtx,int,DrawLGCtx *);
5220563c6bSBarry Smith int DrawLGDestroy(DrawLGCtx);
5320563c6bSBarry Smith int DrawLGAddPoint(DrawLGCtx,double*,double*);
54*1eb62cbbSBarry Smith int DrawLGAddPoints(DrawLGCtx,int,double**,double**);
5520563c6bSBarry Smith int DrawLG(DrawLGCtx);
5620563c6bSBarry Smith int DrawLGGetAxisCtx(DrawLGCtx,DrawAxisCtx *);
57*1eb62cbbSBarry Smith int DrawLGGetDrawCtx(DrawLGCtx,DrawCtx *);
5843e6b640SBarry Smith 
5943e6b640SBarry Smith #endif
60