Renderer/Renderer: Replace listeners by signals
Former-commit-id: c1293f7f7cc31c4122ba866fc44d93188917ad93
This commit is contained in:
@@ -17,7 +17,8 @@
|
||||
#define NazaraSlotType(Class, SignalName) Class::SignalName ## Type::ConnectionGuard
|
||||
#define NazaraSlot(Class, SignalName, SlotName) NazaraSlotType(Class, SignalName) SlotName
|
||||
|
||||
#define NazaraConnect(Instance, SignalName, Callback) (Instance).SignalName.Connect(this, Callback)
|
||||
#define NazaraConnect(Instance, SignalName, Callback) (Instance).SignalName.Connect(Callback)
|
||||
#define NazaraConnectThis(Instance, SignalName, Callback) (Instance).SignalName.Connect(this, Callback)
|
||||
#define NazaraDisconnect(SlotName) SlotName.GetConnection().Disconnect()
|
||||
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/RefCounted.hpp>
|
||||
#include <Nazara/Core/Signal.hpp>
|
||||
#include <Nazara/Renderer/ContextParameters.hpp>
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
@@ -49,6 +50,8 @@ class NAZARA_API NzContext : public NzRefCounted
|
||||
static const NzContext* GetReference();
|
||||
static const NzContext* GetThreadContext();
|
||||
|
||||
NazaraSignal(OnContextRelease, const NzContext*); //< me
|
||||
|
||||
private:
|
||||
static bool Initialize();
|
||||
static void Uninitialize();
|
||||
|
||||
@@ -110,8 +110,12 @@ class NAZARA_API NzRenderer
|
||||
private:
|
||||
static void EnableInstancing(bool instancing);
|
||||
static bool EnsureStateUpdate();
|
||||
static void OnContextRelease(const NzContext* context);
|
||||
static void OnIndexBufferRelease(const NzIndexBuffer* indexBuffer);
|
||||
static void OnShaderReleased(const NzShader* shader);
|
||||
static void OnTextureReleased(const NzTexture* texture);
|
||||
static void OnVertexBufferRelease(const NzVertexBuffer* vertexBuffer);
|
||||
static void OnVertexDeclarationRelease(const NzVertexDeclaration* vertexDeclaration);
|
||||
static void UpdateMatrix(nzMatrixType type);
|
||||
|
||||
static unsigned int s_moduleReferenceCounter;
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
#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;
|
||||
@@ -66,6 +67,8 @@ class NAZARA_API NzIndexBuffer : public NzRefCounted
|
||||
|
||||
template<typename... Args> static NzIndexBufferRef New(Args&&... args);
|
||||
|
||||
NazaraSignal(OnIndexBufferRelease, const NzIndexBuffer*); //< me
|
||||
|
||||
private:
|
||||
NzBufferRef m_buffer;
|
||||
bool m_largeIndices;
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#include <Nazara/Core/ObjectListenerWrapper.hpp>
|
||||
#include <Nazara/Core/ObjectRef.hpp>
|
||||
#include <Nazara/Core/RefCounted.hpp>
|
||||
#include <Nazara/Core/Signal.hpp>
|
||||
#include <Nazara/Utility/Buffer.hpp>
|
||||
#include <Nazara/Utility/VertexDeclaration.hpp>
|
||||
|
||||
@@ -64,6 +65,8 @@ class NAZARA_API NzVertexBuffer : public NzRefCounted
|
||||
|
||||
template<typename... Args> static NzVertexBufferRef New(Args&&... args);
|
||||
|
||||
NazaraSignal(OnVertexBufferRelease, const NzVertexBuffer*); //< me
|
||||
|
||||
private:
|
||||
NzBufferRef m_buffer;
|
||||
NzVertexDeclarationConstRef m_vertexDeclaration;
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
#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 NzVertexDeclaration;
|
||||
@@ -46,6 +47,8 @@ class NAZARA_API NzVertexDeclaration : public NzRefCounted
|
||||
static bool IsTypeSupported(nzComponentType type);
|
||||
template<typename... Args> static NzVertexDeclarationRef New(Args&&... args);
|
||||
|
||||
NazaraSignal(OnVertexDeclarationRelease, const NzVertexDeclaration*); //< me
|
||||
|
||||
private:
|
||||
static bool Initialize();
|
||||
static void Uninitialize();
|
||||
|
||||
Reference in New Issue
Block a user