From 3cccecb79df53e80c4448011e786a22ff9281613 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Wed, 27 Mar 2013 16:29:01 +0000 Subject: [PATCH] Added keypad control of corner points --- examples/osgkeystone/osgkeystone.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/examples/osgkeystone/osgkeystone.cpp b/examples/osgkeystone/osgkeystone.cpp index 945e4a1a4..a52ea227f 100644 --- a/examples/osgkeystone/osgkeystone.cpp +++ b/examples/osgkeystone/osgkeystone.cpp @@ -395,6 +395,30 @@ bool KeystoneHandler::handle(const osgGA::GUIEventAdapter& ea, osgGA::GUIActionA { move(computeRegion(ea), osg::Vec2d(_keyIncrement.x()*incrementScale(ea).x(), 0.0) ); } + else if (ea.getKey()==osgGA::GUIEventAdapter::KEY_KP_7 || ea.getKey()==osgGA::GUIEventAdapter::KEY_KP_Home) + { + _currentControlPoints->top_left.set(ea.getXnormalized(), ea.getYnormalized()); + _keystone->updateKeystone(*_currentControlPoints); + } + else if (ea.getKey()==osgGA::GUIEventAdapter::KEY_KP_9 || ea.getKey()==osgGA::GUIEventAdapter::KEY_KP_Page_Up) + { + _currentControlPoints->top_right.set(ea.getXnormalized(), ea.getYnormalized()); + _keystone->updateKeystone(*_currentControlPoints); + } + else if (ea.getKey()==osgGA::GUIEventAdapter::KEY_KP_3 || ea.getKey()==osgGA::GUIEventAdapter::KEY_KP_Page_Down) + { + _currentControlPoints->bottom_right.set(ea.getXnormalized(), ea.getYnormalized()); + _keystone->updateKeystone(*_currentControlPoints); + } + else if (ea.getKey()==osgGA::GUIEventAdapter::KEY_KP_1 || ea.getKey()==osgGA::GUIEventAdapter::KEY_KP_End) + { + _currentControlPoints->bottom_left.set(ea.getXnormalized(), ea.getYnormalized()); + _keystone->updateKeystone(*_currentControlPoints); + } + else + { + OSG_NOTICE<<"key = 0x"<getScreenResolution(si, width, height); + width/=2; height/=2; + osg::ref_ptr traits = new osg::GraphicsContext::Traits; traits->hostName = si.hostName; traits->displayNum = si.displayNum;