Added support for all QML built-in types in NetVariant:
- rect/QRectF maps to System.Drawing.RectangleF
- point/QPointF maps to System.Drawing.Point
- size/QSizeF maps to System.Drawing.SizeF
- color/QColor maps to System.Drawing.Color
The following require .NET Standard 2.1:
- vector2d/QVector2D maps to System.Numerics.Vector2
- vector3d/QVector3D maps to System.Numerics.Vector3
- vector4d/QVector4D maps to System.Numerics.Vector4
- quaternion/QQuaternion maps to System.Numerics.Quaternion
- matrix4x4/QMatrix4x4D maps to System.Numerics.Matrix4x4
Additionally, the following are supported as well for convenience:
- QRect maps to System.Drawing.Rectangle
- QPoint maps to System.Drawing.Point
- QSize maps to System.Drawing.Size
Qt defines QChar as a class containing a ushort, which
should be consistently 16-bit across supported platforms.
this change uses QChar* instead of custom typedefs
to intepret LPWStr arguments passed to/from .NET.
Runtime errors when running the QML parts of unit tests are currently ignored and not captured in test output. Warnings are now captured and if not explicitly disabled, any QML warning will fail the test and include the warning messages in the failure.
Qt5 removed the instance method QString::asprintf, and later replaced
it with a static method of the same name, causing CoreHost to compile,
but pass empty strings to the managed entry point.
The static QString::number method is available in both Qt4 and Qt5,
and as a bonus the overload should resolve to the appropriate pointer
length for the target.
When setting up the QObject meta method arguments in
NetQObject::invokeMethod the 1st parameter is getting overwritten by
parameters 2 to 10 and parameters 2 to 10 are getting ignored. This
change fixes the issue and get calling NetQObject::invokeMethod with
multiple parameters working as expected.