Fix build.
[reactos.git] / reactos / base / applications / games / solitaire / solitaire.h
1 #ifndef SOLITAIRE_INCLUDED
2 #define SOLITAIRE_INCLUDED
3
4 extern CardWindow SolWnd;
5 extern TCHAR szAppName[];
6 extern bool fGameStarted;
7
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
17
18 extern DWORD dwOptions;
19
20 void CreateSol();
21 void NewGame(void);
22
23 #define NUM_ROW_STACKS 7
24 #define DECK_ID 1
25 #define PILE_ID 2
26 #define SUIT_ID 4
27 #define ROW_ID 10
28
29 // Various metrics used for placing the objects and computing the minimum window size
30 #define X_BORDER 20
31 #define X_PILE_BORDER 18
32 #define X_ROWSTACK_BORDER 10
33 #define X_SUITSTACK_BORDER 10
34 #define Y_BORDER 20
35 #define Y_ROWSTACK_BORDER 32
36 extern int yRowStackCardOffset;
37
38 extern CardRegion *pDeck;
39 extern CardRegion *pPile;
40 extern CardRegion *pSuitStack[];
41 extern CardRegion *pRowStack[];
42
43
44 bool CARDLIBPROC RowStackDragProc(CardRegion &stackobj, int iNumCards);
45 bool CARDLIBPROC RowStackDropProc(CardRegion &stackobj, CardStack &dragcards);
46
47 bool CARDLIBPROC SuitStackDropProc(CardRegion &stackobj, CardStack &dragcards);
48 void CARDLIBPROC SuitStackAddProc(CardRegion &stackobj, const CardStack &added);
49
50 void CARDLIBPROC RowStackClickProc(CardRegion &stackobj, int iNumClicked);
51 void CARDLIBPROC RowStackDblClickProc(CardRegion &stackobj, int iNumClicked);
52
53 void CARDLIBPROC DeckClickProc(CardRegion &stackobj, int iNumClicked);
54 void CARDLIBPROC PileDblClickProc(CardRegion &stackobj, int iNumClicked);
55
56 void CARDLIBPROC PileRemoveProc(CardRegion &stackobj, int iRemoved);
57
58 #endif