xref: /haiku/src/apps/pairs/PairsWindow.h (revision 97e1b053b63ba10e037388a4e21bcb93a3220210)
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