169e62e48SStephan Aßmus /* 24c587adeSStephan Aßmus * Copyright 2008 Ralf Schülke, ralf.schuelke@googlemail.com. 34c587adeSStephan Aßmus * Copyright 2010 Adam Smith <adamd.smith@utoronto.ca> 4c6b0a589SJohn Scipione * Copyright 2014 Haiku, Inc. All rights reserved. 5c6b0a589SJohn Scipione * 6c6b0a589SJohn Scipione * Distributed under the terms of the MIT License. 7c6b0a589SJohn Scipione * 8c6b0a589SJohn Scipione * Authors: 9c6b0a589SJohn Scipione * John Scipione, jscipione@gmail.com 1069e62e48SStephan Aßmus */ 1169e62e48SStephan Aßmus #ifndef PAIRS_WINDOW_H 1269e62e48SStephan Aßmus #define PAIRS_WINDOW_H 1369e62e48SStephan Aßmus 14c6b0a589SJohn Scipione 1569e62e48SStephan Aßmus #include <Window.h> 1669e62e48SStephan Aßmus 17c6b0a589SJohn Scipione 18*97e1b053SJohn Scipione class BMenu; 1969e62e48SStephan Aßmus class BMessageRunner; 20*97e1b053SJohn Scipione class PairsView; 2169e62e48SStephan Aßmus 2269e62e48SStephan Aßmus 2369e62e48SStephan Aßmus class PairsWindow : public BWindow { 2469e62e48SStephan Aßmus public: 2569e62e48SStephan Aßmus PairsWindow(); 2669e62e48SStephan Aßmus virtual ~PairsWindow(); 2769e62e48SStephan Aßmus 2869e62e48SStephan Aßmus virtual void MessageReceived(BMessage* message); 2969e62e48SStephan Aßmus 304c587adeSStephan Aßmus void NewGame(); 31*97e1b053SJohn Scipione void SetGameSize(uint8 rows, uint8 cols); 324c587adeSStephan Aßmus 3369e62e48SStephan Aßmus private: 34*97e1b053SJohn Scipione void _MakeGameView(uint8 rows, uint8 cols); 354c587adeSStephan Aßmus void _MakeMenuBar(); 36*97e1b053SJohn Scipione void _ResizeWindow(uint8 rows, uint8 cols); 374c587adeSStephan Aßmus 3869e62e48SStephan Aßmus BView* fBackgroundView; 3969e62e48SStephan Aßmus PairsView* fPairsView; 404c587adeSStephan Aßmus BMenuBar* fMenuBar; 4169e62e48SStephan Aßmus BMessageRunner* fPairComparing; 4269e62e48SStephan Aßmus bool fIsFirstClick; 4369e62e48SStephan Aßmus bool fIsPairsActive; 44*97e1b053SJohn Scipione int32 fPairCardPosition; 45*97e1b053SJohn Scipione int32 fPairCardTmpPosition; 46*97e1b053SJohn Scipione int32 fButtonTmpPosition; 47*97e1b053SJohn Scipione int32 fButtonPosition; 48*97e1b053SJohn Scipione int32 fButtonClicks; 49*97e1b053SJohn Scipione int32 fFinishPairs; 50*97e1b053SJohn Scipione BMenu* fIconSizeMenu; 5169e62e48SStephan Aßmus }; 5269e62e48SStephan Aßmus 5369e62e48SStephan Aßmus #endif // PAIRS_WINDOW_H 54