FlightGear next
DesktopGroup Class Reference

Desktop root group. More...

Inherits simgear::canvas::Group.

Public Member Functions

 DesktopGroup (osg::Camera *camera)
 
void setFocusWindow (const sc::WindowPtr &window)
 
bool grabPointer (const sc::WindowPtr &window)
 
void ungrabPointer (const sc::WindowPtr &window)
 
sc::WindowPtr windowAtPosition (const osg::Vec2f &screen_pos)
 
osg::Vec2f toScreenPos (const osgEA &ea) const
 
bool handleOsgEvent (const osgEA &ea)
 

Protected Member Functions

bool canHandleInput () const
 
bool handleMouse (const osgEA &ea)
 
bool handleKeyboard (const osgEA &ea)
 
bool propagateEvent (const sc::EventPtr &event, const sc::WindowPtr &active_window)
 
bool propagateRootEvent (const sc::EventPtr &event)
 
void handleResize (int x, int y, int width, int height)
 
bool handleDrag (const sc::EventPtr &event)
 
void finishDrag (const sc::WindowPtr &drag_src, const sc::EventPtr &event)
 
void handleMouseMode (SGPropertyNode *node)
 
sc::ElementFactory getChildFactory (const std::string &type) const
 

Protected Attributes

SGPropertyChangeCallback< DesktopGroup_cb_mouse_mode
 
bool _handle_events {true}
 
simgear::PropertyObject< int > _width
 
simgear::PropertyObject< int > _height
 
sc::WindowWeakPtr _last_push
 
sc::WindowWeakPtr _last_drag
 
sc::WindowWeakPtr _last_mouse_over
 
sc::WindowWeakPtr _resize_window
 
sc::WindowWeakPtr _focus_window
 
sc::WindowWeakPtr _pointer_grab_window
 
uint8_t _resize {sc::Window::NONE}
 
FGMouseCursor::Cursor _last_cursor {FGMouseCursor::CURSOR_NONE}
 
bool _drag_finished {false}
 
osg::Vec2f _drag_start
 
osg::Vec2f _last_mouse_pos
 
double _last_scroll_time {0}
 
uint32_t _last_key_down_no_mod {~0u}
 

Friends

class GUIMgr
 

Detailed Description

Desktop root group.

Definition at line 115 of file gui_mgr.cxx.

Constructor & Destructor Documentation

◆ DesktopGroup()

DesktopGroup::DesktopGroup ( osg::Camera * camera)

Definition at line 205 of file gui_mgr.cxx.

Member Function Documentation

◆ canHandleInput()

bool DesktopGroup::canHandleInput ( ) const
protected

Definition at line 339 of file gui_mgr.cxx.

◆ finishDrag()

void DesktopGroup::finishDrag ( const sc::WindowPtr & drag_src,
const sc::EventPtr & event )
protected

Definition at line 627 of file gui_mgr.cxx.

◆ getChildFactory()

sc::ElementFactory DesktopGroup::getChildFactory ( const std::string & type) const
inlineprotected

Definition at line 175 of file gui_mgr.cxx.

◆ grabPointer()

bool DesktopGroup::grabPointer ( const sc::WindowPtr & window)

Definition at line 244 of file gui_mgr.cxx.

◆ handleDrag()

bool DesktopGroup::handleDrag ( const sc::EventPtr & event)
protected

Definition at line 609 of file gui_mgr.cxx.

◆ handleKeyboard()

bool DesktopGroup::handleKeyboard ( const osgEA & ea)
protected

Definition at line 522 of file gui_mgr.cxx.

◆ handleMouse()

bool DesktopGroup::handleMouse ( const osgEA & ea)
protected

Definition at line 347 of file gui_mgr.cxx.

◆ handleMouseMode()

void DesktopGroup::handleMouseMode ( SGPropertyNode * node)
protected

Definition at line 636 of file gui_mgr.cxx.

◆ handleOsgEvent()

bool DesktopGroup::handleOsgEvent ( const osgEA & ea)

Definition at line 312 of file gui_mgr.cxx.

◆ handleResize()

void DesktopGroup::handleResize ( int x,
int y,
int width,
int height )
protected

Definition at line 587 of file gui_mgr.cxx.

◆ propagateEvent()

bool DesktopGroup::propagateEvent ( const sc::EventPtr & event,
const sc::WindowPtr & active_window )
protected

Definition at line 568 of file gui_mgr.cxx.

◆ propagateRootEvent()

bool DesktopGroup::propagateRootEvent ( const sc::EventPtr & event)
protected

Definition at line 577 of file gui_mgr.cxx.

◆ setFocusWindow()

void DesktopGroup::setFocusWindow ( const sc::WindowPtr & window)

Definition at line 238 of file gui_mgr.cxx.

◆ toScreenPos()

osg::Vec2f DesktopGroup::toScreenPos ( const osgEA & ea) const

Definition at line 300 of file gui_mgr.cxx.

◆ ungrabPointer()

void DesktopGroup::ungrabPointer ( const sc::WindowPtr & window)

Definition at line 256 of file gui_mgr.cxx.

◆ windowAtPosition()

sc::WindowPtr DesktopGroup::windowAtPosition ( const osg::Vec2f & screen_pos)

Definition at line 267 of file gui_mgr.cxx.

Friends And Related Symbol Documentation

◆ GUIMgr

friend class GUIMgr
friend

Definition at line 133 of file gui_mgr.cxx.

Member Data Documentation

◆ _cb_mouse_mode

SGPropertyChangeCallback<DesktopGroup> DesktopGroup::_cb_mouse_mode
protected

Definition at line 135 of file gui_mgr.cxx.

◆ _drag_finished

bool DesktopGroup::_drag_finished {false}
protected

Definition at line 150 of file gui_mgr.cxx.

◆ _drag_start

osg::Vec2f DesktopGroup::_drag_start
protected

Definition at line 152 of file gui_mgr.cxx.

◆ _focus_window

sc::WindowWeakPtr DesktopGroup::_focus_window
protected

Definition at line 145 of file gui_mgr.cxx.

◆ _handle_events

bool DesktopGroup::_handle_events {true}
protected

Definition at line 136 of file gui_mgr.cxx.

◆ _height

simgear::PropertyObject<int> DesktopGroup::_height
protected

Definition at line 139 of file gui_mgr.cxx.

◆ _last_cursor

FGMouseCursor::Cursor DesktopGroup::_last_cursor {FGMouseCursor::CURSOR_NONE}
protected

Definition at line 149 of file gui_mgr.cxx.

◆ _last_drag

sc::WindowWeakPtr DesktopGroup::_last_drag
protected

Definition at line 142 of file gui_mgr.cxx.

◆ _last_key_down_no_mod

uint32_t DesktopGroup::_last_key_down_no_mod {~0u}
protected

Definition at line 156 of file gui_mgr.cxx.

◆ _last_mouse_over

sc::WindowWeakPtr DesktopGroup::_last_mouse_over
protected

Definition at line 143 of file gui_mgr.cxx.

◆ _last_mouse_pos

osg::Vec2f DesktopGroup::_last_mouse_pos
protected

Definition at line 153 of file gui_mgr.cxx.

◆ _last_push

sc::WindowWeakPtr DesktopGroup::_last_push
protected

Definition at line 141 of file gui_mgr.cxx.

◆ _last_scroll_time

double DesktopGroup::_last_scroll_time {0}
protected

Definition at line 154 of file gui_mgr.cxx.

◆ _pointer_grab_window

sc::WindowWeakPtr DesktopGroup::_pointer_grab_window
protected

Definition at line 146 of file gui_mgr.cxx.

◆ _resize

uint8_t DesktopGroup::_resize {sc::Window::NONE}
protected

Definition at line 148 of file gui_mgr.cxx.

◆ _resize_window

sc::WindowWeakPtr DesktopGroup::_resize_window
protected

Definition at line 144 of file gui_mgr.cxx.

◆ _width

simgear::PropertyObject<int> DesktopGroup::_width
protected

Definition at line 138 of file gui_mgr.cxx.


The documentation for this class was generated from the following file: