]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/forty/card.cpp
wxMSW update for CW, wxMac updated
[wxWidgets.git] / samples / forty / card.cpp
index 5dc266982ee0ffbffdf2029eab70b3c80d1ec865..b74fcee8344224ef626dee11d4062a4059af853e 100644 (file)
 // Last modified: 22nd July 1998 - ported to wxWindows 2.0
 /////////////////////////////////////////////////////////////////////////////
 //+-------------------------------------------------------------+
-//| Description:                                                                                               |
-//|    A class for drawing playing cards.                                                      |
-//|    Currently assumes that the card symbols have been                       |
-//|    loaded into hbmap_symbols and the pictures for the                      |
-//|    Jack, Queen and King have been loaded into                                      |
-//|    hbmap_pictures.                                                                                         |
+//| Description
+//|    A class for drawing playing cards.
+//|    Currently assumes that the card symbols have been
+//|    loaded into hbmap_symbols and the pictures for the
+//|    Jack, Queen and King have been loaded into
+//|    hbmap_pictures.
 //+-------------------------------------------------------------+
 
 #ifdef __GNUG__
@@ -41,7 +41,7 @@
 #include "forty.h"
 #include "card.h"
 
-#ifdef __WXGTK__
+#if defined(__WXGTK__) || defined(__WXMOTIF__) || defined(__WXMAC__)
 #include "pictures.xpm"
 #include "symbols.xbm"
 #endif
@@ -138,11 +138,11 @@ Card::~Card()
 void Card::Erase(wxDC& dc, int x, int y)
 {
        wxPen* pen = wxThePenList->FindOrCreatePen(
-                                               *FortyApp::BackgroundColour(),
+                                               FortyApp::BackgroundColour(),
                                                1,
                                                wxSOLID
                                                );
-       dc.SetPen(pen);
+       dc.SetPen(pen);
        dc.SetBrush(FortyApp::BackgroundBrush());
        dc.DrawRectangle(x, y, CardWidth, CardHeight);
 } // Card::Erase()
@@ -171,18 +171,18 @@ void Card::Erase(wxDC& dc, int x, int y)
 //+-------------------------------------------------------------+
 void Card::Draw(wxDC& dc, int x, int y)
 {
-       wxBrush* backgroundBrush = dc.GetBackground();
-       dc.SetBrush(wxWHITE_BRUSH);
-       dc.SetPen(wxBLACK_PEN);
+       wxBrush backgroundBrush( dc.GetBackground() );
+       dc.SetBrush(wxWHITE_BRUSH);
+       dc.SetPen(wxBLACK_PEN);
        dc.DrawRoundedRectangle(x, y, CardWidth, CardHeight, 4);
        if (m_wayUp == facedown)
        {
-               dc.SetBackground(wxRED_BRUSH);
+               dc.SetBackground(wxRED_BRUSH);
                dc.SetBackgroundMode(wxSOLID);
                wxBrush* brush = wxTheBrushList->FindOrCreateBrush(
                                                        "BLACK", wxCROSSDIAG_HATCH
                                                        );
-               dc.SetBrush(brush);
+               dc.SetBrush(brush);
 
                dc.DrawRoundedRectangle(
                                x + 4, y + 4,
@@ -193,7 +193,7 @@ void Card::Draw(wxDC& dc, int x, int y)
        else
        {
                wxMemoryDC memoryDC;
-               memoryDC.SelectObject(m_symbolBmap);
+               memoryDC.SelectObject(m_symbolBmap);
 
 //             dc.SetBackgroundMode(wxTRANSPARENT);
 
@@ -324,10 +324,10 @@ void Card::Draw(wxDC& dc, int x, int y)
                case 11:
                case 12:
                case 13:
-                       memoryDC.SelectObject(m_pictureBmap);
+                       memoryDC.SelectObject(m_pictureBmap);
                        dc.Blit(x + 5, y - 5 + CardHeight / 4, 40, 45,
                                &memoryDC, 40 * (m_pipValue - 11), 0, wxCOPY);
-                       memoryDC.SelectObject(m_symbolBmap);
+                       memoryDC.SelectObject(m_symbolBmap);
                        dc.Blit(x + 32, y - 3 + CardHeight / 4, 11, 11,
                                &memoryDC, 11 * m_suit, 14, wxCOPY);
                        dc.Blit(x + 7, y + 27 + CardHeight / 4, 11, 11,
@@ -336,7 +336,7 @@ void Card::Draw(wxDC& dc, int x, int y)
                }
 
        }
-       dc.SetBackground(backgroundBrush);
+       dc.SetBackground( backgroundBrush );
 } // Card:Draw()
 
 
@@ -349,9 +349,9 @@ void Card::Draw(wxDC& dc, int x, int y)
 //+-------------------------------------------------------------+
 void Card::DrawNullCard(wxDC& dc, int x, int y)
 {
-       wxPen* pen = wxThePenList->FindOrCreatePen(*FortyApp::TextColour(), 1, wxSOLID);
+       wxPen* pen = wxThePenList->FindOrCreatePen(FortyApp::TextColour(), 1, wxSOLID);
        dc.SetBrush(FortyApp::BackgroundBrush());
-       dc.SetPen(pen);
+       dc.SetPen(*pen);
        dc.DrawRoundedRectangle(x, y, CardWidth, CardHeight, 4);
 } // Card::DrawNullCard()