#define INCLUDED_ISHADERS_H
#include "generic/constant.h"
-#include "generic/callbackfwd.h"
+#include "generic/callback.h"
enum
{
virtual float alphaTest() const = 0;
};
-typedef Callback1<const ShaderLayer&> ShaderLayerCallback;
-
+typedef Callback<void(const ShaderLayer&)> ShaderLayerCallback;
class IShader
{
virtual qtexture_t* getSpecular() const = 0;
// get shader name
virtual const char* getName() const = 0;
+virtual const char* getWadName() const = 0;
+virtual void setWadName( const char* name ) = 0;
virtual bool IsInUse() const = 0;
virtual void SetInUse( bool bInUse ) = 0;
// get the editor flags (QER_NOCARVE QER_TRANS)
virtual const char* getShaderFileName() const = 0;
virtual const ShaderLayer* firstLayer() const = 0;
-virtual void forEachLayer( const ShaderLayerCallback& layer ) const = 0;
virtual qtexture_t* lightFalloffImage() const = 0;
};
typedef struct _GSList GSList;
-typedef Callback1<const char*> ShaderNameCallback;
+typedef Callback<void(const char*)> ShaderNameCallback;
class ModuleObserver;
virtual IShader* dereferenceActiveShadersIterator() = 0;
virtual void incrementActiveShadersIterator() = 0;
-virtual void setActiveShadersChangedNotify( const Callback& notify ) = 0;
+virtual void setActiveShadersChangedNotify( const Callback<void()>& notify ) = 0;
virtual void attach( ModuleObserver& observer ) = 0;
virtual void detach( ModuleObserver& observer ) = 0;
return GlobalShadersModule::getTable();
}
-
#define QERApp_Shader_ForName GlobalShaderSystem().getShaderForName
#define QERApp_ActiveShaders_IteratorBegin GlobalShaderSystem().beginActiveShadersIterator
#define QERApp_ActiveShaders_IteratorAtEnd GlobalShaderSystem().endActiveShadersIterator