blob: 566ebe6ee1cb3a97632fa12a6ad698409405edbd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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>
|