_________ __                 __
        /   _____//  |_____________ _/  |______     ____  __ __  ______
        \_____  \\   __\_  __ \__  \\   __\__  \   / ___\|  |  \/  ___/
        /        \|  |  |  | \// __ \|  |  / __ \_/ /_/  >  |  /\___ \
       /_______  /|__|  |__|  (____  /__| (____  /\___  /|____//____  >
               \/                  \/          \//_____/            \/
    ______________________                           ______________________
                          T H E   W A R   B E G I N S
                   Stratagus - A free fantasy real time strategy game engine

interface.h
Go to the documentation of this file.
1 // _________ __ __
2 // / _____// |_____________ _/ |______ ____ __ __ ______
3 // \_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/
4 // / \| | | | \// __ \| | / __ \_/ /_/ > | /\___ |
5 // /_______ /|__| |__| (____ /__| (____ /\___ /|____//____ >
6 // \/ \/ \//_____/ \/
7 // ______________________ ______________________
8 // T H E W A R B E G I N S
9 // Stratagus - A free fantasy real time strategy game engine
10 //
12 //
13 // (c) Copyright 1998-2015 by Lutz Sammer, Jimmy Salmon and Andrettin
14 //
15 // This program is free software; you can redistribute it and/or modify
16 // it under the terms of the GNU General Public License as published by
17 // the Free Software Foundation; only version 2 of the License.
18 //
19 // This program is distributed in the hope that it will be useful,
20 // but WITHOUT ANY WARRANTY; without even the implied warranty of
21 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 // GNU General Public License for more details.
23 //
24 // You should have received a copy of the GNU General Public License
25 // along with this program; if not, write to the Free Software
26 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
27 // 02111-1307, USA.
28 //
29 
30 #ifndef __INTERFACE_H__
31 #define __INTERFACE_H__
32 
34 
35 /*----------------------------------------------------------------------------
36 -- Declarations
37 ----------------------------------------------------------------------------*/
38 #ifndef __ICONS_H__
39 #include "icons.h"
40 #endif
41 
42 #include "unitsound.h"
43 #include "vec2i.h"
44 #include <vector>
45 
46 /*----------------------------------------------------------------------------
47 -- Declarations
48 ----------------------------------------------------------------------------*/
49 
50 class CUIButton;
51 class CUnit;
52 struct EventCallback;
53 
54 /*----------------------------------------------------------------------------
55 -- Definitons
56 ----------------------------------------------------------------------------*/
57 
59 enum ButtonCmd {
82 };
83 
84 class ButtonAction;
85 typedef bool (*ButtonCheckFunc)(const CUnit &, const ButtonAction &);
86 
89 {
90 public:
91  ButtonAction() : Pos(0), Level(0), AlwaysShow(false), Action(ButtonMove), Value(0), Payload(NULL),
92  Allowed(NULL), Key(0) {}
93 
94  int Pos;
95  int Level;
96  bool AlwaysShow;
98  int Value;
99  void* Payload;
100  std::string ValueStr;
101 
103  std::string AllowStr;
104  std::string UnitMask;
106  int Key;
107  std::string Hint;
108  std::string Description;
110  std::string ButtonCursor;
111  std::string Popup;
112 };
113 
124 };
125 
132 };
133 
138 };
139 
144 };
145 
147 #define ModifierShift 1
148 #define ModifierControl 2
149 #define ModifierAlt 4
150 #define ModifierSuper 8
151 #define ModifierDoublePress 16
152 
153 #define MouseDoubleShift 8
154 #define MouseDragShift 16
155 #define MouseHoldShift 24
156 
157 #define NoButton 0
159 #define LeftButton 2
160 #define MiddleButton 4
161 #define RightButton 8
162 
163 #define UpButton 16
164 #define DownButton 32
165 
166 #define LeftAndMiddleButton (LeftButton | MiddleButton)
167 #define LeftAndRightButton (LeftButton | RightButton)
168 #define MiddleAndRightButton (MiddleButton | RightButton)
169 
170 enum _cursor_on_ {
184 };
185 
187 #define ScrollNone 0
188 #define ScrollUp 1
189 #define ScrollDown 2
190 #define ScrollLeft 4
191 #define ScrollRight 8
192 #define ScrollLeftUp 5
193 #define ScrollLeftDown 6
194 #define ScrollRightUp 9
195 #define ScrollRightDown 10
196 
197 /*----------------------------------------------------------------------------
198 -- Variables
199 ----------------------------------------------------------------------------*/
200 extern std::vector<ButtonAction *> UnitButtonTable;
201 
203 extern bool GameRunning;
205 extern bool GamePaused;
207 extern bool GameObserve;
209 extern bool GameEstablishing;
211 extern char SkipGameCycle;
213 extern bool GodMode;
215 extern char BigMapMode;
217 extern bool IsSDLWindowVisible;
218 
220 extern int MouseButtons;
222 extern int KeyModifiers;
224 extern enum _iface_state_ InterfaceState;
226 extern int KeyScrollState;
228 extern int MouseScrollState;
230 extern enum _key_state_ KeyState;
232 extern CUnit *UnitUnderCursor;
234 extern int ButtonAreaUnderCursor;
236 extern int ButtonUnderCursor;
238 extern int OldButtonUnderCursor;
240 extern bool GameMenuButtonClicked;
242 extern bool GameDiplomacyButtonClicked;
244 extern bool LeaveStops;
246 extern enum _cursor_on_ CursorOn;
247 
249 extern int CurrentButtonLevel;
252 
254 extern int DoubleClickDelay;
256 extern int HoldClickDelay;
257 
258 /*----------------------------------------------------------------------------
259 -- Functions
260 ----------------------------------------------------------------------------*/
261 
262 extern CUnit *GetUnitUnderCursor();
263 
264 //
265 // in botpanel.cpp
266 //
268 extern void InitButtons();
270 extern void CleanButtons();
272 extern int AddButton(int pos, int level, const std::string &IconIdent,
273  ButtonCmd action, const std::string &value, void* payload, const ButtonCheckFunc func,
274  const std::string &arg, const int key, const std::string &hint, const std::string &descr,
275  const std::string &sound, const std::string &cursor, const std::string &umask,
276  const std::string &popup, bool alwaysShow);
277 // Check if the button is allowed for the unit.
278 extern bool IsButtonAllowed(const CUnit &unit, const ButtonAction &buttonaction);
279 
280 //
281 // in mouse.cpp
282 //
284 extern void HandleButtonDown(unsigned button);
286 extern void HandleButtonUp(unsigned button);
288 extern void HandleCursorMove(int *x, int *y);
290 extern void HandleMouseMove(const PixelPos &pos);
292 extern void HandleMouseExit();
293 
295 extern int HandleKeyModifiersDown(unsigned keycode, unsigned keychar);
297 extern int HandleKeyModifiersUp(unsigned keycode, unsigned keychar);
298 
300 extern void HandleKeyDown(unsigned keycode, unsigned keychar);
302 extern void HandleKeyUp(unsigned keycode, unsigned keychar);
304 extern void HandleKeyRepeat(unsigned keycode, unsigned keychar);
305 
306 //
307 // in interface.c (for link between video and mouse.c)
308 //
310 extern void InputMouseButtonPress(const EventCallback &callbacks, unsigned ticks, unsigned button);
312 extern void InputMouseButtonRelease(const EventCallback &callbacks, unsigned ticks, unsigned button);
314 extern void InputMouseMove(const EventCallback &callbacks, unsigned ticks, int x, int y);
316 extern void InputMouseExit(const EventCallback &callbacks, unsigned ticks);
318 extern void InputMouseTimeout(const EventCallback &callbacks, unsigned ticks);
319 
321 extern void InputKeyButtonPress(const EventCallback &callbacks, unsigned ticks, unsigned ikey, unsigned ikeychar);
323 extern void InputKeyButtonRelease(const EventCallback &callbacks, unsigned ticks, unsigned ikey, unsigned ikeychar);
325 extern void InputKeyTimeout(const EventCallback &callbacks, unsigned ticks);
326 
328 extern int GetDoubleClickDelay();
330 extern void SetDoubleClickDelay(int delay);
332 extern int GetHoldClickDelay();
334 extern void SetHoldClickDelay(int delay);
335 
337 extern void UiTogglePause();
339 extern void UiToggleBigMap();
341 extern void UiToggleTerrain();
343 extern void UiFindIdleWorker();
345 extern void UiTrackUnit();
346 
348 extern void SetScrollMargins(unsigned int top, unsigned int right, unsigned int bottom, unsigned int left);
349 
351 extern int HandleCheats(const std::string &input);
352 
354 bool HandleCommandKey(int key);
355 
356 //
357 // Chaos pur.
358 //
360 extern void CancelBuildingMode();
361 
363 extern void DrawMenuButtonArea();
365 extern void DrawUserDefinedButtons();
367 extern void UpdateMessages();
369 extern void DrawMessages();
371 extern void DrawResources();
373 extern void SetMessage(const char *fmt, ...) PRINTF_VAARG_ATTRIBUTE(1, 2);
375 extern void SetMessageEvent(const Vec2i &pos, const char *fmt, ...) PRINTF_VAARG_ATTRIBUTE(2, 3);
377 extern void CenterOnMessage();
379 extern void CleanMessages();
381 extern void ToggleShowMessages();
383 extern void SetMaxMessageCount(int newMax);
384 
386 extern void DrawTimer();
388 extern void UpdateTimer();
390 extern void UpdateStatusLineForButton(const ButtonAction &button);
392 extern void DrawPieMenu();
394 extern void DrawPopup(const ButtonAction &button, const CUIButton &uibutton, int x = 0, int y = 0);
395 
397 extern bool HandleMouseScrollArea(const PixelPos &mousePos);
398 
399 //
400 // in button_checks.cpp
401 //
403 extern bool ButtonCheckTrue(const CUnit &unit, const ButtonAction &button);
405 extern bool ButtonCheckFalse(const CUnit &unit, const ButtonAction &button);
407 extern bool ButtonCheckUpgrade(const CUnit &unit, const ButtonAction &button);
409 extern bool ButtonCheckIndividualUpgrade(const CUnit &unit, const ButtonAction &button);
411 extern bool ButtonCheckUnitVariable(const CUnit &unit, const ButtonAction &button);
413 extern bool ButtonCheckUnitsOr(const CUnit &unit, const ButtonAction &button);
415 extern bool ButtonCheckUnitsAnd(const CUnit &unit, const ButtonAction &button);
417 extern bool ButtonCheckUnitsNot(const CUnit &unit, const ButtonAction &button);
419 extern bool ButtonCheckUnitsNor(const CUnit &unit, const ButtonAction &button);
421 extern bool ButtonCheckNetwork(const CUnit &unit, const ButtonAction &button);
423 extern bool ButtonCheckNoNetwork(const CUnit &unit, const ButtonAction &button);
425 extern bool ButtonCheckNoWork(const CUnit &unit, const ButtonAction &button);
427 extern bool ButtonCheckNoResearch(const CUnit &unit, const ButtonAction &button);
429 extern bool ButtonCheckAttack(const CUnit &unit, const ButtonAction &button);
431 extern bool ButtonCheckUpgradeTo(const CUnit &unit, const ButtonAction &button);
433 extern bool ButtonCheckResearch(const CUnit &unit, const ButtonAction &button);
435 extern bool ButtonCheckSingleResearch(const CUnit &unit, const ButtonAction &button);
437 extern bool ButtonCheckDebug(const CUnit &unit, const ButtonAction &button);
438 
439 //
440 // in ccl_ui.c
441 //
443 extern void SelectionChanged();
445 extern void SelectedUnitChanged();
446 
447 //
448 // in game.cpp
449 //
451 extern void SetGamePaused(bool paused);
453 extern bool GetGamePaused();
455 extern void SetGameSpeed(int speed);
457 extern int GetGameSpeed();
458 
460 
461 #endif // !__INTERFACE_H__
InputMouseButtonRelease
void InputMouseButtonRelease(const EventCallback &callbacks, unsigned ticks, unsigned button)
Called if any mouse button is released up.
Definition: interface.cpp:1393
ButtonCancelBuild
@ ButtonCancelBuild
cancel training
Definition: interface.h:80
SetMessageEvent
void void SetMessageEvent(const Vec2i &pos, const char *fmt,...) PRINTF_VAARG_ATTRIBUTE(2
Set message to display with event point.
GetDoubleClickDelay
int GetDoubleClickDelay()
Get double click delay.
Definition: interface.cpp:1554
SetHoldClickDelay
void SetHoldClickDelay(int delay)
Set hold click delay.
Definition: interface.cpp:1582
ButtonAction::Popup
std::string Popup
Custom cursor for button action (for example, to set spell target)
Definition: interface.h:111
HandleButtonDown
void HandleButtonDown(unsigned button)
Called if any mouse button is pressed down.
Definition: interface.cpp:1316
GameObserve
bool GameObserve
Flag telling if the game is in observe mode.
Definition: interface.cpp:85
HandleCursorMove
void HandleCursorMove(int *x, int *y)
Keep coordinates in window and update cursor position.
Definition: interface.cpp:1290
ButtonCheckSingleResearch
bool ButtonCheckSingleResearch(const CUnit &unit, const ButtonAction &button)
Check if all requirements for a single research are meet.
Definition: button_checks.cpp:371
ButtonAction::Icon
IconConfig Icon
for which units is it available
Definition: interface.h:105
HandleKeyModifiersUp
int HandleKeyModifiersUp(unsigned keycode, unsigned keychar)
Update KeyModifiers if a key is released.
Definition: interface.cpp:1089
UiFindIdleWorker
void UiFindIdleWorker()
Find the next idle worker.
Definition: interface.cpp:446
InputMouseMove
void InputMouseMove(const EventCallback &callbacks, unsigned ticks, int x, int y)
Called if the mouse is moved.
Definition: interface.cpp:1430
ButtonAction::ButtonCursor
std::string ButtonCursor
Sound comment used when you press the button.
Definition: interface.h:110
IfaceStateNormal
@ IfaceStateNormal
Definition: interface.h:136
ButtonCancelTrain
@ ButtonCancelTrain
cancel upgrade
Definition: interface.h:79
ButtonCheckUnitVariable
bool ButtonCheckUnitVariable(const CUnit &unit, const ButtonAction &button)
Check if unit's variables pass the condition check.
Definition: button_checks.cpp:115
SetScrollMargins
void SetScrollMargins(unsigned int top, unsigned int right, unsigned int bottom, unsigned int left)
Scroll margins on screen.
Definition: interface.cpp:1590
ButtonCheckAttack
bool ButtonCheckAttack(const CUnit &unit, const ButtonAction &button)
Check if all requirements for an attack to are meet.
Definition: button_checks.cpp:331
InterfaceState
enum _iface_state_ InterfaceState
current interface state
Definition: interface.cpp:89
InputKeyButtonRelease
void InputKeyButtonRelease(const EventCallback &callbacks, unsigned ticks, unsigned ikey, unsigned ikeychar)
Called if any key button is released up.
Definition: interface.cpp:1523
ButtonUnderNetworkDiplomacy
@ ButtonUnderNetworkDiplomacy
Network menu button.
Definition: interface.h:130
ButtonCheckUnitsNot
bool ButtonCheckUnitsNot(const CUnit &unit, const ButtonAction &button)
Check if not one unit exist.
Definition: button_checks.cpp:227
HandleMouseExit
void HandleMouseExit()
Called if the mouse exits the game window (only for some videomodes)
Definition: mouse.cpp:872
CursorOnScrollRightDown
@ CursorOnScrollRightDown
in scroll right+up area
Definition: interface.h:183
IconConfig
Icon reference (used in config tables)
Definition: icons.h:172
GameMenuButtonClicked
bool GameMenuButtonClicked
menu button was clicked down
Definition: mouse.cpp:81
ButtonAction
Action of button.
Definition: interface.h:88
ButtonAreaMenu
@ ButtonAreaMenu
Button panel button.
Definition: interface.h:122
SetMaxMessageCount
void SetMaxMessageCount(int newMax)
max message count
Definition: mainscr.cpp:1104
DrawMenuButtonArea
void DrawMenuButtonArea()
Draw menu button area.
Definition: mainscr.cpp:111
HandleCommandKey
bool HandleCommandKey(int key)
Call the lua function HandleCommandKey.
Definition: interface.cpp:506
vec2i.h
ButtonCheckNoWork
bool ButtonCheckNoWork(const CUnit &unit, const ButtonAction &button)
Check if unit isn't working (train,upgrade,research)
Definition: button_checks.cpp:284
CursorOnScrollLeft
@ CursorOnScrollLeft
in scroll down area
Definition: interface.h:178
ButtonRepair
@ ButtonRepair
order attack
Definition: interface.h:62
ButtonAction::Value
int Value
command on button press
Definition: interface.h:98
ButtonAction::CommentSound
SoundConfig CommentSound
description shown on status bar (optional)
Definition: interface.h:109
MouseScrollState
int MouseScrollState
current scroll state of mouse
Definition: mainloop.cpp:78
DrawUserDefinedButtons
void DrawUserDefinedButtons()
Draw user defined buttons.
Definition: mainscr.cpp:120
KeyStateCommand
@ KeyStateCommand
Definition: interface.h:142
SoundConfig
Definition: unitsound.h:54
ButtonCheckFalse
bool ButtonCheckFalse(const CUnit &unit, const ButtonAction &button)
Check is always false.
Definition: button_checks.cpp:76
ButtonUnderMenu
@ ButtonUnderMenu
Definition: interface.h:128
ButtonCheckNoResearch
bool ButtonCheckNoResearch(const CUnit &unit, const ButtonAction &button)
Check if unit isn't researching or upgrading.
Definition: button_checks.cpp:300
GameDiplomacyButtonClicked
bool GameDiplomacyButtonClicked
diplomacy button was clicked down
Definition: mouse.cpp:82
ButtonCheckFunc
bool(* ButtonCheckFunc)(const CUnit &, const ButtonAction &)
Definition: interface.h:85
LeaveStops
bool LeaveStops
Mouse leaves windows stops scroll.
Definition: mouse.cpp:83
GetGamePaused
bool GetGamePaused()
Get the game paused or unpaused.
Definition: game.cpp:632
ButtonCheckResearch
bool ButtonCheckResearch(const CUnit &unit, const ButtonAction &button)
Check if all requirements for a research are meet.
Definition: button_checks.cpp:344
ButtonButton
@ ButtonButton
order stop
Definition: interface.h:71
HandleKeyDown
void HandleKeyDown(unsigned keycode, unsigned keychar)
Called if a key is pressed.
Definition: interface.cpp:1152
DrawTimer
void DrawTimer()
Draw the timer.
Definition: mainscr.cpp:1277
KeyScrollState
int KeyScrollState
current scroll state of keyboard
Definition: mainloop.cpp:75
ButtonUpgradeTo
@ ButtonUpgradeTo
order reseach
Definition: interface.h:76
KeyStateInput
@ KeyStateInput
keys -> commands
Definition: interface.h:143
ButtonAction::AlwaysShow
bool AlwaysShow
requires button level
Definition: interface.h:96
InputKeyTimeout
void InputKeyTimeout(const EventCallback &callbacks, unsigned ticks)
Called to look for key timeouts.
Definition: interface.cpp:1541
ButtonCancel
@ ButtonCancel
order upgrade
Definition: interface.h:77
IfaceStateMenu
@ IfaceStateMenu
Normal Game state.
Definition: interface.h:137
ButtonAction::Description
std::string Description
tip texts
Definition: interface.h:108
ButtonCheckNetwork
bool ButtonCheckNetwork(const CUnit &unit, const ButtonAction &button)
Check if have network play.
Definition: button_checks.cpp:255
Vec2T
Definition: vec2i.h:36
ButtonCheckTrue
bool ButtonCheckTrue(const CUnit &unit, const ButtonAction &button)
Check is always true.
Definition: button_checks.cpp:62
CurrentButtonLevel
int CurrentButtonLevel
vladi: used for unit buttons sub-menus etc
Definition: botpanel.cpp:76
CursorOnScrollLeftUp
@ CursorOnScrollLeftUp
in scroll right area
Definition: interface.h:180
ButtonTrain
@ ButtonTrain
choose other button set
Definition: interface.h:72
ButtonReturn
@ ButtonReturn
order stand ground
Definition: interface.h:74
DrawResources
void DrawResources()
Draw the player resource in resource line.
Definition: mainscr.cpp:615
IsButtonAllowed
bool IsButtonAllowed(const CUnit &unit, const ButtonAction &buttonaction)
Definition: botpanel.cpp:865
ButtonCheckUpgrade
bool ButtonCheckUpgrade(const CUnit &unit, const ButtonAction &button)
Check if allowed upgrade is ready.
Definition: button_checks.cpp:89
ButtonAction::Pos
int Pos
Definition: interface.h:94
HandleMouseScrollArea
bool HandleMouseScrollArea(const PixelPos &mousePos)
Handle the mouse in scroll area.
Definition: interface.cpp:1238
HandleButtonUp
void HandleButtonUp(unsigned button)
Called if any mouse button is released up.
Definition: interface.cpp:1329
CursorOnMap
@ CursorOnMap
button area see: ButtonUnderCursor
Definition: interface.h:175
CleanButtons
void CleanButtons()
Free memory for buttons.
Definition: botpanel.cpp:192
DrawPopup
void DrawPopup(const ButtonAction &button, const CUIButton &uibutton, int x=0, int y=0)
Draw the button popup.
Definition: botpanel.cpp:548
ButtonUnload
@ ButtonUnload
order cast spell
Definition: interface.h:69
BigMapMode
char BigMapMode
Whether the map is the only thing displayed or not.
Definition: interface.cpp:88
CancelBuildingMode
void CancelBuildingMode()
Cancel the building input mode.
Definition: mouse.cpp:100
HoldClickDelay
int HoldClickDelay
Time to detect hold clicks.
Definition: interface.cpp:1339
ButtonAreaButton
@ ButtonAreaButton
Transporting button.
Definition: interface.h:121
UiToggleTerrain
void UiToggleTerrain()
Toggle terrain display on/off.
Definition: interface.cpp:433
UnitButtonTable
std::vector< ButtonAction * > UnitButtonTable
All buttons for units.
Definition: botpanel.cpp:78
SelectedUnitChanged
void SelectedUnitChanged()
Called whenever the selected unit was updated.
Definition: script_ui.cpp:1210
HandleMouseMove
void HandleMouseMove(const PixelPos &pos)
Called if the mouse is moved.
Definition: interface.cpp:1304
HandleKeyModifiersDown
int HandleKeyModifiersDown(unsigned keycode, unsigned keychar)
Update KeyModifiers if a key is pressed.
Definition: interface.cpp:1045
GetUnitUnderCursor
CUnit * GetUnitUnderCursor()
Definition: mouse.cpp:92
ButtonAreaTraining
@ ButtonAreaTraining
Selected button.
Definition: interface.h:117
InputMouseExit
void InputMouseExit(const EventCallback &callbacks, unsigned ticks)
Called if the mouse exits the game window (when supported by videomode)
Definition: interface.cpp:1451
ButtonPatrol
@ ButtonPatrol
order build
Definition: interface.h:65
_cursor_on_
_cursor_on_
Where is our cursor ?
Definition: interface.h:171
DoubleClickDelay
int DoubleClickDelay
Time to detect double clicks.
Definition: interface.cpp:1338
DrawPieMenu
void DrawPieMenu()
Draw the Pie Menu.
Definition: mouse.cpp:2187
ButtonAction::ButtonAction
ButtonAction()
Definition: interface.h:91
ButtonResearch
@ ButtonResearch
order return goods
Definition: interface.h:75
EventCallback
Definition: video.h:295
UiTrackUnit
void UiTrackUnit()
Track unit, the viewport follows the unit.
Definition: interface.cpp:489
GodMode
bool GodMode
Invincibility cheat.
Definition: interface.cpp:90
CursorOnScrollLeftDown
@ CursorOnScrollLeftDown
in scroll left+up area
Definition: interface.h:181
HandleKeyUp
void HandleKeyUp(unsigned keycode, unsigned keychar)
Called when a key is released.
Definition: interface.cpp:1190
ButtonAction::Hint
std::string Hint
alternative on keyboard
Definition: interface.h:107
SetGamePaused
void SetGamePaused(bool paused)
Set the game paused or unpaused.
Definition: game.cpp:622
SetMessage
void SetMessage(const char *fmt,...) PRINTF_VAARG_ATTRIBUTE(1
Set message to display.
ToggleShowMessages
void ToggleShowMessages()
show/hide messages
Definition: mainscr.cpp:1092
ButtonAction::UnitMask
std::string UnitMask
argument for allowed
Definition: interface.h:104
GameEstablishing
bool GameEstablishing
Flag telling if the game is in establishing mode.
Definition: interface.cpp:86
InputMouseButtonPress
void InputMouseButtonPress(const EventCallback &callbacks, unsigned ticks, unsigned button)
Called if any mouse button is pressed down.
Definition: interface.cpp:1362
ButtonUnderFreeWorkers
@ ButtonUnderFreeWorkers
Diplomacy button.
Definition: interface.h:131
ButtonAreaUser
@ ButtonAreaUser
Menu button.
Definition: interface.h:123
SetGameSpeed
void SetGameSpeed(int speed)
Set the game speed.
Definition: game.cpp:642
CursorOnScrollUp
@ CursorOnScrollUp
over map area
Definition: interface.h:176
ButtonCheckIndividualUpgrade
bool ButtonCheckIndividualUpgrade(const CUnit &unit, const ButtonAction &button)
Check if unit has an individual upgrade.
Definition: button_checks.cpp:102
ButtonMove
@ ButtonMove
Definition: interface.h:60
OldButtonUnderCursor
int OldButtonUnderCursor
oldbutton number under the cursor
Definition: mouse.cpp:80
ButtonAttack
@ ButtonAttack
order move
Definition: interface.h:61
_key_state_
_key_state_
current key state
Definition: interface.h:141
unitsound.h
icons.h
HandleKeyRepeat
void HandleKeyRepeat(unsigned keycode, unsigned keychar)
Called when a key is repeated.
Definition: interface.cpp:1224
ButtonCheckUnitsNor
bool ButtonCheckUnitsNor(const CUnit &unit, const ButtonAction &button)
Check if none of the units exist.
Definition: button_checks.cpp:240
InitButtons
void InitButtons()
Generate all buttons.
Definition: botpanel.cpp:89
LastDrawnButtonPopup
ButtonAction * LastDrawnButtonPopup
Last drawn popup : used to speed up drawing.
Definition: botpanel.cpp:74
_iface_state_
_iface_state_
current interface state
Definition: interface.h:135
CleanMessages
void CleanMessages()
Cleanup all messages.
Definition: mainscr.cpp:999
UiToggleBigMap
void UiToggleBigMap()
Toggle big map.
Definition: interface.cpp:310
InputMouseTimeout
void InputMouseTimeout(const EventCallback &callbacks, unsigned ticks)
Called to look for mouse timeouts.
Definition: interface.cpp:1466
ButtonCancelUpgrade
@ ButtonCancelUpgrade
cancel
Definition: interface.h:78
ButtonCallbackAction
@ ButtonCallbackAction
cancel building
Definition: interface.h:81
ButtonAreaResearching
@ ButtonAreaResearching
Upgrading button.
Definition: interface.h:119
ButtonBuild
@ ButtonBuild
order harvest
Definition: interface.h:64
UpdateStatusLineForButton
void UpdateStatusLineForButton(const ButtonAction &button)
Update the status line with hints from the button.
Definition: botpanel.cpp:827
ButtonUnderCursor
int ButtonUnderCursor
button number under the cursor
Definition: mouse.cpp:79
KeyModifiers
int KeyModifiers
current active modifiers
Definition: mouse.cpp:75
ButtonAction::Key
int Key
icon to display
Definition: interface.h:106
ButtonCheckNoNetwork
bool ButtonCheckNoNetwork(const CUnit &unit, const ButtonAction &button)
Check if don't have network play.
Definition: button_checks.cpp:270
ButtonStop
@ ButtonStop
order unload unit
Definition: interface.h:70
GamePaused
bool GamePaused
Flag telling if the game is paused.
Definition: interface.cpp:84
ButtonCmd
ButtonCmd
Button Commands that need target selection.
Definition: interface.h:59
SkipGameCycle
char SkipGameCycle
Flag telling not to advance to the next game cycle.
Definition: interface.cpp:87
ButtonAction::AllowStr
std::string AllowStr
Check if this button is allowed.
Definition: interface.h:103
SelectionChanged
void SelectionChanged()
Called whenever the units selection is altered.
Definition: script_ui.cpp:1192
_menu_button_under_
_menu_button_under_
Menu button under cursor.
Definition: interface.h:127
ButtonHarvest
@ ButtonHarvest
order repair
Definition: interface.h:63
CenterOnMessage
void void void CenterOnMessage()
Center view-point on last event message.
Definition: mainscr.cpp:1078
ButtonAction::ValueStr
std::string ValueStr
Definition: interface.h:100
GetHoldClickDelay
int GetHoldClickDelay()
Get hold click delay.
Definition: interface.cpp:1572
KeyState
enum _key_state_ KeyState
current key state
Definition: interface.cpp:91
MouseButtons
int MouseButtons
pressed mouse buttons (normal,double,dragged,long)
Definition: mouse.cpp:73
CursorOnButton
@ CursorOnButton
minimap area
Definition: interface.h:174
ButtonCheckDebug
bool ButtonCheckDebug(const CUnit &unit, const ButtonAction &button)
Check for button enabled, if requested condition passes check. Used for debug purposes.
Definition: button_checks.cpp:390
GetGameSpeed
int GetGameSpeed()
Get the game speed.
Definition: game.cpp:655
GameRunning
bool GameRunning
Flag telling if the game is running.
Definition: interface.cpp:83
ButtonUnderNetworkMenu
@ ButtonUnderNetworkMenu
Menu button.
Definition: interface.h:129
IsSDLWindowVisible
bool IsSDLWindowVisible
Flag telling if the SDL window is visible.
Definition: sdl.cpp:106
DrawMessages
void DrawMessages()
Draw messages as overlay over of the map.
Definition: mainscr.cpp:1007
ButtonCheckUnitsOr
bool ButtonCheckUnitsOr(const CUnit &unit, const ButtonAction &button)
Check if allowed units exists.
Definition: button_checks.cpp:181
SetDoubleClickDelay
void SetDoubleClickDelay(int delay)
Set double click delay.
Definition: interface.cpp:1564
HandleCheats
int HandleCheats(const std::string &input)
Handle cheats.
Definition: interface.cpp:764
CursorOnScrollRight
@ CursorOnScrollRight
in scroll left area
Definition: interface.h:179
UiTogglePause
void UiTogglePause()
Toggle pause mode.
Definition: interface.cpp:293
ButtonAction::Payload
void * Payload
extra value for command
Definition: interface.h:99
CursorOnMinimap
@ CursorOnMinimap
not known
Definition: interface.h:173
ButtonAction::Action
ButtonCmd Action
button is always shown but drawn grayscale if not available
Definition: interface.h:97
ButtonCheckUnitsAnd
bool ButtonCheckUnitsAnd(const CUnit &unit, const ButtonAction &button)
Check if allowed units exists.
Definition: button_checks.cpp:204
InputKeyButtonPress
void InputKeyButtonPress(const EventCallback &callbacks, unsigned ticks, unsigned ikey, unsigned ikeychar)
Called if any key button is pressed down.
Definition: interface.cpp:1499
ButtonAreaSelected
@ ButtonAreaSelected
Definition: interface.h:116
ButtonExplore
@ ButtonExplore
order patrol
Definition: interface.h:66
ButtonAreaUpgrading
@ ButtonAreaUpgrading
Training button.
Definition: interface.h:118
CursorOn
enum _cursor_on_ CursorOn
current CursorOn field
Definition: mouse.cpp:85
UpdateMessages
void UpdateMessages()
Update messages.
Definition: mainscr.cpp:991
CursorOnUnknown
@ CursorOnUnknown
Definition: interface.h:172
ButtonSpellCast
@ ButtonSpellCast
order attack ground
Definition: interface.h:68
CUIButton
buttons on screen themselves
Definition: ui.h:124
UpdateTimer
void UpdateTimer()
Update the timer.
Definition: mainscr.cpp:1290
ButtonAreaUnderCursor
int ButtonAreaUnderCursor
button area under the cursor
Definition: mouse.cpp:78
PRINTF_VAARG_ATTRIBUTE
#define PRINTF_VAARG_ATTRIBUTE(a, b)
Definition: stratagus.h:108
AddButton
int AddButton(int pos, int level, const std::string &IconIdent, ButtonCmd action, const std::string &value, void *payload, const ButtonCheckFunc func, const std::string &arg, const int key, const std::string &hint, const std::string &descr, const std::string &sound, const std::string &cursor, const std::string &umask, const std::string &popup, bool alwaysShow)
Make a new button.
Definition: botpanel.cpp:105
CUnit
The big unit structure.
Definition: unit.h:135
ButtonCheckUpgradeTo
bool ButtonCheckUpgradeTo(const CUnit &unit, const ButtonAction &button)
Check if all requirements for an upgrade to are meet.
Definition: button_checks.cpp:315
ButtonAction::Level
int Level
button position in the grid
Definition: interface.h:95
CursorOnScrollRightUp
@ CursorOnScrollRightUp
in scroll left+down area
Definition: interface.h:182
_button_area_
_button_area_
Button area under cursor.
Definition: interface.h:115
ButtonStandGround
@ ButtonStandGround
order train
Definition: interface.h:73
UnitUnderCursor
CUnit * UnitUnderCursor
shared pointer to unit under the cursor
Definition: mouse.cpp:77
ButtonAreaTransporting
@ ButtonAreaTransporting
Researching button.
Definition: interface.h:120
CursorOnScrollDown
@ CursorOnScrollDown
in scroll up area
Definition: interface.h:177
ButtonAttackGround
@ ButtonAttackGround
order explore
Definition: interface.h:67
ButtonAction::Allowed
ButtonCheckFunc Allowed
keep original value string
Definition: interface.h:102
(C) Copyright 1998-2012 by The Stratagus Project under the GNU General Public License.
All trademarks and copyrights on this page are owned by their respective owners.