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_CARDBACK12
12 #define NUM_CARDBACKS (CARDBACK_END - CARDBACK_START + 1)
13 #define CARDBACK_RES_START 53
14 /* Display option cards with half the size */
15 #define CARDBACK_OPTIONS_WIDTH 36
16 #define CARDBACK_OPTIONS_HEIGHT 48
18 extern DWORD dwOptions
;
23 #define NUM_ROW_STACKS 7
29 // Various metrics used for placing the objects and computing the minimum window size
31 #define X_PILE_BORDER 18
32 #define X_ROWSTACK_BORDER 10
33 #define X_SUITSTACK_BORDER 10
35 #define Y_ROWSTACK_BORDER 32
36 extern int yRowStackCardOffset
;
38 extern CardRegion
*pDeck
;
39 extern CardRegion
*pPile
;
40 extern CardRegion
*pSuitStack
[];
41 extern CardRegion
*pRowStack
[];
44 bool CARDLIBPROC
RowStackDragProc(CardRegion
&stackobj
, int iNumCards
);
45 bool CARDLIBPROC
RowStackDropProc(CardRegion
&stackobj
, CardStack
&dragcards
);
47 bool CARDLIBPROC
SuitStackDropProc(CardRegion
&stackobj
, CardStack
&dragcards
);
48 void CARDLIBPROC
SuitStackAddProc(CardRegion
&stackobj
, const CardStack
&added
);
50 void CARDLIBPROC
RowStackClickProc(CardRegion
&stackobj
, int iNumClicked
);
51 void CARDLIBPROC
RowStackDblClickProc(CardRegion
&stackobj
, int iNumClicked
);
53 void CARDLIBPROC
DeckClickProc(CardRegion
&stackobj
, int iNumClicked
);
54 void CARDLIBPROC
PileDblClickProc(CardRegion
&stackobj
, int iNumClicked
);
56 void CARDLIBPROC
PileRemoveProc(CardRegion
&stackobj
, int iRemoved
);