Fully replace listener system by signals
Former-commit-id: 032dfddd12cc3a792c71426148c758ffac3621f9
This commit is contained in:
@@ -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
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user