| #pragma once |
| |
| #ifndef TTZPIMAGEFX_H |
| #define TTZPIMAGEFX_H |
| |
| |
| #include "tpalette.h" |
| #include "trastercm.h" |
| |
| |
| #include "trasterfxrenderdata.h" |
| |
| |
| #include "ext/plasticskeletondeformation.h" |
| |
| |
| #include <vector> |
| #include <set> |
| #include <string> |
| |
| #undef DVAPI |
| #undef DVVAR |
| #ifdef TFX_EXPORTS |
| #define DVAPI DV_EXPORT_API |
| #define DVVAR DV_EXPORT_VAR |
| #else |
| #define DVAPI DV_IMPORT_API |
| #define DVVAR DV_IMPORT_VAR |
| #endif |
| |
| |
| |
| |
| |
| class DVAPI ExternalPaletteFxRenderData : public TRasterFxRenderData |
| { |
| public: |
| TPaletteP m_palette; |
| std::string m_name; |
| |
| public: |
| ExternalPaletteFxRenderData(TPaletteP palette, const std::string &name); |
| |
| float typeIndex() const { return 0.0f; } |
| |
| bool operator==(const TRasterFxRenderData &data) const; |
| std::string toString() const; |
| }; |
| |
| |
| |
| |
| |
| enum FilterType { eApplyToInksAndPaints = 0, |
| eApplyToInksKeepingAllPaints, |
| eApplyToPaintsKeepingAllInks, |
| eApplyToInksAndPaints_NoGap, |
| eApplyToInksDeletingAllPaints, |
| eApplyToPaintsDeletingAllInks }; |
| |
| |
| |
| class DVAPI PaletteFilterFxRenderData : public TRasterFxRenderData |
| { |
| public: |
| bool m_keep; |
| FilterType m_type; |
| std::set<int> m_colors; |
| |
| public: |
| PaletteFilterFxRenderData(); |
| |
| float typeIndex() const { return (m_type == eApplyToInksAndPaints) ? 0.5f : 1.0f; } |
| |
| bool operator==(const TRasterFxRenderData &data) const; |
| std::string toString() const; |
| }; |
| |
| |
| |
| void DVAPI insertIndexes(std::vector<std::string> items, PaletteFilterFxRenderData *t); |
| void DVAPI parseIndexes(std::string indexes, std::vector<std::string> &items); |
| |
| |
| |
| |
| |
| enum Type { BlendTz, |
| Calligraphic, |
| ArtAtContour, |
| OutBorder }; |
| |
| |
| |
| class DVAPI BlendTzParams |
| { |
| public: |
| std::wstring m_colorIndex; |
| bool m_noBlending; |
| double m_amount; |
| double m_smoothness; |
| int m_superSampling; |
| |
| public: |
| BlendTzParams() |
| : m_colorIndex(L""), m_noBlending(false), m_amount(0.0), m_smoothness(0.0), m_superSampling(0) {} |
| }; |
| |
| |
| |
| class DVAPI CalligraphicParams |
| { |
| public: |
| std::wstring m_colorIndex; |
| double m_thickness; |
| double m_horizontal; |
| double m_vertical; |
| double m_upWDiagonal; |
| double m_doWDiagonal; |
| double m_accuracy; |
| double m_noise; |
| |
| public: |
| CalligraphicParams() |
| : m_thickness(0.0), m_horizontal(0.0), m_vertical(0.0), m_upWDiagonal(0.0), m_doWDiagonal(0.0), m_accuracy(0.0), m_noise(0.0), m_colorIndex(L"") {} |
| }; |
| |
| |
| |
| class DVAPI ArtAtContourParams |
| { |
| public: |
| double m_maxSize; |
| double m_minSize; |
| double m_maxOrientation; |
| double m_minOrientation; |
| bool m_randomness; |
| double m_maxDistance; |
| double m_minDistance; |
| double m_density; |
| bool m_keepLine; |
| bool m_keepColor; |
| bool m_includeAlpha; |
| std::wstring m_colorIndex; |
| |
| public: |
| ArtAtContourParams() |
| : m_maxSize(0.0), m_minSize(0.0), m_maxOrientation(0.0), m_minOrientation(0.0), m_randomness(false), m_maxDistance(0.0), m_minDistance(0.0), m_density(0.0), m_keepLine(false), m_keepColor(false), m_includeAlpha(true), m_colorIndex(L"") {} |
| }; |
| |
| |
| |
| |
| |
| class DVAPI SandorFxRenderData : public TRasterFxRenderData |
| { |
| public: |
| Type m_type; |
| BlendTzParams m_blendParams; |
| CalligraphicParams m_callParams; |
| ArtAtContourParams m_contourParams; |
| int m_border, m_shrink; |
| int m_argc; |
| const char *m_argv[12]; |
| TRectD m_controllerBBox; |
| TRasterP m_controller; |
| std::string m_controllerAlias; |
| |
| public: |
| SandorFxRenderData(Type type, int argc, const char *argv[], int border, int shrink, |
| const TRectD &controllerBBox = TRectD(), const TRasterP &controller = TRasterP()); |
| |
| float typeIndex() const { return (m_type == BlendTz) ? 2.0f : 3.0f; } |
| |
| bool operator==(const TRasterFxRenderData &data) const; |
| std::string toString() const; |
| |
| TRectD getBBoxEnlargement(const TRectD &bbox); |
| }; |
| |
| #endif |