git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1289 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			120 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			120 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| ///////////////////////////////////////////////////////////////////////////////
 | |
| // Name:        bombs.h
 | |
| // Purpose:     Bombs game
 | |
| // Author:      P. Foggia 1996
 | |
| // Modified by:
 | |
| // Created:     1996
 | |
| // RCS-ID:      $Id$
 | |
| // Copyright:   (c) 1996 P. Foggia
 | |
| // Licence:     wxWindows licence
 | |
| ///////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| #ifndef _INC_BOMBS_H
 | |
| #define _INC_BOMBS_H
 | |
| 
 | |
| #include "game.h"
 | |
| 
 | |
| /*
 | |
|  * Forward declarations of all top-level window classes.
 | |
|  */
 | |
| class  BombsFrameClass;
 | |
| class  AboutFrameClass;
 | |
| 
 | |
| /*
 | |
|  * Class representing the entire Application
 | |
|  */
 | |
| class AppClass: public wxApp
 | |
| {
 | |
|  public:
 | |
|   BombsFrameClass *BombsFrame;
 | |
|   int level;
 | |
|   BombsGame Game;
 | |
| 
 | |
|   bool OnInit();
 | |
| };
 | |
| 
 | |
| DECLARE_APP(AppClass)
 | |
| 
 | |
| class BombsCanvasClass;
 | |
| 
 | |
| class BombsFrameClass: public wxFrame
 | |
| {
 | |
|  private:
 | |
|  protected:
 | |
|  public:
 | |
|   // Subwindows for reference within the program.
 | |
|   BombsCanvasClass *BombsCanvas;
 | |
|   wxMenuBar *menuBar;
 | |
| 
 | |
|   // Constructor and destructor
 | |
|   BombsFrameClass(wxFrame *parent, const wxString& title, const wxPoint& pos, const wxSize& size, long style);
 | |
|   ~BombsFrameClass(void);
 | |
| 
 | |
|  void OnCloseWindow(wxCloseEvent& event);
 | |
|  void OnExit(wxCommandEvent& event);
 | |
|  void OnRestart(wxCommandEvent& event);
 | |
|  void OnAbout(wxCommandEvent& event);
 | |
|  void OnEasy(wxCommandEvent& event);
 | |
|  void OnMedium(wxCommandEvent& event);
 | |
|  void OnDifficult(wxCommandEvent& event);
 | |
| 
 | |
| DECLARE_EVENT_TABLE()
 | |
| };
 | |
| 
 | |
| /* Menu identifiers
 | |
|  */
 | |
| // File
 | |
| #define BOMBSFRAMECLASS_FILE 1
 | |
| // E&xit
 | |
| #define IDM_EXIT 2
 | |
| // About...
 | |
| #define IDM_ABOUT 3
 | |
| // Game
 | |
| #define BOMBSFRAMECLASS_GAME 4
 | |
| // &Restart
 | |
| #define IDM_RESTART 5
 | |
| // &Easy
 | |
| #define IDM_EASY 6
 | |
| // &Medium
 | |
| #define IDM_MEDIUM 7
 | |
| // &Difficult
 | |
| #define IDM_DIFFICULT 8
 | |
| 
 | |
| class BombsCanvasClass: public wxWindow
 | |
| {
 | |
|  private:
 | |
|  protected:
 | |
|  public:
 | |
|    int field_width, field_height;
 | |
|    int x_cell, y_cell;
 | |
|    wxBitmap *bmp;
 | |
|   // Constructor and destructor
 | |
|   BombsCanvasClass(wxFrame *parent, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0);
 | |
|   ~BombsCanvasClass(void);
 | |
| 
 | |
|  void OnPaint(wxPaintEvent& event);
 | |
|  void DrawField(wxDC *, int xc1, int yc1, int xc2, int yc2);
 | |
|  void Refresh(int xc1, int yc1, int xc2, int yc2);
 | |
|  void OnEvent(wxMouseEvent& event);
 | |
|  void UpdateFieldSize();
 | |
| 
 | |
| DECLARE_EVENT_TABLE()
 | |
| };
 | |
| 
 | |
| /* Menu identifiers
 | |
|  */
 | |
| 
 | |
| /* The following sizes should probably be redefined */
 | |
| /* dimensions of a scroll unit, in pixels */
 | |
| #define X_UNIT 4
 | |
| #define Y_UNIT 4
 | |
| 
 | |
| /* the dimensions of a cell, in scroll units are in
 | |
|  * BombsCanvasClass::x_cell and y_cell
 | |
|  */
 | |
| 
 | |
| #define BOMBS_FONT wxFont(14, wxROMAN, wxNORMAL, wxNORMAL)
 | |
| 
 | |
| #endif /* mutual exclusion */
 | |
| 
 |