summaryrefslogtreecommitdiffstats
path: root/src/Runtime/Source/runtimerender/Qt3DSRenderImageTextureData.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Runtime/Source/runtimerender/Qt3DSRenderImageTextureData.h')
-rw-r--r--src/Runtime/Source/runtimerender/Qt3DSRenderImageTextureData.h42
1 files changed, 39 insertions, 3 deletions
diff --git a/src/Runtime/Source/runtimerender/Qt3DSRenderImageTextureData.h b/src/Runtime/Source/runtimerender/Qt3DSRenderImageTextureData.h
index d3698032..aaa73d7e 100644
--- a/src/Runtime/Source/runtimerender/Qt3DSRenderImageTextureData.h
+++ b/src/Runtime/Source/runtimerender/Qt3DSRenderImageTextureData.h
@@ -33,6 +33,9 @@
#include "Qt3DSRender.h"
#include "foundation/Qt3DSFlags.h"
+#include <QtCore/qsharedpointer.h>
+#include <QtCore/qvector.h>
+
namespace qt3ds {
namespace render {
@@ -85,9 +88,16 @@ namespace render {
Qt3DSRenderPrefilterTexture *m_BSDFMipMap;
SImageTextureData()
- : m_Texture(NULL)
- , m_BSDFMipMap(NULL)
+ : m_Texture(nullptr)
+ , m_BSDFMipMap(nullptr)
+ {
+ }
+
+ SImageTextureData(const SImageTextureData& data)
+ : m_Texture(data.m_Texture), m_TextureFlags(data.m_TextureFlags)
+ , m_BSDFMipMap(data.m_BSDFMipMap)
{
+
}
bool operator!=(const SImageTextureData &inOther)
@@ -96,7 +106,33 @@ namespace render {
|| m_BSDFMipMap != inOther.m_BSDFMipMap;
}
};
+
+ struct IReloadableCallback
+ {
+ virtual ~IReloadableCallback() {}
+ virtual void onLoad() = 0;
+ virtual void onUnload() = 0;
+ };
+
+ struct SImage;
+ struct SReloadableImageTextureData : public SImageTextureData
+ {
+ QString m_path;
+ bool m_loaded;
+ bool m_scanTransparency;
+ bool m_bsdfMipmap;
+ bool m_initialized;
+ QVector<SImage *> m_callbacks;
+
+ SReloadableImageTextureData()
+ : SImageTextureData()
+ , m_loaded(false), m_scanTransparency(false), m_bsdfMipmap(false), m_initialized(false)
+ {
+ }
+ };
+
+ typedef QSharedPointer<SReloadableImageTextureData> ReloadableTexturePtr;
}
}
-#endif \ No newline at end of file
+#endif