Visual C++ backend for rbuild (for now just a hacked mingw backend) and related compi...
[reactos.git] / base / applications / games / solitaire / cardlib / cardlib.h
1 #ifndef CARDLIB_INCLUDED
2 #define CARDLIB_INCLUDED
3
4 #define CARDLIBPROC __stdcall
5
6 void CardBlt(HDC hdc, int x, int y, int nCardNum);
7 void CardLib_SetZoomSpeed(int);
8
9 #define CS_EI_NONE 0
10 #define CS_EI_SUNK 1
11 #define CS_EI_CIRC 67
12 #define CS_EI_X 66
13
14 #define CS_DEFXOFF 12 //x-offset
15 #define CS_DEFYOFF 18 //y-offset
16 #define CS_NO3D 1 //default 3d counts (recommened)
17 #define CS_DEF3D 10 //(best for decks)
18
19 #define CS_DRAG_NONE 0
20 #define CS_DRAG_TOP 1
21 #define CS_DRAG_ALL 2
22 #define CS_DRAG_CALLBACK 3
23
24 #define CS_DROP_NONE 0
25 #define CS_DROP_ALL 1
26 #define CS_DROP_CALLBACK 2
27
28 #define CS_XJUST_NONE 0
29 #define CS_XJUST_RIGHT 1
30 #define CS_XJUST_CENTER 2
31
32 #define CS_YJUST_NONE 0
33 #define CS_YJUST_BOTTOM 1
34 #define CS_YJUST_CENTER 2
35
36 #define CB_STATIC 0 //static text label
37 #define CB_PUSHBUTTON 1 //normal button
38 #define CB_ALIGN_CENTER 0 //centered is default
39 #define CB_ALIGN_LEFT 2
40 #define CB_ALIGN_RIGHT 4
41
42 #define CS_FACE_UP 0 //all cards face-up
43 #define CS_FACE_DOWN 1 //all cards face-down
44 #define CS_FACE_DOWNUP 2 //bottom X cards down, top-most face-up
45 #define CS_FACE_UPDOWN 3 //bottom X cards up, top-most face-down
46 #define CS_FACE_ANY 4 //cards can be any orientation
47
48 #define CS_DROPZONE_NODROP -1
49
50 //
51 // Define the standard card-back indices
52 //
53 #define ecbCROSSHATCH 53
54 #define ecbWEAVE1 54
55 #define ecbWEAVE2 55
56 #define ecbROBOT 56
57 #define ecbFLOWERS 57
58 #define ecbVINE1 58
59 #define ecbVINE2 59
60 #define ecbFISH1 60
61 #define ecbFISH2 61
62 #define ecbSHELLS 62
63 #define ecbCASTLE 63
64 #define ecbISLAND 64
65 #define ecbCARDHAND 65
66 #define ecbUNUSED 66
67 #define ecbTHE_X 67
68 #define ecbTHE_O 68
69
70
71 class CardRegion;
72 class CardButton;
73 class CardStack;
74 class CardWindow;
75
76 typedef bool (CARDLIBPROC *pCanDragProc) (CardRegion &stackobj, int iNumDragging);
77 typedef bool (CARDLIBPROC *pCanDropProc) (CardRegion &stackobj, const CardStack &cards);
78 typedef void (CARDLIBPROC *pClickProc) (CardRegion &stackobj, int iNumCards);
79 typedef void (CARDLIBPROC *pAddProc) (CardRegion &stackobj, const CardStack &cards);
80 typedef void (CARDLIBPROC *pRemoveProc) (CardRegion &stackobj, int iNumRemoved);
81
82 typedef void (CARDLIBPROC *pResizeWndProc) (int width, int height);
83 typedef int (CARDLIBPROC *pDropZoneProc) (int dzid, const CardStack &cards);
84
85 typedef void (CARDLIBPROC *pButtonProc) (CardButton &pButton);
86
87
88 #include "card.h"
89 #include "cardbutton.h"
90 #include "cardstack.h"
91 #include "cardregion.h"
92 #include "cardcount.h"
93 #include "cardwindow.h"
94
95 #ifdef _DEBUG
96 typedef bool (CARDLIBPROC *pDebugClickProc) (CardRegion &stackobj);
97 void CardLib_SetStackClickProc(pDebugClickProc proc);
98 #endif
99
100
101 #endif