_________ __ __ / _____// |_____________ _/ |______ ____ __ __ ______ \_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/ / \| | | | \// __ \| | / __ \_/ /_/ > | /\___ \ /_______ /|__| |__| (____ /__| (____ /\___ /|____//____ > \/ \/ \//_____/ \/ ______________________ ______________________ T H E W A R B E G I N S Stratagus - A free fantasy real time strategy game engine
#include <ctype.h>
#include <stdexcept>
#include "stratagus.h"
#include "ui.h"
#include "action/action_build.h"
#include "action/action_train.h"
#include "actions.h"
#include "commands.h"
#include "cursor.h"
#include "font.h"
#include "interface.h"
#include "map.h"
#include "menus.h"
#include "minimap.h"
#include "missile.h"
#include "network.h"
#include "player.h"
#include "sound.h"
#include "spells.h"
#include "translate.h"
#include "unit.h"
#include "unit_find.h"
#include "unitsound.h"
#include "unittype.h"
#include "video.h"
#include "widgets.h"
mouse.cpp - The mouse handling. | |
#define | ICON_SIZE_X (UI.ButtonPanel.Buttons[0].Style->Width) |
#define | ICON_SIZE_Y (UI.ButtonPanel.Buttons[0].Style->Height) |
int | MouseButtons |
pressed mouse buttons (normal,double,dragged,long) More... | |
int | KeyModifiers |
Current pressed mouse buttons. More... | |
CUnit * | UnitUnderCursor |
Current keyboard modifiers. More... | |
int | ButtonAreaUnderCursor = -1 |
Unit under cursor. More... | |
int | ButtonUnderCursor = -1 |
Button area under cursor. More... | |
int | OldButtonUnderCursor = -1 |
Button under cursor. More... | |
bool | GameMenuButtonClicked |
Button under cursor. More... | |
bool | GameDiplomacyButtonClicked |
Menu button was clicked. More... | |
bool | LeaveStops |
Diplomacy button was clicked. More... | |
enum _cursor_on_ | CursorOn = CursorOnUnknown |
Mouse leaves windows stops scroll. More... | |
static void | HandlePieMenuMouseSelection () |
Cursor on field. More... | |
CUnit * | GetUnitUnderCursor () |
void | CancelBuildingMode () |
Cancel the building input mode. More... | |
static bool | CanBuildOnArea (const CUnit &unit, const Vec2i &pos) |
static void | DoRightButton_ForForeignUnit (CUnit *dest) |
static bool | DoRightButton_Transporter (CUnit &unit, CUnit *dest, int flush, int &acknowledged) |
static bool | DoRightButton_Harvest_Unit (CUnit &unit, CUnit &dest, int flush, int &acknowledged) |
static bool | DoRightButton_Harvest_Pos (CUnit &unit, const Vec2i &pos, int flush, int &acknowledged) |
static bool | DoRightButton_Worker (CUnit &unit, CUnit *dest, const Vec2i &pos, int flush, int &acknowledged) |
static bool | DoRightButton_AttackUnit (CUnit &unit, CUnit &dest, const Vec2i &pos, int flush, int &acknowledged) |
static void | DoRightButton_Attack (CUnit &unit, CUnit *dest, const Vec2i &pos, int flush, int &acknowledged) |
static bool | DoRightButton_Follow (CUnit &unit, CUnit &dest, int flush, int &acknowledged) |
static bool | DoRightButton_Harvest_Reverse (CUnit &unit, CUnit &dest, int flush, int &acknowledged) |
static bool | DoRightButton_NewOrder (CUnit &unit, CUnit *dest, const Vec2i &pos, int flush, int &acknowledged) |
static void | DoRightButton_ForSelectedUnit (CUnit &unit, CUnit *dest, const Vec2i &pos, int &acknowledged) |
void | DoRightButton (const PixelPos &mapPixelPos) |
static void | HandleMouseOn (const PixelPos screenPos) |
void | HandleMouseExit () |
Called if the mouse exits the game window (only for some videomodes) More... | |
void | RestrictCursorToViewport () |
Restrict mouse cursor to viewport. More... | |
void | RestrictCursorToMinimap () |
Restrict mouse cursor to minimap. More... | |
static void | MouseScrollMap (const PixelPos &pos) |
void | UIHandleMouseMove (const PixelPos &cursorPos) |
Called if the mouse is moved in Normal interface state. More... | |
static int | SendRepair (const Vec2i &tilePos) |
static int | SendMove (const Vec2i &tilePos) |
static int | SendAttack (const Vec2i &tilePos) |
static int | SendAttackGround (const Vec2i &tilePos) |
static int | SendPatrol (const Vec2i &tilePos) |
static int | SendResource (const Vec2i &pos) |
static int | SendUnload (const Vec2i &tilePos) |
static int | SendSpellCast (const Vec2i &tilePos) |
static void | SendCommand (const Vec2i &tilePos) |
static void | DoSelectionButtons (int num, unsigned) |
static void | UISelectStateButtonDown (unsigned) |
static void | UIHandleButtonDown_OnMap (unsigned button) |
static void | UIHandleButtonDown_OnMinimap (unsigned button) |
static void | UIHandleButtonDown_OnButton (unsigned button) |
void | UIHandleButtonDown (unsigned button) |
Called if any mouse button is pressed down. More... | |
void | UIHandleButtonUp (unsigned button) |
Called if any mouse button is released up. More... | |
static int | GetPieUnderCursor () |
void | DrawPieMenu () |
Draw the Pie Menu. More... | |
#define ICON_SIZE_X (UI.ButtonPanel.Buttons[0].Style->Width) |
#define ICON_SIZE_Y (UI.ButtonPanel.Buttons[0].Style->Height) |
void CancelBuildingMode | ( | ) |
Cancel the building input mode.
Cancel building cursor mode.
Called when right button is pressed
mapPixelPos | map position in pixels. |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Mouse button press on selection/group area.
num | Button number. |
button | Mouse Button pressed. |
void DrawPieMenu | ( | ) |
Draw the Pie Menu.
Draw Pie Menu
|
static |
Get pie menu under the cursor
CUnit* GetUnitUnderCursor | ( | ) |
void HandleMouseExit | ( | ) |
Set flag on which area is the cursor.
screenPos | screen position. |
|
static |
Cursor on field.
Handle pie menu mouse selection
Use the mouse to scroll the map
pos | Screen position. |
void RestrictCursorToMinimap | ( | ) |
Restrict mouse cursor to minimap.
Restrict mouse cursor to minimap
void RestrictCursorToViewport | ( | ) |
Restrict mouse cursor to viewport.
Restrict mouse cursor to viewport.
|
static |
Send the current selected group attacking.
To empty field: Move to this field attacking all enemy units in reaction range.
To unit: Move to unit attacking and tracing the unit until dead.
tilePos | tile map position. |
|
static |
Send the current selected group ground attacking.
tilePos | tile map position. |
Send a command to selected units.
tilePos | tile map position. |
|
static |
Send selected units to point.
tilePos | tile map position. |
|
static |
Let units patrol between current position and the selected.
tilePos | tile map position. |
|
static |
Send selected units to repair
tilePos | tile map position. |
|
static |
Let units harvest wood/mine gold/haul oil
pos | tile map position |
By disabling this, we allow the harvester to find the nearest tile with a resource by itself, in case mf is empty.
|
static |
Send the current selected group for spell cast.
To empty field: To unit: Spell cast on unit or on map spot.
tilePos | tile map position. |
|
static |
Send selected units to unload passengers.
tilePos | tile map position. |
void UIHandleButtonDown | ( | unsigned | button | ) |
Called if any mouse button is pressed down.
Called if mouse button pressed down.
button | Button pressed down. |
|
static |
|
static |
|
static |
void UIHandleButtonUp | ( | unsigned | button | ) |
Called if any mouse button is released up.
Called if mouse button released.
button | Button released. |
Called if the mouse is moved in Normal interface state.
Handle movement of the cursor.
cursorPos | Screen X position. |
|
static |
Handle mouse button pressed in select state.
Select state is used for target of patrol, attack, move, ....
button | Button pressed down. |
int ButtonAreaUnderCursor = -1 |
Unit under cursor.
button area under the cursor
int ButtonUnderCursor = -1 |
Button area under cursor.
button number under the cursor
enum _cursor_on_ CursorOn = CursorOnUnknown |
Mouse leaves windows stops scroll.
current CursorOn field
bool GameDiplomacyButtonClicked |
Menu button was clicked.
diplomacy button was clicked down
bool GameMenuButtonClicked |
Button under cursor.
menu button was clicked down
int KeyModifiers |
Current pressed mouse buttons.
current active modifiers
bool LeaveStops |
Diplomacy button was clicked.
Mouse leaves windows stops scroll.
int MouseButtons |
pressed mouse buttons (normal,double,dragged,long)
int OldButtonUnderCursor = -1 |
Button under cursor.
oldbutton number under the cursor
CUnit* UnitUnderCursor |
Current keyboard modifiers.
shared pointer to unit under the cursor