Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#ifndef STDFX_INCLUDED
Toshihiro Shimizu 890ddd
#define STDFX_INCLUDED
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
// TnzBase includes
Toshihiro Shimizu 890ddd
#include "trasterfx.h"
Toshihiro Shimizu 890ddd
#include "tzeraryfx.h"
Toshihiro Shimizu 890ddd
#include "tdoubleparam.h"
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//==================================================================
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
class PaletteFilterFxRenderData;
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
static const string PLUGIN_PREFIX("STD");
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#define FX_PLUGIN_DECLARATION(T) \
Toshihiro Shimizu 890ddd
public:                          \
Toshihiro Shimizu 890ddd
	const TPersistDeclaration *getDeclaration() const;
Toshihiro Shimizu 890ddd
Shinya Kitaoka 9f5a1b
#ifdef _WIN32
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#ifdef TNZSTDFX_EXPORTS
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#define FX_PLUGIN_IDENTIFIER(T, I)                                       \
Toshihiro Shimizu 890ddd
	template class DV_EXPORT_API TFxDeclarationT<t>;                     \</t>
Toshihiro Shimizu 890ddd
	namespace                                                            \
Toshihiro Shimizu 890ddd
	{                                                                    \
Toshihiro Shimizu 890ddd
	TFxDeclarationT<t> info##T(TFxInfo(PLUGIN_PREFIX + "_" + I, false)); \</t>
Toshihiro Shimizu 890ddd
	}                                                                    \
Toshihiro Shimizu 890ddd
	const TPersistDeclaration *T::getDeclaration() const { return &info##T; }
Toshihiro Shimizu 890ddd
#else
Toshihiro Shimizu 890ddd
#define FX_PLUGIN_IDENTIFIER(T, I)                                       \
Toshihiro Shimizu 890ddd
	template class DV_IMPORT_API TFxDeclarationT<t>;                     \</t>
Toshihiro Shimizu 890ddd
	namespace                                                            \
Toshihiro Shimizu 890ddd
	{                                                                    \
Toshihiro Shimizu 890ddd
	TFxDeclarationT<t> info##T(TFxInfo(PLUGIN_PREFIX + "_" + I, false)); \</t>
Toshihiro Shimizu 890ddd
	}                                                                    \
Toshihiro Shimizu 890ddd
	const TPersistDeclaration *T::getDeclaration() const { return &info##T; }
Toshihiro Shimizu 890ddd
#endif
Toshihiro Shimizu 890ddd
#else
Toshihiro Shimizu 890ddd
#define FX_PLUGIN_IDENTIFIER(T, I)                                       \
Toshihiro Shimizu 890ddd
	namespace                                                            \
Toshihiro Shimizu 890ddd
	{                                                                    \
Toshihiro Shimizu 890ddd
	TFxDeclarationT<t> info##T(TFxInfo(PLUGIN_PREFIX + "_" + I, false)); \</t>
Toshihiro Shimizu 890ddd
	}                                                                    \
Toshihiro Shimizu 890ddd
	const TPersistDeclaration *T::getDeclaration() const { return &info##T; }
Toshihiro Shimizu 890ddd
#endif
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
class TStandardRasterFx : public TRasterFx
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
public:
Toshihiro Shimizu 890ddd
	string getPluginId() const { return PLUGIN_PREFIX; }
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
class TStandardZeraryFx : public TZeraryFx
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
public:
Toshihiro Shimizu 890ddd
	string getPluginId() const { return PLUGIN_PREFIX; }
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
bool isAlmostIsotropic(const TAffine &aff);
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#endif