<?xml version="1.0"?>
<typesystem package="com.trolltech.qt.opengl"><rejection class="QGL"/>

 

  <rejection class="QGLColormap::QGLColormapData"/>
  <rejection class="QGLWidget" function-name="setMouseTracking"/>
  <rejection class="QGLFunctions" function-name="glBufferData"/>  <!-- Qt 5.0/3 differences -->
  <rejection class="QGLFunctions" function-name="glBufferSubData"/>  <!-- Qt 5.0/3 differences -->

  <enum-type name="QGL::FormatOption" flags="QGL::FormatOptions"/>
  <enum-type name="QGLFormat::OpenGLVersionFlag" flags="QGLFormat::OpenGLVersionFlags"/>
  <enum-type name="QGLFramebufferObject::Attachment"/>
  <enum-type name="QGLContext::BindOption" flags="QGLContext::BindOptions"/>
  <enum-type name="QGLShader::ShaderTypeBit" flags="QGLShader::ShaderType"/>

  <enum-type name="QGLBuffer::Access"/>
  <enum-type name="QGLBuffer::Type"/>
  <enum-type name="QGLBuffer::UsagePattern"/>
  <enum-type name="QGLFormat::OpenGLContextProfile"/>
  <enum-type name="QGLFunctions::OpenGLFeature" flags="QGLFunctions::OpenGLFeatures"/>
  
  <namespace-type name="QGL">
     <include file-name="qgl.h" location="global"/>
  </namespace-type>

  <value-type name="QGLColormap">
    <modify-function signature="operator=(QGLColormap)" remove="all"/>

    <modify-function signature="setEntries(int,const unsigned int*,int)" remove="all"/>
  </value-type>

  <value-type name="QGLFormat">
    <modify-function signature="operator=(QGLFormat)" remove="all"/>
  </value-type>

  <value-type name="QGLFramebufferObjectFormat"/>
  <object-type name="QGLFunctions"/>
  <object-type name="QGLBuffer"/>
  <object-type name="QGLShader"/>
  <object-type name="QGLShaderProgram">
    <!-- Should be disambiguated later by fixing the native pointer API -->
    <modify-function signature="setAttributeArray(int, const QVector2D *, int)" rename="setAttributeArray_QVector2D"/>
    <modify-function signature="setAttributeArray(int, const QVector3D *, int)" rename="setAttributeArray_QVector3D"/>
    <modify-function signature="setAttributeArray(int, const QVector4D *, int)" rename="setAttributeArray_QVector4D"/>
    <modify-function signature="setAttributeArray(const char *, const QVector2D *, int)" rename="setAttributeArray_QVector2D"/>
    <modify-function signature="setAttributeArray(const char *, const QVector3D *, int)" rename="setAttributeArray_QVector3D"/>
    <modify-function signature="setAttributeArray(const char *, const QVector4D *, int)" rename="setAttributeArray_QVector4D"/>
    <modify-function signature="setUniformValueArray(int, const GLint *, int)" rename="setUniformValueArray_int"/>
    <modify-function signature="setUniformValueArray(int, const GLuint *, int)" rename="setUniformValueArray_uint"/>
    <modify-function signature="setUniformValueArray(int, const QVector2D *, int)" rename="setUniformValueArray_QVector2D"/>
    <modify-function signature="setUniformValueArray(int, const QVector3D *, int)" rename="setUniformValueArray_QVector3D"/>
    <modify-function signature="setUniformValueArray(int, const QVector4D *, int)" rename="setUniformValueArray_QVector4D"/>
    
    <modify-function signature="setUniformValueArray(const char*, const GLint *, int)" rename="setUniformValueArray_int"/>
    <modify-function signature="setUniformValueArray(const char*, const GLuint *, int)" remove="all"/>
    <modify-function signature="setUniformValueArray(const char*, const QVector2D *, int)" rename="setUniformValueArray_QVector2D"/>
    <modify-function signature="setUniformValueArray(const char*, const QVector3D *, int)" rename="setUniformValueArray_QVector3D"/>
    <modify-function signature="setUniformValueArray(const char*, const QVector4D *, int)" rename="setUniformValueArray_QVector4D"/>
    <modify-function signature="setUniformValue(int, GLuint)" remove="all"/>
    <modify-function signature="setUniformValue(const char*, GLuint)" remove="all"/>
    <modify-function signature="setUniformValue(int, Array)" remove="all"/>
    <modify-function signature="setUniformValue(const char*, Array)" remove="all"/>
  </object-type>
  <object-type name="QGLContext">
    <modify-function signature="getProcAddress(QString)const">
        <remove/>
    </modify-function>
    <modify-field name="currentCtx" read="false" write="false"/>
    <modify-function signature="setDevice(QPaintDevice*)">
        <remove/>
    </modify-function>
    <modify-function signature="generateFontDisplayLists(QFont, int)" remove="all"/>
  </object-type>
  <object-type name="QGLFramebufferObject"/>
  <object-type name="QGLPixelBuffer">
    <extra-includes>
        <include file-name="QImage" location="global"/>
    </extra-includes>
  </object-type>
  <object-type name="QGLWidget">
    <extra-includes>
        <include file-name="QImage" location="global"/>
        <include file-name="QPixmap" location="global"/>
    </extra-includes>
    <modify-function signature="setContext(QGLContext*,const QGLContext*,bool)">
        <remove/> <!--- Obsolete -->
    </modify-function>
    <modify-function signature="fontDisplayListBase(QFont, int)" remove="all"/>
    <modify-function signature="setFormat(QGLFormat)" remove="all"/>
  </object-type>

  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QGLFormat' has equals operators but no qHash() function. Hashcode of objects will consistently be 0."/>
  <suppress-warning text="WARNING(MetaJavaBuilder) :: Class 'QGLFramebufferObjectFormat' has equals operators but no qHash() function. Hashcode of objects will consistently be 0."/>

  <suppress-warning text="WARNING(MetaJavaBuilder) :: skipping * unmatched *type 'QGLColormap::QGLColormapData\*'"/>
  <suppress-warning text="WARNING(MetaJavaBuilder) :: visibility of function '*' modified in class '*'"/>
  <suppress-warning text="WARNING(MetaJavaBuilder) :: hiding of function '*' in class '*'"/>
  <suppress-warning text="WARNING(CppImplGenerator) :: protected function '*' in final class '*'"/>

</typesystem>
