16 #ifndef OSGVIEWER_PIXELBUFFERCOCOA
17 #define OSGVIEWER_PIXELBUFFERCOCOA 1
21 #include <osg/GraphicsContext>
22 #include <osgViewer/Export>
23 #include <osgViewer/api/Cocoa/GraphicsHandleCocoa>
31 struct Implementation;
34 osg::GraphicsContext(),
48 getState()->setGraphicsContext(
this);
50 if (_traits.valid() && _traits->sharedContext.valid())
52 getState()->setContextID( _traits->sharedContext->getState()->getContextID() );
53 incrementContextIDUsageCount( getState()->getContextID() );
63 virtual bool isSameKindAs(
const Object*
object)
const {
return dynamic_cast<const PixelBufferCocoa*
>(object)!=0; }
64 virtual const char* libraryName()
const {
return "osgViewer"; }
65 virtual const char* className()
const {
return "PixelBufferCarbon"; }
67 virtual bool valid()
const {
return _valid; }
70 virtual bool realizeImplementation();
73 virtual bool isRealizedImplementation()
const {
return _realized; }
76 virtual void closeImplementation();
79 virtual bool makeCurrentImplementation();
85 virtual bool releaseContextImplementation();
88 virtual void bindPBufferToTextureImplementation( GLenum buffer );
91 virtual void swapBuffersImplementation();
93 NSOpenGLContext* getContext() {
return _context; }
108 NSOpenGLContext* _context;
static unsigned int createNewContextID()