Fully replace listener system by signals
Former-commit-id: 032dfddd12cc3a792c71426148c758ffac3621f9
This commit is contained in:
@@ -13,11 +13,11 @@
|
||||
#include <Nazara/Core/NonCopyable.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||
#include <Nazara/Core/RefCounted.hpp>
|
||||
#include <Nazara/Core/Resource.hpp>
|
||||
#include <Nazara/Core/ResourceLoader.hpp>
|
||||
#include <Nazara/Core/ResourceManager.hpp>
|
||||
#include <Nazara/Core/Signal.hpp>
|
||||
|
||||
struct NzSoundBufferParams
|
||||
{
|
||||
@@ -29,10 +29,8 @@ struct NzSoundBufferParams
|
||||
class NzSound;
|
||||
class NzSoundBuffer;
|
||||
|
||||
using NzSoundBufferConstListener = NzObjectListenerWrapper<const NzSoundBuffer>;
|
||||
using NzSoundBufferConstRef = NzObjectRef<const NzSoundBuffer>;
|
||||
using NzSoundBufferLibrary = NzObjectLibrary<NzSoundBuffer>;
|
||||
using NzSoundBufferListener = NzObjectListenerWrapper<NzSoundBuffer>;
|
||||
using NzSoundBufferLoader = NzResourceLoader<NzSoundBuffer, NzSoundBufferParams>;
|
||||
using NzSoundBufferManager = NzResourceManager<NzSoundBuffer, NzSoundBufferParams>;
|
||||
using NzSoundBufferRef = NzObjectRef<NzSoundBuffer>;
|
||||
@@ -70,6 +68,10 @@ class NAZARA_API NzSoundBuffer : public NzRefCounted, public NzResource, NzNonCo
|
||||
static bool IsFormatSupported(nzAudioFormat format);
|
||||
template<typename... Args> static NzSoundBufferRef New(Args&&... args);
|
||||
|
||||
// Signals:
|
||||
NazaraSignal(OnSoundBufferDestroy, const NzSoundBuffer*); //< Args: me
|
||||
NazaraSignal(OnSoundBufferRelease, const NzSoundBuffer*); //< Args: me
|
||||
|
||||
private:
|
||||
unsigned int GetOpenALBuffer() const;
|
||||
|
||||
|
||||
@@ -64,8 +64,6 @@
|
||||
#include <Nazara/Core/Mutex.hpp>
|
||||
#include <Nazara/Core/NonCopyable.hpp>
|
||||
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||
#include <Nazara/Core/ObjectListener.hpp>
|
||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/OffsetOf.hpp>
|
||||
#include <Nazara/Core/ParameterList.hpp>
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
// Copyright (C) 2015 Jérôme Leclercq
|
||||
// This file is part of the "Nazara Engine - Core module"
|
||||
// For conditions of distribution and use, see copyright notice in Config.hpp
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef NAZARA_OBJECTLISTENER_HPP
|
||||
#define NAZARA_OBJECTLISTENER_HPP
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
|
||||
class NzRefCounted;
|
||||
|
||||
class NAZARA_API NzObjectListener
|
||||
{
|
||||
public:
|
||||
NzObjectListener() = default;
|
||||
virtual ~NzObjectListener();
|
||||
|
||||
virtual bool OnObjectCreated(const NzRefCounted* object, int index);
|
||||
virtual bool OnObjectDestroy(const NzRefCounted* object, int index);
|
||||
virtual bool OnObjectModified(const NzRefCounted* object, int index, unsigned int code);
|
||||
virtual void OnObjectReleased(const NzRefCounted* object, int index);
|
||||
};
|
||||
|
||||
#endif // NAZARA_OBJECTLISTENER_HPP
|
||||
@@ -1,45 +0,0 @@
|
||||
// Copyright (C) 2015 Jérôme Leclercq
|
||||
// This file is part of the "Nazara Engine - Core module"
|
||||
// For conditions of distribution and use, see copyright notice in Config.hpp
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef NAZARA_OBJECTLISTENERWRAPPER_HPP
|
||||
#define NAZARA_OBJECTLISTENERWRAPPER_HPP
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/ObjectListener.hpp>
|
||||
#include <Nazara/Core/RefCounted.hpp>
|
||||
#include <type_traits>
|
||||
|
||||
template<typename T>
|
||||
class NzObjectListenerWrapper
|
||||
{
|
||||
static_assert(std::is_base_of<NzRefCounted, T>::value, "ObjListenerWrapper should only be used with RefCounted-derived type");
|
||||
|
||||
public:
|
||||
NzObjectListenerWrapper(NzObjectListener* listener, int index = 0, T* object = nullptr);
|
||||
NzObjectListenerWrapper(const NzObjectListenerWrapper& listener);
|
||||
NzObjectListenerWrapper(NzObjectListenerWrapper&& listener);
|
||||
~NzObjectListenerWrapper();
|
||||
|
||||
bool IsValid() const;
|
||||
void Reset(T* object = nullptr);
|
||||
|
||||
operator bool() const;
|
||||
operator T*() const;
|
||||
T* operator->() const;
|
||||
|
||||
NzObjectListenerWrapper& operator=(T* object);
|
||||
NzObjectListenerWrapper& operator=(const NzObjectListenerWrapper& listener);
|
||||
NzObjectListenerWrapper& operator=(NzObjectListenerWrapper&& listener);
|
||||
|
||||
private:
|
||||
T* m_object;
|
||||
NzObjectListener* m_listener;
|
||||
int m_index;
|
||||
};
|
||||
|
||||
#include <Nazara/Core/ObjectListenerWrapper.inl>
|
||||
|
||||
#endif // NAZARA_OBJECTLISTENERWRAPPER_HPP
|
||||
@@ -1,108 +0,0 @@
|
||||
// Copyright (C) 2015 Jérôme Leclercq
|
||||
// This file is part of the "Nazara Engine - Core module"
|
||||
// For conditions of distribution and use, see copyright notice in Config.hpp
|
||||
|
||||
#include <Nazara/Core/Debug.hpp>
|
||||
|
||||
template<typename T>
|
||||
NzObjectListenerWrapper<T>::NzObjectListenerWrapper(NzObjectListener* listener, int index, T* object) :
|
||||
m_object(nullptr),
|
||||
m_listener(listener),
|
||||
m_index(index)
|
||||
{
|
||||
Reset(object);
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
NzObjectListenerWrapper<T>::NzObjectListenerWrapper(const NzObjectListenerWrapper& listener) :
|
||||
m_object(nullptr),
|
||||
m_listener(listener.m_listener),
|
||||
m_index(listener.m_index)
|
||||
{
|
||||
Reset(listener.m_object);
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
NzObjectListenerWrapper<T>::NzObjectListenerWrapper(NzObjectListenerWrapper&& listener) :
|
||||
m_object(listener.m_object),
|
||||
m_listener(listener.m_listener),
|
||||
m_index(listener.m_index)
|
||||
{
|
||||
listener.m_object = nullptr;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
NzObjectListenerWrapper<T>::~NzObjectListenerWrapper()
|
||||
{
|
||||
Reset(nullptr);
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
bool NzObjectListenerWrapper<T>::IsValid() const
|
||||
{
|
||||
return m_object != nullptr;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
void NzObjectListenerWrapper<T>::Reset(T* object)
|
||||
{
|
||||
if (object)
|
||||
object->AddObjectListener(m_listener, m_index);
|
||||
|
||||
if (m_object)
|
||||
m_object->RemoveObjectListener(m_listener);
|
||||
|
||||
m_object = object;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
NzObjectListenerWrapper<T>::operator bool() const
|
||||
{
|
||||
return IsValid();
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
NzObjectListenerWrapper<T>::operator T*() const
|
||||
{
|
||||
return m_object;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
T* NzObjectListenerWrapper<T>::operator->() const
|
||||
{
|
||||
return m_object;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
NzObjectListenerWrapper<T>& NzObjectListenerWrapper<T>::operator=(T* object)
|
||||
{
|
||||
Reset(object);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
NzObjectListenerWrapper<T>& NzObjectListenerWrapper<T>::operator=(const NzObjectListenerWrapper& listener)
|
||||
{
|
||||
m_index = listener.m_index;
|
||||
m_listener = listener.m_listener;
|
||||
Reset(listener.m_object);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
NzObjectListenerWrapper<T>& NzObjectListenerWrapper<T>::operator=(NzObjectListenerWrapper&& listener)
|
||||
{
|
||||
Reset();
|
||||
|
||||
m_index = listener.m_index;
|
||||
m_listener = listener.m_listener;
|
||||
m_object = listener.m_object;
|
||||
|
||||
listener.m_object = nullptr;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
#include <Nazara/Core/DebugOff.hpp>
|
||||
@@ -17,45 +17,30 @@
|
||||
#include <Nazara/Core/ThreadSafetyOff.hpp>
|
||||
#endif
|
||||
|
||||
class NzObjectListener;
|
||||
|
||||
class NAZARA_API NzRefCounted
|
||||
{
|
||||
public:
|
||||
NzRefCounted(bool persistent = true);
|
||||
NzRefCounted(const NzRefCounted&) = delete;
|
||||
NzRefCounted(NzRefCounted&&) = delete;
|
||||
NzRefCounted(NzRefCounted&&) = default;
|
||||
virtual ~NzRefCounted();
|
||||
|
||||
void AddObjectListener(NzObjectListener* listener, int index = 0) const;
|
||||
void AddReference() const;
|
||||
|
||||
unsigned int GetReferenceCount() const;
|
||||
|
||||
bool IsPersistent() const;
|
||||
|
||||
void RemoveObjectListener(NzObjectListener* listener) const;
|
||||
bool RemoveReference() const;
|
||||
|
||||
bool SetPersistent(bool persistent = true, bool checkReferenceCount = false);
|
||||
|
||||
NzRefCounted& operator=(const NzRefCounted&) = delete;
|
||||
NzRefCounted& operator=(NzRefCounted&&) = delete;
|
||||
|
||||
protected:
|
||||
void NotifyCreated();
|
||||
void NotifyDestroy();
|
||||
void NotifyModified(unsigned int code);
|
||||
NzRefCounted& operator=(NzRefCounted&&) = default;
|
||||
|
||||
private:
|
||||
using ObjectListenerMap = std::unordered_map<NzObjectListener*, std::pair<int, unsigned int>>;
|
||||
|
||||
NazaraMutexAttrib(m_mutex, mutable)
|
||||
|
||||
mutable ObjectListenerMap m_objectListeners;
|
||||
std::atomic_bool m_persistent;
|
||||
std::atomic_bool m_persistent;
|
||||
mutable std::atomic_uint m_referenceCount;
|
||||
bool m_objectListenersLocked;
|
||||
};
|
||||
|
||||
#endif // NAZARA_RESOURCE_HPP
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/Color.hpp>
|
||||
#include <Nazara/Core/ObjectListener.hpp>
|
||||
#include <Nazara/Graphics/AbstractRenderQueue.hpp>
|
||||
#include <Nazara/Graphics/Material.hpp>
|
||||
#include <Nazara/Math/Box.hpp>
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/Color.hpp>
|
||||
#include <Nazara/Core/ObjectListener.hpp>
|
||||
#include <Nazara/Graphics/AbstractRenderQueue.hpp>
|
||||
#include <Nazara/Graphics/Material.hpp>
|
||||
#include <Nazara/Math/Box.hpp>
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/Color.hpp>
|
||||
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/RefCounted.hpp>
|
||||
#include <Nazara/Core/Resource.hpp>
|
||||
@@ -39,10 +38,8 @@ struct NAZARA_API NzMaterialParams
|
||||
|
||||
class NzMaterial;
|
||||
|
||||
using NzMaterialConstListener = NzObjectListenerWrapper<const NzMaterial>;
|
||||
using NzMaterialConstRef = NzObjectRef<const NzMaterial>;
|
||||
using NzMaterialLibrary = NzObjectLibrary<NzMaterial>;
|
||||
using NzMaterialListener = NzObjectListenerWrapper<NzMaterial>;
|
||||
using NzMaterialLoader = NzResourceLoader<NzMaterial, NzMaterialParams>;
|
||||
using NzMaterialManager = NzResourceManager<NzMaterial, NzMaterialParams>;
|
||||
using NzMaterialRef = NzObjectRef<NzMaterial>;
|
||||
@@ -145,6 +142,7 @@ class NAZARA_API NzMaterial : public NzRefCounted, public NzResource
|
||||
|
||||
// Signals
|
||||
NazaraSignal(OnMaterialRelease, const NzMaterial*); //< Args: me
|
||||
NazaraSignal(OnMaterialReset, const NzMaterial*); //< Args: me
|
||||
|
||||
private:
|
||||
struct ShaderInstance
|
||||
|
||||
@@ -9,18 +9,16 @@
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/RefCounted.hpp>
|
||||
#include <Nazara/Core/Signal.hpp>
|
||||
|
||||
class NzParticleController;
|
||||
class NzParticleMapper;
|
||||
class NzParticleSystem;
|
||||
|
||||
using NzParticleControllerConstListener = NzObjectListenerWrapper<const NzParticleController>;
|
||||
using NzParticleControllerConstRef = NzObjectRef<const NzParticleController>;
|
||||
using NzParticleControllerLibrary = NzObjectLibrary<NzParticleController>;
|
||||
using NzParticleControllerListener = NzObjectListenerWrapper<NzParticleController>;
|
||||
using NzParticleControllerRef = NzObjectRef<NzParticleController>;
|
||||
|
||||
class NAZARA_API NzParticleController : public NzRefCounted
|
||||
@@ -35,6 +33,9 @@ class NAZARA_API NzParticleController : public NzRefCounted
|
||||
|
||||
virtual void Apply(NzParticleSystem& system, NzParticleMapper& mapper, unsigned int startId, unsigned int endId, float elapsedTime) = 0;
|
||||
|
||||
// Signals:
|
||||
NazaraSignal(OnParticleControllerRelease, const NzParticleController*); //< Args: me
|
||||
|
||||
private:
|
||||
static bool Initialize();
|
||||
static void Uninitialize();
|
||||
|
||||
@@ -9,18 +9,16 @@
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/RefCounted.hpp>
|
||||
#include <Nazara/Core/Signal.hpp>
|
||||
#include <Nazara/Graphics/Enums.hpp>
|
||||
#include <Nazara/Utility/Enums.hpp>
|
||||
|
||||
class NzParticleDeclaration;
|
||||
|
||||
using NzParticleDeclarationConstListener = NzObjectListenerWrapper<const NzParticleDeclaration>;
|
||||
using NzParticleDeclarationConstRef = NzObjectRef<const NzParticleDeclaration>;
|
||||
using NzParticleDeclarationLibrary = NzObjectLibrary<NzParticleDeclaration>;
|
||||
using NzParticleDeclarationListener = NzObjectListenerWrapper<NzParticleDeclaration>;
|
||||
using NzParticleDeclarationRef = NzObjectRef<NzParticleDeclaration>;
|
||||
|
||||
class NAZARA_API NzParticleDeclaration : public NzRefCounted
|
||||
@@ -46,6 +44,9 @@ class NAZARA_API NzParticleDeclaration : public NzRefCounted
|
||||
static NzParticleDeclaration* Get(nzParticleLayout layout);
|
||||
static bool IsTypeSupported(nzComponentType type);
|
||||
|
||||
// Signals
|
||||
NazaraSignal(OnParticleDeclarationRelease, const NzParticleDeclaration*); //< Args: me
|
||||
|
||||
private:
|
||||
static bool Initialize();
|
||||
static void Uninitialize();
|
||||
|
||||
@@ -9,18 +9,16 @@
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/RefCounted.hpp>
|
||||
#include <Nazara/Core/Signal.hpp>
|
||||
|
||||
class NzParticleGenerator;
|
||||
class NzParticleMapper;
|
||||
class NzParticleSystem;
|
||||
|
||||
using NzParticleGeneratorConstListener = NzObjectListenerWrapper<const NzParticleGenerator>;
|
||||
using NzParticleGeneratorConstRef = NzObjectRef<const NzParticleGenerator>;
|
||||
using NzParticleGeneratorLibrary = NzObjectLibrary<NzParticleGenerator>;
|
||||
using NzParticleGeneratorListener = NzObjectListenerWrapper<NzParticleGenerator>;
|
||||
using NzParticleGeneratorRef = NzObjectRef<NzParticleGenerator>;
|
||||
|
||||
class NAZARA_API NzParticleGenerator : public NzRefCounted
|
||||
@@ -35,6 +33,9 @@ class NAZARA_API NzParticleGenerator : public NzRefCounted
|
||||
|
||||
virtual void Generate(NzParticleSystem& system, NzParticleMapper& mapper, unsigned int startId, unsigned int endId) = 0;
|
||||
|
||||
// Signals:
|
||||
NazaraSignal(OnParticleGeneratorRelease, const NzParticleGenerator*); //< Args: me
|
||||
|
||||
private:
|
||||
static bool Initialize();
|
||||
static void Uninitialize();
|
||||
|
||||
@@ -9,19 +9,17 @@
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/RefCounted.hpp>
|
||||
#include <Nazara/Core/Signal.hpp>
|
||||
|
||||
class NzAbstractRenderQueue;
|
||||
class NzParticleMapper;
|
||||
class NzParticleRenderer;
|
||||
class NzParticleSystem;
|
||||
|
||||
using NzParticleRendererConstListener = NzObjectListenerWrapper<const NzParticleRenderer>;
|
||||
using NzParticleRendererConstRef = NzObjectRef<const NzParticleRenderer>;
|
||||
using NzParticleRendererLibrary = NzObjectLibrary<NzParticleRenderer>;
|
||||
using NzParticleRendererListener = NzObjectListenerWrapper<NzParticleRenderer>;
|
||||
using NzParticleRendererRef = NzObjectRef<NzParticleRenderer>;
|
||||
|
||||
class NAZARA_API NzParticleRenderer : public NzRefCounted
|
||||
@@ -36,6 +34,9 @@ class NAZARA_API NzParticleRenderer : public NzRefCounted
|
||||
|
||||
virtual void Render(const NzParticleSystem& system, const NzParticleMapper& mapper, unsigned int startId, unsigned int endId, NzAbstractRenderQueue* renderQueue) = 0;
|
||||
|
||||
// Signals:
|
||||
NazaraSignal(OnParticleRendererRelease, const NzParticleRenderer*); //< Args: me
|
||||
|
||||
private:
|
||||
static bool Initialize();
|
||||
static void Uninitialize();
|
||||
|
||||
@@ -10,9 +10,9 @@
|
||||
#include <Nazara/Core/NonCopyable.hpp>
|
||||
#include <Nazara/Core/PrimitiveList.hpp>
|
||||
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/RefCounted.hpp>
|
||||
#include <Nazara/Core/Signal.hpp>
|
||||
#include <Nazara/Math/BoundingVolume.hpp>
|
||||
#include <Nazara/Math/Frustum.hpp>
|
||||
#include <Nazara/Math/Matrix4.hpp>
|
||||
@@ -20,10 +20,8 @@
|
||||
class NzAbstractRenderQueue;
|
||||
class NzRenderable;
|
||||
|
||||
using NzRenderableConstListener = NzObjectListenerWrapper<const NzRenderable>;
|
||||
using NzRenderableConstRef = NzObjectRef<const NzRenderable>;
|
||||
using NzRenderableLibrary = NzObjectLibrary<NzRenderable>;
|
||||
using NzRenderableListener = NzObjectListenerWrapper<NzRenderable>;
|
||||
using NzRenderableRef = NzObjectRef<NzRenderable>;
|
||||
|
||||
class NAZARA_API NzRenderable : public NzRefCounted
|
||||
@@ -42,6 +40,9 @@ class NAZARA_API NzRenderable : public NzRefCounted
|
||||
|
||||
inline NzRenderable& operator=(const NzRenderable& renderable);
|
||||
|
||||
// Signals:
|
||||
NazaraSignal(OnRenderableRelease, const NzRenderable*); //< Args: me
|
||||
|
||||
protected:
|
||||
virtual void MakeBoundingVolume() const = 0;
|
||||
void InvalidateBoundingVolume();
|
||||
|
||||
@@ -28,6 +28,9 @@ class NAZARA_API NzSkinningManager
|
||||
|
||||
private:
|
||||
static bool Initialize();
|
||||
static void OnSkeletalMeshDestroy(const NzSkeletalMesh* mesh);
|
||||
static void OnSkeletonInvalidated(const NzSkeleton* skeleton);
|
||||
static void OnSkeletonRelease(const NzSkeleton* skeleton);
|
||||
static void Uninitialize();
|
||||
|
||||
static SkinFunction s_skinFunc;
|
||||
|
||||
@@ -11,9 +11,9 @@
|
||||
#include <Nazara/Core/NonCopyable.hpp>
|
||||
#include <Nazara/Core/PrimitiveList.hpp>
|
||||
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/RefCounted.hpp>
|
||||
#include <Nazara/Core/Signal.hpp>
|
||||
#include <Nazara/Math/Box.hpp>
|
||||
#include <Nazara/Math/Quaternion.hpp>
|
||||
#include <Nazara/Math/Vector3.hpp>
|
||||
@@ -30,10 +30,8 @@ class NzPhysGeom;
|
||||
class NzPhysWorld;
|
||||
struct NewtonCollision;
|
||||
|
||||
using NzPhysGeomConstListener = NzObjectListenerWrapper<const NzPhysGeom>;
|
||||
using NzPhysGeomConstRef = NzObjectRef<const NzPhysGeom>;
|
||||
using NzPhysGeomLibrary = NzObjectLibrary<NzPhysGeom>;
|
||||
using NzPhysGeomListener = NzObjectListenerWrapper<NzPhysGeom>;
|
||||
using NzPhysGeomRef = NzObjectRef<NzPhysGeom>;
|
||||
|
||||
class NAZARA_API NzPhysGeom : public NzRefCounted, NzNonCopyable
|
||||
@@ -52,6 +50,8 @@ class NAZARA_API NzPhysGeom : public NzRefCounted, NzNonCopyable
|
||||
|
||||
static NzPhysGeomRef Build(const NzPrimitiveList& list);
|
||||
|
||||
NazaraSignal(OnPhysGeomRelease, const NzPhysGeom*); //< Args: me
|
||||
|
||||
protected:
|
||||
virtual NewtonCollision* CreateHandle(NzPhysWorld* world) const = 0;
|
||||
|
||||
@@ -62,9 +62,7 @@ class NAZARA_API NzPhysGeom : public NzRefCounted, NzNonCopyable
|
||||
|
||||
class NzBoxGeom;
|
||||
|
||||
using NzBoxGeomConstListener = NzObjectListenerWrapper<const NzBoxGeom>;
|
||||
using NzBoxGeomConstRef = NzObjectRef<const NzBoxGeom>;
|
||||
using NzBoxGeomListener = NzObjectListenerWrapper<NzBoxGeom>;
|
||||
using NzBoxGeomRef = NzObjectRef<NzBoxGeom>;
|
||||
|
||||
class NAZARA_API NzBoxGeom : public NzPhysGeom
|
||||
@@ -90,9 +88,7 @@ class NAZARA_API NzBoxGeom : public NzPhysGeom
|
||||
|
||||
class NzCapsuleGeom;
|
||||
|
||||
using NzCapsuleGeomConstListener = NzObjectListenerWrapper<const NzCapsuleGeom>;
|
||||
using NzCapsuleGeomConstRef = NzObjectRef<const NzCapsuleGeom>;
|
||||
using NzCapsuleGeomListener = NzObjectListenerWrapper<NzCapsuleGeom>;
|
||||
using NzCapsuleGeomRef = NzObjectRef<NzCapsuleGeom>;
|
||||
|
||||
class NAZARA_API NzCapsuleGeom : public NzPhysGeom
|
||||
@@ -117,9 +113,7 @@ class NAZARA_API NzCapsuleGeom : public NzPhysGeom
|
||||
|
||||
class NzCompoundGeom;
|
||||
|
||||
using NzCompoundGeomConstListener = NzObjectListenerWrapper<const NzCompoundGeom>;
|
||||
using NzCompoundGeomConstRef = NzObjectRef<const NzCompoundGeom>;
|
||||
using NzCompoundGeomListener = NzObjectListenerWrapper<NzCompoundGeom>;
|
||||
using NzCompoundGeomRef = NzObjectRef<NzCompoundGeom>;
|
||||
|
||||
class NAZARA_API NzCompoundGeom : public NzPhysGeom
|
||||
@@ -140,9 +134,7 @@ class NAZARA_API NzCompoundGeom : public NzPhysGeom
|
||||
|
||||
class NzConeGeom;
|
||||
|
||||
using NzConeGeomConstListener = NzObjectListenerWrapper<const NzConeGeom>;
|
||||
using NzConeGeomConstRef = NzObjectRef<const NzConeGeom>;
|
||||
using NzConeGeomListener = NzObjectListenerWrapper<NzConeGeom>;
|
||||
using NzConeGeomRef = NzObjectRef<NzConeGeom>;
|
||||
|
||||
class NAZARA_API NzConeGeom : public NzPhysGeom
|
||||
@@ -167,9 +159,7 @@ class NAZARA_API NzConeGeom : public NzPhysGeom
|
||||
|
||||
class NzConvexHullGeom;
|
||||
|
||||
using NzConvexHullGeomConstListener = NzObjectListenerWrapper<const NzConvexHullGeom>;
|
||||
using NzConvexHullGeomConstRef = NzObjectRef<const NzConvexHullGeom>;
|
||||
using NzConvexHullGeomListener = NzObjectListenerWrapper<NzConvexHullGeom>;
|
||||
using NzConvexHullGeomRef = NzObjectRef<NzConvexHullGeom>;
|
||||
|
||||
class NAZARA_API NzConvexHullGeom : public NzPhysGeom
|
||||
@@ -193,9 +183,7 @@ class NAZARA_API NzConvexHullGeom : public NzPhysGeom
|
||||
|
||||
class NzCylinderGeom;
|
||||
|
||||
using NzCylinderGeomConstListener = NzObjectListenerWrapper<const NzCylinderGeom>;
|
||||
using NzCylinderGeomConstRef = NzObjectRef<const NzCylinderGeom>;
|
||||
using NzCylinderGeomListener = NzObjectListenerWrapper<NzCylinderGeom>;
|
||||
using NzCylinderGeomRef = NzObjectRef<NzCylinderGeom>;
|
||||
|
||||
class NAZARA_API NzCylinderGeom : public NzPhysGeom
|
||||
@@ -220,9 +208,7 @@ class NAZARA_API NzCylinderGeom : public NzPhysGeom
|
||||
|
||||
class NzNullGeom;
|
||||
|
||||
using NzNullGeomConstListener = NzObjectListenerWrapper<const NzNullGeom>;
|
||||
using NzNullGeomConstRef = NzObjectRef<const NzNullGeom>;
|
||||
using NzNullGeomListener = NzObjectListenerWrapper<NzNullGeom>;
|
||||
using NzNullGeomRef = NzObjectRef<NzNullGeom>;
|
||||
|
||||
class NAZARA_API NzNullGeom : public NzPhysGeom
|
||||
@@ -240,9 +226,7 @@ class NAZARA_API NzNullGeom : public NzPhysGeom
|
||||
|
||||
class NzSphereGeom;
|
||||
|
||||
using NzSphereGeomConstListener = NzObjectListenerWrapper<const NzSphereGeom>;
|
||||
using NzSphereGeomConstRef = NzObjectRef<const NzSphereGeom>;
|
||||
using NzSphereGeomListener = NzObjectListenerWrapper<NzSphereGeom>;
|
||||
using NzSphereGeomRef = NzObjectRef<NzSphereGeom>;
|
||||
|
||||
class NAZARA_API NzSphereGeom : public NzPhysGeom
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/RefCounted.hpp>
|
||||
#include <Nazara/Core/Signal.hpp>
|
||||
@@ -19,10 +18,8 @@
|
||||
|
||||
class NzContext;
|
||||
|
||||
using NzContextConstListener = NzObjectListenerWrapper<const NzContext>;
|
||||
using NzContextConstRef = NzObjectRef<const NzContext>;
|
||||
using NzContextLibrary = NzObjectLibrary<NzContext>;
|
||||
using NzContextListener = NzObjectListenerWrapper<NzContext>;
|
||||
using NzContextRef = NzObjectRef<NzContext>;
|
||||
|
||||
class NzContextImpl;
|
||||
@@ -51,7 +48,8 @@ class NAZARA_API NzContext : public NzRefCounted
|
||||
static const NzContext* GetThreadContext();
|
||||
|
||||
// Signals
|
||||
NazaraSignal(OnContextRelease, const NzContext*); //< me
|
||||
NazaraSignal(OnContextDestroy, const NzContext*); //< Args: me
|
||||
NazaraSignal(OnContextRelease, const NzContext*); //< Args: me
|
||||
|
||||
private:
|
||||
static bool Initialize();
|
||||
|
||||
@@ -10,17 +10,15 @@
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/NonCopyable.hpp>
|
||||
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/RefCounted.hpp>
|
||||
#include <Nazara/Core/Signal.hpp>
|
||||
#include <Nazara/Utility/Enums.hpp>
|
||||
|
||||
class NzRenderBuffer;
|
||||
|
||||
using NzRenderBufferConstListener = NzObjectListenerWrapper<const NzRenderBuffer>;
|
||||
using NzRenderBufferConstRef = NzObjectRef<const NzRenderBuffer>;
|
||||
using NzRenderBufferLibrary = NzObjectLibrary<NzRenderBuffer>;
|
||||
using NzRenderBufferListener = NzObjectListenerWrapper<NzRenderBuffer>;
|
||||
using NzRenderBufferRef = NzObjectRef<NzRenderBuffer>;
|
||||
|
||||
class NAZARA_API NzRenderBuffer : public NzRefCounted, NzNonCopyable
|
||||
@@ -47,6 +45,10 @@ class NAZARA_API NzRenderBuffer : public NzRefCounted, NzNonCopyable
|
||||
static bool IsSupported();
|
||||
template<typename... Args> static NzRenderBufferRef New(Args&&... args);
|
||||
|
||||
// Signals
|
||||
NazaraSignal(OnRenderBufferDestroy, const NzRenderBuffer*); //< Args: me
|
||||
NazaraSignal(OnRenderBufferRelease, const NzRenderBuffer*); //< Args: me
|
||||
|
||||
private:
|
||||
static bool Initialize();
|
||||
static void Uninitialize();
|
||||
|
||||
@@ -9,18 +9,21 @@
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/NonCopyable.hpp>
|
||||
#include <Nazara/Core/ObjectListener.hpp>
|
||||
#include <Nazara/Math/Rect.hpp>
|
||||
#include <Nazara/Renderer/Config.hpp>
|
||||
#include <Nazara/Renderer/Enums.hpp>
|
||||
#include <Nazara/Renderer/RenderTarget.hpp>
|
||||
#include <Nazara/Renderer/Texture.hpp>
|
||||
#include <Nazara/Utility/PixelFormat.hpp>
|
||||
|
||||
///TODO: Faire fonctionner les RenderTexture indépendamment du contexte (un FBO par instance et par contexte l'utilisant)
|
||||
|
||||
class NzContext;
|
||||
class NzRenderBuffer;
|
||||
class NzTexture;
|
||||
|
||||
struct NzRenderTextureImpl;
|
||||
|
||||
class NAZARA_API NzRenderTexture : public NzRenderTarget, NzObjectListener, NzNonCopyable
|
||||
class NAZARA_API NzRenderTexture : public NzRenderTarget, NzNonCopyable
|
||||
{
|
||||
public:
|
||||
NzRenderTexture() = default;
|
||||
@@ -66,7 +69,9 @@ class NAZARA_API NzRenderTexture : public NzRenderTarget, NzObjectListener, NzNo
|
||||
void EnsureTargetUpdated() const override;
|
||||
|
||||
private:
|
||||
bool OnObjectDestroy(const NzRefCounted* object, int index) override;
|
||||
void OnContextDestroy(const NzContext* context);
|
||||
void OnRenderBufferDestroy(const NzRenderBuffer* renderBuffer, int attachmentIndex);
|
||||
void OnTextureDestroy(const NzTexture* texture, int attachmentIndex);
|
||||
void UpdateDrawBuffers() const;
|
||||
void UpdateSize() const;
|
||||
void UpdateTargets() const;
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
#include <Nazara/Core/Color.hpp>
|
||||
#include <Nazara/Core/NonCopyable.hpp>
|
||||
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/RefCounted.hpp>
|
||||
#include <Nazara/Core/Signal.hpp>
|
||||
@@ -26,10 +25,8 @@
|
||||
class NzShader;
|
||||
class NzShaderStage;
|
||||
|
||||
using NzShaderConstListener = NzObjectListenerWrapper<const NzShader>;
|
||||
using NzShaderConstRef = NzObjectRef<const NzShader>;
|
||||
using NzShaderLibrary = NzObjectLibrary<NzShader>;
|
||||
using NzShaderListener = NzObjectListenerWrapper<NzShader>;
|
||||
using NzShaderRef = NzObjectRef<NzShader>;
|
||||
|
||||
class NAZARA_API NzShader : public NzRefCounted, NzNonCopyable
|
||||
@@ -104,6 +101,7 @@ class NAZARA_API NzShader : public NzRefCounted, NzNonCopyable
|
||||
template<typename... Args> static NzShaderRef New(Args&&... args);
|
||||
|
||||
// Signals
|
||||
NazaraSignal(OnShaderDestroy, const NzShader*); //< Args: me
|
||||
NazaraSignal(OnShaderRelease, const NzShader*); //< Args: me
|
||||
NazaraSignal(OnShaderUniformInvalidated, const NzShader*); //< Args: me
|
||||
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/NonCopyable.hpp>
|
||||
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/RefCounted.hpp>
|
||||
#include <Nazara/Core/Resource.hpp>
|
||||
@@ -23,10 +22,8 @@
|
||||
|
||||
class NzTexture;
|
||||
|
||||
using NzTextureConstListener = NzObjectListenerWrapper<const NzTexture>;
|
||||
using NzTextureConstRef = NzObjectRef<const NzTexture>;
|
||||
using NzTextureLibrary = NzObjectLibrary<NzTexture>;
|
||||
using NzTextureListener = NzObjectListenerWrapper<NzTexture>;
|
||||
using NzTextureManager = NzResourceManager<NzTexture, NzImageParams>;
|
||||
using NzTextureRef = NzObjectRef<NzTexture>;
|
||||
|
||||
@@ -111,6 +108,7 @@ class NAZARA_API NzTexture : public NzAbstractImage, public NzRefCounted, public
|
||||
template<typename... Args> static NzTextureRef New(Args&&... args);
|
||||
|
||||
// Signals
|
||||
NazaraSignal(OnTextureDestroy, const NzTexture*); //< Args: me
|
||||
NazaraSignal(OnTextureRelease, const NzTexture*); //< Args: me
|
||||
|
||||
private:
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/ParameterList.hpp>
|
||||
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/RefCounted.hpp>
|
||||
#include <Nazara/Renderer/UberShaderInstance.hpp>
|
||||
@@ -18,10 +17,8 @@
|
||||
|
||||
class NzUberShader;
|
||||
|
||||
using NzUberShaderConstListener = NzObjectListenerWrapper<const NzUberShader>;
|
||||
using NzUberShaderConstRef = NzObjectRef<const NzUberShader>;
|
||||
using NzUberShaderLibrary = NzObjectLibrary<NzUberShader>;
|
||||
using NzUberShaderListener = NzObjectListenerWrapper<NzUberShader>;
|
||||
using NzUberShaderRef = NzObjectRef<NzUberShader>;
|
||||
|
||||
class NAZARA_API NzUberShader : public NzRefCounted
|
||||
@@ -35,6 +32,8 @@ class NAZARA_API NzUberShader : public NzRefCounted
|
||||
|
||||
virtual NzUberShaderInstance* Get(const NzParameterList& parameters) const = 0;
|
||||
|
||||
NazaraSignal(OnUberShaderRelease, const NzUberShader*); //< Args: me
|
||||
|
||||
private:
|
||||
static bool Initialize();
|
||||
static void Uninitialize();
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Renderer/Enums.hpp>
|
||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Renderer/Shader.hpp>
|
||||
#include <Nazara/Renderer/ShaderStage.hpp>
|
||||
@@ -19,16 +18,14 @@
|
||||
|
||||
class NzUberShaderPreprocessor;
|
||||
|
||||
using NzUberShaderPreprocessorConstListener = NzObjectListenerWrapper<const NzUberShaderPreprocessor>;
|
||||
using NzUberShaderPreprocessorConstRef = NzObjectRef<const NzUberShaderPreprocessor>;
|
||||
using NzUberShaderPreprocessorListener = NzObjectListenerWrapper<NzUberShaderPreprocessor>;
|
||||
using NzUberShaderPreprocessorRef = NzObjectRef<NzUberShaderPreprocessor>;
|
||||
|
||||
class NAZARA_API NzUberShaderPreprocessor : public NzUberShader
|
||||
{
|
||||
public:
|
||||
NzUberShaderPreprocessor() = default;
|
||||
~NzUberShaderPreprocessor() = default;
|
||||
~NzUberShaderPreprocessor();
|
||||
|
||||
NzUberShaderInstance* Get(const NzParameterList& parameters) const;
|
||||
|
||||
@@ -38,6 +35,9 @@ class NAZARA_API NzUberShaderPreprocessor : public NzUberShader
|
||||
static bool IsSupported();
|
||||
template<typename... Args> static NzUberShaderPreprocessorRef New(Args&&... args);
|
||||
|
||||
// Signals:
|
||||
NazaraSignal(OnUberShaderPreprocessorRelease, const NzUberShaderPreprocessor*); //< Args: me
|
||||
|
||||
private:
|
||||
struct Shader
|
||||
{
|
||||
|
||||
@@ -9,12 +9,12 @@
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/RefCounted.hpp>
|
||||
#include <Nazara/Core/Resource.hpp>
|
||||
#include <Nazara/Core/ResourceLoader.hpp>
|
||||
#include <Nazara/Core/ResourceManager.hpp>
|
||||
#include <Nazara/Core/Signal.hpp>
|
||||
#include <Nazara/Core/String.hpp>
|
||||
#include <Nazara/Utility/Enums.hpp>
|
||||
#include <Nazara/Utility/Sequence.hpp>
|
||||
@@ -33,10 +33,8 @@ struct NAZARA_API NzAnimationParams
|
||||
class NzAnimation;
|
||||
class NzSkeleton;
|
||||
|
||||
using NzAnimationConstListener = NzObjectListenerWrapper<const NzAnimation>;
|
||||
using NzAnimationConstRef = NzObjectRef<const NzAnimation>;
|
||||
using NzAnimationLibrary = NzObjectLibrary<NzAnimation>;
|
||||
using NzAnimationListener = NzObjectListenerWrapper<NzAnimation>;
|
||||
using NzAnimationLoader = NzResourceLoader<NzAnimation, NzAnimationParams>;
|
||||
using NzAnimationManager = NzResourceManager<NzAnimation, NzAnimationParams>;
|
||||
using NzAnimationRef = NzObjectRef<NzAnimation>;
|
||||
@@ -89,6 +87,10 @@ class NAZARA_API NzAnimation : public NzRefCounted, public NzResource
|
||||
|
||||
template<typename... Args> static NzAnimationRef New(Args&&... args);
|
||||
|
||||
// Signals
|
||||
NazaraSignal(OnAnimationDestroy, const NzAnimation*); //< Args: me
|
||||
NazaraSignal(OnAnimationRelease, const NzAnimation*); //< Args: me
|
||||
|
||||
private:
|
||||
static bool Initialize();
|
||||
static void Uninitialize();
|
||||
|
||||
@@ -9,16 +9,14 @@
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/NonCopyable.hpp>
|
||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/RefCounted.hpp>
|
||||
#include <Nazara/Core/Signal.hpp>
|
||||
#include <Nazara/Utility/Enums.hpp>
|
||||
|
||||
class NzBuffer;
|
||||
|
||||
using NzBufferConstListener = NzObjectListenerWrapper<const NzBuffer>;
|
||||
using NzBufferConstRef = NzObjectRef<const NzBuffer>;
|
||||
using NzBufferListener = NzObjectListenerWrapper<NzBuffer>;
|
||||
using NzBufferRef = NzObjectRef<NzBuffer>;
|
||||
|
||||
class NzAbstractBuffer;
|
||||
@@ -61,6 +59,10 @@ class NAZARA_API NzBuffer : public NzRefCounted, NzNonCopyable
|
||||
template<typename... Args> static NzBufferRef New(Args&&... args);
|
||||
static void SetBufferFactory(nzUInt32 storage, BufferFactory func);
|
||||
|
||||
// Signals:
|
||||
NazaraSignal(OnBufferDestroy, const NzBuffer*); //< Args: me
|
||||
NazaraSignal(OnBufferRelease, const NzBuffer*); //< Args: me
|
||||
|
||||
private:
|
||||
static bool Initialize();
|
||||
static void Uninitialize();
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/NonCopyable.hpp>
|
||||
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/Resource.hpp>
|
||||
#include <Nazara/Core/ResourceLoader.hpp>
|
||||
@@ -30,10 +29,8 @@ class NzFontData;
|
||||
|
||||
struct NzFontGlyph;
|
||||
|
||||
using NzFontConstListener = NzObjectListenerWrapper<const NzFont>;
|
||||
using NzFontConstRef = NzObjectRef<const NzFont>;
|
||||
using NzFontLibrary = NzObjectLibrary<NzFont>;
|
||||
using NzFontListener = NzObjectListenerWrapper<NzFont>;
|
||||
using NzFontLoader = NzResourceLoader<NzFont, NzFontParams>;
|
||||
using NzFontRef = NzObjectRef<NzFont>;
|
||||
|
||||
@@ -117,6 +114,7 @@ class NAZARA_API NzFont : public NzRefCounted, public NzResource, NzNonCopyable
|
||||
|
||||
NazaraSignal(OnFontAtlasChanged, const NzFont*); //< Args: me
|
||||
NazaraSignal(OnFontAtlasLayerChanged, const NzFont*); //< Args: me
|
||||
NazaraSignal(OnFontDestroy, const NzFont*); //< Args: me
|
||||
NazaraSignal(OnFontGlyphCacheCleared, const NzFont*); //< Args: me
|
||||
NazaraSignal(OnFontKerningCacheCleared, const NzFont*); //< Args: me
|
||||
NazaraSignal(OnFontRelease, const NzFont*); //< Args: me
|
||||
|
||||
@@ -11,12 +11,12 @@
|
||||
#include <Nazara/Core/Color.hpp>
|
||||
#include <Nazara/Core/InputStream.hpp>
|
||||
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/RefCounted.hpp>
|
||||
#include <Nazara/Core/Resource.hpp>
|
||||
#include <Nazara/Core/ResourceLoader.hpp>
|
||||
#include <Nazara/Core/ResourceManager.hpp>
|
||||
#include <Nazara/Core/Signal.hpp>
|
||||
#include <Nazara/Utility/AbstractImage.hpp>
|
||||
#include <Nazara/Utility/CubemapParams.hpp>
|
||||
#include <atomic>
|
||||
@@ -36,10 +36,8 @@ struct NAZARA_API NzImageParams
|
||||
|
||||
class NzImage;
|
||||
|
||||
using NzImageConstListener = NzObjectListenerWrapper<const NzImage>;
|
||||
using NzImageConstRef = NzObjectRef<const NzImage>;
|
||||
using NzImageLibrary = NzObjectLibrary<NzImage>;
|
||||
using NzImageListener = NzObjectListenerWrapper<NzImage>;
|
||||
using NzImageLoader = NzResourceLoader<NzImage, NzImageParams>;
|
||||
using NzImageManager = NzResourceManager<NzImage, NzImageParams>;
|
||||
using NzImageRef = NzObjectRef<NzImage>;
|
||||
@@ -148,6 +146,10 @@ class NAZARA_API NzImage : public NzAbstractImage, public NzRefCounted, public N
|
||||
|
||||
static SharedImage emptyImage;
|
||||
|
||||
// Signals:
|
||||
NazaraSignal(OnImageDestroy, const NzImage*); //< Args: me
|
||||
NazaraSignal(OnImageRelease, const NzImage*); //< Args: me
|
||||
|
||||
private:
|
||||
void EnsureOwnership();
|
||||
void ReleaseImage();
|
||||
|
||||
@@ -8,16 +8,13 @@
|
||||
#define NAZARA_INDEXBUFFER_HPP
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/Signal.hpp>
|
||||
#include <Nazara/Utility/Buffer.hpp>
|
||||
|
||||
class NzIndexBuffer;
|
||||
|
||||
using NzIndexBufferConstListener = NzObjectListenerWrapper<const NzIndexBuffer>;
|
||||
using NzIndexBufferConstRef = NzObjectRef<const NzIndexBuffer>;
|
||||
using NzIndexBufferListener = NzObjectListenerWrapper<NzIndexBuffer>;
|
||||
using NzIndexBufferRef = NzObjectRef<NzIndexBuffer>;
|
||||
|
||||
class NAZARA_API NzIndexBuffer : public NzRefCounted
|
||||
@@ -68,7 +65,7 @@ class NAZARA_API NzIndexBuffer : public NzRefCounted
|
||||
template<typename... Args> static NzIndexBufferRef New(Args&&... args);
|
||||
|
||||
// Signals
|
||||
NazaraSignal(OnIndexBufferRelease, const NzIndexBuffer*); //< me
|
||||
NazaraSignal(OnIndexBufferRelease, const NzIndexBuffer*); //< Args: me
|
||||
|
||||
private:
|
||||
NzBufferRef m_buffer;
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/InputStream.hpp>
|
||||
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/Primitive.hpp>
|
||||
#include <Nazara/Core/RefCounted.hpp>
|
||||
@@ -54,10 +53,8 @@ class NzPrimitiveList;
|
||||
typedef NzVertexStruct_XYZ_Normal_UV_Tangent NzMeshVertex;
|
||||
typedef NzVertexStruct_XYZ_Normal_UV_Tangent_Skinning NzSkeletalMeshVertex;
|
||||
|
||||
using NzMeshConstListener = NzObjectListenerWrapper<const NzMesh>;
|
||||
using NzMeshConstRef = NzObjectRef<const NzMesh>;
|
||||
using NzMeshLibrary = NzObjectLibrary<NzMesh>;
|
||||
using NzMeshListener = NzObjectListenerWrapper<NzMesh>;
|
||||
using NzMeshLoader = NzResourceLoader<NzMesh, NzMeshParams>;
|
||||
using NzMeshManager = NzResourceManager<NzMesh, NzMeshParams>;
|
||||
using NzMeshRef = NzObjectRef<NzMesh>;
|
||||
@@ -131,6 +128,10 @@ class NAZARA_API NzMesh : public NzRefCounted, public NzResource
|
||||
|
||||
template<typename... Args> static NzMeshRef New(Args&&... args);
|
||||
|
||||
// Signals:
|
||||
NazaraSignal(OnMeshDestroy, const NzMesh*); //< Args: me
|
||||
NazaraSignal(OnMeshRelease, const NzMesh*); //< Args: me
|
||||
|
||||
private:
|
||||
NzMeshImpl* m_impl = nullptr;
|
||||
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
#define NAZARA_SIMPLETEXTDRAWER_HPP
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/ObjectListener.hpp>
|
||||
#include <Nazara/Core/String.hpp>
|
||||
#include <Nazara/Utility/AbstractTextDrawer.hpp>
|
||||
#include <Nazara/Utility/Enums.hpp>
|
||||
@@ -21,7 +20,7 @@ class NAZARA_API NzSimpleTextDrawer : public NzAbstractTextDrawer
|
||||
NzSimpleTextDrawer();
|
||||
NzSimpleTextDrawer(const NzSimpleTextDrawer& drawer);
|
||||
NzSimpleTextDrawer(NzSimpleTextDrawer&&) = default;
|
||||
virtual ~NzSimpleTextDrawer() = default;
|
||||
virtual ~NzSimpleTextDrawer();
|
||||
|
||||
const NzRectui& GetBounds() const;
|
||||
unsigned int GetCharacterSize() const;
|
||||
|
||||
@@ -8,15 +8,13 @@
|
||||
#define NAZARA_SKELETALMESH_HPP
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/Signal.hpp>
|
||||
#include <Nazara/Utility/SubMesh.hpp>
|
||||
|
||||
class NzSkeletalMesh;
|
||||
|
||||
using NzSkeletalMeshConstListener = NzObjectListenerWrapper<const NzSkeletalMesh>;
|
||||
using NzSkeletalMeshConstRef = NzObjectRef<const NzSkeletalMesh>;
|
||||
using NzSkeletalMeshListener = NzObjectListenerWrapper<NzSkeletalMesh>;
|
||||
using NzSkeletalMeshRef = NzObjectRef<NzSkeletalMesh>;
|
||||
|
||||
class NAZARA_API NzSkeletalMesh final : public NzSubMesh
|
||||
@@ -43,6 +41,10 @@ class NAZARA_API NzSkeletalMesh final : public NzSubMesh
|
||||
|
||||
template<typename... Args> static NzSkeletalMeshRef New(Args&&... args);
|
||||
|
||||
// Signals:
|
||||
NazaraSignal(OnSkeletalMeshDestroy, const NzSkeletalMesh*); //< Args: me
|
||||
NazaraSignal(OnSkeletalMeshRelease, const NzSkeletalMesh*); //< Args: me
|
||||
|
||||
private:
|
||||
NzBoxf m_aabb;
|
||||
NzIndexBufferConstRef m_indexBuffer = nullptr;
|
||||
|
||||
@@ -9,19 +9,17 @@
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/RefCounted.hpp>
|
||||
#include <Nazara/Core/Signal.hpp>
|
||||
#include <Nazara/Math/Box.hpp>
|
||||
#include <Nazara/Utility/Joint.hpp>
|
||||
#include <vector>
|
||||
|
||||
class NzSkeleton;
|
||||
|
||||
using NzSkeletonConstListener = NzObjectListenerWrapper<const NzSkeleton>;
|
||||
using NzSkeletonConstRef = NzObjectRef<const NzSkeleton>;
|
||||
using NzSkeletonLibrary = NzObjectLibrary<NzSkeleton>;
|
||||
using NzSkeletonListener = NzObjectListenerWrapper<NzSkeleton>;
|
||||
using NzSkeletonRef = NzObjectRef<NzSkeleton>;
|
||||
|
||||
struct NzSkeletonImpl;
|
||||
@@ -59,6 +57,11 @@ class NAZARA_API NzSkeleton : public NzRefCounted
|
||||
|
||||
template<typename... Args> static NzSkeletonRef New(Args&&... args);
|
||||
|
||||
// Signals:
|
||||
NazaraSignal(OnSkeletonDestroy, const NzSkeleton*); //< Args: me
|
||||
NazaraSignal(OnSkeletonJointsInvalidated, const NzSkeleton*); //< Args: me
|
||||
NazaraSignal(OnSkeletonRelease, const NzSkeleton*); //< Args: me
|
||||
|
||||
private:
|
||||
void InvalidateJoints();
|
||||
void InvalidateJointMap();
|
||||
|
||||
@@ -8,15 +8,12 @@
|
||||
#define NAZARA_STATICMESH_HPP
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/ObjectListener.hpp>
|
||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||
#include <Nazara/Core/Signal.hpp>
|
||||
#include <Nazara/Utility/SubMesh.hpp>
|
||||
|
||||
class NzStaticMesh;
|
||||
|
||||
using NzStaticMeshConstListener = NzObjectListenerWrapper<const NzStaticMesh>;
|
||||
using NzStaticMeshConstRef = NzObjectRef<const NzStaticMesh>;
|
||||
using NzStaticMeshListener = NzObjectListenerWrapper<NzStaticMesh>;
|
||||
using NzStaticMeshRef = NzObjectRef<NzStaticMesh>;
|
||||
|
||||
class NAZARA_API NzStaticMesh final : public NzSubMesh
|
||||
@@ -47,6 +44,10 @@ class NAZARA_API NzStaticMesh final : public NzSubMesh
|
||||
|
||||
template<typename... Args> static NzStaticMeshRef New(Args&&... args);
|
||||
|
||||
// Signals:
|
||||
NazaraSignal(OnStaticMeshDestroy, const NzStaticMesh*); //< Args: me
|
||||
NazaraSignal(OnStaticMeshRelease, const NzStaticMesh*); //< Args: me
|
||||
|
||||
private:
|
||||
NzBoxf m_aabb;
|
||||
NzIndexBufferConstRef m_indexBuffer = nullptr;
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
#define NAZARA_SUBMESH_HPP
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/RefCounted.hpp>
|
||||
#include <Nazara/Math/Box.hpp>
|
||||
@@ -20,9 +19,7 @@
|
||||
class NzMesh;
|
||||
class NzSubMesh;
|
||||
|
||||
using NzSubMeshConstListener = NzObjectListenerWrapper<const NzSubMesh>;
|
||||
using NzSubMeshConstRef = NzObjectRef<const NzSubMesh>;
|
||||
using NzSubMeshListener = NzObjectListenerWrapper<NzSubMesh>;
|
||||
using NzSubMeshRef = NzObjectRef<NzSubMesh>;
|
||||
|
||||
class NAZARA_API NzSubMesh : public NzRefCounted
|
||||
@@ -51,6 +48,9 @@ class NAZARA_API NzSubMesh : public NzRefCounted
|
||||
void SetMaterialIndex(unsigned int matIndex);
|
||||
void SetPrimitiveMode(nzPrimitiveMode mode);
|
||||
|
||||
// Signals:
|
||||
NazaraSignal(OnSubMeshRelease, const NzSubMesh*); //< Args: me
|
||||
|
||||
protected:
|
||||
nzPrimitiveMode m_primitiveMode;
|
||||
const NzMesh* m_parent;
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
#define NAZARA_VERTEXBUFFER_HPP
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/RefCounted.hpp>
|
||||
#include <Nazara/Core/Signal.hpp>
|
||||
@@ -17,9 +16,7 @@
|
||||
|
||||
class NzVertexBuffer;
|
||||
|
||||
using NzVertexBufferConstListener = NzObjectListenerWrapper<const NzVertexBuffer>;
|
||||
using NzVertexBufferConstRef = NzObjectRef<NzVertexBuffer>;
|
||||
using NzVertexBufferListener = NzObjectListenerWrapper<NzVertexBuffer>;
|
||||
using NzVertexBufferRef = NzObjectRef<NzVertexBuffer>;
|
||||
|
||||
class NAZARA_API NzVertexBuffer : public NzRefCounted
|
||||
@@ -66,7 +63,7 @@ class NAZARA_API NzVertexBuffer : public NzRefCounted
|
||||
template<typename... Args> static NzVertexBufferRef New(Args&&... args);
|
||||
|
||||
// Signals
|
||||
NazaraSignal(OnVertexBufferRelease, const NzVertexBuffer*); //< me
|
||||
NazaraSignal(OnVertexBufferRelease, const NzVertexBuffer*); //< Args: me
|
||||
|
||||
private:
|
||||
NzBufferRef m_buffer;
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
|
||||
#include <Nazara/Prerequesites.hpp>
|
||||
#include <Nazara/Core/ObjectLibrary.hpp>
|
||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/RefCounted.hpp>
|
||||
#include <Nazara/Core/Signal.hpp>
|
||||
@@ -17,10 +16,8 @@
|
||||
|
||||
class NzVertexDeclaration;
|
||||
|
||||
using NzVertexDeclarationConstListener = NzObjectListenerWrapper<const NzVertexDeclaration>;
|
||||
using NzVertexDeclarationConstRef = NzObjectRef<const NzVertexDeclaration>;
|
||||
using NzVertexDeclarationLibrary = NzObjectLibrary<NzVertexDeclaration>;
|
||||
using NzVertexDeclarationListener = NzObjectListenerWrapper<NzVertexDeclaration>;
|
||||
using NzVertexDeclarationRef = NzObjectRef<NzVertexDeclaration>;
|
||||
|
||||
class NAZARA_API NzVertexDeclaration : public NzRefCounted
|
||||
@@ -48,7 +45,7 @@ class NAZARA_API NzVertexDeclaration : public NzRefCounted
|
||||
template<typename... Args> static NzVertexDeclarationRef New(Args&&... args);
|
||||
|
||||
// Signals
|
||||
NazaraSignal(OnVertexDeclarationRelease, const NzVertexDeclaration*); //< me
|
||||
NazaraSignal(OnVertexDeclarationRelease, const NzVertexDeclaration*); //< Args: me
|
||||
|
||||
private:
|
||||
static bool Initialize();
|
||||
|
||||
Reference in New Issue
Block a user