openscenegraph
|
Public Types | |
enum | MouseCursor { InheritCursor, NoCursor, RightArrowCursor, LeftArrowCursor, InfoCursor, DestroyCursor, HelpCursor, CycleCursor, SprayCursor, WaitCursor, TextCursor, CrosshairCursor, HandCursor, UpDownCursor, LeftRightCursor, TopSideCursor, BottomSideCursor, LeftSideCursor, RightSideCursor, TopLeftCorner, TopRightCorner, BottomRightCorner, BottomLeftCorner } |
typedef std::list < osgViewer::View * > | Views |
![]() | |
typedef std::vector < ScreenSettings > | ScreenSettingsList |
typedef std::vector < GraphicsContext * > | GraphicsContexts |
typedef std::list< ref_ptr < Operation > > | GraphicsOperationQueue |
typedef std::list< osg::Camera * > | Cameras |
![]() | |
enum | DataVariance { DYNAMIC, STATIC, UNSPECIFIED } |
Protected Attributes | |
osg::ref_ptr< osgGA::EventQueue > | _eventQueue |
![]() | |
Cameras | _cameras |
ref_ptr< Traits > | _traits |
ref_ptr< State > | _state |
Vec4 | _clearColor |
GLbitfield | _clearMask |
OpenThreads::Thread * | _threadOfLastMakeCurrent |
OpenThreads::Mutex | _operationsMutex |
osg::ref_ptr< osg::RefBlock > | _operationsBlock |
GraphicsOperationQueue | _operations |
osg::ref_ptr< Operation > | _currentOperation |
ref_ptr< GraphicsThread > | _graphicsThread |
ref_ptr< ResizedCallback > | _resizedCallback |
ref_ptr< SwapCallback > | _swapCallback |
Timer_t | _lastClearTick |
GLuint | _defaultFboId |
![]() | |
std::string | _name |
DataVariance | _dataVariance |
osg::UserDataContainer * | _userDataContainer |
![]() | |
OpenThreads::AtomicPtr | _observerSet |
OpenThreads::Atomic | _refCount |
Base class for providing Windowing API agnostic access to creating and managing graphics window and events. Note, the GraphicsWindow is subclassed from osg::GraphicsContext, and to provide an implemention you'll need to implement its range of pure virtual functions, you'll find these all have naming convention methodNameImplemention(..). GraphicsWindow adds the event queue on top of the GraphicsContext, thereby adding a mechanism for adapting Windowing events as well as basics graphics context work, you should wire up custom GraphicsWindowImplementation to push their events through into the EventQueue.
typedef std::list<osgViewer::View*> osgViewer::GraphicsWindow::Views |
Mouse cursor types, the same ones already present with ancient glut ...
|
inline |
References osgGA::EventQueue::setGraphicsContext().
|
inlinevirtual |
Pure virtual, Bind the graphics context to associated texture implementation. Pure virtual - must be implemented by concrete implementations of GraphicsContext.
Implements osg::GraphicsContext.
References osg::NOTICE, and osg::notify().
|
inlinevirtual |
Reimplemented in osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
|
inlinevirtual |
return the name of the object's class type. Must be defined by derived classes.
Reimplemented from osg::GraphicsContext.
Reimplemented in osgViewer::GraphicsWindowEmbedded, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
|
inlinevirtual |
Close the graphics context implementation. Pure virtual - must be implemented by concrete implementations of GraphicsContext.
Implements osg::GraphicsContext.
Reimplemented in osgViewer::GraphicsWindowEmbedded, osgQt::GraphicsWindowQt, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
References osg::NOTICE, and osg::notify().
|
inline |
|
inline |
|
inline |
|
inline |
void osgViewer::GraphicsWindow::getViews | ( | Views & | views | ) |
Returns the list of views (osgViewer::View) attached to this GraphicsWindow. Internally, the method walks through all the cameras and collects all the views attached to the cameras.
|
inlinevirtual |
Set Window decoration.
Reimplemented in osgQt::GraphicsWindowQt.
|
inlinevirtual |
Return the name of the window
Reimplemented in osgQt::GraphicsWindowQt.
|
inlinevirtual |
Get the window's position and size.
Reimplemented in osgQt::GraphicsWindowQt.
|
inlinevirtual |
Get focus.
Reimplemented in osgViewer::GraphicsWindowEmbedded, osgQt::GraphicsWindowQt, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
References osg::NOTICE, and osg::notify().
|
inlinevirtual |
Get focus on if the pointer is in this window.
Reimplemented in osgViewer::GraphicsWindowEmbedded, osgQt::GraphicsWindowQt, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
References osg::NOTICE, and osg::notify().
|
inlinevirtual |
Return true if the graphics context has been realized, and is ready to use, implementation. Pure virtual - must be implemented by concrete implementations of GraphicsContext.
Implements osg::GraphicsContext.
Reimplemented in osgViewer::GraphicsWindowEmbedded, osgQt::GraphicsWindowQt, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
References osg::NOTICE, and osg::notify().
|
inlinevirtual |
Reimplemented in osgViewer::GraphicsWindowEmbedded, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
|
inlinevirtual |
return the name of the object's library. Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name.
Reimplemented from osg::GraphicsContext.
Reimplemented in osgViewer::GraphicsWindowEmbedded, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
|
inlinevirtual |
Make this graphics context current with specified read context implementation. Pure virtual - must be implemented by concrete implementations of GraphicsContext.
References osg::NOTICE, and osg::notify().
|
inlinevirtual |
Make this graphics context current implementation. Pure virtual - must be implemented by concrete implementations of GraphicsContext.
Implements osg::GraphicsContext.
Reimplemented in osgViewer::GraphicsWindowEmbedded, osgQt::GraphicsWindowQt, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
References osg::NOTICE, and osg::notify().
|
inlinevirtual |
Raise the window to the top.
Reimplemented in osgViewer::GraphicsWindowEmbedded, osgQt::GraphicsWindowQt, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
References osg::NOTICE, and osg::notify().
|
inlinevirtual |
Realize the GraphicsContext implementation, Pure virtual - must be implemented by concrete implementations of GraphicsContext.
Implements osg::GraphicsContext.
Reimplemented in osgViewer::GraphicsWindowEmbedded, osgQt::GraphicsWindowQt, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
References osg::NOTICE, and osg::notify().
|
inlinevirtual |
Release the graphics context.
Implements osg::GraphicsContext.
Reimplemented in osgViewer::GraphicsWindowEmbedded, osgQt::GraphicsWindowQt, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
References osg::NOTICE, and osg::notify().
|
inlinevirtual |
requestContinousUpdate(bool) is for en/disabling a throw or idle callback to be requested by a GUIEventHandler (typically a MatrixManipulator, though other GUIEventHandler's may also provide functionality). GUI toolkits can respond to this immediately by registering an idle/timed callback, or can delay setting the callback and update at their own leisure.
Implements osgGA::GUIActionAdapter.
|
virtual |
requestRedraw() requests a single redraw.
Implements osgGA::GUIActionAdapter.
|
inlinevirtual |
requestWarpPointer(int,int) is requesting a repositioning of the mouse pointer to a specified x,y location on the window. This is used by some camera manipulators to initialise the mouse pointer when mouse position relative to a controls neutral mouse position is required, i.e when mimicking a aircrafts joystick.
Implements osgGA::GUIActionAdapter.
Reimplemented in osgQt::GraphicsWindowQt, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
|
inlinevirtual |
Set mouse cursor to a specific shape.
Reimplemented in osgViewer::GraphicsWindowX11, osgQt::GraphicsWindowQt, and osgViewer::GraphicsWindowWin32.
References osg::NOTICE, and osg::notify().
|
inline |
|
inlinevirtual |
Set swap group.
Reimplemented in osgViewer::GraphicsWindowWin32.
References osg::NOTICE, and osg::notify().
|
inlinevirtual |
Create a new mouse cursor from the usual bitmap data. Set sync-to-vblank.
Reimplemented in osgViewer::GraphicsWindowWin32.
References osg::NOTICE, and osg::notify().
|
inline |
Set Window decoration.
|
inlinevirtual |
implementation of setWindowDecoration, should be implemented by derived classes
Reimplemented in osgQt::GraphicsWindowQt, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
References osg::NOTICE, and osg::notify().
|
inlinevirtual |
Set the name of the window
Reimplemented in osgViewer::GraphicsWindowX11, osgQt::GraphicsWindowQt, and osgViewer::GraphicsWindowWin32.
References osg::NOTICE, and osg::notify().
|
inline |
Set the window's position and size.
|
inlinevirtual |
implementation of setWindowRectangle, should be implemented by derived classes
Reimplemented in osgViewer::GraphicsWindowX11, osgQt::GraphicsWindowQt, and osgViewer::GraphicsWindowWin32.
References osg::NOTICE, and osg::notify().
|
inlinevirtual |
Swap the front and back buffers implementation. Pure virtual - must be implemented by concrete implementations of GraphicsContext.
Implements osg::GraphicsContext.
Reimplemented in osgViewer::GraphicsWindowEmbedded, osgQt::GraphicsWindowQt, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
References osg::NOTICE, and osg::notify().
|
inlinevirtual |
Switch on/off the cursor.
Reimplemented in osgQt::GraphicsWindowQt, and osgViewer::GraphicsWindowWin32.
|
inlinevirtual |
Return whether a valid and usable GraphicsContext has been created.
Implements osg::GraphicsContext.
Reimplemented in osgViewer::GraphicsWindowEmbedded, osgQt::GraphicsWindowQt, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowWin32.
References osg::NOTICE, and osg::notify().
|
protected |