This is hgraphic.c in view mode; [Download] [Up]
/*
* hgraphic.c - Routines for displaying hippo ntuples.
*
* Copyright (C) 1993 The Board of Trustees of The Leland Stanford
* Junior University. All Rights Reserved.
*
* $Id: hgraphic.c,v 5.0 1993/08/17 21:54:55 rensing Exp $
*
* by Paul Rensing, July 14, 1993
*/
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include "hippo.h"
#include "hgraphic.h"
GLOB_QUAL const char hgraphic_c_rcsid[] =
"$Id: hgraphic.c,v 5.0 1993/08/17 21:54:55 rensing Exp $";
/*
* global variables.
*/
/*static*/ plotdrvr_t plot_drvr = DEF_PLOT_DRVR;
int h_setPlotDrvr( plotdrvr_t drvr, ...)
{
int rc;
va_list argPtr;
void *parm;
switch (drvr)
{
#ifdef _NEXT_PLOT_
case NEXT:
#endif
#ifdef _XIV_PLOT_
case XIVPLOT:
#endif
#ifdef _X11_PLOT_
case X11PLOT:
#endif
#ifdef THINK_C
case MAC:
#endif
case LPR:
rc = 0;
break;
case PSPLOT:
case EPSPLOT:
va_start( argPtr, drvr );
parm = va_arg(argPtr, FILE *);
rc = initDrvr_PS( parm );
va_end(argPtr);
break;
#ifdef _UNIXPLOT_PLOT_
case UNIXPLOT:
va_start( argPtr, drvr );
parm = va_arg(argPtr, FILE *); /* this shit does not work yet */
rc = initDrvr_UP( parm );
va_end(argPtr);
break;
#endif
default:
h_error("h_setPlotDrvr - invalid plot driver. Driver may not be compiled in this version.\n");
rc = -1;
}
if (rc == 0)
plot_drvr = drvr;
else
h_error("h_setPlotDrvr - error in driver init. Driver was not changed.\n");
return rc;
}
int h_setPlotVars( int dummy, ... )
{
int rc;
va_list args;
va_start( args, dummy );
rc = h_vsetPlotVars( args );
va_end( args );
return rc;
}
int h_vsetPlotVars( va_list argPtr )
{
int rc = 0;
switch (plot_drvr)
{
default:
break;
#ifdef _XIV_PLOT_
case XIVPLOT:
{
void * painter = va_arg(argPtr, void *);
void * canvas = va_arg(argPtr, void *);
setPlotVars_XIV(painter, canvas);
}
break;
#endif
#ifdef _X11_PLOT_
case X11PLOT:
{
Display* dpy = va_arg(argPtr, Display *);
Screen* screen = va_arg(argPtr, Screen *);
Drawable drawable = va_arg(argPtr, Drawable);
GC gc = va_arg(argPtr, GC);
setPlotVars_X11(dpy, screen, drawable, gc);
}
break;
#endif
}
return rc;
}
int h_endPlotDrvr( void )
{
int rc;
switch (plot_drvr)
{
case PSPLOT:
case EPSPLOT:
rc = endDrvr_PS( );
break;
default:
rc = 0;
}
return rc;
}
int h_endPage( void )
{
int rc;
switch (plot_drvr)
{
case PSPLOT:
case EPSPLOT:
rc = endPage_PS( );
break;
default:
rc = 0;
}
return rc;
}
int h_setUserCoord(rectangle *docCoord, rectangle *userCoord)
{
int rc;
PlotSwitch(plot_drvr,setUserCoord,(docCoord, userCoord));
return rc;
}
int h_endPlot( void )
{
int rc;
switch (plot_drvr)
{
UPFunc(endPlot,());
default:
rc = 0;
}
return rc;
}
int h_drawText(char *s, float x, float y, float fontsize, float angle,
char xp, char yp )
{
int rc;
PlotSwitch(plot_drvr,drawText,(s, x, y, fontsize, angle, xp, yp));
return rc;
}
int h_drawLine2(float *x, float *y, int npts, linestyle_t style,
int userCoords)
{
int rc;
switch (plot_drvr)
{
X11Func(drawLine2,(x, y, npts, style, userCoords));
NeXTFunc(drawLine2,(x, y, npts, style, userCoords));
PSFunc(drawLine2,(x, y, npts, style, userCoords));
default:
rc = 0;
}
/* PlotSwitch(plot_drvr,drawLine,(x, y, npts, style, userCoords));*/
return rc;
}
/*
int h_drawPoints2(float *x, float *y, int npts, plotsymbol_t symbol,
float size, int userCoords)
{
int rc;
PlotSwitch(plot_drvr,drawPoints2,(x, y, npts, symbol, size, userCoords));
return rc;
}
*/
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.