Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKester Maddock <Christopher.Maddock.1@uni.massey.ac.nz>2004-05-03 03:45:03 +0400
committerKester Maddock <Christopher.Maddock.1@uni.massey.ac.nz>2004-05-03 03:45:03 +0400
commit08c14c7ca0398d792e3a2676b1afd66666674dae (patch)
treeca57b8c1d929031f4290da7d94a14ec502001918 /source/gameengine/GamePlayer/ghost/GPG_Application.cpp
parent45a240260e5545a2fe04121f76cb7c10982cf123 (diff)
Mouse Wheel Support for the Game Engine.
This adds "Wheel Up" and "Wheel Down" as choices to the Mouse sensor brick.
Diffstat (limited to 'source/gameengine/GamePlayer/ghost/GPG_Application.cpp')
-rw-r--r--source/gameengine/GamePlayer/ghost/GPG_Application.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/source/gameengine/GamePlayer/ghost/GPG_Application.cpp b/source/gameengine/GamePlayer/ghost/GPG_Application.cpp
index c33114c423a..13848cecc62 100644
--- a/source/gameengine/GamePlayer/ghost/GPG_Application.cpp
+++ b/source/gameengine/GamePlayer/ghost/GPG_Application.cpp
@@ -228,6 +228,10 @@ bool GPG_Application::processEvent(GHOST_IEvent* event)
case GHOST_kEventButtonUp:
handled = handleButton(event, false);
break;
+
+ case GHOST_kEventWheel:
+ handled = handleWheel(event);
+ break;
case GHOST_kEventCursorMove:
handled = handleCursorMove(event);
@@ -562,6 +566,24 @@ void GPG_Application::exitEngine()
m_engineInitialized = false;
}
+bool GPG_Application::handleWheel(GHOST_IEvent* event)
+{
+ bool handled = false;
+ assert(event);
+ if (m_mouse)
+ {
+ GHOST_TEventDataPtr eventData = ((GHOST_IEvent*)event)->getData();
+ GHOST_TEventWheelData* wheelData = static_cast<GHOST_TEventWheelData*>(eventData);
+ GPC_MouseDevice::TButtonId button;
+ if (wheelData->z > 0)
+ button = GPC_MouseDevice::buttonWheelUp;
+ else
+ button = GPC_MouseDevice::buttonWheelDown;
+ m_mouse->ConvertButtonEvent(button, true);
+ handled = true;
+ }
+ return handled;
+}
bool GPG_Application::handleButton(GHOST_IEvent* event, bool isDown)
{