1 #ifndef SOLITAIRE_INCLUDED
2 #define SOLITAIRE_INCLUDED
4 extern CardWindow SolWnd
;
5 extern TCHAR szAppName
[];
6 extern bool fGameStarted
;
8 #define OPTION_SHOW_STATUS 4
9 #define OPTION_THREE_CARDS 8
10 #define CARDBACK_START IDC_CARDBACK1
11 #define CARDBACK_END IDC_CARDBACK4
12 #define NUM_CARDBACKS (CARDBACK_END - CARDBACK_START + 1)
13 #define CARDBACK_RES_START 53
15 extern DWORD dwOptions
;
20 #define NUM_ROW_STACKS 7
26 // Various metrics used for placing the objects and computing the minimum window size
28 #define X_PILE_BORDER 18
29 #define X_ROWSTACK_BORDER 10
30 #define X_SUITSTACK_BORDER 10
32 #define Y_ROWSTACK_BORDER 32
33 #define Y_ROWSTACK_CARDOFFSET 14
35 extern CardRegion
*pDeck
;
36 extern CardRegion
*pPile
;
37 extern CardRegion
*pSuitStack
[];
38 extern CardRegion
*pRowStack
[];
41 bool CARDLIBPROC
RowStackDragProc(CardRegion
&stackobj
, int iNumCards
);
42 bool CARDLIBPROC
RowStackDropProc(CardRegion
&stackobj
, const CardStack
&dragcards
);
44 bool CARDLIBPROC
SuitStackDropProc(CardRegion
&stackobj
, const CardStack
&dragcards
);
45 void CARDLIBPROC
SuitStackAddProc(CardRegion
&stackobj
, const CardStack
&added
);
47 void CARDLIBPROC
RowStackClickProc(CardRegion
&stackobj
, int iNumClicked
);
48 void CARDLIBPROC
RowStackDblClickProc(CardRegion
&stackobj
, int iNumClicked
);
50 void CARDLIBPROC
DeckClickProc(CardRegion
&stackobj
, int iNumClicked
);
51 void CARDLIBPROC
PileDblClickProc(CardRegion
&stackobj
, int iNumClicked
);
53 void CARDLIBPROC
PileRemoveProc(CardRegion
&stackobj
, int iRemoved
);