diff options
Diffstat (limited to 'src/quick/items')
-rw-r--r-- | src/quick/items/qquickwindow.cpp | 5 | ||||
-rw-r--r-- | src/quick/items/qquickwindow_p.h | 9 |
2 files changed, 11 insertions, 3 deletions
diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp index 37525d99d8..6a57553b21 100644 --- a/src/quick/items/qquickwindow.cpp +++ b/src/quick/items/qquickwindow.cpp @@ -4689,14 +4689,15 @@ QSGTexture *QQuickWindow::createTextureFromImage(const QImage &image, CreateText QSGTexture *QQuickWindowPrivate::createTextureFromNativeTexture(quint64 nativeObjectHandle, int nativeLayout, const QSize &size, - QQuickWindow::CreateTextureOptions options) const + QQuickWindow::CreateTextureOptions options, + TextureFromNativeTextureFlags flags) const { if (!rhi) return nullptr; QSGPlainTexture *texture = new QSGPlainTexture; texture->setTextureFromNativeTexture(rhi, nativeObjectHandle, nativeLayout, - size, options.testFlag(QQuickWindow::TextureHasMipmaps)); + size, options, flags); texture->setHasAlphaChannel(options & QQuickWindow::TextureHasAlphaChannel); // note that the QRhiTexture does not (and cannot) own the native object texture->setOwnsTexture(true); // texture meaning the QRhiTexture here, not the native object diff --git a/src/quick/items/qquickwindow_p.h b/src/quick/items/qquickwindow_p.h index 67bce9f02c..869324c317 100644 --- a/src/quick/items/qquickwindow_p.h +++ b/src/quick/items/qquickwindow_p.h @@ -255,10 +255,16 @@ public: bool emitError(QQuickWindow::SceneGraphError error, const QString &msg); + enum TextureFromNativeTextureFlag { + NativeTextureIsExternalOES = 0x01 + }; + Q_DECLARE_FLAGS(TextureFromNativeTextureFlags, TextureFromNativeTextureFlag) + QSGTexture *createTextureFromNativeTexture(quint64 nativeObjectHandle, int nativeLayout, const QSize &size, - QQuickWindow::CreateTextureOptions options) const; + QQuickWindow::CreateTextureOptions options, + TextureFromNativeTextureFlags flags = {}) const; QQuickItem::UpdatePaintNodeData updatePaintNodeData; @@ -388,6 +394,7 @@ public: }; Q_DECLARE_OPERATORS_FOR_FLAGS(QQuickWindowPrivate::FocusOptions) +Q_DECLARE_OPERATORS_FOR_FLAGS(QQuickWindowPrivate::TextureFromNativeTextureFlags) QT_END_NAMESPACE |