66 lines
2.4 KiB
C++
66 lines
2.4 KiB
C++
#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<T>; \
|
|
namespace { \
|
|
TFxDeclarationT<T> 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<T>; \
|
|
namespace { \
|
|
TFxDeclarationT<T> 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<T> 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
|