2006-02-16 23:13:44 +00:00
|
|
|
#ifndef SOLITAIRE_INCLUDED
|
|
|
|
#define SOLITAIRE_INCLUDED
|
|
|
|
|
|
|
|
extern CardWindow SolWnd;
|
|
|
|
extern TCHAR szAppName[];
|
2007-08-04 10:22:44 +00:00
|
|
|
extern bool fGameStarted;
|
2006-02-16 23:13:44 +00:00
|
|
|
|
2007-08-05 18:56:39 +00:00
|
|
|
#define OPTION_SHOW_STATUS 4
|
2007-06-02 16:32:19 +00:00
|
|
|
#define OPTION_THREE_CARDS 8
|
2007-08-03 12:47:40 +00:00
|
|
|
#define CARDBACK_START IDC_CARDBACK1
|
|
|
|
#define CARDBACK_END IDC_CARDBACK4
|
|
|
|
#define NUM_CARDBACKS (CARDBACK_END - CARDBACK_START + 1)
|
|
|
|
#define CARDBACK_RES_START 53
|
2007-06-02 16:32:19 +00:00
|
|
|
|
2007-07-28 13:03:13 +00:00
|
|
|
extern DWORD dwOptions;
|
2007-06-02 16:32:19 +00:00
|
|
|
|
2006-02-16 23:13:44 +00:00
|
|
|
void CreateSol();
|
|
|
|
void NewGame(void);
|
|
|
|
|
2007-10-14 18:21:27 +00:00
|
|
|
#define NUM_ROW_STACKS 7
|
|
|
|
#define DECK_ID 1
|
|
|
|
#define PILE_ID 2
|
|
|
|
#define SUIT_ID 4
|
|
|
|
#define ROW_ID 10
|
|
|
|
|
|
|
|
// Various metrics used for placing the objects and computing the minimum window size
|
|
|
|
#define X_BORDER 20
|
|
|
|
#define X_PILE_BORDER 18
|
|
|
|
#define X_ROWSTACK_BORDER 10
|
|
|
|
#define X_SUITSTACK_BORDER 10
|
|
|
|
#define Y_BORDER 20
|
|
|
|
#define Y_ROWSTACK_BORDER 32
|
2007-10-14 19:49:12 +00:00
|
|
|
extern int yRowStackCardOffset;
|
2006-02-16 23:13:44 +00:00
|
|
|
|
|
|
|
extern CardRegion *pDeck;
|
|
|
|
extern CardRegion *pPile;
|
|
|
|
extern CardRegion *pSuitStack[];
|
|
|
|
extern CardRegion *pRowStack[];
|
|
|
|
|
|
|
|
|
|
|
|
bool CARDLIBPROC RowStackDragProc(CardRegion &stackobj, int iNumCards);
|
|
|
|
bool CARDLIBPROC RowStackDropProc(CardRegion &stackobj, const CardStack &dragcards);
|
|
|
|
|
|
|
|
bool CARDLIBPROC SuitStackDropProc(CardRegion &stackobj, const CardStack &dragcards);
|
|
|
|
void CARDLIBPROC SuitStackAddProc(CardRegion &stackobj, const CardStack &added);
|
|
|
|
|
|
|
|
void CARDLIBPROC RowStackClickProc(CardRegion &stackobj, int iNumClicked);
|
|
|
|
void CARDLIBPROC RowStackDblClickProc(CardRegion &stackobj, int iNumClicked);
|
|
|
|
|
|
|
|
void CARDLIBPROC DeckClickProc(CardRegion &stackobj, int iNumClicked);
|
|
|
|
void CARDLIBPROC PileDblClickProc(CardRegion &stackobj, int iNumClicked);
|
|
|
|
|
|
|
|
void CARDLIBPROC PileRemoveProc(CardRegion &stackobj, int iRemoved);
|
|
|
|
|
|
|
|
#endif
|