1 /***************************************************************************
2  *   Copyright (C) 2009 by Andrey Afletdinov <fheroes2@gmail.com>          *
3  *                                                                         *
4  *   Part of the Free Heroes2 Engine:                                      *
5  *   http://sourceforge.net/projects/fheroes2                              *
6  *                                                                         *
7  *   This program is free software; you can redistribute it and/or modify  *
8  *   it under the terms of the GNU General Public License as published by  *
9  *   the Free Software Foundation; either version 2 of the License, or     *
10  *   (at your option) any later version.                                   *
11  *                                                                         *
12  *   This program is distributed in the hope that it will be useful,       *
13  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
14  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
15  *   GNU General Public License for more details.                          *
16  *                                                                         *
17  *   You should have received a copy of the GNU General Public License     *
18  *   along with this program; if not, write to the                         *
19  *   Free Software Foundation, Inc.,                                       *
20  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
21  ***************************************************************************/
22 
23 #ifndef H2INTERFACE_BUTTONS_H
24 #define H2INTERFACE_BUTTONS_H
25 
26 #include "interface_border.h"
27 #include "ui_button.h"
28 
29 namespace Interface
30 {
31     class Basic;
32 
33     class ButtonsArea : public BorderWindow
34     {
35     public:
36         explicit ButtonsArea( Basic & );
37 
38         void SetPos( s32, s32 ) override;
39         void SavePosition( void ) override;
40         void SetRedraw( void ) const;
41 
42         void Redraw( void );
43         fheroes2::GameMode QueueEventProcessing();
44         void ResetButtons();
45 
46     private:
47         Basic & interface;
48 
49         fheroes2::Button buttonNextHero;
50         fheroes2::Button buttonMovement;
51         fheroes2::Button buttonKingdom;
52         fheroes2::Button buttonSpell;
53         fheroes2::Button buttonEndTurn;
54         fheroes2::Button buttonAdventure;
55         fheroes2::Button buttonFile;
56         fheroes2::Button buttonSystem;
57 
58         fheroes2::Rect nextHeroRect;
59         fheroes2::Rect movementRect;
60         fheroes2::Rect kingdomRect;
61         fheroes2::Rect spellRect;
62         fheroes2::Rect endTurnRect;
63         fheroes2::Rect adventureRect;
64         fheroes2::Rect fileRect;
65         fheroes2::Rect systemRect;
66 
67         void SetButtonStatus();
68     };
69 }
70 
71 #endif
72