/* $Id: pile.h,v 1.1.1.1 1997/02/21 21:04:17 sverrehu Exp $ */ #ifndef PILE_H #define PILE_H #include "card.h" typedef struct pile { int x, y; /* upper left location of bottom card in pile */ int maxWidth; /* max width of pile in pixels (for clearing) */ int maxHeight; int dx, dy; /* delta x,y for each card */ int deltaEach; /* apply delta to each n'th card. if negative, apply delta to n topmost cards. */ int outline; /* outline to draw when pile is empty, or -1 if none */ int numCards; /* number of cards */ Card *bottom; Card *top; } Pile; Pile *pileNew(void); void pileDelete(Pile *p); void pileInsertCardBefore(Pile *p, Card *c, Card *before); void pileAddCardBottom(Pile *p, Card *c); void pileAddCardTop(Pile *p, Card *c); void pileInsertPileBefore(Pile *p, Pile *ip, Card *before); void pileAddPileBottom(Pile *p, Pile *ap); void pileAddPileTop(Pile *p, Pile *ap); void pileRemoveCard(Pile *p, Card *c); void pileRemoveAllCards(Pile *p); Pile *pileMoveToNewPileFromCard(Pile *p, Card *c); #endif