aboutsummaryrefslogtreecommitdiffstats
path: root/PySide/QtGui
diff options
context:
space:
mode:
authorRenato Filho <renato.filho@openbossa.org>2010-02-04 19:59:30 -0300
committerRenato Filho <renato.filho@openbossa.org>2010-02-05 11:26:00 -0300
commitfc5718611845daa2ff51de16db63920c226da067 (patch)
tree1324a18d172894f457953c235b2b86cad9691e0c /PySide/QtGui
parent1f9fab648e31df7f8b8396dd9ace08383e29419f (diff)
QMatrix4x4 inject code.
Reviewed by Luciano Wolf <luciano.wolf@openbossa.org>
Diffstat (limited to 'PySide/QtGui')
-rw-r--r--PySide/QtGui/typesystem_gui_common.xml58
1 files changed, 56 insertions, 2 deletions
diff --git a/PySide/QtGui/typesystem_gui_common.xml b/PySide/QtGui/typesystem_gui_common.xml
index c16a6f5f4..872275a6c 100644
--- a/PySide/QtGui/typesystem_gui_common.xml
+++ b/PySide/QtGui/typesystem_gui_common.xml
@@ -4293,10 +4293,64 @@
<value-type name="QMatrix4x2"/>
<value-type name="QMatrix4x3"/>
<value-type name="QMatrix4x4">
- <modify-function signature="QMatrix4x4(qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal, qreal)" remove="all"/>
+ <modify-function signature="QMatrix4x4(const qreal*,int,int)" remove="all"/>
+ <modify-function signature="copyDataTo(qreal*)const" remove="all"/>
+
+ <modify-function signature="QMatrix4x4(const qreal*)">
+ <modify-argument index="1">
+ <replace-type modified-type="PyTuple" />
+ </modify-argument>
+ <inject-code class="target" position="beginning">
+ if (PyTuple_Size(%PYARG_1) == 16) {
+ qreal values[16];
+ for(int i=0; i &lt; 16; i++) {
+ PyObject *pv = PyTuple_GetItem(%PYARG_1, i);
+ values[i] = PyFloat_AsDouble(pv);
+ }
+
+ %0 = new %TYPE(values[0], values[1], values[2], values[3],
+ values[4], values[5], values[6], values[7],
+ values[8], values[9], values[10], values[11],
+ values[12], values[13], values[14], values[15]);
+ }
+ </inject-code>
+ </modify-function>
+
+ <modify-function signature="data() const">
+ <modify-argument index="return">
+ <replace-type modified-type="PyTupleObject*"/>
+ </modify-argument>
+ <inject-code class="target" position="beginning">
+ const qreal* values = %CPPSELF.constData();
+ %PYARG_0 = PyTuple_New(16);
+ for(int i=0; i &lt; 16; i++) {
+ PyObject *v = PyFloat_FromDouble(values[i]);
+ PyTuple_SET_ITEM(%PYARG_0, i, v);
+ }
+ </inject-code>
+ </modify-function>
+
+ <modify-function signature="copyDataTo(qreal *) const">
+ <modify-argument index="1">
+ <remove-argument/>
+ </modify-argument>
+ <modify-argument index="return">
+ <replace-type modified-type="PyTupleObject*"/>
+ </modify-argument>
+
+ <inject-code class="target" position="beginning">
+ qreal values[16];
+ %CPPSELF.copyDataTo(values);
+ %PYARG_0 = PyTuple_New(16);
+ for(int i=0; i &lt; 16; i++) {
+ PyObject *v = PyFloat_FromDouble(values[i]);
+ PyTuple_SET_ITEM(%PYARG_0, v);
+ }
+ </inject-code>
+ </modify-function>
+
<modify-function signature="operator()(int, int)" remove="all"/>
<modify-function signature="operator()(int, int)const" remove="all"/>
- <modify-function signature="data()const" remove="all"/>
<modify-function signature="data()" remove="all"/>
<modify-function signature="constData()const" remove="all"/>
</value-type>