Probably the thing to do is set the GUIEventAdapter::_scrollingDeltaX and GUIEventAdapter::_scrollingDeltaY within the setScrollingMotion() so they are appropriate values.
This way your code you just read the scroll delta's, it'll be a case of -1,0,+1 range for Windows, a full floating point with windowing systems that support it.
Robert.
On 10/14/06, Stephan Huber <[EMAIL PROTECTED]> wrote:
Stephen Northcott schrieb:
> Hello all,
>
> I am still working on this cross platform port from my OS X app to
> Windows XP..
>
> On my Mac I am spoiled by having a Mighty Mouse with four direction
> scroll ball, instead of a scroll wheel, and have incorporated that into
> my app on OS X. I use it for movement and panning in the Scene View.
>
> I assumed that on the PC I would only get scroll wheel functionality.
> However whilst the callbacks I am using register that some kind of
> scrolling is going on on the PC, I don't get any valid values from the
> scroll deltas returned....
>
> I am using 'osgGA::GUIEventAdapter::SCROLL' to register the scroll wheel
> / scroll ball movement, in a callback.
> I then use getScrollingDeltaX , ..DeltaY to read the wheel / ball.
>
> As I have said, on both platforms with the code unchanged I register
> that the scroll wheel is being used, but only on the Mac do I get
> anything other than 0 values from the get functions..
There are two different kinds of scroll-events in Producer/osgGA:
1.) getScrollingDeltaX / getScrollinDeltaY for Input devices which
support measurements of the scrolling (the devices are capable to return
the amount of scrolling-delta, not only the direction) I think this is
apple-only (MightyMouse and the PowerBook/MacBook trackpads), I don't
know if you can use the MightyMouse to scroll horizontally under windows.
2.) getScrollMotion for all the other input devices with scroll-wheel.
theses devices only report the direction of the scroll, not the amount.
This is the windows-way and most of the mouses with scroll-wheel report
that back.
So for your code:
use getScrollingDeltaX / getScrollingDeltaY for the MightyMouse + the
trackpad on Mac OSX and getScrollingMotion for windows and all the other
scrool-wheel-mouses. (on mac os x you have support for graphics tablets,
too ;)
Perhaps we should document the difference a bit better.
HTH,
Stephan
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/
_______________________________________________ osg-users mailing list [email protected] http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/
