aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sources/pyside2/PySide2/QtGui/typesystem_gui_common.xml20
-rw-r--r--sources/pyside2/PySide2/glue/qtgui.cpp10
2 files changed, 30 insertions, 0 deletions
diff --git a/sources/pyside2/PySide2/QtGui/typesystem_gui_common.xml b/sources/pyside2/PySide2/QtGui/typesystem_gui_common.xml
index cf01b234a..cadfc33fa 100644
--- a/sources/pyside2/PySide2/QtGui/typesystem_gui_common.xml
+++ b/sources/pyside2/PySide2/QtGui/typesystem_gui_common.xml
@@ -2905,6 +2905,26 @@
<modify-function signature="setUniformValueArray(const char*,const unsigned int*,int)">
<modify-argument index="2"><array/></modify-argument>
</modify-function>
+ <!-- Add explicit signatures for the setUniformValue functions -->
+ <modify-function signature="setUniformValue(const char*, GLfloat)" remove="all"/>
+ <modify-function signature="setUniformValue(const char*, GLint)" remove="all"/>
+ <modify-function signature="setUniformValue(const char*, GLuint)" remove="all"/>
+ <modify-function signature="setUniformValue(int, GLfloat)" remove="all"/>
+ <modify-function signature="setUniformValue(int, GLint)" remove="all"/>
+ <modify-function signature="setUniformValue(int, GLuint)" remove="all"/>
+ <!-- No need for a signature for GLuint, since Qt (internally) calls the same function: glUniform1i -->
+ <add-function signature="setUniformValue1f(const char*, float)" return-type="void">
+ <inject-code file="../glue/qtgui.cpp" snippet="qopenglshaderprogram_setuniformvalue_float"/>
+ </add-function>
+ <add-function signature="setUniformValue1i(const char*, int)" return-type="void">
+ <inject-code file="../glue/qtgui.cpp" snippet="qopenglshaderprogram_setuniformvalue_int"/>
+ </add-function>
+ <add-function signature="setUniformValue1f(int, float)" return-type="void">
+ <inject-code file="../glue/qtgui.cpp" snippet="qopenglshaderprogram_setuniformvalue_float"/>
+ </add-function>
+ <add-function signature="setUniformValue1i(int, int)" return-type="void">
+ <inject-code file="../glue/qtgui.cpp" snippet="qopenglshaderprogram_setuniformvalue_int"/>
+ </add-function>
</object-type>
<object-type name="QOpenGLTexture" since="5.2">
<enum-type name="BindingTarget"/>
diff --git a/sources/pyside2/PySide2/glue/qtgui.cpp b/sources/pyside2/PySide2/glue/qtgui.cpp
index 4ae3eef75..aef9e4b59 100644
--- a/sources/pyside2/PySide2/glue/qtgui.cpp
+++ b/sources/pyside2/PySide2/glue/qtgui.cpp
@@ -115,6 +115,16 @@ if (doc) {
}
// @snippet qtextblock-userdata
+// @snippet qopenglshaderprogram_setuniformvalue_float
+float value = %2;
+%CPPSELF.setUniformValue(%1, value);
+// @snippet qopenglshaderprogram_setuniformvalue_float
+
+// @snippet qopenglshaderprogram_setuniformvalue_int
+int value = %2;
+%CPPSELF.setUniformValue(%1, value);
+// @snippet qopenglshaderprogram_setuniformvalue_int
+
// @snippet qpolygon-reduce
PyObject *points = PyList_New(%CPPSELF.count());
for (int i = 0, i_max = %CPPSELF.count(); i < i_max; ++i){