Skip to content

Instantly share code, notes, and snippets.

@jrabbit
Created August 11, 2010 23:44
Show Gist options
  • Select an option

  • Save jrabbit/520028 to your computer and use it in GitHub Desktop.

Select an option

Save jrabbit/520028 to your computer and use it in GitHub Desktop.
<?xml version="1.0"?>
<typesystem package="PySide.QtOpenGL">
<load-typesystem name="typesystem_gui.xml" generate="no" />
<rejection class="QGLColormap::QGLColormapData"/>
<rejection class="QGLWidget" function-name="setMouseTracking"/>
<rejection class="QGLContext" field-name="currentCtx"/>
<enum-type name="QGL::FormatOption" flags="QGL::FormatOptions" force-integer="yes"/>
<enum-type name="QGLContext::BindOption" flags="QGLContext::BindOptions"/>
<enum-type name="QGLFormat::OpenGLVersionFlag" flags="QGLFormat::OpenGLVersionFlags"/>
<enum-type name="QGLFramebufferObject::Attachment"/>
<enum-type name="QGLShader::ShaderTypeBit" flags="QGLShader::ShaderType"/>
<namespace-type name="QGL">
<extra-includes>
<include file-name="qgl.h" location="global"/>
</extra-includes>
</namespace-type>
<value-type name="QGLColormap">
<modify-function signature="setEntries(int,const unsigned int*,int)">
<access modifier="private"/>
</modify-function>
</value-type>
<value-type name="QGLFormat" />
<object-type name="QGLContext">
<modify-function signature="chooseContext(const QGLContext*)">
<modify-argument index="1" invalidate-after-use="yes"/>
</modify-function>
<modify-function signature="create(const QGLContext*)">
<modify-argument index="1" invalidate-after-use="yes"/>
</modify-function>
<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"/>
<modify-function signature="tryVisual(const QGLFormat&amp;, int)" remove="all"/>
<modify-function signature="chooseVisual()" 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="QGLWidget(QGLContext*, QWidget*, const QGLWidget*, QFlags&lt;Qt::WindowType&gt;)">
<modify-argument index="1">
<parent index="this" action="add"/>
</modify-argument>
<modify-argument index="this">
<parent index="2" action="add"/>
</modify-argument>
</modify-function>
<!--- Obsolete -->
<modify-function signature="setContext(QGLContext*,const QGLContext*,bool)" remove="all" />
<modify-function signature="fontDisplayListBase(QFont, int)" remove="all"/>
<modify-function signature="setFormat(QGLFormat)" remove="all"/>
</object-type>
<value-type name="QGLFramebufferObjectFormat"/>
<object-type name="QGLShader"/>
<object-type name="QGLShaderProgram">
<!-- use QMatrixZxY overloads -->
<modify-function signature="setUniformValue(int, Array)" remove="all" />
<modify-function signature="setUniformValue(const char*, Array)" remove="all" />
<modify-function signature="setAttributeValue(int,const float*,int,int)" remove="all" />
<modify-function signature="setAttributeValue(const char*,const float*,int,int)" remove="all" />
<modify-function signature="setAttributeArray(int, uint, const void*, int, int)" remove="all" since="4.7" />
<modify-function signature="setAttributeArray(const char*, uint, const void*, int, int)" remove="all" since="4.7" />
</object-type>
<!-- Qt 4.7 -->
<enum-type name="QGLFormat::OpenGLContextProfile" since="4.7"/>
<enum-type name="QGLBuffer::Access" since="4.7"/>
<enum-type name="QGLBuffer::Type" since="4.7"/>
<enum-type name="QGLBuffer::UsagePattern" since="4.7"/>
<object-type name="QGLBuffer" since="4.7">
<modify-function signature="allocate(const void*, int)">
<modify-argument index="1">
<replace-type modified-type="const QByteArray&amp;"/>
</modify-argument>
<modify-argument index="2">
<replace-default-expression with="-1"/>
</modify-argument>
<inject-code class="target" position="beginning">
int size = %2;
if (size &lt; 0)
size = %1->size();
%CPPSELF.allocate((const void*) %1->data(), size);
</inject-code>
</modify-function>
<modify-function signature="map(QGLBuffer::Access)">
<inject-code class="target" position="beginning">
void *data = %CPPSELF.map(%1);
QByteArray ret;
if (data)
ret.append((const char*)data, %CPPSELF.size());
%PYARG_0 = %CONVERTTOPYTHON[QByteArray](ret);
</inject-code>
</modify-function>
<modify-function signature="read(int, void*, int)">
<modify-argument index="2">
<remove-argument/>
</modify-argument>
<inject-code class="target" position="beginning">
char *data = new char[%3];
bool result = %CPPSELF.read(%1, data, %3);
QByteArray ret;
if (result)
ret.append((const char*)data, %3);
%PYARG_0 = Shiboken::makeTuple(result, ret);
delete[] data;
</inject-code>
</modify-function>
<modify-function signature="write(int, const void*, int)">
<modify-argument index="2">
<replace-type modified-type="const QByteArray&amp;"/>
</modify-argument>
<modify-argument index="3">
<replace-default-expression with="-1"/>
</modify-argument>
<inject-code class="target" position="beginning">
int size = %3;
if (size &lt; 0)
size = %2->size();
%CPPSELF.write(%1, (const void*) %2->data(), size);
</inject-code>
</modify-function>
</object-type>
</typesystem>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment