lib/psPoly.c File Reference

#include "common.h"
#include "psPoly.h"

Include dependency graph for psPoly.c:

Go to the source code of this file.

Functions

psPolypsPolyNew ()
void psPolyFree (struct psPoly **pPoly)
void psPolyAddPoint (struct psPoly *poly, double x, double y)


Function Documentation

void psPolyAddPoint ( struct psPoly poly,
double  x,
double  y 
)

Definition at line 28 of file psPoly.c.

References AllocVar, psPoly::lastPoint, psPoint::next, psPoly::ptCount, psPoly::ptList, psPoint::x, and psPoint::y.

Referenced by pscmDrawPoly().

00030 {
00031 struct psPoint *pt;
00032 poly->ptCount += 1;
00033 AllocVar(pt);
00034 pt->x = x;
00035 pt->y = y;
00036 if (poly->ptList == NULL)
00037     {
00038     poly->ptList = poly->lastPoint = pt;
00039     pt->next = pt;
00040     }
00041 else
00042     {
00043     poly->lastPoint->next = pt;
00044     pt->next = poly->ptList;
00045     poly->lastPoint = pt;
00046     }
00047 }

Here is the caller graph for this function:

void psPolyFree ( struct psPoly **  pPoly  ) 

Definition at line 13 of file psPoly.c.

References freez(), psPoly::lastPoint, psPoint::next, psPoly::ptList, and slFreeList().

Referenced by pscmDrawPoly().

00015 {
00016 struct psPoly *poly = *pPoly;
00017 if (poly != NULL)
00018     {
00019     if (poly->lastPoint != NULL)
00020         {
00021         poly->lastPoint->next = NULL;
00022         slFreeList(&poly->ptList);
00023         }
00024     freez(pPoly);
00025     }
00026 }

Here is the call graph for this function:

Here is the caller graph for this function:

struct psPoly* psPolyNew (  )  [read]

Definition at line 5 of file psPoly.c.

References AllocVar.

Referenced by pscmDrawPoly().

00007 {
00008 struct psPoly *poly;
00009 AllocVar(poly);
00010 return poly;
00011 }

Here is the caller graph for this function:


Generated on Tue Dec 25 20:13:35 2007 for blat by  doxygen 1.5.2