// ***************************************************************************
//
//   Generated automatically by genwrapper.
//   Please DO NOT EDIT this file!
//
// ***************************************************************************

#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>

#include <osg/GraphicsContext>
#include <osg/Object>
#include <osgViewer/api/Win32/PixelBufferWin32>

// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif

BEGIN_OBJECT_REFLECTOR(osgViewer::PixelBufferWin32)
	I_DeclaringFile("osgViewer/api/Win32/PixelBufferWin32");
	I_BaseType(osg::GraphicsContext);
	I_Constructor1(IN, osg::GraphicsContext::Traits *, traits,
	               Properties::NON_EXPLICIT,
	               ____PixelBufferWin32__osg_GraphicsContext_Traits_P1,
	               "",
	               "");
	I_Method1(bool, isSameKindAs, IN, const osg::Object *, object,
	          Properties::VIRTUAL,
	          __bool__isSameKindAs__C5_Object_P1,
	          "",
	          "");
	I_Method0(const char *, libraryName,
	          Properties::VIRTUAL,
	          __C5_char_P1__libraryName,
	          "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. ");
	I_Method0(const char *, className,
	          Properties::VIRTUAL,
	          __C5_char_P1__className,
	          "return the name of the object's class type. ",
	          "Must be defined by derived classes. ");
	I_Method0(bool, valid,
	          Properties::VIRTUAL,
	          __bool__valid,
	          "Return whether a valid and usable GraphicsContext has been created. ",
	          "");
	I_Method0(bool, realizeImplementation,
	          Properties::VIRTUAL,
	          __bool__realizeImplementation,
	          "Realize the GraphicsContext. ",
	          "");
	I_Method0(bool, isRealizedImplementation,
	          Properties::VIRTUAL,
	          __bool__isRealizedImplementation,
	          "Return true if the graphics context has been realized and is ready to use. ",
	          "");
	I_Method0(void, closeImplementation,
	          Properties::VIRTUAL,
	          __void__closeImplementation,
	          "Close the graphics context. ",
	          "");
	I_Method0(bool, makeCurrentImplementation,
	          Properties::VIRTUAL,
	          __bool__makeCurrentImplementation,
	          "Make this graphics context current. ",
	          "");
	I_Method1(bool, makeContextCurrentImplementation, IN, osg::GraphicsContext *, x,
	          Properties::VIRTUAL,
	          __bool__makeContextCurrentImplementation__GraphicsContext_P1,
	          "",
	          "");
	I_Method0(bool, releaseContextImplementation,
	          Properties::VIRTUAL,
	          __bool__releaseContextImplementation,
	          "Release the graphics context. ",
	          "");
	I_Method0(void, swapBuffersImplementation,
	          Properties::VIRTUAL,
	          __void__swapBuffersImplementation,
	          "Swap the front and back buffers. ",
	          "");
	I_Method0(HWND, getHWND,
	          Properties::NON_VIRTUAL,
	          __HWND__getHWND,
	          "Get native window. ",
	          "");
	I_Method0(HDC, getHDC,
	          Properties::NON_VIRTUAL,
	          __HDC__getHDC,
	          "",
	          "");
	I_Method0(HGLRC, getWGLContext,
	          Properties::NON_VIRTUAL,
	          __HGLRC__getWGLContext,
	          "Get native OpenGL graphics context. ",
	          "");
	I_Method1(void, bindPBufferToTextureImplementation, IN, GLenum, x,
	          Properties::VIRTUAL,
	          __void__bindPBufferToTextureImplementation__GLenum,
	          "Pure virtual, Bind the graphics context to associated texture implementation. ",
	          "Pure virtual - must be implemented by concrete implementations of GraphicsContext. ");
	I_ProtectedMethod0(void, init,
	                   Properties::NON_VIRTUAL,
	                   Properties::NON_CONST,
	                   __void__init,
	                   "",
	                   "");
	I_SimpleProperty(HDC, HDC, 
	                 __HDC__getHDC, 
	                 0);
	I_SimpleProperty(HWND, HWND, 
	                 __HWND__getHWND, 
	                 0);
	I_SimpleProperty(HGLRC, WGLContext, 
	                 __HGLRC__getWGLContext, 
	                 0);
END_REFLECTOR

