2016-05-17 03:04:11 +12:00
|
|
|
#pragma once
|
2016-03-19 06:57:51 +13:00
|
|
|
|
|
|
|
#ifndef STDFX_INCLUDED
|
|
|
|
#define STDFX_INCLUDED
|
|
|
|
|
|
|
|
// TnzBase includes
|
|
|
|
#include "trasterfx.h"
|
|
|
|
#include "tzeraryfx.h"
|
|
|
|
#include "tdoubleparam.h"
|
|
|
|
|
|
|
|
//==================================================================
|
|
|
|
|
|
|
|
class PaletteFilterFxRenderData;
|
|
|
|
|
2016-04-19 19:32:17 +12:00
|
|
|
static const std::string PLUGIN_PREFIX("STD");
|
2016-03-19 06:57:51 +13:00
|
|
|
|
2016-06-15 18:43:10 +12:00
|
|
|
#define FX_PLUGIN_DECLARATION(T) \
|
2017-06-07 00:19:00 +12:00
|
|
|
\
|
2016-06-15 18:43:10 +12:00
|
|
|
public: \
|
2016-06-23 22:02:33 +12:00
|
|
|
const TPersistDeclaration *getDeclaration() const override;
|
2016-03-19 06:57:51 +13:00
|
|
|
|
2016-04-15 17:11:23 +12:00
|
|
|
#ifdef _WIN32
|
2016-03-19 06:57:51 +13:00
|
|
|
|
|
|
|
#ifdef TNZSTDFX_EXPORTS
|
|
|
|
|
2016-06-15 18:43:10 +12:00
|
|
|
#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; }
|
2016-03-19 06:57:51 +13:00
|
|
|
#else
|
2016-06-15 18:43:10 +12:00
|
|
|
#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; }
|
2016-03-19 06:57:51 +13:00
|
|
|
#endif
|
|
|
|
#else
|
2016-06-15 18:43:10 +12:00
|
|
|
#define FX_PLUGIN_IDENTIFIER(T, I) \
|
|
|
|
namespace { \
|
|
|
|
TFxDeclarationT<T> info##T(TFxInfo(PLUGIN_PREFIX + "_" + I, false)); \
|
|
|
|
} \
|
|
|
|
const TPersistDeclaration *T::getDeclaration() const { return &info##T; }
|
2016-03-19 06:57:51 +13:00
|
|
|
#endif
|
|
|
|
|
2016-06-15 18:43:10 +12:00
|
|
|
class TStandardRasterFx : public TRasterFx {
|
2016-03-19 06:57:51 +13:00
|
|
|
public:
|
2016-06-19 20:06:29 +12:00
|
|
|
std::string getPluginId() const override { return PLUGIN_PREFIX; }
|
2016-03-19 06:57:51 +13:00
|
|
|
};
|
|
|
|
|
|
|
|
//-------------------------------------------------------------------
|
|
|
|
|
2016-06-15 18:43:10 +12:00
|
|
|
class TStandardZeraryFx : public TZeraryFx {
|
2016-03-19 06:57:51 +13:00
|
|
|
public:
|
2016-06-19 20:06:29 +12:00
|
|
|
std::string getPluginId() const override { return PLUGIN_PREFIX; }
|
2016-03-19 06:57:51 +13:00
|
|
|
};
|
|
|
|
|
|
|
|
//-------------------------------------------------------------------
|
|
|
|
|
|
|
|
bool isAlmostIsotropic(const TAffine &aff);
|
|
|
|
|
2016-07-22 16:38:33 +12:00
|
|
|
DV_EXPORT_API void initStdFx();
|
|
|
|
|
2016-03-19 06:57:51 +13:00
|
|
|
#endif
|