Addd a full screen toggle event handler to osgProducer & its viewer base

class.
This commit is contained in:
Robert Osfield
2003-03-19 14:27:05 +00:00
parent 74f8f18ad6
commit 426e301c48
9 changed files with 130 additions and 23 deletions

View File

@@ -0,0 +1,44 @@
#include <osgProducer/FullScreenEventHandler>
using namespace osgProducer;
bool FullScreenEventHandler::handle(const osgGA::GUIEventAdapter& ea,osgGA::GUIActionAdapter&)
{
if(!_cg) return false;
if(ea.getEventType()==osgGA::GUIEventAdapter::KEYDOWN)
{
switch( ea.getKey() )
{
case 'f' :
{
Producer::CameraConfig* cfg = _cg->getCameraConfig();
for( unsigned int i = 0; i < cfg->getNumberOfCameras(); ++i )
{
Producer::Camera *cam = cfg->getCamera(i);
Producer::RenderSurface* rs = cam->getRenderSurface();
rs->fullScreen(!rs->isFullScreen());
}
return true;
}
default:
break;
}
}
return false;
}
void FullScreenEventHandler::accept(osgGA::GUIEventHandlerVisitor& gehv)
{
gehv.visit(*this);
}
void FullScreenEventHandler::getUsage(osg::ApplicationUsage& usage) const
{
usage.addKeyboardMouseBinding("f","Toggle fullscreen");
}