Event fixes & refactoring
- added new state tracking to Event - removed old fields from Event - fixed some issues with Events and fps counterdev-ui
parent
15ff1d512b
commit
0ff419560d
132
src/app/app.cpp
132
src/app/app.cpp
|
@ -725,7 +725,7 @@ int CApplication::Run()
|
|||
{
|
||||
haveEvent = true;
|
||||
|
||||
Event event = ParseEvent();
|
||||
Event event = ProcessSystemEvent();
|
||||
|
||||
if (event.type == EVENT_QUIT)
|
||||
goto end; // exit the loop
|
||||
|
@ -812,21 +812,11 @@ const std::string& CApplication::GetErrorMessage()
|
|||
return m_errorMessage;
|
||||
}
|
||||
|
||||
//! Translates SDL press state to PressState
|
||||
PressState TranslatePressState(unsigned char state)
|
||||
{
|
||||
if (state == SDL_PRESSED)
|
||||
return STATE_PRESSED;
|
||||
else
|
||||
return STATE_RELEASED;
|
||||
}
|
||||
|
||||
/** The SDL event parsed is stored internally.
|
||||
If event is not available or is not understood, returned event is of type EVENT_NULL. */
|
||||
Event CApplication::ParseEvent()
|
||||
Event CApplication::ProcessSystemEvent()
|
||||
{
|
||||
Event event;
|
||||
|
||||
event.systemEvent = true;
|
||||
|
||||
if (m_private->currentEvent.type == SDL_QUIT)
|
||||
|
@ -843,9 +833,10 @@ Event CApplication::ParseEvent()
|
|||
|
||||
event.key.virt = false;
|
||||
event.key.key = m_private->currentEvent.key.keysym.sym;
|
||||
event.key.mod = m_private->currentEvent.key.keysym.mod;
|
||||
event.key.state = TranslatePressState(m_private->currentEvent.key.state);
|
||||
event.key.unicode = m_private->currentEvent.key.keysym.unicode;
|
||||
|
||||
// Use the occasion to update kmods
|
||||
m_kmodState = m_private->currentEvent.key.keysym.mod;
|
||||
}
|
||||
else if ( (m_private->currentEvent.type == SDL_MOUSEBUTTONDOWN) ||
|
||||
(m_private->currentEvent.type == SDL_MOUSEBUTTONUP) )
|
||||
|
@ -860,8 +851,6 @@ Event CApplication::ParseEvent()
|
|||
event.mouseWheel.dir = WHEEL_DOWN;
|
||||
else
|
||||
event.mouseWheel.dir = WHEEL_UP;
|
||||
event.mouseWheel.pos = m_engine->WindowToInterfaceCoords(
|
||||
Math::IntPoint(m_private->currentEvent.button.x, m_private->currentEvent.button.y));
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -871,18 +860,24 @@ Event CApplication::ParseEvent()
|
|||
else
|
||||
event.type = EVENT_MOUSE_BUTTON_UP;
|
||||
|
||||
event.mouseButton.button = m_private->currentEvent.button.button;
|
||||
event.mouseButton.state = TranslatePressState(m_private->currentEvent.button.state);
|
||||
event.mouseButton.pos = m_engine->WindowToInterfaceCoords(
|
||||
Math::IntPoint(m_private->currentEvent.button.x, m_private->currentEvent.button.y));
|
||||
event.mouseButton.button = static_cast<MouseButton>(1 << m_private->currentEvent.button.button);
|
||||
|
||||
// Use the occasion to update mouse button state
|
||||
if (m_private->currentEvent.type == SDL_MOUSEBUTTONDOWN)
|
||||
m_mouseButtonsState |= event.mouseButton.button;
|
||||
else
|
||||
m_mouseButtonsState &= ~event.mouseButton.button;
|
||||
}
|
||||
|
||||
// Use the occasion to update mouse pos
|
||||
m_mousePos = m_engine->WindowToInterfaceCoords(
|
||||
Math::IntPoint(m_private->currentEvent.button.x, m_private->currentEvent.button.y));
|
||||
}
|
||||
else if (m_private->currentEvent.type == SDL_MOUSEMOTION)
|
||||
{
|
||||
event.type = EVENT_MOUSE_MOVE;
|
||||
|
||||
event.mouseMove.state = TranslatePressState(m_private->currentEvent.button.state);
|
||||
event.mouseMove.pos = m_engine->WindowToInterfaceCoords(
|
||||
m_mousePos = m_engine->WindowToInterfaceCoords(
|
||||
Math::IntPoint(m_private->currentEvent.button.x, m_private->currentEvent.button.y));
|
||||
}
|
||||
else if (m_private->currentEvent.type == SDL_JOYAXISMOTION)
|
||||
|
@ -901,7 +896,6 @@ Event CApplication::ParseEvent()
|
|||
event.type = EVENT_JOY_BUTTON_UP;
|
||||
|
||||
event.joyButton.button = m_private->currentEvent.jbutton.button;
|
||||
event.joyButton.state = TranslatePressState(m_private->currentEvent.jbutton.state);
|
||||
}
|
||||
else if (m_private->currentEvent.type == SDL_ACTIVEEVENT)
|
||||
{
|
||||
|
@ -917,35 +911,10 @@ Event CApplication::ParseEvent()
|
|||
event.active.gain = m_private->currentEvent.active.gain == 1;
|
||||
}
|
||||
|
||||
return event;
|
||||
}
|
||||
|
||||
/**
|
||||
* Processes incoming events. It is the first function called after an event is captured.
|
||||
* Event is modified, updating its tracked keys state and mouse position to current values.
|
||||
* Function returns \c true if the event is to be passed on to other processing functions
|
||||
* or \c false if not. */
|
||||
bool CApplication::ProcessEvent(Event &event)
|
||||
{
|
||||
CLogger *l = GetLogger();
|
||||
|
||||
event.trackedKeys = m_trackedKeys;
|
||||
event.mousePos = m_mousePos;
|
||||
|
||||
if (event.type == EVENT_ACTIVE)
|
||||
if (event.type == EVENT_KEY_DOWN)
|
||||
{
|
||||
if (m_debugMode)
|
||||
l->Info("Focus change: active = %s\n", event.active.gain ? "true" : "false");
|
||||
}
|
||||
else if (event.type == EVENT_KEY_DOWN)
|
||||
{
|
||||
m_kmodState = event.key.mod;
|
||||
|
||||
if ((m_kmodState & KEY_MOD(SHIFT)) != 0)
|
||||
m_trackedKeys |= TRKEY_SHIFT;
|
||||
else if ((m_kmodState & KEY_MOD(CTRL)) != 0)
|
||||
m_trackedKeys |= TRKEY_CONTROL;
|
||||
else if (event.key.key == KEY(KP8))
|
||||
if (event.key.key == KEY(KP8))
|
||||
m_trackedKeys |= TRKEY_NUM_UP;
|
||||
else if (event.key.key == KEY(KP2))
|
||||
m_trackedKeys |= TRKEY_NUM_DOWN;
|
||||
|
@ -964,13 +933,7 @@ bool CApplication::ProcessEvent(Event &event)
|
|||
}
|
||||
else if (event.type == EVENT_KEY_UP)
|
||||
{
|
||||
m_kmodState = event.key.mod;
|
||||
|
||||
if ((m_kmodState & KEY_MOD(SHIFT)) != 0)
|
||||
m_trackedKeys &= ~TRKEY_SHIFT;
|
||||
else if ((m_kmodState & KEY_MOD(CTRL)) != 0)
|
||||
m_trackedKeys &= ~TRKEY_CONTROL;
|
||||
else if (event.key.key == KEY(KP8))
|
||||
if (event.key.key == KEY(KP8))
|
||||
m_trackedKeys &= ~TRKEY_NUM_UP;
|
||||
else if (event.key.key == KEY(KP2))
|
||||
m_trackedKeys &= ~TRKEY_NUM_DOWN;
|
||||
|
@ -987,14 +950,23 @@ bool CApplication::ProcessEvent(Event &event)
|
|||
else if (event.key.key == KEY(PAGEDOWN))
|
||||
m_trackedKeys &= ~TRKEY_PAGE_DOWN;
|
||||
}
|
||||
else if (event.type == EVENT_MOUSE_BUTTON_DOWN)
|
||||
{
|
||||
m_mouseButtonsState |= 1 << event.mouseButton.button;
|
||||
}
|
||||
else if (event.type == EVENT_MOUSE_BUTTON_UP)
|
||||
{
|
||||
m_mouseButtonsState &= ~(1 << event.mouseButton.button);
|
||||
}
|
||||
|
||||
event.trackedKeysState = m_trackedKeys;
|
||||
event.kmodState = m_kmodState;
|
||||
event.mousePos = m_mousePos;
|
||||
event.mouseButtonsState = m_mouseButtonsState;
|
||||
|
||||
return event;
|
||||
}
|
||||
|
||||
/**
|
||||
* Processes incoming events. It is the first function called after an event is captured.
|
||||
* Event is modified, updating its tracked keys state and mouse position to current values.
|
||||
* Function returns \c true if the event is to be passed on to other processing functions
|
||||
* or \c false if not. */
|
||||
bool CApplication::ProcessEvent(const Event &event)
|
||||
{
|
||||
CLogger *l = GetLogger();
|
||||
|
||||
// Print the events in debug mode to test the code
|
||||
if (m_debugMode)
|
||||
|
@ -1005,28 +977,21 @@ bool CApplication::ProcessEvent(Event &event)
|
|||
case EVENT_KEY_UP:
|
||||
l->Info("EVENT_KEY_%s:\n", (event.type == EVENT_KEY_DOWN) ? "DOWN" : "UP");
|
||||
l->Info(" virt = %s\n", (event.key.virt) ? "true" : "false");
|
||||
l->Info(" key = %4x\n", event.key.key);
|
||||
l->Info(" state = %s\n", (event.key.state == STATE_PRESSED) ? "STATE_PRESSED" : "STATE_RELEASED");
|
||||
l->Info(" mod = %4x\n", event.key.mod);
|
||||
l->Info(" unicode = %4x\n", event.key.unicode);
|
||||
l->Info(" key = %d\n", event.key.key);
|
||||
l->Info(" unicode = 0x%04x\n", event.key.unicode);
|
||||
break;
|
||||
case EVENT_MOUSE_MOVE:
|
||||
l->Info("EVENT_MOUSE_MOVE:\n");
|
||||
l->Info(" state = %s\n", (event.mouseMove.state == STATE_PRESSED) ? "STATE_PRESSED" : "STATE_RELEASED");
|
||||
l->Info(" pos = (%f, %f)\n", event.mouseMove.pos.x, event.mouseMove.pos.y);
|
||||
break;
|
||||
case EVENT_MOUSE_BUTTON_DOWN:
|
||||
case EVENT_MOUSE_BUTTON_UP:
|
||||
l->Info("EVENT_MOUSE_BUTTON_%s:\n", (event.type == EVENT_MOUSE_BUTTON_DOWN) ? "DOWN" : "UP");
|
||||
l->Info(" button = %d\n", event.mouseButton.button);
|
||||
l->Info(" state = %s\n", (event.mouseButton.state == STATE_PRESSED) ? "STATE_PRESSED" : "STATE_RELEASED");
|
||||
l->Info(" pos = (%f, %f)\n", event.mouseButton.pos.x, event.mouseButton.pos.y);
|
||||
break;
|
||||
case EVENT_MOUSE_WHEEL:
|
||||
l->Info("EVENT_MOUSE_WHEEL:\n");
|
||||
l->Info(" dir = %s\n", (event.mouseWheel.dir == WHEEL_DOWN) ? "WHEEL_DOWN" : "WHEEL_UP");
|
||||
l->Info(" pos = (%f, %f)\n", event.mouseWheel.pos.x, event.mouseWheel.pos.y);
|
||||
break;
|
||||
break;
|
||||
case EVENT_JOY_AXIS:
|
||||
l->Info("EVENT_JOY_AXIS:\n");
|
||||
l->Info(" axis = %d\n", event.joyAxis.axis);
|
||||
|
@ -1036,7 +1001,6 @@ bool CApplication::ProcessEvent(Event &event)
|
|||
case EVENT_JOY_BUTTON_UP:
|
||||
l->Info("EVENT_JOY_BUTTON_%s:\n", (event.type == EVENT_JOY_BUTTON_DOWN) ? "DOWN" : "UP");
|
||||
l->Info(" button = %d\n", event.joyButton.button);
|
||||
l->Info(" state = %s\n", (event.joyButton.state == STATE_PRESSED) ? "STATE_PRESSED" : "STATE_RELEASED");
|
||||
break;
|
||||
case EVENT_ACTIVE:
|
||||
l->Info("EVENT_ACTIVE:\n");
|
||||
|
@ -1044,8 +1008,16 @@ bool CApplication::ProcessEvent(Event &event)
|
|||
l->Info(" gain = %s\n", event.active.gain ? "true" : "false");
|
||||
break;
|
||||
default:
|
||||
l->Info("Event type = %d:\n", static_cast<int>(event.type));
|
||||
break;
|
||||
}
|
||||
|
||||
l->Info(" systemEvent = %s\n", event.systemEvent ? "true" : "false");
|
||||
l->Info(" rTime = %f\n", event.rTime);
|
||||
l->Info(" kmodState = %04x\n", event.kmodState);
|
||||
l->Info(" trackedKeysState = %04x\n", event.trackedKeysState);
|
||||
l->Info(" mousePos = %f, %f\n", event.mousePos.x, event.mousePos.y);
|
||||
l->Info(" mouseButtonsState = %02x\n", event.mouseButtonsState);
|
||||
}
|
||||
|
||||
// By default, pass on all events
|
||||
|
@ -1081,9 +1053,9 @@ Event CApplication::CreateVirtualEvent(const Event& sourceEvent)
|
|||
virtualEvent.type = EVENT_KEY_DOWN;
|
||||
else
|
||||
virtualEvent.type = EVENT_KEY_UP;
|
||||
|
||||
virtualEvent.key.virt = true;
|
||||
virtualEvent.key.key = VIRTUAL_JOY(sourceEvent.joyButton.button);
|
||||
virtualEvent.key.mod = 0;
|
||||
virtualEvent.key.unicode = 0;
|
||||
}
|
||||
else
|
||||
|
@ -1161,6 +1133,11 @@ void CApplication::StepSimulation()
|
|||
|
||||
|
||||
Event frameEvent(EVENT_FRAME);
|
||||
frameEvent.systemEvent = true;
|
||||
frameEvent.trackedKeysState = m_trackedKeys;
|
||||
frameEvent.kmodState = m_kmodState;
|
||||
frameEvent.mousePos = m_mousePos;
|
||||
frameEvent.mouseButtonsState = m_mouseButtonsState;
|
||||
frameEvent.rTime = m_relTime;
|
||||
m_eventQueue->AddEvent(frameEvent);
|
||||
}
|
||||
|
@ -1280,6 +1257,7 @@ bool CApplication::GetMouseButtonState(int index)
|
|||
|
||||
void CApplication::ResetKeyStates()
|
||||
{
|
||||
GetLogger()->Info("Reset key states\n");
|
||||
m_trackedKeys = 0;
|
||||
m_kmodState = 0;
|
||||
m_robotMain->ResetKeyStates();
|
||||
|
|
|
@ -76,20 +76,18 @@ enum VideoQueryResult
|
|||
|
||||
/**
|
||||
* \enum TrackedKeys
|
||||
* \brief Keys (or kmods) whose state (pressed/released) is tracked by CApplication
|
||||
* \brief Additional keys whose state (pressed/released) is tracked by CApplication
|
||||
*/
|
||||
enum TrackedKey
|
||||
{
|
||||
TRKEY_SHIFT = (1<<0),
|
||||
TRKEY_CONTROL = (1<<1),
|
||||
TRKEY_NUM_UP = (1<<2),
|
||||
TRKEY_NUM_DOWN = (1<<3),
|
||||
TRKEY_NUM_LEFT = (1<<4),
|
||||
TRKEY_NUM_RIGHT = (1<<5),
|
||||
TRKEY_NUM_PLUS = (1<<6),
|
||||
TRKEY_NUM_MINUS = (1<<7),
|
||||
TRKEY_PAGE_UP = (1<<8),
|
||||
TRKEY_PAGE_DOWN = (1<<9)
|
||||
TRKEY_NUM_UP = (1<<0),
|
||||
TRKEY_NUM_DOWN = (1<<1),
|
||||
TRKEY_NUM_LEFT = (1<<2),
|
||||
TRKEY_NUM_RIGHT = (1<<3),
|
||||
TRKEY_NUM_PLUS = (1<<4),
|
||||
TRKEY_NUM_MINUS = (1<<5),
|
||||
TRKEY_PAGE_UP = (1<<6),
|
||||
TRKEY_PAGE_DOWN = (1<<7)
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -305,11 +303,11 @@ protected:
|
|||
bool CreateVideoSurface();
|
||||
|
||||
//! Processes the captured SDL event to Event struct
|
||||
Event ParseEvent();
|
||||
Event ProcessSystemEvent();
|
||||
//! If applicable, creates a virtual event to match the changed state as of new event
|
||||
Event CreateVirtualEvent(const Event& sourceEvent);
|
||||
//! Handles some incoming events
|
||||
bool ProcessEvent(Event &event);
|
||||
bool ProcessEvent(const Event& event);
|
||||
//! Renders the image in window
|
||||
void Render();
|
||||
|
||||
|
@ -375,17 +373,17 @@ protected:
|
|||
bool m_simulationSuspended;
|
||||
//@}
|
||||
|
||||
//! Current state of key modifiers (mask of SDLMod)
|
||||
//! Current state of key modifiers (bitmask of SDLMod)
|
||||
unsigned int m_kmodState;
|
||||
//! Current state of some tracked keys (mask of TrackedKey)
|
||||
//! Current state of some tracked keys (bitmask of TrackedKey enum values)
|
||||
unsigned int m_trackedKeys;
|
||||
//! Current state of mouse buttons (mask of button indexes)
|
||||
unsigned int m_mouseButtonsState;
|
||||
|
||||
//! Current mode of mouse
|
||||
MouseMode m_mouseMode;
|
||||
//! Current position of mouse cursor
|
||||
Math::Point m_mousePos;
|
||||
//! Current state of mouse buttons (bitmask of MouseButton enum values)
|
||||
unsigned int m_mouseButtonsState;
|
||||
|
||||
//! Info about current joystick device
|
||||
JoystickDevice m_joystick;
|
||||
|
|
|
@ -30,43 +30,34 @@
|
|||
class CInstanceManager;
|
||||
|
||||
|
||||
/**
|
||||
* \enum PressState
|
||||
* \brief State of key/mouse button
|
||||
*/
|
||||
enum PressState
|
||||
{
|
||||
STATE_PRESSED,
|
||||
STATE_RELEASED
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* \struct KeyEventData
|
||||
* \brief Additional data for keyboard event
|
||||
*/
|
||||
struct KeyEventData
|
||||
{
|
||||
//! STATE_PRESSED or STATE_RELEASED */
|
||||
PressState state;
|
||||
//! If true, the key is a virtual code generated by key modifier press or joystick button press
|
||||
//! If true, the key is a virtual code generated by certain key modifiers or joystick buttons
|
||||
bool virt;
|
||||
//! Key symbol: KEY(...) macro value or virtual key VIRTUAL_... (from common/key.h)
|
||||
unsigned int key;
|
||||
//! Keyboard modifiers: a bitmask made of KEY_MOD(...) macro values (from common/key.h)
|
||||
unsigned int mod;
|
||||
//! Unicode character
|
||||
//! NOTE: applicable only to EVENT_KEY_DOWN events!
|
||||
unsigned int unicode;
|
||||
};
|
||||
|
||||
/** \struct MouseMotionEventData
|
||||
\brief Additional data for mouse move event */
|
||||
struct MouseMoveEventData
|
||||
/**
|
||||
* \enum MouseButton
|
||||
* \brief Mouse button
|
||||
*
|
||||
* Values are a bitmask to have a state bitmask
|
||||
*/
|
||||
enum MouseButton
|
||||
{
|
||||
//! Current button state
|
||||
PressState state;
|
||||
//! Position of mouse in normalized coordinates (0..1)
|
||||
Math::Point pos;
|
||||
MOUSE_BUTTON_LEFT = (1<<1),
|
||||
MOUSE_BUTTON_MIDDLE = (1<<2),
|
||||
MOUSE_BUTTON_RIGHT = (1<<3),
|
||||
//! There may be additional mouse buttons >= this value
|
||||
MOUSE_BUTTON_OTHER = (1<<4)
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -75,12 +66,8 @@ struct MouseMoveEventData
|
|||
*/
|
||||
struct MouseButtonEventData
|
||||
{
|
||||
//! The mouse button index
|
||||
unsigned char button;
|
||||
//! STATE_PRESSED or STATE_RELEASED
|
||||
PressState state;
|
||||
//! Position of mouse in normalized coordinates (0..1)
|
||||
Math::Point pos;
|
||||
//! The mouse button
|
||||
MouseButton button;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -101,8 +88,6 @@ struct MouseWheelEventData
|
|||
{
|
||||
//! Wheel direction
|
||||
WheelDirection dir;
|
||||
//! Position of mouse in normalized coordinates (0..1)
|
||||
Math::Point pos;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -125,8 +110,6 @@ struct JoyButtonEventData
|
|||
{
|
||||
//! The joystick button index
|
||||
unsigned char button;
|
||||
//! STATE_PRESSED or STATE_RELEASED
|
||||
PressState state;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -170,20 +153,48 @@ struct ActiveEventData
|
|||
**/
|
||||
struct Event
|
||||
{
|
||||
//! Type of event (EVENT_*)
|
||||
//! Type of event
|
||||
EventType type;
|
||||
|
||||
//! If true, the event was produced by system (SDL); else, it has come from user interface
|
||||
//! If true, the event was produced by system in CApplication; else, it has come from game engine
|
||||
bool systemEvent;
|
||||
|
||||
//! Relative time since last EVENT_FRAME
|
||||
//! Scope: only EVENT_FRAME events
|
||||
// TODO: gradually replace the usage of this with new CApplication's time functions
|
||||
float rTime;
|
||||
|
||||
//! Motion vector set by keyboard or joystick (managed by CRobotMain)
|
||||
//! Scope: all system events
|
||||
Math::Vector motionInput;
|
||||
|
||||
//! Current state of keyboard modifier keys: bitmask made of KEY_MOD(...) macro values (from common/key.h)
|
||||
//! Scope: all system events
|
||||
unsigned int kmodState;
|
||||
|
||||
//! Current state of tracked keys: bitmask of TrackedKey enum values
|
||||
//! Scope: all system events
|
||||
unsigned int trackedKeysState;
|
||||
|
||||
//! Current position of mouse cursor in interface coords
|
||||
//! Scope: all system events
|
||||
Math::Point mousePos;
|
||||
|
||||
//! Current state of mouse buttons: bitmask of MouseButton enum values
|
||||
//! Scope: all system events
|
||||
unsigned int mouseButtonsState;
|
||||
|
||||
//! Custom parameter that may be set for some events
|
||||
//! Scope: some interface events
|
||||
long customParam;
|
||||
|
||||
//! Union with additional data, applicable only to some events
|
||||
union
|
||||
{
|
||||
//! Additional data for EVENT_KEY_DOWN and EVENT_KEY_UP
|
||||
KeyEventData key;
|
||||
//! Additional data for EVENT_MOUSE_BUTTON_DOWN and EVENT_MOUSE_BUTTON_UP
|
||||
MouseButtonEventData mouseButton;
|
||||
//! Additional data for EVENT_MOUSE_MOVE
|
||||
MouseMoveEventData mouseMove;
|
||||
//! Additional data for EVENT_MOUSE_WHEEL
|
||||
MouseWheelEventData mouseWheel;
|
||||
//! Additional data for EVENT_JOY
|
||||
|
@ -194,35 +205,15 @@ struct Event
|
|||
ActiveEventData active;
|
||||
};
|
||||
|
||||
//! State of tracked keys (mask of TrackedKey enum values)
|
||||
unsigned int trackedKeys;
|
||||
|
||||
//! Mouse position is provided also for other types of events besides mouse events
|
||||
Math::Point mousePos;
|
||||
|
||||
//! Motion vector set by keyboard or joystick
|
||||
Math::Vector motionInput;
|
||||
|
||||
// TODO: remove and replace references with trackedKeys
|
||||
short keyState;
|
||||
|
||||
// TODO: remove and replace references with mousePos
|
||||
Math::Point pos;
|
||||
|
||||
// TODO: remove
|
||||
long param; // parameter
|
||||
|
||||
// TODO: remove in longer term (use CApplication's new time functions instead)
|
||||
float rTime; // relative time
|
||||
|
||||
Event(EventType aType = EVENT_NULL)
|
||||
Event(EventType type = EVENT_NULL)
|
||||
{
|
||||
type = aType;
|
||||
systemEvent = false;
|
||||
trackedKeys = 0;
|
||||
this->type = type;
|
||||
|
||||
param = 0;
|
||||
systemEvent = false;
|
||||
rTime = 0.0f;
|
||||
mouseButtonsState = 0;
|
||||
trackedKeysState = 0;
|
||||
customParam = 0;
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -254,6 +245,7 @@ public:
|
|||
void Flush();
|
||||
//! Adds an event to the queue
|
||||
bool AddEvent(const Event &event);
|
||||
//! Removes and returns an event from queue front
|
||||
bool GetEvent(Event &event);
|
||||
|
||||
protected:
|
||||
|
|
|
@ -60,10 +60,16 @@ enum EventType
|
|||
//! Event sent after releasing a joystick button
|
||||
EVENT_JOY_BUTTON_UP = 14,
|
||||
|
||||
|
||||
/* Events sent/received in game and user interface */
|
||||
|
||||
EVENT_UPDINTERFACE = 20,
|
||||
EVENT_WIN = 30,
|
||||
EVENT_LOST = 31,
|
||||
|
||||
//! CEdit focus
|
||||
EVENT_FOCUS = 35,
|
||||
|
||||
EVENT_BUTTON_OK = 40,
|
||||
EVENT_BUTTON_CANCEL = 41,
|
||||
EVENT_BUTTON_NEXT = 42,
|
||||
|
|
|
@ -18,6 +18,8 @@
|
|||
|
||||
#include "graphics/engine/camera.h"
|
||||
|
||||
#include "app/app.h"
|
||||
|
||||
#include "common/iman.h"
|
||||
|
||||
#include "graphics/engine/engine.h"
|
||||
|
@ -1022,7 +1024,7 @@ bool CCamera::EventProcess(const Event &event)
|
|||
|
||||
bool CCamera::EventMouseMove(const Event &event)
|
||||
{
|
||||
m_mousePos = event.pos;
|
||||
m_mousePos = event.mousePos;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -1193,7 +1195,7 @@ bool CCamera::EventFrameFree(const Event &event)
|
|||
m_eyePt = Math::LookatPoint(m_eyePt, m_directionH, m_directionV, event.motionInput.y * event.rTime * factor * m_speed);
|
||||
|
||||
// Left/Right
|
||||
if ( event.keyState & KS_CONTROL )
|
||||
if ( event.kmodState & KEY_MOD(CTRL) )
|
||||
{
|
||||
if ( event.motionInput.x < 0.0f )
|
||||
m_eyePt = Math::LookatPoint(m_eyePt, m_directionH + Math::PI / 2.0f, m_directionV, -event.motionInput.x * event.rTime * factor * m_speed);
|
||||
|
@ -1206,12 +1208,12 @@ bool CCamera::EventFrameFree(const Event &event)
|
|||
}
|
||||
|
||||
// PageUp/PageDown
|
||||
if ( event.keyState & KS_NUMMINUS )
|
||||
if ( event.trackedKeysState & TRKEY_NUM_MINUS )
|
||||
{
|
||||
if (m_heightEye < 500.0f)
|
||||
m_heightEye += event.rTime * factor * m_speed;
|
||||
}
|
||||
if ( event.keyState & KS_NUMPLUS )
|
||||
if ( event.trackedKeysState & TRKEY_NUM_PLUS )
|
||||
{
|
||||
if (m_heightEye > -2.0f)
|
||||
m_heightEye -= event.rTime * factor * m_speed;
|
||||
|
@ -1299,12 +1301,12 @@ bool CCamera::EventFrameBack(const Event &event)
|
|||
type = m_cameraObj->GetType();
|
||||
|
||||
// +/-.
|
||||
if (event.keyState & KS_NUMPLUS)
|
||||
if (event.trackedKeysState & TRKEY_NUM_PLUS)
|
||||
{
|
||||
m_backDist -= event.rTime * 30.0f * m_speed;
|
||||
if (m_backDist < m_backMin) m_backDist = m_backMin;
|
||||
}
|
||||
if (event.keyState & KS_NUMMINUS)
|
||||
if (event.trackedKeysState & TRKEY_NUM_MINUS)
|
||||
{
|
||||
m_backDist += event.rTime * 30.0f * m_speed;
|
||||
if (m_backDist > 200.0f) m_backDist = 200.0f;
|
||||
|
@ -1448,12 +1450,12 @@ bool CCamera::EventFrameBack(const Event &event)
|
|||
bool CCamera::EventFrameFix(const Event &event)
|
||||
{
|
||||
// +/-.
|
||||
if (event.keyState & KS_NUMPLUS)
|
||||
if (event.trackedKeysState & TRKEY_NUM_PLUS)
|
||||
{
|
||||
m_fixDist -= event.rTime * 30.0f * m_speed;
|
||||
if (m_fixDist < 10.0f) m_fixDist = 10.0f;
|
||||
}
|
||||
if (event.keyState & KS_NUMMINUS)
|
||||
if (event.trackedKeysState & TRKEY_NUM_MINUS)
|
||||
{
|
||||
m_fixDist += event.rTime * 30.0f * m_speed;
|
||||
if (m_fixDist > 200.0f) m_fixDist = 200.0f;
|
||||
|
@ -1552,24 +1554,24 @@ bool CCamera::EventFrameVisit(const Event &event)
|
|||
m_visitTime += event.rTime;
|
||||
|
||||
// +/-.
|
||||
if (event.keyState & KS_NUMPLUS)
|
||||
if (event.trackedKeysState & TRKEY_NUM_PLUS)
|
||||
{
|
||||
m_visitDist -= event.rTime * 50.0f * m_speed;
|
||||
if (m_visitDist < 20.0f) m_visitDist = 20.0f;
|
||||
}
|
||||
if (event.keyState & KS_NUMMINUS)
|
||||
if (event.trackedKeysState & TRKEY_NUM_MINUS)
|
||||
{
|
||||
m_visitDist += event.rTime * 50.0f * m_speed;
|
||||
if (m_visitDist > 200.0f) m_visitDist = 200.0f;
|
||||
}
|
||||
|
||||
// PageUp/Down.
|
||||
if (event.keyState & KS_PAGEUP)
|
||||
if (event.trackedKeysState & TRKEY_PAGE_UP)
|
||||
{
|
||||
m_visitDirectionV -= event.rTime * 1.0f * m_speed;
|
||||
if (m_visitDirectionV < -Math::PI * 0.40f) m_visitDirectionV = -Math::PI * 0.40f;
|
||||
}
|
||||
if (event.keyState & KS_PAGEDOWN)
|
||||
if (event.trackedKeysState & TRKEY_PAGE_DOWN)
|
||||
{
|
||||
m_visitDirectionV += event.rTime * 1.0f * m_speed;
|
||||
if (m_visitDirectionV > 0.0f ) m_visitDirectionV = 0.0f;
|
||||
|
|
|
@ -356,6 +356,7 @@ void CEngine::FrameUpdate()
|
|||
CopyTimeStamp(m_lastFrameTime, m_currentFrameTime);
|
||||
|
||||
m_fps = m_fpsCounter / diff;
|
||||
m_fpsCounter = 0;
|
||||
|
||||
if (m_showStats)
|
||||
{
|
||||
|
|
|
@ -578,7 +578,7 @@ bool CBrain::EventProcess(const Event &event)
|
|||
}
|
||||
if ( action == EVENT_OBJECT_TARGET && !m_object->GetTrainer() )
|
||||
{
|
||||
err = StartTaskGunGoal((event.pos.y-0.50f)*1.3f, (event.pos.x-0.50f)*2.0f);
|
||||
err = StartTaskGunGoal((event.mousePos.y-0.50f)*1.3f, (event.mousePos.x-0.50f)*2.0f);
|
||||
}
|
||||
|
||||
if ( action == EVENT_OBJECT_FIREANT )
|
||||
|
|
|
@ -1333,8 +1333,8 @@ bool CRobotMain::EventProcess(Event &event)
|
|||
{
|
||||
if (event.type == EVENT_MOUSE_MOVE)
|
||||
{
|
||||
m_lastMousePos = event.pos;
|
||||
HiliteObject(event.pos);
|
||||
m_lastMousePos = event.mousePos;
|
||||
HiliteObject(event.mousePos);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@ -1344,8 +1344,8 @@ bool CRobotMain::EventProcess(Event &event)
|
|||
|
||||
if (event.type == EVENT_MOUSE_MOVE)
|
||||
{
|
||||
m_lastMousePos = event.pos;
|
||||
HiliteObject(event.pos);
|
||||
m_lastMousePos = event.mousePos;
|
||||
HiliteObject(event.mousePos);
|
||||
}
|
||||
|
||||
if (m_displayInfo != nullptr) // current info?
|
||||
|
@ -1514,7 +1514,7 @@ bool CRobotMain::EventProcess(Event &event)
|
|||
if (event.mouseButton.button != 1) // only left mouse button
|
||||
break;
|
||||
|
||||
obj = DetectObject(event.pos);
|
||||
obj = DetectObject(event.mousePos);
|
||||
if (!m_shortCut) obj = nullptr;
|
||||
if (obj != nullptr && obj->GetType() == OBJECT_TOTO)
|
||||
{
|
||||
|
|
|
@ -101,11 +101,11 @@ bool CButton::EventProcess(const Event &event)
|
|||
}
|
||||
|
||||
if ( event.type == EVENT_MOUSE_BUTTON_DOWN &&
|
||||
event.mouseButton.button == 1 &&
|
||||
event.mouseButton.button == MOUSE_BUTTON_LEFT &&
|
||||
(m_state & STATE_VISIBLE) &&
|
||||
(m_state & STATE_ENABLE) )
|
||||
{
|
||||
if ( CControl::Detect(event.mouseButton.pos) )
|
||||
if ( CControl::Detect(event.mousePos) )
|
||||
{
|
||||
m_bCapture = true;
|
||||
m_repeat = DELAY1;
|
||||
|
@ -125,10 +125,10 @@ bool CButton::EventProcess(const Event &event)
|
|||
}
|
||||
|
||||
if ( event.type == EVENT_MOUSE_BUTTON_UP && //left
|
||||
event.mouseButton.button == 1 &&
|
||||
event.mouseButton.button == MOUSE_BUTTON_LEFT &&
|
||||
m_bCapture )
|
||||
{
|
||||
if ( CControl::Detect(event.mouseButton.pos) )
|
||||
if ( CControl::Detect(event.mousePos) )
|
||||
{
|
||||
if ( !m_bImmediat && !m_bRepeat )
|
||||
{
|
||||
|
|
|
@ -73,11 +73,11 @@ bool CCheck::EventProcess(const Event &event)
|
|||
CControl::EventProcess(event);
|
||||
|
||||
if ( event.type == EVENT_MOUSE_BUTTON_DOWN &&
|
||||
event.mouseButton.button == 1 &&
|
||||
event.mouseButton.button == MOUSE_BUTTON_LEFT &&
|
||||
(m_state & STATE_VISIBLE) &&
|
||||
(m_state & STATE_ENABLE) )
|
||||
{
|
||||
if ( CControl::Detect(event.mouseButton.pos) )
|
||||
if ( CControl::Detect(event.mousePos) )
|
||||
{
|
||||
Event newEvent = event;
|
||||
newEvent.type = m_eventType;
|
||||
|
|
|
@ -105,11 +105,11 @@ bool CColor::EventProcess(const Event &event)
|
|||
}
|
||||
|
||||
if ( event.type == EVENT_MOUSE_BUTTON_DOWN &&
|
||||
event.mouseButton.button == 1 &&
|
||||
event.mouseButton.button == MOUSE_BUTTON_LEFT &&
|
||||
(m_state & STATE_VISIBLE) &&
|
||||
(m_state & STATE_ENABLE) )
|
||||
{
|
||||
if ( CControl::Detect(event.mouseButton.pos) )
|
||||
if ( CControl::Detect(event.mousePos) )
|
||||
{
|
||||
m_repeat = DELAY1;
|
||||
|
||||
|
@ -120,7 +120,7 @@ bool CColor::EventProcess(const Event &event)
|
|||
}
|
||||
}
|
||||
|
||||
if ( event.type == EVENT_MOUSE_BUTTON_UP && event.mouseButton.button == 1)
|
||||
if ( event.type == EVENT_MOUSE_BUTTON_UP && event.mouseButton.button == MOUSE_BUTTON_LEFT)
|
||||
{
|
||||
m_repeat = 0.0f;
|
||||
}
|
||||
|
|
|
@ -60,9 +60,9 @@ bool CCompass::EventProcess(const Event &event)
|
|||
CControl::EventProcess(event);
|
||||
|
||||
if ( event.type == EVENT_MOUSE_BUTTON_DOWN &&
|
||||
event.mouseButton.button == 1)
|
||||
event.mouseButton.button == MOUSE_BUTTON_LEFT)
|
||||
{
|
||||
if ( CControl::Detect(event.mouseButton.pos) )
|
||||
if ( CControl::Detect(event.mousePos) )
|
||||
{
|
||||
Event newEvent = event;
|
||||
newEvent.type = m_eventType;
|
||||
|
|
|
@ -304,9 +304,9 @@ bool CControl::EventProcess(const Event &event)
|
|||
|
||||
if ( event.type == EVENT_MOUSE_MOVE )
|
||||
{
|
||||
m_glintMouse = event.mouseMove.pos;
|
||||
m_glintMouse = event.mousePos;
|
||||
|
||||
if ( Detect(event.mouseMove.pos) )
|
||||
if ( Detect(event.mousePos) )
|
||||
{
|
||||
if ( (m_state & STATE_VISIBLE) &&
|
||||
(m_state & STATE_ENABLE ) )
|
||||
|
@ -321,9 +321,9 @@ bool CControl::EventProcess(const Event &event)
|
|||
}
|
||||
}
|
||||
|
||||
if ( event.type == EVENT_MOUSE_BUTTON_DOWN && event.mouseButton.button == 1)
|
||||
if ( event.type == EVENT_MOUSE_BUTTON_DOWN && event.mouseButton.button == MOUSE_BUTTON_LEFT)
|
||||
{
|
||||
if ( Detect(event.mouseButton.pos) )
|
||||
if ( Detect(event.mousePos) )
|
||||
{
|
||||
m_bCapture = true;
|
||||
SetState(STATE_PRESS);
|
||||
|
@ -332,7 +332,7 @@ bool CControl::EventProcess(const Event &event)
|
|||
|
||||
if ( event.type == EVENT_MOUSE_MOVE && m_bCapture )
|
||||
{
|
||||
if ( Detect(event.mouseMove.pos) )
|
||||
if ( Detect(event.mousePos) )
|
||||
{
|
||||
SetState(STATE_PRESS);
|
||||
}
|
||||
|
@ -342,7 +342,7 @@ bool CControl::EventProcess(const Event &event)
|
|||
}
|
||||
}
|
||||
|
||||
if ( event.type == EVENT_MOUSE_BUTTON_UP && m_bCapture && event.mouseButton.button == 1)
|
||||
if ( event.type == EVENT_MOUSE_BUTTON_UP && m_bCapture && event.mouseButton.button == MOUSE_BUTTON_LEFT)
|
||||
{
|
||||
m_bCapture = false;
|
||||
ClearState(STATE_PRESS);
|
||||
|
|
|
@ -103,7 +103,7 @@ bool CDisplayInfo::EventProcess(const Event &event)
|
|||
toto = static_cast<CMotionToto*>(m_toto->GetMotion());
|
||||
if ( toto != 0 )
|
||||
{
|
||||
toto->SetMousePos(event.mouseMove.pos);
|
||||
toto->SetMousePos(event.mousePos);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -201,8 +201,8 @@ bool CDisplayInfo::EventProcess(const Event &event)
|
|||
}
|
||||
}
|
||||
|
||||
if ( ( event.type == EVENT_MOUSE_BUTTON_DOWN && event.mouseButton.button == 1 )||
|
||||
( event.type == EVENT_MOUSE_BUTTON_UP && event.mouseButton.button == 1 ))
|
||||
if ( ( event.type == EVENT_MOUSE_BUTTON_DOWN && event.mouseButton.button == MOUSE_BUTTON_LEFT )||
|
||||
( event.type == EVENT_MOUSE_BUTTON_UP && event.mouseButton.button == MOUSE_BUTTON_LEFT ))
|
||||
{
|
||||
UpdateCopyButton();
|
||||
}
|
||||
|
|
|
@ -240,14 +240,14 @@ bool CEdit::EventProcess(const Event &event)
|
|||
|
||||
if (event.type == EVENT_MOUSE_WHEEL &&
|
||||
event.mouseWheel.dir == WHEEL_UP &&
|
||||
Detect(event.pos) )
|
||||
Detect(event.mousePos) )
|
||||
{
|
||||
Scroll(m_lineFirst-3, true);
|
||||
return true;
|
||||
}
|
||||
if (event.type == EVENT_KEY_DOWN &&
|
||||
event.mouseWheel.dir == WHEEL_DOWN &&
|
||||
Detect(event.mouseWheel.pos) )
|
||||
Detect(event.mousePos) )
|
||||
{
|
||||
Scroll(m_lineFirst+3, true);
|
||||
return true;
|
||||
|
@ -263,8 +263,8 @@ bool CEdit::EventProcess(const Event &event)
|
|||
|
||||
if ( event.type == EVENT_MOUSE_MOVE )
|
||||
{
|
||||
if ( Detect(event.mouseMove.pos) &&
|
||||
event.mouseMove.pos.x < m_pos.x+m_dim.x-(m_bMulti?MARGX+SCROLL_WIDTH:0.0f) )
|
||||
if ( Detect(event.mousePos) &&
|
||||
event.mousePos.x < m_pos.x+m_dim.x-(m_bMulti?MARGX+SCROLL_WIDTH:0.0f) )
|
||||
{
|
||||
if ( m_bEdit )
|
||||
{
|
||||
|
@ -272,7 +272,7 @@ bool CEdit::EventProcess(const Event &event)
|
|||
}
|
||||
else
|
||||
{
|
||||
if ( IsLinkPos(event.mouseMove.pos) )
|
||||
if ( IsLinkPos(event.mousePos) )
|
||||
{
|
||||
m_engine->SetMouseType(Gfx::ENG_MOUSE_HAND);
|
||||
}
|
||||
|
@ -297,23 +297,23 @@ bool CEdit::EventProcess(const Event &event)
|
|||
|
||||
if ( event.type == EVENT_KEY_DOWN && m_bFocus )
|
||||
{
|
||||
bShift = ( (event.trackedKeys & TRKEY_SHIFT) != 0 );
|
||||
bControl = ( (event.trackedKeys & TRKEY_CONTROL) != 0);
|
||||
bShift = ( (event.kmodState & KEY_MOD(SHIFT) ) != 0 );
|
||||
bControl = ( (event.kmodState & KEY_MOD(CTRL) ) != 0);
|
||||
|
||||
if ( (event.key.unicode == 'X' && !bShift && bControl) ||
|
||||
(event.key.key == KEY(DELETE) && bShift && !bControl) )
|
||||
((event.kmodState & KEY_MOD(CTRL)) != 0 && bShift && !bControl) )
|
||||
{
|
||||
Cut();
|
||||
return true;
|
||||
}
|
||||
if ( (event.key.unicode == 'C' && !bShift && bControl) ||
|
||||
(event.key.key == KEY(INSERT) && !bShift && bControl) )
|
||||
((event.kmodState & KEY_MOD(CTRL)) != 0 && !bShift && bControl) )
|
||||
{
|
||||
Copy();
|
||||
return true;
|
||||
}
|
||||
if ( (event.key.unicode == 'V' && !bShift && bControl) ||
|
||||
(event.param == KEY(INSERT) && bShift && !bControl) )
|
||||
((event.kmodState & KEY_MOD(CTRL)) != 0 && bShift && !bControl) )
|
||||
{
|
||||
Paste();
|
||||
return true;
|
||||
|
@ -471,9 +471,9 @@ bool CEdit::EventProcess(const Event &event)
|
|||
}
|
||||
}
|
||||
|
||||
if ( event.type == EVENT_ACTIVE )
|
||||
if ( event.type == EVENT_FOCUS )
|
||||
{
|
||||
if ( event.param == m_eventType )
|
||||
if ( event.customParam == m_eventType )
|
||||
{
|
||||
m_bFocus = true;
|
||||
}
|
||||
|
@ -484,15 +484,15 @@ bool CEdit::EventProcess(const Event &event)
|
|||
}
|
||||
|
||||
if ( event.type == EVENT_MOUSE_BUTTON_DOWN &&
|
||||
event.mouseButton.button == 1)
|
||||
event.mouseButton.button == MOUSE_BUTTON_LEFT)
|
||||
{
|
||||
m_mouseFirstPos = event.pos;
|
||||
m_mouseLastPos = event.pos;
|
||||
if ( Detect(event.pos) )
|
||||
m_mouseFirstPos = event.mousePos;
|
||||
m_mouseLastPos = event.mousePos;
|
||||
if ( Detect(event.mousePos) )
|
||||
{
|
||||
if ( event.pos.x < m_pos.x+m_dim.x-(m_bMulti?MARGX+SCROLL_WIDTH:0.0f) )
|
||||
if ( event.mousePos.x < m_pos.x+m_dim.x-(m_bMulti?MARGX+SCROLL_WIDTH:0.0f) )
|
||||
{
|
||||
MouseClick(event.pos);
|
||||
MouseClick(event.mousePos);
|
||||
if ( m_bEdit || m_bHilite ) m_bCapture = true;
|
||||
}
|
||||
m_bFocus = true;
|
||||
|
@ -505,8 +505,8 @@ bool CEdit::EventProcess(const Event &event)
|
|||
|
||||
if ( event.type == EVENT_MOUSE_MOVE && m_bCapture )
|
||||
{
|
||||
m_mouseLastPos = event.pos;
|
||||
MouseMove(event.pos);
|
||||
m_mouseLastPos = event.mousePos;
|
||||
MouseMove(event.mousePos);
|
||||
}
|
||||
|
||||
if ( event.type == EVENT_FRAME && m_bCapture )
|
||||
|
@ -515,11 +515,11 @@ bool CEdit::EventProcess(const Event &event)
|
|||
}
|
||||
|
||||
if ( event.type == EVENT_MOUSE_BUTTON_UP &&
|
||||
event.mouseButton.button == 1)
|
||||
event.mouseButton.button == MOUSE_BUTTON_LEFT)
|
||||
{
|
||||
if ( Detect(event.pos) )
|
||||
if ( Detect(event.mousePos) )
|
||||
{
|
||||
if ( event.pos.x < m_pos.x+m_dim.x-(m_bMulti?MARGX+SCROLL_WIDTH:0.0f) )
|
||||
if ( event.mousePos.x < m_pos.x+m_dim.x-(m_bMulti?MARGX+SCROLL_WIDTH:0.0f) )
|
||||
{
|
||||
MouseRelease(m_mouseFirstPos);
|
||||
}
|
||||
|
@ -528,7 +528,7 @@ bool CEdit::EventProcess(const Event &event)
|
|||
{
|
||||
if ( m_timeLastClick+DELAY_DBCLICK > m_time ) // double-click ?
|
||||
{
|
||||
MouseDoubleClick(event.pos);
|
||||
MouseDoubleClick(event.mousePos);
|
||||
}
|
||||
m_timeLastClick = m_time;
|
||||
m_bCapture = false;
|
||||
|
|
|
@ -191,7 +191,7 @@ bool CEditValue::EventProcess(const Event &event)
|
|||
|
||||
if (event.type == EVENT_MOUSE_WHEEL &&
|
||||
event.mouseWheel.dir == WHEEL_UP &&
|
||||
Detect(event.mouseWheel.pos))
|
||||
Detect(event.mousePos))
|
||||
{
|
||||
value = GetValue()+m_stepValue;
|
||||
if ( value > m_maxValue ) value = m_maxValue;
|
||||
|
@ -200,7 +200,7 @@ bool CEditValue::EventProcess(const Event &event)
|
|||
}
|
||||
if ( event.type == EVENT_KEY_DOWN &&
|
||||
event.mouseWheel.dir == WHEEL_DOWN &&
|
||||
Detect(event.mouseWheel.pos))
|
||||
Detect(event.mousePos))
|
||||
{
|
||||
value = GetValue()-m_stepValue;
|
||||
if ( value < m_minValue ) value = m_minValue;
|
||||
|
@ -230,9 +230,8 @@ void CEditValue::HiliteValue(const Event &event)
|
|||
m_edit->SetFocus(true);
|
||||
|
||||
Event newEvent = event;
|
||||
newEvent.type = EVENT_ACTIVE;
|
||||
newEvent.active.gain = true; // TODO not much pretty sure about it
|
||||
newEvent.param = m_edit->GetEventType();
|
||||
newEvent.type = EVENT_FOCUS;
|
||||
newEvent.customParam = m_edit->GetEventType();
|
||||
m_event->AddEvent(newEvent); // defocus the other objects
|
||||
}
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@ bool CGauge::EventProcess(const Event &event)
|
|||
|
||||
if ( event.type == EVENT_MOUSE_BUTTON_DOWN )
|
||||
{
|
||||
if ( CControl::Detect(event.mouseButton.pos) )
|
||||
if ( CControl::Detect(event.mousePos) )
|
||||
{
|
||||
Event newEvent = event;
|
||||
newEvent.type = m_eventType;
|
||||
|
|
|
@ -282,7 +282,7 @@ bool CInterface::EventProcess(const Event &event)
|
|||
if (m_camera == nullptr) {
|
||||
m_camera = static_cast<Gfx::CCamera *>(m_iMan->SearchInstance(CLASS_CAMERA));
|
||||
}
|
||||
m_engine->SetMouseType(m_camera->GetMouseDef(event.mouseMove.pos));
|
||||
m_engine->SetMouseType(m_camera->GetMouseDef(event.mousePos));
|
||||
}
|
||||
|
||||
for (int i = MAXCONTROL-1; i >= 0; i--) {
|
||||
|
|
|
@ -82,8 +82,8 @@ bool CKey::EventProcess(const Event &event)
|
|||
CControl::EventProcess(event);
|
||||
|
||||
if (event.type == EVENT_MOUSE_BUTTON_DOWN) {
|
||||
if (event.mouseButton.button == 1) // left
|
||||
m_bCatch = Detect(event.mouseButton.pos);
|
||||
if (event.mouseButton.button == MOUSE_BUTTON_LEFT) // left
|
||||
m_bCatch = Detect(event.mousePos);
|
||||
}
|
||||
|
||||
if (event.type == EVENT_KEY_DOWN && m_bCatch) {
|
||||
|
@ -92,12 +92,13 @@ bool CKey::EventProcess(const Event &event)
|
|||
if ( TestKey(event.key.key) ) { // impossible ?
|
||||
m_sound->Play(SOUND_TZOING);
|
||||
} else {
|
||||
// TODO: test for virtual, joystick, etc.
|
||||
if ( event.key.key == m_key[0] || event.key.key == m_key[1] ) {
|
||||
m_key[0] = event.key.key;
|
||||
m_key[1] = 0;
|
||||
} else {
|
||||
m_key[1] = m_key[0];
|
||||
m_key[0] = event.param;
|
||||
m_key[0] = event.key.key;
|
||||
}
|
||||
m_sound->Play(SOUND_CLICK);
|
||||
|
||||
|
|
|
@ -257,7 +257,7 @@ bool CList::EventProcess(const Event &event)
|
|||
if ((m_state & STATE_ENABLE) == 0)
|
||||
return true;
|
||||
|
||||
if (event.type == EVENT_MOUSE_WHEEL && event.mouseWheel.dir == WHEEL_UP && Detect(event.mouseWheel.pos)) {
|
||||
if (event.type == EVENT_MOUSE_WHEEL && event.mouseWheel.dir == WHEEL_UP && Detect(event.mousePos)) {
|
||||
if (m_firstLine > 0)
|
||||
m_firstLine--;
|
||||
UpdateScroll();
|
||||
|
@ -265,7 +265,7 @@ bool CList::EventProcess(const Event &event)
|
|||
return true;
|
||||
}
|
||||
|
||||
if (event.type == EVENT_MOUSE_WHEEL && event.mouseWheel.dir == WHEEL_DOWN && Detect(event.mouseWheel.pos)) {
|
||||
if (event.type == EVENT_MOUSE_WHEEL && event.mouseWheel.dir == WHEEL_DOWN && Detect(event.mousePos)) {
|
||||
if (m_firstLine < m_totalLine - m_displayLine)
|
||||
m_firstLine++;
|
||||
UpdateScroll();
|
||||
|
@ -275,7 +275,7 @@ bool CList::EventProcess(const Event &event)
|
|||
|
||||
CControl::EventProcess(event);
|
||||
|
||||
if (event.type == EVENT_MOUSE_MOVE && Detect(event.mouseMove.pos)) {
|
||||
if (event.type == EVENT_MOUSE_MOVE && Detect(event.mousePos)) {
|
||||
m_engine->SetMouseType(Gfx::ENG_MOUSE_NORM);
|
||||
for (i = 0; i < m_displayLine; i++) {
|
||||
if (i + m_firstLine >= m_totalLine)
|
||||
|
|
|
@ -2096,8 +2096,8 @@ bool CMainDialog::EventProcess(const Event &event)
|
|||
|
||||
if ( event.type == EVENT_MOUSE_MOVE )
|
||||
{
|
||||
m_glintMouse = event.pos;
|
||||
NiceParticle(event.pos, event.trackedKeys & TRKEY_NUM_LEFT);
|
||||
m_glintMouse = event.mousePos;
|
||||
NiceParticle(event.mousePos, event.mouseButtonsState & MOUSE_BUTTON_LEFT);
|
||||
}
|
||||
|
||||
if ( m_bDialog ) // this dialogue?
|
||||
|
@ -2105,7 +2105,7 @@ bool CMainDialog::EventProcess(const Event &event)
|
|||
m_interface->EventProcess(event);
|
||||
|
||||
if ( event.type == EVENT_DIALOG_OK ||
|
||||
(event.type == EVENT_KEY_DOWN && event.param == KEY(RETURN) ) )
|
||||
(event.type == EVENT_KEY_DOWN && event.key.key == KEY(RETURN) ) )
|
||||
{
|
||||
StopDialog();
|
||||
if ( m_phase == PHASE_NAME )
|
||||
|
@ -2131,7 +2131,7 @@ bool CMainDialog::EventProcess(const Event &event)
|
|||
}
|
||||
}
|
||||
if ( event.type == EVENT_DIALOG_CANCEL ||
|
||||
(event.type == EVENT_KEY_DOWN && event.param == KEY(ESCAPE) ) )
|
||||
(event.type == EVENT_KEY_DOWN && event.key.key == KEY(ESCAPE) ) )
|
||||
{
|
||||
StopDialog();
|
||||
}
|
||||
|
@ -2177,7 +2177,7 @@ bool CMainDialog::EventProcess(const Event &event)
|
|||
switch( event.type )
|
||||
{
|
||||
case EVENT_KEY_DOWN:
|
||||
if ( event.param == KEY(ESCAPE) )
|
||||
if ( event.key.key == KEY(ESCAPE) )
|
||||
{
|
||||
//? StartQuit(); // would you leave?
|
||||
m_sound->Play(SOUND_TZOING);
|
||||
|
@ -2238,11 +2238,11 @@ bool CMainDialog::EventProcess(const Event &event)
|
|||
switch( event.type )
|
||||
{
|
||||
case EVENT_KEY_DOWN:
|
||||
if ( event.param == KEY(RETURN) )
|
||||
if ( event.key.key == KEY(RETURN) )
|
||||
{
|
||||
NameSelect();
|
||||
}
|
||||
if ( event.param == KEY(ESCAPE) )
|
||||
if ( event.key.key == KEY(ESCAPE) )
|
||||
{
|
||||
pw = static_cast<CWindow*>(m_interface->SearchControl(EVENT_WINDOW5));
|
||||
if ( pw == 0 ) break;
|
||||
|
@ -2295,11 +2295,11 @@ bool CMainDialog::EventProcess(const Event &event)
|
|||
switch( event.type )
|
||||
{
|
||||
case EVENT_KEY_DOWN:
|
||||
if ( event.param == KEY(RETURN) )
|
||||
if ( event.key.key == KEY(RETURN) )
|
||||
{
|
||||
m_main->ChangePhase(PHASE_INIT);
|
||||
}
|
||||
if ( event.param == KEY(ESCAPE) )
|
||||
if ( event.key.key == KEY(ESCAPE) )
|
||||
{
|
||||
m_main->ChangePhase(PHASE_NAME);
|
||||
}
|
||||
|
@ -2430,7 +2430,7 @@ bool CMainDialog::EventProcess(const Event &event)
|
|||
|
||||
if ( event.type == pw->GetEventTypeClose() ||
|
||||
event.type == EVENT_INTERFACE_BACK ||
|
||||
(event.type == EVENT_KEY_DOWN && event.param == KEY(ESCAPE)) )
|
||||
(event.type == EVENT_KEY_DOWN && event.key.key == KEY(ESCAPE)) )
|
||||
{
|
||||
m_main->ChangePhase(PHASE_INIT);
|
||||
return false;
|
||||
|
@ -2502,7 +2502,7 @@ bool CMainDialog::EventProcess(const Event &event)
|
|||
|
||||
if ( event.type == pw->GetEventTypeClose() ||
|
||||
event.type == EVENT_INTERFACE_BACK ||
|
||||
(event.type == EVENT_KEY_DOWN && event.param == KEY(ESCAPE)) )
|
||||
(event.type == EVENT_KEY_DOWN && event.key.key == KEY(ESCAPE)) )
|
||||
{
|
||||
SetupMemorize();
|
||||
m_engine->ApplyChange();
|
||||
|
@ -2548,7 +2548,7 @@ bool CMainDialog::EventProcess(const Event &event)
|
|||
|
||||
if ( event.type == pw->GetEventTypeClose() ||
|
||||
event.type == EVENT_INTERFACE_BACK ||
|
||||
(event.type == EVENT_KEY_DOWN && event.param == KEY(ESCAPE)) )
|
||||
(event.type == EVENT_KEY_DOWN && event.key.key == KEY(ESCAPE)) )
|
||||
{
|
||||
SetupMemorize();
|
||||
m_engine->ApplyChange();
|
||||
|
@ -2920,7 +2920,7 @@ bool CMainDialog::EventProcess(const Event &event)
|
|||
|
||||
if ( event.type == pw->GetEventTypeClose() ||
|
||||
event.type == EVENT_INTERFACE_BACK ||
|
||||
(event.type == EVENT_KEY_DOWN && event.param == KEY(ESCAPE)) )
|
||||
(event.type == EVENT_KEY_DOWN && event.key.key == KEY(ESCAPE)) )
|
||||
{
|
||||
ChangePhase(m_phaseTerm);
|
||||
}
|
||||
|
@ -2953,7 +2953,7 @@ bool CMainDialog::EventProcess(const Event &event)
|
|||
|
||||
if ( event.type == pw->GetEventTypeClose() ||
|
||||
event.type == EVENT_INTERFACE_BACK ||
|
||||
(event.type == EVENT_KEY_DOWN && event.param == KEY(ESCAPE)) )
|
||||
(event.type == EVENT_KEY_DOWN && event.key.key == KEY(ESCAPE)) )
|
||||
{
|
||||
m_interface->DeleteControl(EVENT_WINDOW5);
|
||||
ChangePhase(PHASE_SIMUL);
|
||||
|
@ -3027,7 +3027,7 @@ bool CMainDialog::EventProcess(const Event &event)
|
|||
|
||||
if ( event.type == EVENT_KEY_DOWN )
|
||||
{
|
||||
if ( event.param == KEY(ESCAPE) )
|
||||
if ( event.key.key == KEY(ESCAPE) )
|
||||
{
|
||||
ChangePhase(PHASE_INIT);
|
||||
}
|
||||
|
@ -4822,6 +4822,8 @@ void CMainDialog::UpdateSceneChap(int &chap)
|
|||
pl->SetCheck(j, bPassed);
|
||||
pl->SetEnable(j, true);
|
||||
|
||||
continue;
|
||||
|
||||
if ( m_phase == PHASE_MISSION && !m_main->GetShowAll() && !bPassed )
|
||||
{
|
||||
j ++;
|
||||
|
|
|
@ -187,15 +187,15 @@ bool CMap::EventProcess(const Event &event)
|
|||
if ( event.type == EVENT_FRAME )
|
||||
m_time += event.rTime;
|
||||
|
||||
if ( event.type == EVENT_MOUSE_MOVE && Detect(event.pos) ) {
|
||||
if ( event.type == EVENT_MOUSE_MOVE && Detect(event.mousePos) ) {
|
||||
m_engine->SetMouseType(Gfx::ENG_MOUSE_NORM);
|
||||
if ( DetectObject(event.mouseMove.pos, bInMap) != 0 )
|
||||
if ( DetectObject(event.mousePos, bInMap) != 0 )
|
||||
m_engine->SetMouseType(Gfx::ENG_MOUSE_HAND);
|
||||
}
|
||||
|
||||
if ( event.type == EVENT_MOUSE_BUTTON_DOWN && event.mouseButton.button == 1 ) {
|
||||
if ( CControl::Detect(event.mouseButton.pos) ) {
|
||||
SelectObject(event.mouseButton.pos);
|
||||
if ( event.type == EVENT_MOUSE_BUTTON_DOWN && event.mouseButton.button == MOUSE_BUTTON_LEFT ) {
|
||||
if ( CControl::Detect(event.mousePos) ) {
|
||||
SelectObject(event.mousePos);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -234,21 +234,21 @@ bool CScroll::EventProcess(const Event &event)
|
|||
hButton = m_buttonUp?m_dim.x/0.75f:0.0f;
|
||||
|
||||
if ( event.type == EVENT_MOUSE_BUTTON_DOWN &&
|
||||
event.mouseButton.button == 1 &&
|
||||
event.mouseButton.button == MOUSE_BUTTON_LEFT &&
|
||||
(m_state & STATE_VISIBLE) &&
|
||||
(m_state & STATE_ENABLE) )
|
||||
{
|
||||
if ( CControl::Detect(event.mouseButton.pos) )
|
||||
if ( CControl::Detect(event.mousePos) )
|
||||
{
|
||||
pos.y = m_pos.y+hButton;
|
||||
dim.y = m_dim.y-hButton*2.0f;
|
||||
pos.y += dim.y*(1.0f-m_visibleRatio)*(1.0f-m_visibleValue);
|
||||
dim.y *= m_visibleRatio;
|
||||
if ( event.mouseButton.pos.y < pos.y ||
|
||||
event.mouseButton.pos.y > pos.y+dim.y ) // click outside cabin?
|
||||
if ( event.mousePos.y < pos.y ||
|
||||
event.mousePos.y > pos.y+dim.y ) // click outside cabin?
|
||||
{
|
||||
h = (m_dim.y-hButton*2.0f)*(1.0f-m_visibleRatio);
|
||||
value = 1.0f-(event.mouseButton.pos.y-(m_pos.y+hButton+dim.y*0.5f))/h;
|
||||
value = 1.0f-(event.mousePos.y-(m_pos.y+hButton+dim.y*0.5f))/h;
|
||||
if ( value < 0.0f ) value = 0.0f;
|
||||
if ( value > 1.0f ) value = 1.0f;
|
||||
m_visibleValue = value;
|
||||
|
@ -259,7 +259,7 @@ bool CScroll::EventProcess(const Event &event)
|
|||
m_event->AddEvent(newEvent);
|
||||
}
|
||||
m_bCapture = true;
|
||||
m_pressPos = event.mouseButton.pos;
|
||||
m_pressPos = event.mousePos;
|
||||
m_pressValue = m_visibleValue;
|
||||
}
|
||||
}
|
||||
|
@ -269,7 +269,7 @@ bool CScroll::EventProcess(const Event &event)
|
|||
h = (m_dim.y-hButton*2.0f)*(1.0f-m_visibleRatio);
|
||||
if ( h != 0 )
|
||||
{
|
||||
value = m_pressValue - (event.mouseMove.pos.y-m_pressPos.y)/h;
|
||||
value = m_pressValue - (event.mousePos.y-m_pressPos.y)/h;
|
||||
if ( value < 0.0f ) value = 0.0f;
|
||||
if ( value > 1.0f ) value = 1.0f;
|
||||
|
||||
|
@ -286,7 +286,7 @@ bool CScroll::EventProcess(const Event &event)
|
|||
}
|
||||
|
||||
if ( event.type == EVENT_MOUSE_BUTTON_UP &&
|
||||
event.mouseButton.button == 1 &&
|
||||
event.mouseButton.button == MOUSE_BUTTON_LEFT &&
|
||||
m_bCapture )
|
||||
{
|
||||
m_bCapture = false;
|
||||
|
@ -294,7 +294,7 @@ bool CScroll::EventProcess(const Event &event)
|
|||
|
||||
if (event.type == EVENT_MOUSE_WHEEL &&
|
||||
event.mouseWheel.dir == WHEEL_UP &&
|
||||
Detect(event.mouseWheel.pos) &&
|
||||
Detect(event.mousePos) &&
|
||||
m_buttonUp != 0)
|
||||
{
|
||||
Event newEvent = event;
|
||||
|
@ -303,7 +303,7 @@ bool CScroll::EventProcess(const Event &event)
|
|||
}
|
||||
if (event.type == EVENT_MOUSE_WHEEL &&
|
||||
event.mouseWheel.dir == WHEEL_DOWN &&
|
||||
Detect(event.mouseWheel.pos) &&
|
||||
Detect(event.mousePos) &&
|
||||
m_buttonDown != 0)
|
||||
{
|
||||
Event newEvent = event;
|
||||
|
|
|
@ -67,9 +67,9 @@ bool CShortcut::EventProcess(const Event &event)
|
|||
}
|
||||
|
||||
if ( event.type == EVENT_MOUSE_BUTTON_DOWN &&
|
||||
event.mouseButton.button == 1)
|
||||
event.mouseButton.button == MOUSE_BUTTON_LEFT)
|
||||
{
|
||||
if ( CControl::Detect(event.mouseButton.pos) )
|
||||
if ( CControl::Detect(event.mousePos) )
|
||||
{
|
||||
Event newEvent = event;
|
||||
newEvent.type = m_eventType;
|
||||
|
|
|
@ -284,24 +284,24 @@ bool CSlider::EventProcess(const Event &event)
|
|||
}
|
||||
|
||||
if ( event.type == EVENT_MOUSE_BUTTON_DOWN &&
|
||||
(event.mouseButton.button == 1 ) &&
|
||||
(event.mouseButton.button == MOUSE_BUTTON_LEFT ) &&
|
||||
(m_state & STATE_VISIBLE) &&
|
||||
(m_state & STATE_ENABLE) )
|
||||
{
|
||||
if ( CControl::Detect(event.mouseButton.pos) )
|
||||
if ( CControl::Detect(event.mousePos) )
|
||||
{
|
||||
if ( m_bHoriz )
|
||||
{
|
||||
pos.x = m_pos.x+m_marginButton;
|
||||
dim.x = m_dim.x-m_marginButton*2.0f;
|
||||
value = (event.mouseButton.pos.x-pos.x-CURSOR_WIDTH/2.0f);
|
||||
value = (event.mousePos.x-pos.x-CURSOR_WIDTH/2.0f);
|
||||
value /= (dim.x-CURSOR_WIDTH);
|
||||
}
|
||||
else
|
||||
{
|
||||
pos.y = m_pos.y+m_marginButton;
|
||||
dim.y = m_dim.y-m_marginButton*2.0f;
|
||||
value = (event.mouseButton.pos.y-pos.y-CURSOR_WIDTH/2.0f);
|
||||
value = (event.mousePos.y-pos.y-CURSOR_WIDTH/2.0f);
|
||||
value /= (dim.y-CURSOR_WIDTH);
|
||||
}
|
||||
if ( value < 0.0f ) value = 0.0f;
|
||||
|
@ -314,7 +314,7 @@ bool CSlider::EventProcess(const Event &event)
|
|||
m_event->AddEvent(newEvent);
|
||||
|
||||
m_bCapture = true;
|
||||
m_pressPos = event.mouseButton.pos;
|
||||
m_pressPos = event.mousePos;
|
||||
m_pressValue = m_visibleValue;
|
||||
}
|
||||
}
|
||||
|
@ -325,14 +325,14 @@ bool CSlider::EventProcess(const Event &event)
|
|||
{
|
||||
pos.x = m_pos.x+m_marginButton;
|
||||
dim.x = m_dim.x-m_marginButton*2.0f;
|
||||
value = (event.mouseMove.pos.x-pos.x-CURSOR_WIDTH/2.0f);
|
||||
value = (event.mousePos.x-pos.x-CURSOR_WIDTH/2.0f);
|
||||
value /= (dim.x-CURSOR_WIDTH);
|
||||
}
|
||||
else
|
||||
{
|
||||
pos.y = m_pos.y+m_marginButton;
|
||||
dim.y = m_dim.y-m_marginButton*2.0f;
|
||||
value = (event.mouseMove.pos.y-pos.y-CURSOR_WIDTH/2.0f);
|
||||
value = (event.mousePos.y-pos.y-CURSOR_WIDTH/2.0f);
|
||||
value /= (dim.y-CURSOR_WIDTH);
|
||||
}
|
||||
if ( value < 0.0f ) value = 0.0f;
|
||||
|
@ -350,7 +350,7 @@ bool CSlider::EventProcess(const Event &event)
|
|||
}
|
||||
|
||||
if ( ( event.type == EVENT_MOUSE_BUTTON_UP ) &&
|
||||
( event.mouseButton.button == 1 ) &&
|
||||
( event.mouseButton.button == MOUSE_BUTTON_LEFT ) &&
|
||||
m_bCapture )
|
||||
{
|
||||
m_bCapture = false;
|
||||
|
@ -358,7 +358,7 @@ bool CSlider::EventProcess(const Event &event)
|
|||
|
||||
if (event.type == EVENT_MOUSE_WHEEL &&
|
||||
event.mouseWheel.dir == WHEEL_UP &&
|
||||
Detect(event.mouseWheel.pos) &&
|
||||
Detect(event.mousePos) &&
|
||||
m_buttonLeft != 0)
|
||||
{
|
||||
Event newEvent = event;
|
||||
|
@ -367,8 +367,8 @@ bool CSlider::EventProcess(const Event &event)
|
|||
}
|
||||
|
||||
if (event.type == EVENT_MOUSE_WHEEL &&
|
||||
event.mouseButton.button == WHEEL_DOWN &&
|
||||
Detect(event.mouseWheel.pos) &&
|
||||
event.mouseWheel.dir == WHEEL_DOWN &&
|
||||
Detect(event.mousePos) &&
|
||||
m_buttonRight != 0)
|
||||
{
|
||||
Event newEvent = event;
|
||||
|
|
|
@ -242,7 +242,7 @@ bool CStudio::EventProcess(const Event &event)
|
|||
if ( event.type == EVENT_KEY_DOWN )
|
||||
{
|
||||
if ( event.key.key == m_main->GetInputBinding(INPUT_SLOT_CBOT).key ||
|
||||
event.param == m_main->GetInputBinding(INPUT_SLOT_CBOT).joy )
|
||||
event.key.key == m_main->GetInputBinding(INPUT_SLOT_CBOT).joy )
|
||||
{
|
||||
if ( m_helpFilename.length() > 0 )
|
||||
{
|
||||
|
@ -1355,7 +1355,7 @@ bool CStudio::EventDialog(const Event &event)
|
|||
}
|
||||
|
||||
if ( event.type == EVENT_DIALOG_OK ||
|
||||
(event.type == EVENT_KEY_DOWN && event.param == KEY(RETURN)) )
|
||||
(event.type == EVENT_KEY_DOWN && event.key.key == KEY(RETURN)) )
|
||||
{
|
||||
if ( m_dialog == SD_OPEN )
|
||||
{
|
||||
|
@ -1371,7 +1371,7 @@ bool CStudio::EventDialog(const Event &event)
|
|||
}
|
||||
|
||||
if ( event.type == EVENT_DIALOG_CANCEL ||
|
||||
(event.type == EVENT_KEY_DOWN && event.param == KEY(ESCAPE)) ||
|
||||
(event.type == EVENT_KEY_DOWN && event.key.key == KEY(ESCAPE)) ||
|
||||
event.type == pw->GetEventTypeClose() )
|
||||
{
|
||||
StopDialog();
|
||||
|
|
|
@ -59,7 +59,7 @@ bool CTarget::EventProcess(const Event &event)
|
|||
|
||||
if ( event.type == EVENT_MOUSE_MOVE )
|
||||
{
|
||||
if ( CControl::Detect(event.pos) )
|
||||
if ( CControl::Detect(event.mousePos) )
|
||||
{
|
||||
m_engine->SetMouseType(Gfx::ENG_MOUSE_TARGET);
|
||||
Event newEvent = event;
|
||||
|
@ -70,11 +70,11 @@ bool CTarget::EventProcess(const Event &event)
|
|||
}
|
||||
|
||||
if ( event.type == EVENT_MOUSE_BUTTON_DOWN &&
|
||||
event.mouseButton.button == 1 &&
|
||||
event.mouseButton.button == MOUSE_BUTTON_LEFT &&
|
||||
(m_state & STATE_VISIBLE) &&
|
||||
(m_state & STATE_ENABLE) )
|
||||
{
|
||||
if ( CControl::Detect(event.pos) )
|
||||
if ( CControl::Detect(event.mousePos) )
|
||||
{
|
||||
Event newEvent = event;
|
||||
newEvent.type = EVENT_OBJECT_FIRE;
|
||||
|
@ -96,9 +96,9 @@ bool CTarget::EventProcess(const Event &event)
|
|||
{
|
||||
m_main->SetFriendAim(false);
|
||||
|
||||
if ( CControl::Detect(event.mouseMove.pos) )
|
||||
if ( CControl::Detect(event.mousePos) )
|
||||
{
|
||||
pObj = DetectFriendObject(event.mouseMove.pos);
|
||||
pObj = DetectFriendObject(event.mousePos);
|
||||
if ( pObj == 0 )
|
||||
{
|
||||
m_engine->SetMouseType(Gfx::ENG_MOUSE_TARGET);
|
||||
|
@ -117,11 +117,11 @@ bool CTarget::EventProcess(const Event &event)
|
|||
}
|
||||
|
||||
if ( event.type == EVENT_MOUSE_BUTTON_DOWN &&
|
||||
event.mouseButton.button == 1 &&
|
||||
event.mouseButton.button == MOUSE_BUTTON_LEFT &&
|
||||
(m_state & STATE_VISIBLE) &&
|
||||
(m_state & STATE_ENABLE) )
|
||||
{
|
||||
if ( CControl::Detect(event.mouseButton.pos) )
|
||||
if ( CControl::Detect(event.mousePos) )
|
||||
{
|
||||
if ( !m_main->GetFriendAim() )
|
||||
{
|
||||
|
|
|
@ -949,9 +949,9 @@ bool CWindow::EventProcess(const Event &event)
|
|||
m_pressMouse = Gfx::ENG_MOUSE_NORM;
|
||||
|
||||
if ( m_name.length() > 0 && m_bMovable && // title bar?
|
||||
Detect(event.pos) )
|
||||
Detect(event.mousePos) )
|
||||
{
|
||||
flags = BorderDetect(event.pos);
|
||||
flags = BorderDetect(event.mousePos);
|
||||
if ( flags == -1 )
|
||||
{
|
||||
m_pressMouse = Gfx::ENG_MOUSE_MOVE; // +
|
||||
|
@ -1011,17 +1011,17 @@ bool CWindow::EventProcess(const Event &event)
|
|||
}
|
||||
|
||||
if ( m_bTrashEvent && event.type == EVENT_MOUSE_BUTTON_DOWN &&
|
||||
event.mouseButton.button == 1)
|
||||
event.mouseButton.button == MOUSE_BUTTON_LEFT)
|
||||
{
|
||||
if ( Detect(event.pos) )
|
||||
if ( Detect(event.mousePos) )
|
||||
{
|
||||
if ( m_name.length() > 0 && m_bMovable ) // title bar?
|
||||
{
|
||||
m_pressFlags = BorderDetect(event.pos);
|
||||
m_pressFlags = BorderDetect(event.mousePos);
|
||||
if ( m_pressFlags != 0 )
|
||||
{
|
||||
m_bCapture = true;
|
||||
m_pressPos = event.pos;
|
||||
m_pressPos = event.mousePos;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
@ -1030,7 +1030,7 @@ bool CWindow::EventProcess(const Event &event)
|
|||
|
||||
if ( event.type == EVENT_MOUSE_MOVE && m_bCapture )
|
||||
{
|
||||
pos = event.pos;
|
||||
pos = event.mousePos;
|
||||
if ( m_pressFlags == -1 ) // all moves?
|
||||
{
|
||||
m_pos.x += pos.x-m_pressPos.x;
|
||||
|
@ -1081,7 +1081,7 @@ bool CWindow::EventProcess(const Event &event)
|
|||
m_event->AddEvent(newEvent);
|
||||
}
|
||||
|
||||
if ( event.type == EVENT_MOUSE_BUTTON_UP && event.mouseButton.button == 1 && m_bCapture )
|
||||
if ( event.type == EVENT_MOUSE_BUTTON_UP && event.mouseButton.button == MOUSE_BUTTON_LEFT && m_bCapture )
|
||||
{
|
||||
m_bCapture = false;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue