11 CardRegion
*pSuitStack
[4];
12 CardRegion
*pRowStack
[NUM_ROW_STACKS
];
14 extern CardStack activepile
;
18 int yRowStackCardOffset
;
24 // hbmBitmap = (HBITMAP)LoadImage(0,"test.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
25 // SolWnd.SetBackImage(hbmBitmap);
29 // Compute the value for yRowStackCardOffset based on the height of the card, so the card number isn't hidden on larger cards
30 yRowStackCardOffset
= (int)(__cardheight
/ 6.7);
32 pDeck
= SolWnd
.CreateRegion(DECK_ID
, true, X_BORDER
, Y_BORDER
, 2, 1);
33 pDeck
->SetEmptyImage(CS_EI_CIRC
);
34 pDeck
->SetThreedCount(6);
35 pDeck
->SetDragRule(CS_DRAG_NONE
, 0);
36 pDeck
->SetDropRule(CS_DROP_NONE
, 0);
37 pDeck
->SetClickProc(DeckClickProc
);
38 pDeck
->SetDblClickProc(DeckClickProc
);
39 pDeck
->SetFaceDirection(CS_FACE_DOWN
, 0);
41 pPile
= SolWnd
.CreateRegion(PILE_ID
, true, X_BORDER
+ __cardwidth
+ X_PILE_BORDER
, Y_BORDER
, CS_DEFXOFF
, 1);
42 pPile
->SetEmptyImage(CS_EI_NONE
);
43 pPile
->SetDragRule(CS_DRAG_TOP
, 0);
44 pPile
->SetDropRule(CS_DROP_NONE
, 0);
45 pPile
->SetDblClickProc(PileDblClickProc
);
46 pPile
->SetRemoveCardProc(PileRemoveProc
);
49 // Create the suit stacks
51 for(i
= 0; i
< 4; i
++)
53 pSuitStack
[i
] = SolWnd
.CreateRegion(SUIT_ID
+i
, true, 0, Y_BORDER
, 0, 0);
54 pSuitStack
[i
]->SetEmptyImage(CS_EI_SUNK
);
55 pSuitStack
[i
]->SetPlacement(CS_XJUST_CENTER
, 0, i
* (__cardwidth
+ X_SUITSTACK_BORDER
) , 0);
57 pSuitStack
[i
]->SetDropRule(CS_DROP_CALLBACK
, SuitStackDropProc
);
58 pSuitStack
[i
]->SetDragRule(CS_DRAG_TOP
);
60 pSuitStack
[i
]->SetAddCardProc(SuitStackAddProc
);
64 // Create the row stacks
66 for(i
= 0; i
< NUM_ROW_STACKS
; i
++)
68 pRowStack
[i
] = SolWnd
.CreateRegion(ROW_ID
+i
, true, 0, Y_BORDER
+ __cardheight
+ Y_ROWSTACK_BORDER
, 0, yRowStackCardOffset
);
69 pRowStack
[i
]->SetEmptyImage(CS_EI_SUNK
);
70 pRowStack
[i
]->SetFaceDirection(CS_FACE_DOWNUP
, i
);
72 pRowStack
[i
]->SetPlacement(CS_XJUST_CENTER
, 0,
73 (i
- NUM_ROW_STACKS
/2) * (__cardwidth
+ X_ROWSTACK_BORDER
), 0);
75 pRowStack
[i
]->SetEmptyImage(CS_EI_NONE
);
77 pRowStack
[i
]->SetDragRule(CS_DRAG_CALLBACK
, RowStackDragProc
);
78 pRowStack
[i
]->SetDropRule(CS_DROP_CALLBACK
, RowStackDropProc
);
79 pRowStack
[i
]->SetClickProc(RowStackClickProc
);
80 pRowStack
[i
]->SetDblClickProc(RowStackDblClickProc
);