#pragma once #ifndef STDFX_INCLUDED #define STDFX_INCLUDED // TnzBase includes #include "trasterfx.h" #include "tzeraryfx.h" #include "tdoubleparam.h" //================================================================== class PaletteFilterFxRenderData; static const std::string PLUGIN_PREFIX("STD"); #define FX_PLUGIN_DECLARATION(T) \ \ public: \ const TPersistDeclaration *getDeclaration() const override; #ifdef _WIN32 #ifdef TNZSTDFX_EXPORTS #define FX_PLUGIN_IDENTIFIER(T, I) \ template class DV_EXPORT_API TFxDeclarationT; \ namespace { \ TFxDeclarationT info##T(TFxInfo(PLUGIN_PREFIX + "_" + I, false)); \ } \ const TPersistDeclaration *T::getDeclaration() const { return &info##T; } #else #define FX_PLUGIN_IDENTIFIER(T, I) \ template class DV_IMPORT_API TFxDeclarationT; \ namespace { \ TFxDeclarationT info##T(TFxInfo(PLUGIN_PREFIX + "_" + I, false)); \ } \ const TPersistDeclaration *T::getDeclaration() const { return &info##T; } #endif #else #define FX_PLUGIN_IDENTIFIER(T, I) \ namespace { \ TFxDeclarationT info##T(TFxInfo(PLUGIN_PREFIX + "_" + I, false)); \ } \ const TPersistDeclaration *T::getDeclaration() const { return &info##T; } #endif class TStandardRasterFx : public TRasterFx { public: std::string getPluginId() const override { return PLUGIN_PREFIX; } }; //------------------------------------------------------------------- class TStandardZeraryFx : public TZeraryFx { public: std::string getPluginId() const override { return PLUGIN_PREFIX; } }; //------------------------------------------------------------------- bool isAlmostIsotropic(const TAffine &aff); DV_EXPORT_API void initStdFx(); #endif