X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/70d26c3f4ffb24d50457d405c9595fd23f9e5b7c..ef1cae87cd4102bef46712f64f06fcd102ae9eee:/demos/forty/forty.cpp diff --git a/demos/forty/forty.cpp b/demos/forty/forty.cpp index bfdb920f06..a2a1cd4c5b 100644 --- a/demos/forty/forty.cpp +++ b/demos/forty/forty.cpp @@ -29,6 +29,7 @@ #include "canvas.h" #include "forty.h" +#include "card.h" #include "scoredg.h" #ifdef wx_x #include "cards.xbm" @@ -37,7 +38,7 @@ class FortyFrame: public wxFrame { public: - FortyFrame(wxFrame* frame, char* title, int x, int y, int w, int h); + FortyFrame(wxFrame* frame, char* title, int x, int y, int w, int h,bool largecards); virtual ~FortyFrame(); void OnCloseWindow(wxCloseEvent& event); @@ -51,13 +52,14 @@ public: void Scores(wxCommandEvent& event); void ToggleRightButtonUndo(wxCommandEvent& event); void ToggleHelpingHand(wxCommandEvent& event); + void ToggleCardSize(wxCommandEvent& event); DECLARE_EVENT_TABLE() private: enum MenuCommands { NEW_GAME = 10, SCORES, EXIT, UNDO, REDO, - RIGHT_BUTTON_UNDO, HELPING_HAND, + RIGHT_BUTTON_UNDO, HELPING_HAND, LARGE_CARDS, ABOUT }; wxMenuBar* m_menuBar; @@ -73,6 +75,7 @@ BEGIN_EVENT_TABLE(FortyFrame, wxFrame) EVT_MENU(SCORES, FortyFrame::Scores) EVT_MENU(RIGHT_BUTTON_UNDO, FortyFrame::ToggleRightButtonUndo) EVT_MENU(HELPING_HAND, FortyFrame::ToggleHelpingHand) + EVT_MENU(LARGE_CARDS, FortyFrame::ToggleCardSize) EVT_CLOSE(FortyFrame::OnCloseWindow) END_EVENT_TABLE() @@ -85,10 +88,19 @@ wxBrush* FortyApp::m_backgroundBrush = 0; bool FortyApp::OnInit() { + bool largecards = FALSE; + wxSize size(668,510); + + if ((argc > 1) && (!wxStrcmp(argv[1],"-L"))) + { + largecards = TRUE; + size = wxSize(1000,750); + } + FortyFrame* frame = new FortyFrame( 0, "Forty Thieves", - -1, -1, 668, 510 + -1, -1, size.x, size.y,largecards ); // Show the frame @@ -128,7 +140,7 @@ const wxColour& FortyApp::TextColour() } // My frame constructor -FortyFrame::FortyFrame(wxFrame* frame, char* title, int x, int y, int w, int h): +FortyFrame::FortyFrame(wxFrame* frame, char* title, int x, int y, int w, int h,bool largecards): wxFrame(frame, -1, title, wxPoint(x, y), wxSize(w, h)) { #ifdef __WXMAC__ @@ -165,8 +177,14 @@ FortyFrame::FortyFrame(wxFrame* frame, char* title, int x, int y, int w, int h): "Enables/disables hand cursor when a card can be moved", TRUE ); + optionsMenu->Append(LARGE_CARDS, + "&Large cards", + "Enables/disables large cards for high resolution displays", + TRUE + ); optionsMenu->Check(HELPING_HAND, TRUE); optionsMenu->Check(RIGHT_BUTTON_UNDO, TRUE); + optionsMenu->Check(LARGE_CARDS, largecards ? TRUE : FALSE); wxMenu* helpMenu = new wxMenu; helpMenu->Append(ABOUT, "&About", "Displays program version information"); @@ -179,6 +197,9 @@ FortyFrame::FortyFrame(wxFrame* frame, char* title, int x, int y, int w, int h): SetMenuBar(m_menuBar); + if (largecards) + Card::SetScale(1.3); + m_canvas = new FortyCanvas(this, 0, 0, 400, 400); wxLayoutConstraints* constr = new wxLayoutConstraints; constr->left.SameAs(this, wxLeft); @@ -227,7 +248,7 @@ FortyFrame::About(wxCommandEvent&) "Forty Thieves\n\n" "A freeware program using the wxWindows\n" "portable C++ GUI toolkit.\n" - "http://web.ukonline.co.uk/julian.smart/wxwin\n" + "http://www.wxwindows.org\n" "http://www.freiburg.linux.de/~wxxt\n\n" "Author: Chris Breeze (c) 1992-1998\n" "email: chris.breeze@iname.com", @@ -269,3 +290,14 @@ FortyFrame::ToggleHelpingHand(wxCommandEvent& event) bool checked = m_menuBar->IsChecked(event.GetId()); m_canvas->EnableHelpingHand(checked); } + +void +FortyFrame::ToggleCardSize(wxCommandEvent& event) +{ + bool checked = m_menuBar->IsChecked(event.GetId()); + Card::SetScale(checked ? 1.3 : 1); + m_canvas->LayoutGame(); + m_canvas->Refresh(); +} + +