Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygensolcreate.cpp
Go to the documentation of this file.
00001 00002 #include "solitaire.h" 00003 00004 CardRegion *pDeck; 00005 CardRegion *pPile; 00006 CardRegion *pSuitStack[4]; 00007 CardRegion *pRowStack[NUM_ROW_STACKS]; 00008 00009 extern CardStack activepile; 00010 00011 HBITMAP hbmBitmap; 00012 HDC hdcBitmap; 00013 int yRowStackCardOffset; 00014 00015 void CreateSol() 00016 { 00017 int i; 00018 00019 // hbmBitmap = (HBITMAP)LoadImage(0,"test.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE); 00020 // SolWnd.SetBackImage(hbmBitmap); 00021 00022 activepile.Clear(); 00023 00024 // Compute the value for yRowStackCardOffset based on the height of the card, so the card number isn't hidden on larger cards 00025 yRowStackCardOffset = (int)(__cardheight / 6.7); 00026 00027 pDeck = SolWnd.CreateRegion(DECK_ID, true, X_BORDER, Y_BORDER, 2, 1); 00028 pDeck->SetEmptyImage(CS_EI_CIRC); 00029 pDeck->SetThreedCount(6); 00030 pDeck->SetDragRule(CS_DRAG_NONE, 0); 00031 pDeck->SetDropRule(CS_DROP_NONE, 0); 00032 pDeck->SetClickProc(DeckClickProc); 00033 pDeck->SetDblClickProc(DeckClickProc); 00034 pDeck->SetFaceDirection(CS_FACE_DOWN, 0); 00035 00036 pPile = SolWnd.CreateRegion(PILE_ID, true, X_BORDER + __cardwidth + X_PILE_BORDER, Y_BORDER, CS_DEFXOFF, 1); 00037 pPile->SetEmptyImage(CS_EI_NONE); 00038 pPile->SetDragRule(CS_DRAG_TOP, 0); 00039 pPile->SetDropRule(CS_DROP_NONE, 0); 00040 pPile->SetDblClickProc(PileDblClickProc); 00041 pPile->SetRemoveCardProc(PileRemoveProc); 00042 00043 // 00044 // Create the suit stacks 00045 // 00046 for(i = 0; i < 4; i++) 00047 { 00048 pSuitStack[i] = SolWnd.CreateRegion(SUIT_ID+i, true, 0, Y_BORDER, 0, 0); 00049 pSuitStack[i]->SetEmptyImage(CS_EI_SUNK); 00050 pSuitStack[i]->SetPlacement(CS_XJUST_CENTER, 0, i * (__cardwidth + X_SUITSTACK_BORDER) , 0); 00051 00052 pSuitStack[i]->SetDropRule(CS_DROP_CALLBACK, SuitStackDropProc); 00053 pSuitStack[i]->SetDragRule(CS_DRAG_TOP); 00054 00055 pSuitStack[i]->SetAddCardProc(SuitStackAddProc); 00056 } 00057 00058 // 00059 // Create the row stacks 00060 // 00061 for(i = 0; i < NUM_ROW_STACKS; i++) 00062 { 00063 pRowStack[i] = SolWnd.CreateRegion(ROW_ID+i, true, 0, Y_BORDER + __cardheight + Y_ROWSTACK_BORDER, 0, yRowStackCardOffset); 00064 pRowStack[i]->SetEmptyImage(CS_EI_SUNK); 00065 pRowStack[i]->SetFaceDirection(CS_FACE_DOWNUP, i); 00066 00067 pRowStack[i]->SetPlacement(CS_XJUST_CENTER, 0, 00068 (i - NUM_ROW_STACKS/2) * (__cardwidth + X_ROWSTACK_BORDER), 0); 00069 00070 pRowStack[i]->SetEmptyImage(CS_EI_NONE); 00071 00072 pRowStack[i]->SetDragRule(CS_DRAG_CALLBACK, RowStackDragProc); 00073 pRowStack[i]->SetDropRule(CS_DROP_CALLBACK, RowStackDropProc); 00074 pRowStack[i]->SetClickProc(RowStackClickProc); 00075 pRowStack[i]->SetDblClickProc(RowStackDblClickProc); 00076 } 00077 } Generated on Sat May 26 2012 04:15:37 for ReactOS by
1.7.6.1
|