ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

solcreate.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.