diff options
Diffstat (limited to 'sources/pyside6/PySide6/templates/opengl_common.xml')
-rw-r--r-- | sources/pyside6/PySide6/templates/opengl_common.xml | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/sources/pyside6/PySide6/templates/opengl_common.xml b/sources/pyside6/PySide6/templates/opengl_common.xml new file mode 100644 index 000000000..566ebe6ee --- /dev/null +++ b/sources/pyside6/PySide6/templates/opengl_common.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +// Copyright (C) 2018 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +--> +<typesystem> + <template name="callArrayFunction"> + Py_ssize_t _size = PySequence_Size(%PYARG_2); + if (_size) { + $ATTR_TYPE *_list = new $ATTR_TYPE[_size]; + if (_size) { + Shiboken::AutoDecRef fast(PySequence_Fast(%PYARG_2, + "Failed to parse sequence with type %VECTOR_TYPE.")); + for(Py_ssize_t i=0; i < _size; i++) { + PyObject* pv = PySequence_Fast_GET_ITEM(fast.object(), i); + _list[i] = %CONVERTTOCPP[$ATTR_TYPE](pv); + } + } + %CPPSELF.%FUNCTION_NAME(%1, _list, $ARG0); + delete[] _list; + } else { + %CPPSELF.%FUNCTION_NAME(%1, reinterpret_cast<$ATTR_TYPE*>(nullptr), $ARG1); + } + </template> + <template name="glGetString_return_QString"> + const GLubyte *us = %CPPSELF.%FUNCTION_NAME(%ARGUMENT_NAMES); + const QString s = QString::fromLocal8Bit(reinterpret_cast<const char *>(us)); + %PYARG_0 = %CONVERTTOPYTHON[QString](s); + </template> +</typesystem> |