30 #ifndef __INTERFACE_H__
31 #define __INTERFACE_H__
145 #define ModifierShift 1
146 #define ModifierControl 2
147 #define ModifierAlt 4
148 #define ModifierSuper 8
149 #define ModifierDoublePress 16
151 #define MouseDoubleShift 8
152 #define MouseDragShift 16
153 #define MouseHoldShift 24
158 #define MiddleButton 4
159 #define RightButton 8
162 #define DownButton 32
164 #define LeftAndMiddleButton (LeftButton | MiddleButton)
165 #define LeftAndRightButton (LeftButton | RightButton)
166 #define MiddleAndRightButton (MiddleButton | RightButton)
189 #define ScrollRight 8
190 #define ScrollLeftUp 5
191 #define ScrollLeftDown 6
192 #define ScrollRightUp 9
193 #define ScrollRightDown 10
270 extern int AddButton(
int pos,
int level,
const std::string &IconIdent,
272 const std::string &arg,
const int key,
const std::string &hint,
const std::string &descr,
273 const std::string &sound,
const std::string &cursor,
const std::string &umask,
274 const std::string &popup,
bool alwaysShow);
298 extern void HandleKeyDown(
unsigned keycode,
unsigned keychar);
300 extern void HandleKeyUp(
unsigned keycode,
unsigned keychar);
450 #endif // !__INTERFACE_H__
bool ButtonCheckSingleResearch(const CUnit &unit, const ButtonAction &button)
Check if all requirements for a single research are meet.
Definition: button_checks.cpp:358
over map area
Definition: interface.h:174
Icon reference (used in config tables)
Definition: icons.h:139
cancel building
Definition: interface.h:80
bool LeaveStops
Mouse leaves windows stops scroll.
Definition: mouse.cpp:83
bool ButtonCheckNoWork(const CUnit &unit, const ButtonAction &button)
Check if unit isn't working (train,upgrade,research)
Definition: button_checks.cpp:271
void InitButtons()
Generate all buttons.
Definition: botpanel.cpp:89
int MouseButtons
pressed mouse buttons (normal,double,dragged,long)
Definition: mouse.cpp:73
void HandleKeyDown(unsigned keycode, unsigned keychar)
Called if a key is pressed.
Definition: interface.cpp:1078
void void SetMessageEvent(const Vec2i &pos, const char *fmt,...) PRINTF_VAARG_ATTRIBUTE(2
Set message to display with event point.
int MouseScrollState
current scroll state of mouse
Definition: mainloop.cpp:65
cancel training
Definition: interface.h:79
_menu_button_under_
Menu button under cursor.
Definition: interface.h:126
order upgrade
Definition: interface.h:76
bool ButtonCheckFalse(const CUnit &unit, const ButtonAction &button)
Check is always false.
Definition: button_checks.cpp:76
Definition: interface.h:170
bool ButtonCheckResearch(const CUnit &unit, const ButtonAction &button)
Check if all requirements for a research are meet.
Definition: button_checks.cpp:331
cancel
Definition: interface.h:77
in scroll up area
Definition: interface.h:175
bool ButtonCheckAttack(const CUnit &unit, const ButtonAction &button)
Check if all requirements for an attack to are meet.
Definition: button_checks.cpp:318
void HandleButtonUp(unsigned button)
Called if any mouse button is released up.
Definition: interface.cpp:1248
void UpdateStatusLineForButton(const ButtonAction &button)
Update the status line with hints from the button.
Definition: botpanel.cpp:824
in scroll right+up area
Definition: interface.h:181
bool ButtonCheckUnitVariable(const CUnit &unit, const ButtonAction &button)
Check if unit's variables pass the condition check.
Definition: button_checks.cpp:115
in scroll left area
Definition: interface.h:177
Definition: interface.h:140
Upgrading button.
Definition: interface.h:118
not known
Definition: interface.h:171
void HandleKeyUp(unsigned keycode, unsigned keychar)
Called when a key is released.
Definition: interface.cpp:1109
order attack
Definition: interface.h:62
bool ButtonCheckTrue(const CUnit &unit, const ButtonAction &button)
Check is always true.
Definition: button_checks.cpp:62
bool GameRunning
Flag telling if the game is running.
Definition: interface.cpp:81
bool ButtonCheckUnitsOr(const CUnit &unit, const ButtonAction &button)
Check if allowed units exists.
Definition: button_checks.cpp:181
int HandleCheats(const std::string &input)
Handle cheats.
Definition: interface.cpp:747
void InputKeyTimeout(const EventCallback &callbacks, unsigned ticks)
Called to look for key timeouts.
Definition: interface.cpp:1468
std::vector< ButtonAction * > UnitButtonTable
All buttons for units.
Definition: botpanel.cpp:78
Definition: interface.h:127
void HandleMouseMove(const PixelPos &pos)
Called if the mouse is moved.
Definition: interface.cpp:1223
void SetGamePaused(bool paused)
Set the game paused or unpaused.
Definition: game.cpp:696
enum _cursor_on_ CursorOn
current CursorOn field
Definition: mouse.cpp:85
in scroll left+down area
Definition: interface.h:180
void InputMouseTimeout(const EventCallback &callbacks, unsigned ticks)
Called to look for mouse timeouts.
Definition: interface.cpp:1399
char BigMapMode
Whether the map is the only thing displayed or not.
Definition: interface.cpp:86
order cast spell
Definition: interface.h:68
void UiTogglePause()
Toggle pause mode.
Definition: interface.cpp:275
Button panel button.
Definition: interface.h:121
bool ButtonCheckUnitsAnd(const CUnit &unit, const ButtonAction &button)
Check if allowed units exists.
Definition: button_checks.cpp:204
order stop
Definition: interface.h:70
void DrawUserDefinedButtons()
Draw user defined buttons.
Definition: mainscr.cpp:120
CUnit * UnitUnderCursor
shared pointer to unit under the cursor
Definition: mouse.cpp:77
void CancelBuildingMode()
Cancel the building input mode.
Definition: mouse.cpp:100
Definition: interface.h:115
The big unit structure.
Definition: unit.h:119
int GetHoldClickDelay()
Get hold click delay.
Definition: interface.cpp:1497
bool ButtonCheckNoResearch(const CUnit &unit, const ButtonAction &button)
Check if unit isn't researching or upgrading.
Definition: button_checks.cpp:287
choose other button set
Definition: interface.h:71
void UiToggleTerrain()
Toggle terrain display on/off.
Definition: interface.cpp:415
#define PRINTF_VAARG_ATTRIBUTE(a, b)
Definition: stratagus.h:90
CUnit * GetUnitUnderCursor()
Definition: mouse.cpp:92
void InputMouseButtonRelease(const EventCallback &callbacks, unsigned ticks, unsigned button)
Called if any mouse button is released up.
Definition: interface.cpp:1315
Selected button.
Definition: interface.h:116
order build
Definition: interface.h:65
void DrawPieMenu()
Draw the Pie Menu.
Definition: mouse.cpp:2139
Menu button.
Definition: interface.h:122
void UpdateMessages()
Update messages.
Definition: mainscr.cpp:927
bool ButtonCheckNetwork(const CUnit &unit, const ButtonAction &button)
Check if have network play.
Definition: button_checks.cpp:242
cancel upgrade
Definition: interface.h:78
void SetHoldClickDelay(int delay)
Set hold click delay.
Definition: interface.cpp:1507
Definition: unitsound.h:54
void DrawMenuButtonArea()
Draw menu button area.
Definition: mainscr.cpp:111
int GetGameSpeed()
Get the game speed.
Definition: game.cpp:729
bool HandleCommandKey(int key)
Call the lua function HandleCommandKey.
Definition: interface.cpp:488
void DrawResources()
Draw the player resource in resource line.
Definition: mainscr.cpp:576
order stand ground
Definition: interface.h:73
bool GodMode
Invincibility cheat.
Definition: interface.cpp:88
ButtonCmd
Button Commands that need target selection.
Definition: interface.h:59
void HandleMouseExit()
Called if the mouse exits the game window (only for some videomodes)
Definition: mouse.cpp:840
void SetMessage(const char *fmt,...) PRINTF_VAARG_ATTRIBUTE(1
Set message to display.
order unload unit
Definition: interface.h:69
bool ButtonCheckUpgrade(const CUnit &unit, const ButtonAction &button)
Check if allowed upgrade is ready.
Definition: button_checks.cpp:89
int GetDoubleClickDelay()
Get double click delay.
Definition: interface.cpp:1479
void UpdateTimer()
Update the timer.
Definition: mainscr.cpp:1204
Definition: interface.h:134
bool GameDiplomacyButtonClicked
diplomacy button was clicked down
Definition: mouse.cpp:82
void SelectedUnitChanged()
Called whenever the selected unit was updated.
Definition: script_ui.cpp:1126
order harvest
Definition: interface.h:64
button area see: ButtonUnderCursor
Definition: interface.h:173
_button_area_
Button area under cursor.
Definition: interface.h:114
bool GamePaused
Flag telling if the game is paused.
Definition: interface.cpp:82
void HandleCursorMove(int *x, int *y)
Keep coordinates in window and update cursor position.
Definition: interface.cpp:1209
void InputMouseExit(const EventCallback &callbacks, unsigned ticks)
Called if the mouse exits the game window (when supported by videomode)
Definition: interface.cpp:1386
order repair
Definition: interface.h:63
int CurrentButtonLevel
vladi: used for unit buttons sub-menus etc
Definition: botpanel.cpp:76
in scroll down area
Definition: interface.h:176
void UiToggleBigMap()
Toggle big map.
Definition: interface.cpp:292
void DrawMessages()
Draw messages as overlay over of the map.
Definition: mainscr.cpp:943
_cursor_on_
Where is our cursor ?
Definition: interface.h:169
Training button.
Definition: interface.h:117
bool ButtonCheckUnitsNot(const CUnit &unit, const ButtonAction &button)
Check if units don't exist.
Definition: button_checks.cpp:227
bool IsButtonAllowed(const CUnit &unit, const ButtonAction &buttonaction)
Definition: botpanel.cpp:862
keys -> commands
Definition: interface.h:141
bool GameObserve
Flag telling if the game is in observe mode.
Definition: interface.cpp:83
void SelectionChanged()
Called whenever the units selection is altered.
Definition: script_ui.cpp:1108
Normal Game state.
Definition: interface.h:135
void InputMouseButtonPress(const EventCallback &callbacks, unsigned ticks, unsigned button)
Called if any mouse button is pressed down.
Definition: interface.cpp:1286
bool ButtonCheckUpgradeTo(const CUnit &unit, const ButtonAction &button)
Check if all requirements for an upgrade to are meet.
Definition: button_checks.cpp:302
Menu button.
Definition: interface.h:128
enum _iface_state_ InterfaceState
current interface state
Definition: interface.cpp:87
void HandleButtonDown(unsigned button)
Called if any mouse button is pressed down.
Definition: interface.cpp:1235
void ToggleShowMessages()
show/hide messages
Definition: mainscr.cpp:1028
void CleanButtons()
Free memory for buttons.
Definition: botpanel.cpp:192
bool(* ButtonCheckFunc)(const CUnit &, const ButtonAction &)
Definition: interface.h:84
bool GetGamePaused()
Get the game paused or unpaused.
Definition: game.cpp:706
int HandleKeyModifiersDown(unsigned keycode, unsigned keychar)
Update KeyModifiers if a key is pressed.
Definition: interface.cpp:969
int OldButtonUnderCursor
oldbutton number under the cursor
Definition: mouse.cpp:80
void DrawTimer()
Draw the timer.
Definition: mainscr.cpp:1191
order move
Definition: interface.h:61
bool ButtonCheckIndividualUpgrade(const CUnit &unit, const ButtonAction &button)
Check if unit has an individual upgrade.
Definition: button_checks.cpp:102
Definition: interface.h:60
in scroll right area
Definition: interface.h:178
int KeyModifiers
current active modifiers
Definition: mouse.cpp:75
void void void CenterOnMessage()
Center view-point on last event message.
Definition: mainscr.cpp:1014
int ButtonAreaUnderCursor
button area under the cursor
Definition: mouse.cpp:78
void CleanMessages()
Cleanup all messages.
Definition: mainscr.cpp:935
Network menu button.
Definition: interface.h:129
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
int DoubleClickDelay
Time to detect double clicks.
Definition: interface.cpp:1261
order attack ground
Definition: interface.h:67
int ButtonUnderCursor
button number under the cursor
Definition: mouse.cpp:79
minimap area
Definition: interface.h:172
void SetGameSpeed(int speed)
Set the game speed.
Definition: game.cpp:716
enum _key_state_ KeyState
current key state
Definition: interface.cpp:89
Transporting button.
Definition: interface.h:120
void SetDoubleClickDelay(int delay)
Set double click delay.
Definition: interface.cpp:1489
order return goods
Definition: interface.h:74
void InputKeyButtonRelease(const EventCallback &callbacks, unsigned ticks, unsigned ikey, unsigned ikeychar)
Called if any key button is released up.
Definition: interface.cpp:1452
void InputKeyButtonPress(const EventCallback &callbacks, unsigned ticks, unsigned ikey, unsigned ikeychar)
Called if any key button is pressed down.
Definition: interface.cpp:1430
order patrol
Definition: interface.h:66
bool HandleMouseScrollArea(const PixelPos &mousePos)
Handle the mouse in scroll area.
Definition: interface.cpp:1157
bool IsSDLWindowVisible
Flag telling if the SDL window is visible.
Definition: sdl.cpp:128
bool GameEstablishing
Flag telling if the game is in establishing mode.
Definition: interface.cpp:84
void UiFindIdleWorker()
Find the next idle worker.
Definition: interface.cpp:428
ButtonAction * LastDrawnButtonPopup
Last drawn popup : used to speed up drawing.
Definition: botpanel.cpp:74
void DrawPopup(const ButtonAction &button, const CUIButton &uibutton, int x=0, int y=0)
Draw the button popup.
Definition: botpanel.cpp:545
void InputMouseMove(const EventCallback &callbacks, unsigned ticks, int x, int y)
Called if the mouse is moved.
Definition: interface.cpp:1350
_key_state_
current key state
Definition: interface.h:139
int HandleKeyModifiersUp(unsigned keycode, unsigned keychar)
Update KeyModifiers if a key is released.
Definition: interface.cpp:1015
order reseach
Definition: interface.h:75
Researching button.
Definition: interface.h:119
int HoldClickDelay
Time to detect hold clicks.
Definition: interface.cpp:1262
_iface_state_
current interface state
Definition: interface.h:133
int KeyScrollState
current scroll state of keyboard
Definition: mainloop.cpp:62
char SkipGameCycle
Flag telling not to advance to the next game cycle.
Definition: interface.cpp:85
bool ButtonCheckNoNetwork(const CUnit &unit, const ButtonAction &button)
Check if don't have network play.
Definition: button_checks.cpp:257
bool GameMenuButtonClicked
menu button was clicked down
Definition: mouse.cpp:81
in scroll left+up area
Definition: interface.h:179
order train
Definition: interface.h:72
void HandleKeyRepeat(unsigned keycode, unsigned keychar)
Called when a key is repeated.
Definition: interface.cpp:1143
void UiTrackUnit()
Track unit, the viewport follows the unit.
Definition: interface.cpp:471