19#ifndef CANVAS_GUI_MGR_HXX_
20#define CANVAS_GUI_MGR_HXX_
22#include <simgear/canvas/canvas_fwd.hxx>
23#include <simgear/canvas/elements/CanvasGroup.hxx>
24#include <simgear/props/PropertyBasedMgr.hxx>
25#include <simgear/props/propertyObject.hxx>
29#include <osg/MatrixTransform>
32namespace osg {
class Camera; }
36 class GUIEventAdapter;
48 void update(
double dt)
override;
69 bool grabPointer(
const simgear::canvas::WindowPtr& window);
86 simgear::canvas::Placements
88 simgear::canvas::CanvasPtr
canvas );
void setInputFocus(const simgear::canvas::WindowPtr &window)
Set the input (keyboard) focus to the given window.
void update(double dt) override
simgear::canvas::WindowPtr createWindow(const std::string &name="")
void setGUIViewAndCamera(osgViewer::View *view, osg::Camera *cam)
specify the osgViewer::View and Camera
osg::ref_ptr< osgViewer::View > _viewerView
simgear::canvas::GroupPtr getDesktop()
Get simgear::canvas::Group containing all windows.
bool grabPointer(const simgear::canvas::WindowPtr &window)
Grabs the pointer so that all events are passed to this window until the pointer is ungrabbed with un...
void ungrabPointer(const simgear::canvas::WindowPtr &window)
Releases the grab acquired for this window with grabPointer().
simgear::canvas::GroupPtr _desktop
osg::ref_ptr< osg::Camera > _camera
osg::ref_ptr< GUIEventHandler > _event_handler
simgear::canvas::Placements addWindowPlacement(SGPropertyNode *placement, simgear::canvas::CanvasPtr canvas)
static const char * staticSubsystemClassId()