Repository navigation
Expand file tree
/
Copy pathWindow.h
More file actions
73 lines (66 loc) · 1.9 KB
/
Copy pathWindow.h
File metadata and controls
73 lines (66 loc) · 1.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/*
* Copyright 2010 OpenXcom Developers.
*
* This file is part of OpenXcom.
*
* OpenXcom is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* OpenXcom is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with OpenXcom. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef OPENXCOM_WINDOW_H
#define OPENXCOM_WINDOW_H
#include "../Engine/Surface.h"
namespace OpenXcom
{
class Timer;
class State;
class Sound;
/**
* Enumeration for the type of animation when a window pops up.
*/
enum WindowPopup { POPUP_NONE, POPUP_HORIZONTAL, POPUP_VERTICAL, POPUP_BOTH };
/**
* Box with a coloured border and custom background.
* Pretty much used as the background in most of the interface. In fact
* it's also used in screens, so it's not really much of a window, just a... box.
* But box sounds lame.
*/
class Window : public Surface
{
private:
Surface *_bg;
Uint8 _color;
WindowPopup _popup;
double _popupStep;
Timer *_timer;
State *_state;
public:
static Sound *soundPopup[3];
/// Creates a new window with the specified size and position
Window(State *state, int width, int height, int x = 0, int y = 0, WindowPopup popup = POPUP_NONE);
/// Cleans up the window
~Window();
/// Sets the background surface.
void setBackground(Surface *bg);
/// Sets the border color.
void setColor(Uint8 color);
/// Gets the border color.
Uint8 getColor() const;
/// Handles the timers.
void think();
/// Popups the window.
void popup();
/// Draws the window.
void draw();
};
}
#endif