Utility/AbstractImage: Inherit RefCounted

This commit is contained in:
Lynix 2016-10-20 23:53:22 +02:00
parent 3c29bfe516
commit a7d2d8cddd
5 changed files with 29 additions and 6 deletions

View File

@ -10,7 +10,6 @@
#include <Nazara/Prerequesites.hpp> #include <Nazara/Prerequesites.hpp>
#include <Nazara/Core/ObjectLibrary.hpp> #include <Nazara/Core/ObjectLibrary.hpp>
#include <Nazara/Core/ObjectRef.hpp> #include <Nazara/Core/ObjectRef.hpp>
#include <Nazara/Core/RefCounted.hpp>
#include <Nazara/Core/Resource.hpp> #include <Nazara/Core/Resource.hpp>
#include <Nazara/Core/ResourceManager.hpp> #include <Nazara/Core/ResourceManager.hpp>
#include <Nazara/Core/Signal.hpp> #include <Nazara/Core/Signal.hpp>
@ -31,7 +30,7 @@ namespace Nz
struct TextureImpl; 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 TextureLibrary;
friend TextureManager; friend TextureManager;

View File

@ -8,6 +8,7 @@
#define NAZARA_ABSTRACTIMAGE_HPP #define NAZARA_ABSTRACTIMAGE_HPP
#include <Nazara/Prerequesites.hpp> #include <Nazara/Prerequesites.hpp>
#include <Nazara/Core/ObjectRef.hpp>
#include <Nazara/Math/Box.hpp> #include <Nazara/Math/Box.hpp>
#include <Nazara/Math/Rect.hpp> #include <Nazara/Math/Rect.hpp>
#include <Nazara/Math/Vector3.hpp> #include <Nazara/Math/Vector3.hpp>
@ -16,10 +17,16 @@
namespace Nz namespace Nz
{ {
class NAZARA_UTILITY_API AbstractImage class AbstractImage;
using AbstractImageConstRef = ObjectRef<const AbstractImage>;
using AbstractImageRef = ObjectRef<AbstractImage>;
class NAZARA_UTILITY_API AbstractImage : public RefCounted
{ {
public: public:
AbstractImage() = default; AbstractImage() = default;
inline AbstractImage(const AbstractImage& image);
virtual ~AbstractImage(); virtual ~AbstractImage();
UInt8 GetBytesPerPixel() const; UInt8 GetBytesPerPixel() const;
@ -43,4 +50,6 @@ namespace Nz
}; };
} }
#include <Nazara/Utility/AbstractImage.inl>
#endif // NAZARA_IMAGE_HPP #endif // NAZARA_IMAGE_HPP

View File

@ -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 <Nazara/Utility/AbstractImage.hpp>
#include <Nazara/Utility/Debug.hpp>
namespace Nz
{
inline AbstractImage::AbstractImage(const AbstractImage& image) :
RefCounted()
{
}
}
#include <Nazara/Utility/DebugOff.hpp>

View File

@ -10,7 +10,6 @@
#include <Nazara/Prerequesites.hpp> #include <Nazara/Prerequesites.hpp>
#include <Nazara/Core/Color.hpp> #include <Nazara/Core/Color.hpp>
#include <Nazara/Core/ObjectLibrary.hpp> #include <Nazara/Core/ObjectLibrary.hpp>
#include <Nazara/Core/ObjectRef.hpp>
#include <Nazara/Core/RefCounted.hpp> #include <Nazara/Core/RefCounted.hpp>
#include <Nazara/Core/Resource.hpp> #include <Nazara/Core/Resource.hpp>
#include <Nazara/Core/ResourceLoader.hpp> #include <Nazara/Core/ResourceLoader.hpp>
@ -47,7 +46,7 @@ namespace Nz
using ImageRef = ObjectRef<Image>; using ImageRef = ObjectRef<Image>;
using ImageSaver = ResourceSaver<Image, ImageParams>; using ImageSaver = ResourceSaver<Image, ImageParams>;
class NAZARA_UTILITY_API Image : public AbstractImage, public RefCounted, public Resource class NAZARA_UTILITY_API Image : public AbstractImage, public Resource
{ {
friend ImageLibrary; friend ImageLibrary;
friend ImageLoader; friend ImageLoader;

View File

@ -52,7 +52,7 @@ namespace Nz
} }
Image::Image(const Image& image) : Image::Image(const Image& image) :
RefCounted(), AbstractImage(image),
Resource(), Resource(),
m_sharedImage(image.m_sharedImage) m_sharedImage(image.m_sharedImage)
{ {