|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T p
Length: 6170 (0x181a)
Types: TextFile
Names: »polyUtil.c«
└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki
└─⟦526ad3590⟧ »EUUGD11/gnu-31mar87/X.V10.R4.tar.Z«
└─⟦2109abc41⟧
└─⟦this⟧ »./X.V10R4/Toolkit/Xr/src/Xrlib/Editor/polyUtil.c«
/*
* $Source: /u1/Xr/src/Xrlib/Editor/RCS/polyUtil.c,v $
* $Header: polyUtil.c,v 1.1 86/12/17 09:07:07 swick Exp $
*/
#ifndef lint
static char *rcsid_polyUtil_c = "$Header: polyUtil.c,v 1.1 86/12/17 09:07:07 swick Exp $";
#endif lint
#include <Xr/xr-copyright.h>
/* $Header: polyUtil.c,v 1.1 86/12/17 09:07:07 swick Exp $ */
/* Copyright 1986, Hewlett-Packard Company */
/* Copyright 1986, Massachussetts Institute of Technology */
static char rcsid[] = "$Header: polyUtil.c,v 1.1 86/12/17 09:07:07 swick Exp $";
/*************************************<+>*************************************
*****************************************************************************
**
** File: polyUtil.c
**
** Project: X-ray Toolbox
**
** Description:
** This file contains several routines which may be used by
** field editors, to draw arbitrary polygons. As with all
** of the other field editor drawing routines, these also
** use a graphics context structure to obtain the drawing
** environment.
**
**
** ------------------------ MODIFICATION RECORD ------------------------
*
* $Log: polyUtil.c,v $
* Revision 1.1 86/12/17 09:07:07 swick
* Initial revision
*
* Revision 7.0 86/11/13 08:30:54 08:30:54 fred ()
* Final QA Release
*
* Revision 6.0 86/11/10 15:39:31 15:39:31 fred ()
* QA #2 release
*
* Revision 5.1 86/11/07 14:27:16 14:27:16 fred ()
* Added new copyright message.
*
* Revision 5.0 86/10/28 08:41:09 08:41:09 fred ()
* QA #1.1 release
*
* Revision 4.0 86/10/20 12:17:09 12:17:09 fred ()
* QA #1 release
*
* Revision 3.1 86/10/16 09:24:47 09:24:47 fred ()
* Performance enhanced: added use of register variables.
*
* Revision 3.0 86/10/02 16:06:58 16:06:58 fred ()
* Alpha release set to 3.0
*
* Revision 2.1 86/09/17 06:02:14 06:02:14 fred ()
* Filled in the procedure headers.
*
* Revision 2.0 86/09/16 08:17:20 08:17:20 fred ()
* No change; upgraded to revision 2.0 to match other source.
*
* Revision 1.1 86/09/03 14:00:45 14:00:45 fred ()
* Initial revision
*
*
*****************************************************************************
*************************************<+>*************************************/
#include <X/Xlib.h>
#include <Xr/defs.h>
#include <Xr/types.h>
\f
/*************************************<->*************************************
*
* _XrPoly (windowId, GC, count, pointList)
*
* Window windowId;
* INT32 GC;
* INT32 count;
* Vertex * pointList;
*
* Description:
* -----------
* This routine will draw the outline of the polygon whose points
* are contained within the 'pointList' parameter; refer to the X
* documentation for a discussion of how this array of Vertex's
* should be organized. The line width, pen color and replacement
* rule are all obtained from the specified graphics context.
*
*
* Inputs:
* ------
* windowId = Id for the window in which the polygon is to be drawn.
*
* GC = The index of the graphics context which contains the drawing
* environment. The fields of importance in the graphic context
* are:
*
* XrLINEWIDTHVAL = The width of the line used to draw the polygon.
* XrFOREGROUNDVAL = The pen color to use during drawing.
* XrALUVAL = The replacement rule.
*
* count = The number of vertex points in the 'pointList' array.
*
* pointList = The list of vertex's making up the polygon.
*
* Outputs:
* -------
*
* Procedures Called
* -----------------
* XDraw() [libX.a]
*
*************************************<->***********************************/
_XrPoly (windowId, GC, count, pointList)
Window windowId;
register INT32 GC;
INT32 count;
INT8 * pointList;
{
XDraw (windowId, (Vertex *) pointList, count,
xr_GCList[GC][XrLINEWIDTHVAL], xr_GCList[GC][XrLINEWIDTHVAL],
xr_GCList[GC][XrFOREGROUNDVAL], xr_GCList[GC][XrALUVAL], AllPlanes);
}
\f
/*************************************<->*************************************
*
* _XrFillPoly (windowId, GC, count, pointList)
*
* Description:
* -----------
* This routine will draw the the polygon defined by the points
* contained within the 'pointList' parameter, and will fill it
* either using a Solid or Tiled fill; refer to the X documentation
* for a discussion of how this array of Vertex's should be
* organized. The fill style, tile id, pen color and replacement
* rule are all obtained from the specified graphics context.
*
*
* Inputs:
* ------
* windowId = The window Id for the window in which the polygon is
* to be drawn.
*
* GC = The index of the graphics context which contains the drawing
* environment. The fields of importance in the graphic context
* are:
*
* XrFILLSTYLEVAL = The type of filling to use: Solid or Tiled.
* XrFOREGROUNDVAL = The pen color, if doing a solid fill.
* XrTILEVAL = Tile Id, if doing a tiled fill.
* XrALUVAL = The replacement rule.
*
* count = The number of vertex points in the 'pointList' array.
*
* pointList = The list of vertex's making up the polygon.
*
* Outputs:
* -------
*
* Procedures Called
* -----------------
* XDrawFilled() [libX.a]
* XDrawTiled() [libX.a]
*
*************************************<->***********************************/
_XrFillPoly (windowId, GC, count, pointList)
Window windowId;
INT32 GC;
INT32 count;
INT8 * pointList;
{
if (xr_GCList[GC][XrFILLSTYLEVAL] == Solid)
XDrawFilled (windowId, (Vertex *) pointList, count,
xr_GCList[GC][XrFOREGROUNDVAL], xr_GCList[GC][XrALUVAL],
AllPlanes);
else if (xr_GCList[GC][XrFILLSTYLEVAL] == Tiled)
XDrawTiled (windowId, (Vertex *) pointList, count,
xr_GCList[GC][XrTILEVAL],xr_GCList[GC][XrALUVAL],AllPlanes);
}