}
}
+void CameraGroup::resized()
+{
+ for (CameraIterator i = camerasBegin(), e = camerasEnd(); i != e; ++i) {
+ CameraInfo *info = i->get();
+ const Viewport* viewport = info->camera->getViewport();
+ info->x = viewport->x();
+ info->y = viewport->y();
+ info->width = viewport->width();
+ info->height = viewport->height();
+ }
+}
+
Camera* getGUICamera(CameraGroup* cgroup)
{
CameraGroup::CameraIterator end = cgroup->camerasEnd();
/** Set the cull mask on all non-GUI cameras
*/
void setCameraCullMasks(osg::Node::NodeMask nm);
-
+ /** Update camera properties after a resize event.
+ */
+ void resized();
protected:
CameraList _cameras;
osg::ref_ptr<osgViewer::Viewer> _viewer;
(*mouseMotionHandler)(x, y);
return true;
case osgGA::GUIEventAdapter::RESIZE:
+ CameraGroup::getDefault()->resized();
if (resizable && windowResizeHandler)
(*windowResizeHandler)(ea.getWindowWidth(), ea.getWindowHeight());
return true;