#include "canvas.h"
#include "forty.h"
+#include "card.h"
#include "scoredg.h"
#ifdef wx_x
#include "cards.xbm"
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);
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;
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()
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
}
// 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__
"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");
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);
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();
+}
+
+