openscenegraph
|
#include <GraphicsWindow>
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 } |
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::EventQueue * | getEventQueue () |
const osgGA::EventQueue * | getEventQueue () 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) |
![]() | |
void | add (Operation *operation) |
void | remove (Operation *operation) |
void | remove (const std::string &name) |
void | removeAllOperations () |
virtual void | runOperations () |
GraphicsOperationQueue & | getOperationsQueue () |
OpenThreads::Mutex * | getOperationsMutex () |
osg::RefBlock * | getOperationsBlock () |
Operation * | getCurrentOperation () |
const Traits * | getTraits () const |
void | setState (State *state) |
State * | getState () |
const State * | getState () const |
void | setClearColor (const Vec4 &color) |
const Vec4 & | getClearColor () 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) |
GraphicsThread * | getGraphicsThread () |
const GraphicsThread * | getGraphicsThread () const |
virtual bool | makeContextCurrentImplementation (GraphicsContext *readContext)=0 |
void | setSwapCallback (SwapCallback *rc) |
SwapCallback * | getSwapCallback () |
const SwapCallback * | getSwapCallback () const |
void | swapBuffersCallbackOrImplementation () |
void | resized (int x, int y, int width, int height) |
void | setResizedCallback (ResizedCallback *rc) |
ResizedCallback * | getResizedCallback () |
const ResizedCallback * | getResizedCallback () const |
virtual void | resizedImplementation (int x, int y, int width, int height) |
Cameras & | getCameras () |
const Cameras & | getCameras () const |
void | setDefaultFboId (GLuint i) |
GLuint | getDefaultFboId () const |
virtual bool | isSameKindAs (const Object *object) const |
![]() | |
Object () | |
Object (bool threadSafeRefUnref) | |
Object (const Object &, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
std::string | getCompoundClassName () const |
virtual Node * | asNode () |
virtual const Node * | asNode () const |
virtual NodeVisitor * | asNodeVisitor () |
virtual const NodeVisitor * | asNodeVisitor () const |
virtual StateSet * | asStateSet () |
virtual const StateSet * | asStateSet () const |
virtual StateAttribute * | asStateAttribute () |
virtual const StateAttribute * | asStateAttribute () const |
virtual Uniform * | asUniform () |
virtual const Uniform * | asUniform () const |
virtual Camera * | asCamera () |
virtual const Camera * | asCamera () const |
virtual Drawable * | asDrawable () |
virtual const Drawable * | asDrawable () const |
virtual Callback * | asCallback () |
virtual const Callback * | asCallback () const |
virtual CallbackObject * | asCallbackObject () |
virtual const CallbackObject * | asCallbackObject () const |
virtual UserDataContainer * | asUserDataContainer () |
virtual const UserDataContainer * | asUserDataContainer () const |
virtual ValueObject * | asValueObject () |
virtual const ValueObject * | asValueObject () const |
virtual Image * | asImage () |
virtual const Image * | asImage () 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::UserDataContainer * | getUserDataContainer () |
const osg::UserDataContainer * | getUserDataContainer () const |
osg::UserDataContainer * | getOrCreateUserDataContainer () |
virtual void | setUserData (Referenced *obj) |
template<class T > | |
void | setUserData (const ref_ptr< T > &ud) |
virtual Referenced * | getUserData () |
virtual const Referenced * | getUserData () 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 |
![]() | |
Referenced () | |
Referenced (bool threadSafeRefUnref) | |
Referenced (const Referenced &) | |
Referenced & | operator= (const Referenced &) |
bool | getThreadSafeRefUnref () const |
OpenThreads::Mutex * | getRefMutex () const |
int | ref () const |
int | unref () const |
int | unref_nodelete () const |
int | referenceCount () const |
ObserverSet * | getObserverSet () const |
ObserverSet * | getOrCreateObserverSet () const |
void | addObserver (Observer *observer) const |
void | removeObserver (Observer *observer) const |
![]() | |
virtual | ~GUIActionAdapter () |
virtual osg::View * | asView () |
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 |
![]() | |
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 |
![]() | |
std::string | _name |
DataVariance | _dataVariance |
osg::UserDataContainer * | _userDataContainer |
![]() | |
OpenThreads::AtomicPtr | _observerSet |
OpenThreads::Atomic | _refCount |
Additional Inherited Members | |
![]() | |
static osg::ref_ptr< WindowingSystemInterfaces > & | getWindowingSystemInterfaces () |
static WindowingSystemInterface * | getWindowingSystemInterface (const std::string &name="") |
static GraphicsContext * | createGraphicsContext (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 GraphicsContext * | getOrCreateCompileContext (unsigned int contextID) |
static GraphicsContext * | getCompileContext (unsigned int contextID) |
![]() | |
static OpenThreads::Mutex * | getGlobalReferencedMutex () |
static void | setDeleteHandler (DeleteHandler *handler) |
static DeleteHandler * | getDeleteHandler () |
![]() | |
GraphicsContext () | |
GraphicsContext (const GraphicsContext &, const osg::CopyOp &) | |
virtual | ~GraphicsContext () |
virtual Object * | cloneType () const |
virtual Object * | clone (const CopyOp &) const |
void | addCamera (osg::Camera *camera) |
void | removeCamera (osg::Camera *camera) |
![]() | |
virtual | ~Object () |
![]() | |
virtual | ~Referenced () |
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const |
void | deleteUsingDeleteHandler () const |
![]() | |
static void | registerGraphicsContext (GraphicsContext *gc) |
static void | unregisterGraphicsContext (GraphicsContext *gc) |
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.
typedef std::list<osgViewer::View*> osgViewer::GraphicsWindow::Views |
Mouse cursor types, the same ones already present with ancient glut ...
|
inline |
|
inlinevirtual |
Pure virtual, Bind the graphics context to associated texture implementation. Pure virtual - must be implemented by concrete implementations of GraphicsContext.
Implements osg::GraphicsContext.
|
inlinevirtual |
Check events, return true if events have been received.
Reimplemented in osgViewer::GraphicsWindowWin32, and osgViewer::GraphicsWindowX11.
|
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.
|
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.
|
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.
|
inlinevirtual |
Return the name of the window
|
inlinevirtual |
Get the window's position and size.
|
inlinevirtual |
Get focus.
Reimplemented in osgViewer::GraphicsWindowWin32, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowEmbedded.
|
inlinevirtual |
Get focus on if the pointer is in this window.
Reimplemented in osgViewer::GraphicsWindowWin32, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowEmbedded.
|
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.
|
inlinevirtual |
Reimplemented in osgViewer::GraphicsWindowWin32, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowEmbedded.
|
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.
|
inlinevirtual |
Make this graphics context current with specified read context implementation. Pure virtual - must be implemented by concrete implementations of GraphicsContext.
|
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.
|
inlinevirtual |
Raise the window to the top.
Reimplemented in osgViewer::GraphicsWindowWin32, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowEmbedded.
|
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.
|
inlinevirtual |
Release the graphics context.
Implements osg::GraphicsContext.
Reimplemented in osgViewer::GraphicsWindowWin32, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowEmbedded.
|
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.
|
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 an aircraft joystick.
Implements osgGA::GUIActionAdapter.
Reimplemented in osgViewer::GraphicsWindowWin32, and osgViewer::GraphicsWindowX11.
|
inlinevirtual |
Set mouse cursor to a specific shape.
Reimplemented in osgViewer::GraphicsWindowWin32, and osgViewer::GraphicsWindowX11.
|
inline |
|
inlinevirtual |
Set swap group.
Reimplemented in osgViewer::GraphicsWindowWin32.
|
inlinevirtual |
Create a new mouse cursor from the usual bitmap data. Set sync-to-vblank.
Reimplemented in osgViewer::GraphicsWindowWin32.
|
inline |
Set Window decoration.
|
inlinevirtual |
implementation of setWindowDecoration, should be implemented by derived classes
Reimplemented in osgViewer::GraphicsWindowWin32, and osgViewer::GraphicsWindowX11.
|
inlinevirtual |
Set the name of the window
Reimplemented in osgViewer::GraphicsWindowWin32, and osgViewer::GraphicsWindowX11.
|
inline |
Set the window's position and size.
|
inlinevirtual |
implementation of setWindowRectangle, should be implemented by derived classes
Reimplemented in osgViewer::GraphicsWindowWin32, and osgViewer::GraphicsWindowX11.
|
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.
|
inlinevirtual |
Switch on/off the cursor.
Reimplemented in osgViewer::GraphicsWindowWin32.
|
inlinevirtual |
Return whether a valid and usable GraphicsContext has been created.
Implements osg::GraphicsContext.
Reimplemented in osgViewer::GraphicsWindowWin32, osgViewer::GraphicsWindowX11, and osgViewer::GraphicsWindowEmbedded.
|
protected |