diff options
author | Laszlo Agocs <laszlo.agocs@qt.io> | 2020-04-07 14:47:04 +0200 |
---|---|---|
committer | Laszlo Agocs <laszlo.agocs@qt.io> | 2020-04-14 14:51:17 +0200 |
commit | 91a58d9068a7882ae0369eb5461b9502c61e971a (patch) | |
tree | a2d6c1232ea40f9bd9977116dc66888855f50133 | |
parent | 13ede1b97224e60e6a314348e574a91f2a5b387d (diff) |
Implement the todo for adding anisotropy virtuals to QSGImageNode
Task-number: QTBUG-82997
Change-Id: I236f5dadd8214ed1008ef4a7c9955c6f4c6b43cf
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
4 files changed, 20 insertions, 5 deletions
diff --git a/src/quick/scenegraph/adaptations/software/qsgsoftwarepublicnodes_p.h b/src/quick/scenegraph/adaptations/software/qsgsoftwarepublicnodes_p.h index 114137fb55..470bb73f78 100644 --- a/src/quick/scenegraph/adaptations/software/qsgsoftwarepublicnodes_p.h +++ b/src/quick/scenegraph/adaptations/software/qsgsoftwarepublicnodes_p.h @@ -97,6 +97,9 @@ public: void setMipmapFiltering(QSGTexture::Filtering) override { } QSGTexture::Filtering mipmapFiltering() const override { return QSGTexture::None; } + void setAnisotropyLevel(QSGTexture::AnisotropyLevel) override { } + QSGTexture::AnisotropyLevel anisotropyLevel() const override { return QSGTexture::AnisotropyNone; } + void setTextureCoordinatesTransform(TextureCoordinatesTransformMode transformNode) override; TextureCoordinatesTransformMode textureCoordinatesTransform() const override { return m_transformMode; } diff --git a/src/quick/scenegraph/util/qsgdefaultimagenode_p.h b/src/quick/scenegraph/util/qsgdefaultimagenode_p.h index 7b26daf541..5fc91b44d3 100644 --- a/src/quick/scenegraph/util/qsgdefaultimagenode_p.h +++ b/src/quick/scenegraph/util/qsgdefaultimagenode_p.h @@ -79,16 +79,15 @@ public: void setMipmapFiltering(QSGTexture::Filtering filtering) override; QSGTexture::Filtering mipmapFiltering() const override; + void setAnisotropyLevel(QSGTexture::AnisotropyLevel level) override; + QSGTexture::AnisotropyLevel anisotropyLevel() const override; + void setTextureCoordinatesTransform(TextureCoordinatesTransformMode mode) override; TextureCoordinatesTransformMode textureCoordinatesTransform() const override; void setOwnsTexture(bool owns) override; bool ownsTexture() const override; - // QSGImageNode now being a public class does not allow any additional virtual methods. Placing these here, non-virtual. - void setAnisotropyLevel(QSGTexture::AnisotropyLevel level); - QSGTexture::AnisotropyLevel anisotropyLevel() const; - private: QSGGeometry m_geometry; QSGOpaqueTextureMaterial m_opaque_material; diff --git a/src/quick/scenegraph/util/qsgimagenode.cpp b/src/quick/scenegraph/util/qsgimagenode.cpp index b154023247..a94e3e0a5d 100644 --- a/src/quick/scenegraph/util/qsgimagenode.cpp +++ b/src/quick/scenegraph/util/qsgimagenode.cpp @@ -143,6 +143,18 @@ QT_BEGIN_NAMESPACE */ /*! + \fn void QSGImageNode::setAnisotropyLevel(QSGTexture::AnisotropyLevel level) + + Sets this image node's anistropy level to \a level. +*/ + +/*! + \fn QSGTexture::AnisotropyLevel QSGImageNode::anisotropyLevel() const + + Returns this image node's anistropy level. +*/ + +/*! \enum QSGImageNode::TextureCoordinatesTransformFlag The TextureCoordinatesTransformFlag enum is used to specify the mode used diff --git a/src/quick/scenegraph/util/qsgimagenode.h b/src/quick/scenegraph/util/qsgimagenode.h index 3b78f78a0e..45962415fc 100644 --- a/src/quick/scenegraph/util/qsgimagenode.h +++ b/src/quick/scenegraph/util/qsgimagenode.h @@ -67,7 +67,8 @@ public: virtual void setMipmapFiltering(QSGTexture::Filtering filtering) = 0; virtual QSGTexture::Filtering mipmapFiltering() const = 0; - // ### Qt6: Add anisotropy support here, and possibly a virtual hook or another mean to extend this class. + virtual void setAnisotropyLevel(QSGTexture::AnisotropyLevel level) = 0; + virtual QSGTexture::AnisotropyLevel anisotropyLevel() const = 0; enum TextureCoordinatesTransformFlag { NoTransform = 0x00, |