diff --git a/include/Nazara/Renderer/Texture.hpp b/include/Nazara/Renderer/Texture.hpp index 2fd368b53..e789dbd91 100644 --- a/include/Nazara/Renderer/Texture.hpp +++ b/include/Nazara/Renderer/Texture.hpp @@ -10,7 +10,6 @@ #include #include #include -#include #include #include #include @@ -31,7 +30,7 @@ namespace Nz struct TextureImpl; - class NAZARA_RENDERER_API Texture : public AbstractImage, public RefCounted, public Resource + class NAZARA_RENDERER_API Texture : public AbstractImage, public Resource { friend TextureLibrary; friend TextureManager; diff --git a/include/Nazara/Utility/AbstractImage.hpp b/include/Nazara/Utility/AbstractImage.hpp index 93821e105..ffeacbca4 100644 --- a/include/Nazara/Utility/AbstractImage.hpp +++ b/include/Nazara/Utility/AbstractImage.hpp @@ -8,6 +8,7 @@ #define NAZARA_ABSTRACTIMAGE_HPP #include +#include #include #include #include @@ -16,10 +17,16 @@ namespace Nz { - class NAZARA_UTILITY_API AbstractImage + class AbstractImage; + + using AbstractImageConstRef = ObjectRef; + using AbstractImageRef = ObjectRef; + + class NAZARA_UTILITY_API AbstractImage : public RefCounted { public: AbstractImage() = default; + inline AbstractImage(const AbstractImage& image); virtual ~AbstractImage(); UInt8 GetBytesPerPixel() const; @@ -43,4 +50,6 @@ namespace Nz }; } +#include + #endif // NAZARA_IMAGE_HPP diff --git a/include/Nazara/Utility/AbstractImage.inl b/include/Nazara/Utility/AbstractImage.inl new file mode 100644 index 000000000..d3f50fc84 --- /dev/null +++ b/include/Nazara/Utility/AbstractImage.inl @@ -0,0 +1,16 @@ +// Copyright (C) 2015 Jérôme Leclercq +// This file is part of the "Nazara Engine - Utility module" +// For conditions of distribution and use, see copyright notice in Config.hpp + +#include +#include + +namespace Nz +{ + inline AbstractImage::AbstractImage(const AbstractImage& image) : + RefCounted() + { + } +} + +#include diff --git a/include/Nazara/Utility/Image.hpp b/include/Nazara/Utility/Image.hpp index d936ee4d8..029157885 100644 --- a/include/Nazara/Utility/Image.hpp +++ b/include/Nazara/Utility/Image.hpp @@ -10,7 +10,6 @@ #include #include #include -#include #include #include #include @@ -47,7 +46,7 @@ namespace Nz using ImageRef = ObjectRef; using ImageSaver = ResourceSaver; - class NAZARA_UTILITY_API Image : public AbstractImage, public RefCounted, public Resource + class NAZARA_UTILITY_API Image : public AbstractImage, public Resource { friend ImageLibrary; friend ImageLoader; diff --git a/src/Nazara/Utility/Image.cpp b/src/Nazara/Utility/Image.cpp index 4b780eef1..160c2ac90 100644 --- a/src/Nazara/Utility/Image.cpp +++ b/src/Nazara/Utility/Image.cpp @@ -52,7 +52,7 @@ namespace Nz } Image::Image(const Image& image) : - RefCounted(), + AbstractImage(image), Resource(), m_sharedImage(image.m_sharedImage) {