A PyQT GUI application for converting InfoLease report outputs into Excel files. Handles parsing and summarizing. Learns where files are meant to be store and compiles monthly and yearly summaries.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
InfoLeaseExtract/venv/Lib/site-packages/PyQt5/bindings/QtQuick/qsggeometry.sip

407 lines
12 KiB

// qsggeometry.sip generated by MetaSIP
//
// This file is part of the QtQuick Python extension module.
//
// Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
//
// This file is part of PyQt5.
//
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file. Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
//
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license. For more information contact
// info@riverbankcomputing.com.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
class QSGGeometry /Supertype=sip.wrapper/
{
%TypeHeaderCode
#include <qsggeometry.h>
%End
public:
// Convenient primitives and drawing modes.
enum /NoScope/
{
GL_BYTE,
%If (PyQt_Desktop_OpenGL)
GL_DOUBLE,
%End
GL_FLOAT,
GL_INT
};
enum /NoScope/
{
GL_POINTS,
GL_LINES,
GL_LINE_LOOP,
GL_LINE_STRIP,
GL_TRIANGLES,
GL_TRIANGLE_STRIP,
GL_TRIANGLE_FAN
};
struct Attribute
{
%TypeHeaderCode
#include <qsggeometry.h>
%End
int position;
int tupleSize;
int type;
uint isVertexCoordinate;
%If (Qt_5_8_0 -)
QSGGeometry::AttributeType attributeType;
%End
static QSGGeometry::Attribute create(int pos, int tupleSize, int primitiveType, bool isPosition = false) /Factory/;
%If (Qt_5_8_0 -)
static QSGGeometry::Attribute createWithAttributeType(int pos, int tupleSize, int primitiveType, QSGGeometry::AttributeType attributeType) /Factory/;
%End
};
struct AttributeSet /NoDefaultCtors/
{
%TypeHeaderCode
#include <qsggeometry.h>
#include <QVector>
%End
AttributeSet(SIP_PYOBJECT attributes /TypeHint="Iterable[QSGGeometry.Attribute]"/, int stride = 0);
%MethodCode
PyObject *iter = PyObject_GetIter(a0);
if (!iter
#if PY_MAJOR_VERSION < 3
|| PyString_Check(a0)
#endif
|| PyUnicode_Check(a0))
{
Py_XDECREF(iter);
PyErr_SetString(PyExc_TypeError, "iterable object expected");
sipError = sipErrorContinue;
}
else
{
QVector<QSGGeometry::Attribute> attrs;
int stride = 0;
for (Py_ssize_t i = 0; ; ++i)
{
PyErr_Clear();
PyObject *itm = PyIter_Next(iter);
if (!itm)
{
if (PyErr_Occurred())
sipError = sipErrorFail;
break;
}
int state, is_err = 0;
QSGGeometry::Attribute *attr;
attr = reinterpret_cast<QSGGeometry::Attribute *>(
sipForceConvertToType(itm, sipType_QSGGeometry_Attribute, 0,
SIP_NOT_NONE, &state, &is_err));
if (is_err)
{
PyErr_Format(PyExc_TypeError,
"index %zd has type '%s' but 'QSGGeometry.Attribute' is expected",
i, sipPyTypeName(Py_TYPE(itm)));
Py_DECREF(itm);
sipError = sipErrorFail;
break;
}
// Calculate the stride if there no explicit one.
if (a1 <= 0)
{
int size;
switch (attr->type)
{
case GL_BYTE:
size = sizeof (qint8);
break;
#if defined(SIPFeature_PyQt_Desktop_OpenGL)
#if GL_DOUBLE != GL_FLOAT
case GL_DOUBLE:
size = sizeof (double);
break;
#endif
#endif
case GL_FLOAT:
size = sizeof (float);
break;
case GL_INT:
size = sizeof (qint32);
break;
default:
size = 0;
}
if (!size)
{
PyErr_Format(PyExc_TypeError,
"index %zd has an unsupported primitive type",
i);
sipReleaseType(attr, sipType_QSGGeometry_Attribute, state);
Py_DECREF(itm);
sipError = sipErrorFail;
break;
}
stride += attr->tupleSize * size;
}
attrs.append(*attr);
sipReleaseType(attr, sipType_QSGGeometry_Attribute, state);
Py_DECREF(itm);
}
Py_DECREF(iter);
if (sipError == sipErrorNone)
{
if (attrs.isEmpty())
{
PyErr_SetString(PyExc_TypeError, "no attributes defined");
sipError = sipErrorFail;
}
else
{
PyObject *bytes = SIPBytes_FromStringAndSize(
reinterpret_cast<char *>(attrs.data()),
sizeof (QSGGeometry::Attribute) * attrs.size());
if (!bytes)
{
sipError = sipErrorFail;
}
else
{
sipCpp = new QSGGeometry::AttributeSet;
sipCpp->count = attrs.size();
sipCpp->stride = (a1 > 0 ? a1 : stride);
sipCpp->attributes = reinterpret_cast<QSGGeometry::Attribute *>(
SIPBytes_AsString(bytes));
sipSetUserObject(sipSelf, bytes);
}
}
}
}
%End
int count;
int stride;
const QSGGeometry::Attribute *attributes /TypeHint="PyQt5.sip.array[QSGGeometry.Attribute]"/ {
%GetCode
sipPy = sipConvertToTypedArray((void *)sipCpp->attributes,
sipType_QSGGeometry_Attribute, "iiiI", sizeof (QSGGeometry::Attribute),
sipCpp->count, SIP_READ_ONLY);
%End
%SetCode
sipErr = 1;
PyErr_SetString(PyExc_ValueError, "array is read-only");
%End
};
};
struct Point2D
{
%TypeHeaderCode
#include <qsggeometry.h>
%End
float x;
float y;
void set(float nx, float ny);
};
struct TexturedPoint2D
{
%TypeHeaderCode
#include <qsggeometry.h>
%End
float x;
float y;
float tx;
float ty;
void set(float nx, float ny, float ntx, float nty);
};
struct ColoredPoint2D
{
%TypeHeaderCode
#include <qsggeometry.h>
%End
float x;
float y;
unsigned char r /PyInt/;
unsigned char g /PyInt/;
unsigned char b /PyInt/;
unsigned char a /PyInt/;
void set(float nx, float ny, uchar nr /PyInt/, uchar ng /PyInt/, uchar nb /PyInt/, uchar na /PyInt/);
};
static const QSGGeometry::AttributeSet &defaultAttributes_Point2D() /NoCopy/;
static const QSGGeometry::AttributeSet &defaultAttributes_TexturedPoint2D() /NoCopy/;
static const QSGGeometry::AttributeSet &defaultAttributes_ColoredPoint2D() /NoCopy/;
enum DataPattern
{
AlwaysUploadPattern,
StreamPattern,
DynamicPattern,
StaticPattern,
};
QSGGeometry(const QSGGeometry::AttributeSet &attribs /KeepReference/, int vertexCount, int indexCount = 0, int indexType = GL_UNSIGNED_SHORT);
virtual ~QSGGeometry();
void setDrawingMode(unsigned int mode);
unsigned int drawingMode() const;
void allocate(int vertexCount, int indexCount = 0);
int vertexCount() const;
void *vertexData();
int indexType() const;
int indexCount() const;
void *indexData();
int attributeCount() const;
SIP_PYOBJECT attributes() const /TypeHint="PyQt5.sip.array[QSGGeometry.Attribute]"/;
%MethodCode
sipRes = sipConvertToTypedArray((void *)sipCpp->attributes(),
sipType_QSGGeometry_Attribute, "iiiI", sizeof (QSGGeometry::Attribute),
sipCpp->attributeCount(), SIP_READ_ONLY);
%End
int sizeOfVertex() const;
static void updateRectGeometry(QSGGeometry *g, const QRectF &rect);
static void updateTexturedRectGeometry(QSGGeometry *g, const QRectF &rect, const QRectF &sourceRect);
void setIndexDataPattern(QSGGeometry::DataPattern p);
QSGGeometry::DataPattern indexDataPattern() const;
void setVertexDataPattern(QSGGeometry::DataPattern p);
QSGGeometry::DataPattern vertexDataPattern() const;
void markIndexDataDirty();
void markVertexDataDirty();
float lineWidth() const;
void setLineWidth(float w);
SIP_PYOBJECT indexDataAsUInt() /TypeHint="PyQt5.sip.array[int]"/;
%MethodCode
sipRes = sipConvertToArray(sipCpp->indexDataAsUInt(), "I",
sipCpp->indexCount(), 0);
%End
SIP_PYOBJECT indexDataAsUShort() /TypeHint="PyQt5.sip.array[int]"/;
%MethodCode
sipRes = sipConvertToArray(sipCpp->indexDataAsUShort(), "H",
sipCpp->indexCount(), 0);
%End
SIP_PYOBJECT vertexDataAsPoint2D() /TypeHint="PyQt5.sip.array[QSGGeometry.Point2D]"/;
%MethodCode
sipRes = sipConvertToTypedArray(sipCpp->vertexDataAsPoint2D(),
sipType_QSGGeometry_Point2D, "ff", sizeof (QSGGeometry::Point2D),
sipCpp->vertexCount(), 0);
%End
SIP_PYOBJECT vertexDataAsTexturedPoint2D() /TypeHint="PyQt5.sip.array[QSGGeometry.TexturedPoint2D]"/;
%MethodCode
sipRes = sipConvertToTypedArray(sipCpp->vertexDataAsTexturedPoint2D(),
sipType_QSGGeometry_TexturedPoint2D, "ffff",
sizeof (QSGGeometry::TexturedPoint2D), sipCpp->vertexCount(), 0);
%End
SIP_PYOBJECT vertexDataAsColoredPoint2D() /TypeHint="PyQt5.sip.array[QSGGeometry.ColoredPoint2D]"/;
%MethodCode
sipRes = sipConvertToTypedArray(sipCpp->vertexDataAsColoredPoint2D(),
sipType_QSGGeometry_ColoredPoint2D, "ffbbbb",
sizeof (QSGGeometry::ColoredPoint2D), sipCpp->vertexCount(), 0);
%End
int sizeOfIndex() const;
%If (Qt_5_8_0 -)
enum AttributeType
{
UnknownAttribute,
PositionAttribute,
ColorAttribute,
TexCoordAttribute,
TexCoord1Attribute,
TexCoord2Attribute,
};
%End
%If (Qt_5_8_0 -)
enum DrawingMode
{
DrawPoints,
DrawLines,
DrawLineLoop,
DrawLineStrip,
DrawTriangles,
DrawTriangleStrip,
DrawTriangleFan,
};
%End
%If (Qt_5_8_0 -)
enum Type
{
ByteType,
UnsignedByteType,
ShortType,
UnsignedShortType,
IntType,
UnsignedIntType,
FloatType,
%If (Qt_5_14_0 -)
Bytes2Type,
%End
%If (Qt_5_14_0 -)
Bytes3Type,
%End
%If (Qt_5_14_0 -)
Bytes4Type,
%End
%If (Qt_5_14_0 -)
DoubleType,
%End
};
%End
%If (Qt_5_8_0 -)
static void updateColoredRectGeometry(QSGGeometry *g, const QRectF &rect);
%End
private:
QSGGeometry(const QSGGeometry &);
};