/* Public include file for all of the PETSc graphics routines */ #if !defined(__DRAW_PACKAGE) #define __DRAW_PACKAGE typedef struct _DrawCtx* DrawCtx; #define DRAW_WHITE 0 #define DRAW_BLACK 1 #define DRAW_RED 2 #define DRAW_YELLOW 3 #define DRAW_GREEN 4 #define DRAW_CYAN 5 #define DRAW_BLUE 6 #define DRAW_COOKIE 0x101010 int DrawOpenX(char*,char *,int,int,int,int,DrawCtx*); int DrawDestroy(DrawCtx); int DrawLine(DrawCtx,double,double,double,double,int,int); int DrawLineSetWidth(DrawCtx,double); int DrawPoint(DrawCtx,double,double,int); int DrawPointSetSize(DrawCtx,double); int DrawText(DrawCtx,double,double,int,char*); int DrawTextVertical(DrawCtx,double,double,int,char*); int DrawTextSetSize(DrawCtx,double,double); int DrawTextGetSize(DrawCtx,double*,double*); int DrawSetViewPort(DrawCtx,double,double,double,double); int DrawSetCoordinates(DrawCtx,double,double,double,double); int DrawSetDoubleBuffer(DrawCtx); int DrawFlush(DrawCtx); int DrawClear(DrawCtx); /* routines related to drawing Axis and line graphs */ typedef struct _DrawAxisCtx* DrawAxisCtx; typedef struct _DrawLGCtx* DrawLGCtx; int DrawAxisCreate(DrawCtx,DrawAxisCtx *); int DrawAxisDestroy(DrawAxisCtx); int DrawAxis(DrawAxisCtx); int DrawAxisSetLimits(DrawAxisCtx,double,double,double,double); int DrawAxisSetColors(DrawAxisCtx,int,int,int); int DrawAxisSetLabels(DrawAxisCtx,char*,char*,char*); #define LG_COOKIE 0x17181920 int DrawLGCreate(DrawCtx,int,DrawLGCtx *); int DrawLGDestroy(DrawLGCtx); int DrawLGAddPoint(DrawLGCtx,double*,double*); int DrawLGAddPoints(DrawLGCtx,int,double**,double**); int DrawLG(DrawLGCtx); int DrawLGGetAxisCtx(DrawLGCtx,DrawAxisCtx *); int DrawLGGetDrawCtx(DrawLGCtx,DrawCtx *); #endif