aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@qt.io>2020-04-07 14:47:04 +0200
committerLaszlo Agocs <laszlo.agocs@qt.io>2020-04-14 14:51:17 +0200
commit91a58d9068a7882ae0369eb5461b9502c61e971a (patch)
treea2d6c1232ea40f9bd9977116dc66888855f50133
parent13ede1b97224e60e6a314348e574a91f2a5b387d (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>
-rw-r--r--src/quick/scenegraph/adaptations/software/qsgsoftwarepublicnodes_p.h3
-rw-r--r--src/quick/scenegraph/util/qsgdefaultimagenode_p.h7
-rw-r--r--src/quick/scenegraph/util/qsgimagenode.cpp12
-rw-r--r--src/quick/scenegraph/util/qsgimagenode.h3
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,