Author: cfinck
Date: Sun Oct 14 23:49:12 2007
New Revision: 29573
URL: 
http://svn.reactos.org/svn/reactos?rev=29573&view=rev
Log:
Compute the card offset for the row stack based on the height of the card.
Otherwise the numbers of larger cards (like in cardsbav) are not visible.
Modified:
    trunk/reactos/base/applications/games/solitaire/solcreate.cpp
    trunk/reactos/base/applications/games/solitaire/solitaire.cpp
    trunk/reactos/base/applications/games/solitaire/solitaire.h
Modified: trunk/reactos/base/applications/games/solitaire/solcreate.cpp
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/games/so…
==============================================================================
--- trunk/reactos/base/applications/games/solitaire/solcreate.cpp (original)
+++ trunk/reactos/base/applications/games/solitaire/solcreate.cpp Sun Oct 14 23:49:12 2007
@@ -15,6 +15,7 @@
 HBITMAP hbmBitmap;
 HDC     hdcBitmap;
+int     yRowStackCardOffset;
 void CreateSol()
 {
@@ -25,6 +26,8 @@
     activepile.Clear();
+    // Compute the value for yRowStackCardOffset based on the height of the card, so the
card number isn't hidden on larger cards
+    yRowStackCardOffset = __cardheight / 6.7;
     pDeck = SolWnd.CreateRegion(DECK_ID, true, X_BORDER, Y_BORDER, 2, 1);
     pDeck->SetEmptyImage(CS_EI_SUNK);
@@ -62,7 +65,7 @@
     //
     for(i = 0; i < NUM_ROW_STACKS; i++)
     {
-        pRowStack[i] = SolWnd.CreateRegion(ROW_ID+i, true, 0, Y_BORDER + __cardheight +
Y_ROWSTACK_BORDER, 0, Y_ROWSTACK_CARDOFFSET);
+        pRowStack[i] = SolWnd.CreateRegion(ROW_ID+i, true, 0, Y_BORDER + __cardheight +
Y_ROWSTACK_BORDER, 0, yRowStackCardOffset);
         pRowStack[i]->SetEmptyImage(CS_EI_SUNK);
         pRowStack[i]->SetFaceDirection(CS_FACE_DOWNUP, i);
Modified: trunk/reactos/base/applications/games/solitaire/solitaire.cpp
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/games/so…
==============================================================================
--- trunk/reactos/base/applications/games/solitaire/solitaire.cpp (original)
+++ trunk/reactos/base/applications/games/solitaire/solitaire.cpp Sun Oct 14 23:49:12 2007
@@ -465,15 +465,15 @@
             SendMessage(hwndStatus, SB_SETPARTS, 2, (LPARAM)parts);
             SendMessage(hwndStatus, SB_SETTEXT, 0 | SBT_NOBORDERS, (LPARAM)"");
+            SolWnd.Create(hwnd, WS_EX_CLIENTEDGE, WS_CHILD|WS_VISIBLE, 0, 0, 0, 0);
+
+            CreateSol();
+
             // The status bar height is fixed and needed later in WM_SIZE and
WM_GETMINMAXINFO
             // Force the window to process WM_GETMINMAXINFO again
             GetWindowRect(hwndStatus, &rcStatus);
             nStatusHeight = rcStatus.bottom - rcStatus.top;
             SetWindowPos(hwnd, NULL, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOZORDER);
-
-            SolWnd.Create(hwnd, WS_EX_CLIENTEDGE, WS_CHILD|WS_VISIBLE, 0, 0, 0, 0);
-
-            CreateSol();
             NewGame();
@@ -514,7 +514,7 @@
                                     Y_BORDER +
                                     __cardheight +
                                     Y_ROWSTACK_BORDER +
-                                    6 * Y_ROWSTACK_CARDOFFSET +
+                                    6 * yRowStackCardOffset +
                                     __cardheight +
                                     Y_BORDER +
                                     (dwOptions & OPTION_SHOW_STATUS ? nStatusHeight :
0);
Modified: trunk/reactos/base/applications/games/solitaire/solitaire.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/games/so…
==============================================================================
--- trunk/reactos/base/applications/games/solitaire/solitaire.h (original)
+++ trunk/reactos/base/applications/games/solitaire/solitaire.h Sun Oct 14 23:49:12 2007
@@ -30,7 +30,7 @@
 #define X_SUITSTACK_BORDER       10
 #define Y_BORDER                 20
 #define Y_ROWSTACK_BORDER        32
-#define Y_ROWSTACK_CARDOFFSET    14
+extern int yRowStackCardOffset;
 extern CardRegion *pDeck;
 extern CardRegion *pPile;