Commit 030906b1 authored by Paul Lemire's avatar Paul Lemire
Browse files

Quick3DBuffer: add helper method to read binary file


Change-Id: Ib96806720171cddc990f4b0df59a8690d56bc605
Reviewed-by: default avatarSean Harmer <sean.harmer@kdab.com>
Showing with 23 additions and 0 deletions
......@@ -45,6 +45,8 @@
#include <QtQml/private/qjsvalue_p.h>
#include <QtQml/private/qv4typedarray_p.h>
#include <QtQml/private/qv4arraybuffer_p.h>
#include <Qt3DRender/private/qurlhelper_p.h>
#include <QtCore/qfile.h>
QT_BEGIN_NAMESPACE
......@@ -107,6 +109,25 @@ void Quick3DBuffer::updateData(int offset, const QVariant &bufferData)
}
}
/*!
\qmlmethod string Quick3DBuffer::readBinaryFile(url &fileUrl)
Reads the binary at \a fileUrl and return it as a QByteArray wrapped in a
QVariant
\note this is provided as convenience for QML where reading files and creating
QByteArray is not possible
*/
QVariant Quick3DBuffer::readBinaryFile(const QUrl &fileUrl)
{
QFile f(Qt3DRender::QUrlHelper::urlToLocalFileOrQrc(fileUrl));
QByteArray data;
if (f.open(QIODevice::ReadOnly))
data = f.readAll();
return QVariant(data);
}
void Quick3DBuffer::initEngines()
{
if (m_engine == nullptr) {
......
......@@ -79,6 +79,8 @@ public:
QVariant bufferData() const;
void setBufferData(const QVariant &bufferData);
Q_INVOKABLE QVariant readBinaryFile(const QUrl &fileUrl);
public Q_SLOTS:
void updateData(int offset, const QVariant &bytes);
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment