mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-01-20 04:34:48 +00:00
Added PlatformTimer for mouse callbacks
Added PlatformTimer to GameTSCtrl to limit mouse move/drag callbacks.
This commit is contained in:
parent
d0f5c2e0db
commit
32bc068f7f
|
|
@ -215,6 +215,7 @@ IMPLEMENT_CALLBACK(GameTSCtrl, onMouseMove, void, (const char* screenPosition, c
|
|||
|
||||
GameTSCtrl::GameTSCtrl()
|
||||
{
|
||||
mFrameTime = PlatformTimer::create();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
|
@ -358,21 +359,33 @@ void GameTSCtrl::onMouseDragged(const GuiEvent &evt)
|
|||
{
|
||||
Parent::onMouseDragged(evt);
|
||||
|
||||
sendMouseEvent("onMouseDragged", evt);
|
||||
if (mFrameTime && mFrameTime->getElapsedMs() > 16)
|
||||
{
|
||||
sendMouseEvent("onMouseDragged", evt);
|
||||
mFrameTime->reset();
|
||||
}
|
||||
}
|
||||
|
||||
void GameTSCtrl::onRightMouseDragged(const GuiEvent &evt)
|
||||
{
|
||||
Parent::onRightMouseDragged(evt);
|
||||
|
||||
sendMouseEvent("onRightMouseDragged", evt);
|
||||
if (mFrameTime && mFrameTime->getElapsedMs() > 16)
|
||||
{
|
||||
sendMouseEvent("onRightMouseDragged", evt);
|
||||
mFrameTime->reset();
|
||||
}
|
||||
}
|
||||
|
||||
void GameTSCtrl::onMiddleMouseDragged(const GuiEvent &evt)
|
||||
{
|
||||
Parent::onMiddleMouseDragged(evt);
|
||||
|
||||
sendMouseEvent("onMiddleMouseDragged", evt);
|
||||
if (mFrameTime && mFrameTime->getElapsedMs() > 16)
|
||||
{
|
||||
sendMouseEvent("onMiddleMouseDragged", evt);
|
||||
mFrameTime->reset();
|
||||
}
|
||||
}
|
||||
|
||||
bool GameTSCtrl::onMouseWheelUp(const GuiEvent &evt)
|
||||
|
|
@ -410,7 +423,11 @@ void GameTSCtrl::onMouseMove(const GuiEvent &evt)
|
|||
}
|
||||
}
|
||||
|
||||
sendMouseEvent("onMouseMove", evt);
|
||||
if (mFrameTime->getElapsedMs() > 16)
|
||||
{
|
||||
sendMouseEvent("onMouseMove", evt);
|
||||
mFrameTime->reset();
|
||||
}
|
||||
}
|
||||
|
||||
void GameTSCtrl::onRender(Point2I offset, const RectI &updateRect)
|
||||
|
|
|
|||
|
|
@ -43,6 +43,9 @@ private:
|
|||
|
||||
void sendMouseEvent(const char *name, const GuiEvent &evt);
|
||||
|
||||
protected:
|
||||
PlatformTimer *mFrameTime;
|
||||
|
||||
public:
|
||||
GameTSCtrl();
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue