GraphicsWindowEx 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #ifndef GRAPHICSWINDOWEX_H
  2. #define GRAPHICSWINDOWEX_H
  3. #include <osgQOpenGL/Export>
  4. #include <osgViewer/GraphicsWindow>
  5. /// Needed for mixing osg rendering with Qt 2D drawing using QPainter...
  6. /// See http://forum.openscenegraph.org/viewtopic.php?t=15627&view=previous
  7. class OSGQOPENGL_EXPORT GraphicsWindowEx : public osgViewer::GraphicsWindow
  8. {
  9. public:
  10. GraphicsWindowEx(osg::GraphicsContext::Traits* traits);
  11. GraphicsWindowEx(int x, int y, int width, int height);
  12. void init();
  13. virtual bool isSameKindAs(const osg::Object* object) const
  14. {
  15. return dynamic_cast<const GraphicsWindowEx*>(object) != 0;
  16. }
  17. virtual const char* libraryName() const
  18. {
  19. return "";
  20. }
  21. virtual const char* className() const
  22. {
  23. return "GraphicsWindowEx";
  24. }
  25. // dummy implementations, assume that graphics context is *always* current and valid.
  26. virtual bool valid() const
  27. {
  28. return true;
  29. }
  30. virtual bool realizeImplementation()
  31. {
  32. return true;
  33. }
  34. virtual bool isRealizedImplementation() const
  35. {
  36. return true;
  37. }
  38. virtual void closeImplementation() {}
  39. virtual bool makeCurrentImplementation()
  40. {
  41. return true;
  42. }
  43. virtual bool releaseContextImplementation()
  44. {
  45. return true;
  46. }
  47. virtual void swapBuffersImplementation() {}
  48. virtual void grabFocus() {}
  49. virtual void grabFocusIfPointerInWindow() {}
  50. virtual void raiseWindow() {}
  51. };
  52. #endif // GRAPHICSWINDOWEX_H