mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-12 15:14:35 +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
2 changed files with 24 additions and 4 deletions
|
|
@ -215,6 +215,7 @@ IMPLEMENT_CALLBACK(GameTSCtrl, onMouseMove, void, (const char* screenPosition, c
|
||||||
|
|
||||||
GameTSCtrl::GameTSCtrl()
|
GameTSCtrl::GameTSCtrl()
|
||||||
{
|
{
|
||||||
|
mFrameTime = PlatformTimer::create();
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
@ -358,21 +359,33 @@ void GameTSCtrl::onMouseDragged(const GuiEvent &evt)
|
||||||
{
|
{
|
||||||
Parent::onMouseDragged(evt);
|
Parent::onMouseDragged(evt);
|
||||||
|
|
||||||
sendMouseEvent("onMouseDragged", evt);
|
if (mFrameTime && mFrameTime->getElapsedMs() > 16)
|
||||||
|
{
|
||||||
|
sendMouseEvent("onMouseDragged", evt);
|
||||||
|
mFrameTime->reset();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameTSCtrl::onRightMouseDragged(const GuiEvent &evt)
|
void GameTSCtrl::onRightMouseDragged(const GuiEvent &evt)
|
||||||
{
|
{
|
||||||
Parent::onRightMouseDragged(evt);
|
Parent::onRightMouseDragged(evt);
|
||||||
|
|
||||||
sendMouseEvent("onRightMouseDragged", evt);
|
if (mFrameTime && mFrameTime->getElapsedMs() > 16)
|
||||||
|
{
|
||||||
|
sendMouseEvent("onRightMouseDragged", evt);
|
||||||
|
mFrameTime->reset();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameTSCtrl::onMiddleMouseDragged(const GuiEvent &evt)
|
void GameTSCtrl::onMiddleMouseDragged(const GuiEvent &evt)
|
||||||
{
|
{
|
||||||
Parent::onMiddleMouseDragged(evt);
|
Parent::onMiddleMouseDragged(evt);
|
||||||
|
|
||||||
sendMouseEvent("onMiddleMouseDragged", evt);
|
if (mFrameTime && mFrameTime->getElapsedMs() > 16)
|
||||||
|
{
|
||||||
|
sendMouseEvent("onMiddleMouseDragged", evt);
|
||||||
|
mFrameTime->reset();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GameTSCtrl::onMouseWheelUp(const GuiEvent &evt)
|
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)
|
void GameTSCtrl::onRender(Point2I offset, const RectI &updateRect)
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,9 @@ private:
|
||||||
|
|
||||||
void sendMouseEvent(const char *name, const GuiEvent &evt);
|
void sendMouseEvent(const char *name, const GuiEvent &evt);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
PlatformTimer *mFrameTime;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
GameTSCtrl();
|
GameTSCtrl();
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue