openscenegraph
Public Types | Public Member Functions | Protected Attributes | List of all members
osgViewer::GraphicsWindow Class Reference

#include <GraphicsWindow>

Inheritance diagram for osgViewer::GraphicsWindow:
osg::GraphicsContext osgGA::GUIActionAdapter osg::Object osg::Referenced osgViewer::GraphicsWindowEmbedded osgViewer::GraphicsWindowWin32 osgViewer::GraphicsWindowX11

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
 
- Public Types inherited from osg::GraphicsContext
typedef std::vector< ScreenSettingsScreenSettingsList
 
typedef std::vector< GraphicsContext * > GraphicsContexts
 
typedef std::list< ref_ptr< Operation > > GraphicsOperationQueue
 
typedef std::list< osg::Camera * > Cameras
 
- Public Types inherited from osg::Object
enum  DataVariance { DYNAMIC , STATIC , UNSPECIFIED }
 

Public Member Functions

 GraphicsWindow ()
 
virtual bool isSameKindAs (const Object *object) const
 
virtual const char * libraryName () const
 
virtual const char * className () const
 
void setEventQueue (osgGA::EventQueue *eventQueue)
 
osgGA::EventQueuegetEventQueue ()
 
const osgGA::EventQueuegetEventQueue () const
 
virtual bool checkEvents ()
 
void setWindowRectangle (int x, int y, int width, int height)
 
virtual bool setWindowRectangleImplementation (int, int, int, int)
 
virtual void getWindowRectangle (int &x, int &y, int &width, int &height)
 
void setWindowDecoration (bool flag)
 
virtual bool setWindowDecorationImplementation (bool)
 
virtual bool getWindowDecoration () const
 
virtual void grabFocus ()
 
virtual void grabFocusIfPointerInWindow ()
 
virtual void raiseWindow ()
 
virtual void setWindowName (const std::string &)
 
virtual std::string getWindowName ()
 
virtual void useCursor (bool cursorOn)
 
virtual void setCursor (MouseCursor)
 
virtual void setSyncToVBlank (bool on)
 
bool getSyncToVBlank () const
 
virtual void setSwapGroup (bool on, GLuint group, GLuint barrier)
 
void getSwapGroup (bool &on, GLuint &group, GLuint &barrier) const
 
virtual bool valid () const
 
virtual bool realizeImplementation ()
 
virtual bool isRealizedImplementation () const
 
virtual void closeImplementation ()
 
virtual bool makeCurrentImplementation ()
 
virtual bool makeContextCurrentImplementation (GraphicsContext *)
 
virtual bool releaseContextImplementation ()
 
virtual void bindPBufferToTextureImplementation (GLenum)
 
virtual void swapBuffersImplementation ()
 
void getViews (Views &views)
 
virtual void requestRedraw ()
 
virtual void requestContinuousUpdate (bool=true)
 
virtual void requestWarpPointer (float, float)
 
- Public Member Functions inherited from osg::GraphicsContext
void add (Operation *operation)
 
void remove (Operation *operation)
 
void remove (const std::string &name)
 
void removeAllOperations ()
 
virtual void runOperations ()
 
GraphicsOperationQueuegetOperationsQueue ()
 
OpenThreads::MutexgetOperationsMutex ()
 
osg::RefBlockgetOperationsBlock ()
 
OperationgetCurrentOperation ()
 
const TraitsgetTraits () const
 
void setState (State *state)
 
StategetState ()
 
const StategetState () const
 
void setClearColor (const Vec4 &color)
 
const Vec4getClearColor () const
 
void setClearMask (GLbitfield mask)
 
GLbitfield getClearMask () const
 
virtual void clear ()
 
double getTimeSinceLastClear () const
 
bool realize ()
 
void close (bool callCloseImplementation=true)
 
void swapBuffers ()
 
bool isRealized () const
 
bool makeCurrent ()
 
bool makeContextCurrent (GraphicsContext *readContext)
 
bool releaseContext ()
 
bool isCurrent () const
 
void bindPBufferToTexture (GLenum buffer)
 
void createGraphicsThread ()
 
void setGraphicsThread (GraphicsThread *gt)
 
GraphicsThreadgetGraphicsThread ()
 
const GraphicsThreadgetGraphicsThread () const
 
virtual bool makeContextCurrentImplementation (GraphicsContext *readContext)=0
 
void setSwapCallback (SwapCallback *rc)
 
SwapCallbackgetSwapCallback ()
 
const SwapCallbackgetSwapCallback () const
 
void swapBuffersCallbackOrImplementation ()
 
void resized (int x, int y, int width, int height)
 
void setResizedCallback (ResizedCallback *rc)
 
ResizedCallbackgetResizedCallback ()
 
const ResizedCallbackgetResizedCallback () const
 
virtual void resizedImplementation (int x, int y, int width, int height)
 
CamerasgetCameras ()
 
const CamerasgetCameras () const
 
void setDefaultFboId (GLuint i)
 
GLuint getDefaultFboId () const
 
virtual bool isSameKindAs (const Object *object) const
 
- Public Member Functions inherited from osg::Object
 Object ()
 
 Object (bool threadSafeRefUnref)
 
 Object (const Object &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
 
std::string getCompoundClassName () const
 
virtual NodeasNode ()
 
virtual const NodeasNode () const
 
virtual NodeVisitorasNodeVisitor ()
 
virtual const NodeVisitorasNodeVisitor () const
 
virtual StateSetasStateSet ()
 
virtual const StateSetasStateSet () const
 
virtual StateAttributeasStateAttribute ()
 
virtual const StateAttributeasStateAttribute () const
 
virtual UniformasUniform ()
 
virtual const UniformasUniform () const
 
virtual CameraasCamera ()
 
virtual const CameraasCamera () const
 
virtual DrawableasDrawable ()
 
virtual const DrawableasDrawable () const
 
virtual CallbackasCallback ()
 
virtual const CallbackasCallback () const
 
virtual CallbackObjectasCallbackObject ()
 
virtual const CallbackObjectasCallbackObject () const
 
virtual UserDataContainerasUserDataContainer ()
 
virtual const UserDataContainerasUserDataContainer () const
 
virtual ValueObjectasValueObject ()
 
virtual const ValueObjectasValueObject () const
 
virtual ImageasImage ()
 
virtual const ImageasImage () const
 
virtual void setThreadSafeRefUnref (bool threadSafe)
 
virtual void setName (const std::string &name)
 
void setName (const char *name)
 
const std::string & getName () const
 
void setDataVariance (DataVariance dv)
 
DataVariance getDataVariance () const
 
virtual void computeDataVariance ()
 
void setUserDataContainer (osg::UserDataContainer *udc)
 
template<class T >
void setUserDataContainer (const ref_ptr< T > &udc)
 
osg::UserDataContainergetUserDataContainer ()
 
const osg::UserDataContainergetUserDataContainer () const
 
osg::UserDataContainergetOrCreateUserDataContainer ()
 
virtual void setUserData (Referenced *obj)
 
template<class T >
void setUserData (const ref_ptr< T > &ud)
 
virtual ReferencedgetUserData ()
 
virtual const ReferencedgetUserData () const
 
template<typename T >
bool getUserValue (const std::string &name, T &value) const
 
template<typename T >
void setUserValue (const std::string &name, const T &value)
 
virtual void resizeGLObjectBuffers (unsigned int)
 
virtual void releaseGLObjects (osg::State *=0) const
 
template<typename T >
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool getUserValue (const std::string &name, T &value) const
 
- Public Member Functions inherited from osg::Referenced
 Referenced ()
 
 Referenced (bool threadSafeRefUnref)
 
 Referenced (const Referenced &)
 
Referencedoperator= (const Referenced &)
 
bool getThreadSafeRefUnref () const
 
OpenThreads::MutexgetRefMutex () const
 
int ref () const
 
int unref () const
 
int unref_nodelete () const
 
int referenceCount () const
 
ObserverSetgetObserverSet () const
 
ObserverSetgetOrCreateObserverSet () const
 
void addObserver (Observer *observer) const
 
void removeObserver (Observer *observer) const
 
- Public Member Functions inherited from osgGA::GUIActionAdapter
virtual ~GUIActionAdapter ()
 
virtual osg::ViewasView ()
 
virtual bool computeIntersections (const osgGA::GUIEventAdapter &, osgUtil::LineSegmentIntersector::Intersections &, osg::Node::NodeMask=0xffffffff)
 
virtual bool computeIntersections (const osgGA::GUIEventAdapter &, const osg::NodePath &, osgUtil::LineSegmentIntersector::Intersections &, osg::Node::NodeMask=0xffffffff)
 

Protected Attributes

osg::ref_ptr< osgGA::EventQueue_eventQueue
 
- Protected Attributes inherited from osg::GraphicsContext
Cameras _cameras
 
ref_ptr< Traits_traits
 
ref_ptr< State_state
 
Vec4 _clearColor
 
GLbitfield _clearMask
 
size_t _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
 
- Protected Attributes inherited from osg::Object
std::string _name
 
DataVariance _dataVariance
 
osg::UserDataContainer_userDataContainer
 
- Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr _observerSet
 
OpenThreads::Atomic _refCount
 

Additional Inherited Members

- Static Public Member Functions inherited from osg::GraphicsContext
static osg::ref_ptr< WindowingSystemInterfaces > & getWindowingSystemInterfaces ()
 
static WindowingSystemInterfacegetWindowingSystemInterface (const std::string &name="")
 
static GraphicsContextcreateGraphicsContext (Traits *traits)
 
static unsigned int createNewContextID ()
 
static unsigned int getMaxContextID ()
 
static void incrementContextIDUsageCount (unsigned int contextID)
 
static void decrementContextIDUsageCount (unsigned int contextID)
 
static GraphicsContexts getAllRegisteredGraphicsContexts ()
 
static GraphicsContexts getRegisteredGraphicsContexts (unsigned int contextID)
 
static void setCompileContext (unsigned int contextID, GraphicsContext *gc)
 
static GraphicsContextgetOrCreateCompileContext (unsigned int contextID)
 
static GraphicsContextgetCompileContext (unsigned int contextID)
 
- Static Public Member Functions inherited from osg::Referenced
static OpenThreads::MutexgetGlobalReferencedMutex ()
 
static void setDeleteHandler (DeleteHandler *handler)
 
static DeleteHandlergetDeleteHandler ()
 
- Protected Member Functions inherited from osg::GraphicsContext
 GraphicsContext ()
 
 GraphicsContext (const GraphicsContext &, const osg::CopyOp &)
 
virtual ~GraphicsContext ()
 
virtual ObjectcloneType () const
 
virtual Objectclone (const CopyOp &) const
 
void addCamera (osg::Camera *camera)
 
void removeCamera (osg::Camera *camera)
 
- Protected Member Functions inherited from osg::Object
virtual ~Object ()
 
- Protected Member Functions inherited from osg::Referenced
virtual ~Referenced ()
 
void signalObserversAndDelete (bool signalDelete, bool doDelete) const
 
void deleteUsingDeleteHandler () const
 
- Static Protected Member Functions inherited from osg::GraphicsContext
static void registerGraphicsContext (GraphicsContext *gc)
 
static void unregisterGraphicsContext (GraphicsContext *gc)
 

Detailed Description

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 implementation you'll need to implement its range of pure virtual functions, you'll find these all have naming convention methodNameImplementation(..). 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.

Member Typedef Documentation

◆ Views

Member Enumeration Documentation

◆ MouseCursor

Mouse cursor types, the same ones already present with ancient glut ...

Enumerator
InheritCursor 
NoCursor 
RightArrowCursor 
LeftArrowCursor 
InfoCursor 
DestroyCursor 
HelpCursor 
CycleCursor 
SprayCursor 
WaitCursor 
TextCursor 
CrosshairCursor 
HandCursor 
UpDownCursor 
LeftRightCursor 
TopSideCursor 
BottomSideCursor 
LeftSideCursor 
RightSideCursor 
TopLeftCorner 
TopRightCorner 
BottomRightCorner 
BottomLeftCorner 

Constructor & Destructor Documentation

◆ GraphicsWindow()

osgViewer::GraphicsWindow::GraphicsWindow ( )
inline

Member Function Documentation

◆ bindPBufferToTextureImplementation()

virtual void osgViewer::GraphicsWindow::bindPBufferToTextureImplementation ( GLenum  )
inlinevirtual

Pure virtual, Bind the graphics context to associated texture implementation. Pure virtual - must be implemented by concrete implementations of GraphicsContext.

Implements osg::GraphicsContext.

◆ checkEvents()

virtual bool osgViewer::GraphicsWindow::checkEvents ( )
inlinevirtual

Check events, return true if events have been received.

Reimplemented in osgViewer::GraphicsWindowWin32, and osgViewer::GraphicsWindowX11.

◆ className()

virtual const char * osgViewer::GraphicsWindow::className ( ) const
inlinevirtual

return the name of the object's class type. Must be defined by derived classes.

Reimplemented from osg::GraphicsContext.

Reimplemented in osgViewer::GraphicsWindowWin32, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowEmbedded.

◆ closeImplementation()

virtual void osgViewer::GraphicsWindow::closeImplementation ( )
inlinevirtual

Close the graphics context implementation. Pure virtual - must be implemented by concrete implementations of GraphicsContext.

Implements osg::GraphicsContext.

Reimplemented in osgViewer::GraphicsWindowWin32, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowEmbedded.

◆ getEventQueue() [1/2]

osgGA::EventQueue * osgViewer::GraphicsWindow::getEventQueue ( )
inline

◆ getEventQueue() [2/2]

const osgGA::EventQueue * osgViewer::GraphicsWindow::getEventQueue ( ) const
inline

◆ getSwapGroup()

void osgViewer::GraphicsWindow::getSwapGroup ( bool &  on,
GLuint &  group,
GLuint &  barrier 
) const
inline

◆ getSyncToVBlank()

bool osgViewer::GraphicsWindow::getSyncToVBlank ( ) const
inline

◆ getViews()

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.

◆ getWindowDecoration()

virtual bool osgViewer::GraphicsWindow::getWindowDecoration ( ) const
inlinevirtual

Set Window decoration.

◆ getWindowName()

virtual std::string osgViewer::GraphicsWindow::getWindowName ( )
inlinevirtual

Return the name of the window

◆ getWindowRectangle()

virtual void osgViewer::GraphicsWindow::getWindowRectangle ( int &  x,
int &  y,
int &  width,
int &  height 
)
inlinevirtual

Get the window's position and size.

◆ grabFocus()

virtual void osgViewer::GraphicsWindow::grabFocus ( )
inlinevirtual

◆ grabFocusIfPointerInWindow()

virtual void osgViewer::GraphicsWindow::grabFocusIfPointerInWindow ( )
inlinevirtual

Get focus on if the pointer is in this window.

Reimplemented in osgViewer::GraphicsWindowWin32, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowEmbedded.

◆ isRealizedImplementation()

virtual bool osgViewer::GraphicsWindow::isRealizedImplementation ( ) const
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::GraphicsWindowWin32, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowEmbedded.

◆ isSameKindAs()

virtual bool osgViewer::GraphicsWindow::isSameKindAs ( const Object object) const
inlinevirtual

◆ libraryName()

virtual const char * osgViewer::GraphicsWindow::libraryName ( ) const
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::GraphicsWindowWin32, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowEmbedded.

◆ makeContextCurrentImplementation()

virtual bool osgViewer::GraphicsWindow::makeContextCurrentImplementation ( GraphicsContext )
inlinevirtual

Make this graphics context current with specified read context implementation. Pure virtual - must be implemented by concrete implementations of GraphicsContext.

◆ makeCurrentImplementation()

virtual bool osgViewer::GraphicsWindow::makeCurrentImplementation ( )
inlinevirtual

Make this graphics context current implementation. Pure virtual - must be implemented by concrete implementations of GraphicsContext.

Implements osg::GraphicsContext.

Reimplemented in osgViewer::GraphicsWindowWin32, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowEmbedded.

◆ raiseWindow()

virtual void osgViewer::GraphicsWindow::raiseWindow ( )
inlinevirtual

◆ realizeImplementation()

virtual bool osgViewer::GraphicsWindow::realizeImplementation ( )
inlinevirtual

Realize the GraphicsContext implementation, Pure virtual - must be implemented by concrete implementations of GraphicsContext.

Implements osg::GraphicsContext.

Reimplemented in osgViewer::GraphicsWindowWin32, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowEmbedded.

◆ releaseContextImplementation()

virtual bool osgViewer::GraphicsWindow::releaseContextImplementation ( )
inlinevirtual

◆ requestContinuousUpdate()

virtual void osgViewer::GraphicsWindow::requestContinuousUpdate ( bool  needed = true)
inlinevirtual

requestContinuousUpdate(bool) is for en/disabling a throw or idle callback to be requested by a GUIEventHandler (typically a CameraManipulator, 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.

◆ requestRedraw()

virtual void osgViewer::GraphicsWindow::requestRedraw ( )
virtual

requestRedraw() requests a single redraw.

Implements osgGA::GUIActionAdapter.

◆ requestWarpPointer()

virtual void osgViewer::GraphicsWindow::requestWarpPointer ( float  x,
float  y 
)
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 an aircraft joystick.

Implements osgGA::GUIActionAdapter.

Reimplemented in osgViewer::GraphicsWindowWin32, and osgViewer::GraphicsWindowX11.

◆ setCursor()

virtual void osgViewer::GraphicsWindow::setCursor ( MouseCursor  )
inlinevirtual

Set mouse cursor to a specific shape.

Reimplemented in osgViewer::GraphicsWindowWin32, and osgViewer::GraphicsWindowX11.

◆ setEventQueue()

void osgViewer::GraphicsWindow::setEventQueue ( osgGA::EventQueue eventQueue)
inline

◆ setSwapGroup()

virtual void osgViewer::GraphicsWindow::setSwapGroup ( bool  on,
GLuint  group,
GLuint  barrier 
)
inlinevirtual

Set swap group.

Reimplemented in osgViewer::GraphicsWindowWin32.

◆ setSyncToVBlank()

virtual void osgViewer::GraphicsWindow::setSyncToVBlank ( bool  on)
inlinevirtual

Create a new mouse cursor from the usual bitmap data. Set sync-to-vblank.

Reimplemented in osgViewer::GraphicsWindowWin32.

◆ setWindowDecoration()

void osgViewer::GraphicsWindow::setWindowDecoration ( bool  flag)
inline

Set Window decoration.

◆ setWindowDecorationImplementation()

virtual bool osgViewer::GraphicsWindow::setWindowDecorationImplementation ( bool  )
inlinevirtual

implementation of setWindowDecoration, should be implemented by derived classes

Reimplemented in osgViewer::GraphicsWindowWin32, and osgViewer::GraphicsWindowX11.

◆ setWindowName()

virtual void osgViewer::GraphicsWindow::setWindowName ( const std::string &  )
inlinevirtual

Set the name of the window

Reimplemented in osgViewer::GraphicsWindowWin32, and osgViewer::GraphicsWindowX11.

◆ setWindowRectangle()

void osgViewer::GraphicsWindow::setWindowRectangle ( int  x,
int  y,
int  width,
int  height 
)
inline

Set the window's position and size.

◆ setWindowRectangleImplementation()

virtual bool osgViewer::GraphicsWindow::setWindowRectangleImplementation ( int  ,
int  ,
int  ,
int   
)
inlinevirtual

implementation of setWindowRectangle, should be implemented by derived classes

Reimplemented in osgViewer::GraphicsWindowWin32, and osgViewer::GraphicsWindowX11.

◆ swapBuffersImplementation()

virtual void osgViewer::GraphicsWindow::swapBuffersImplementation ( )
inlinevirtual

Swap the front and back buffers implementation. Pure virtual - must be implemented by concrete implementations of GraphicsContext.

Implements osg::GraphicsContext.

Reimplemented in osgViewer::GraphicsWindowWin32, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowEmbedded.

◆ useCursor()

virtual void osgViewer::GraphicsWindow::useCursor ( bool  cursorOn)
inlinevirtual

Switch on/off the cursor.

Reimplemented in osgViewer::GraphicsWindowWin32.

◆ valid()

virtual bool osgViewer::GraphicsWindow::valid ( ) const
inlinevirtual

Return whether a valid and usable GraphicsContext has been created.

Implements osg::GraphicsContext.

Reimplemented in osgViewer::GraphicsWindowWin32, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowEmbedded.

Member Data Documentation

◆ _eventQueue

osg::ref_ptr<osgGA::EventQueue> osgViewer::GraphicsWindow::_eventQueue
protected

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