1 #pragma once 2 #ifndef IWA_LINEARGRADIENTFX_H 3 #define IWA_LINEARGRADIENTFX_H 4 5 #include "tfxparam.h" 6 #include "stdfx.h" 7 #include "tparamset.h" 8 9 class Iwa_LinearGradientFx final : public TStandardZeraryFx { 10 FX_PLUGIN_DECLARATION(Iwa_LinearGradientFx) 11 12 TIntEnumParamP m_curveType; 13 TPointParamP m_startPoint, m_endPoint; 14 TPixelParamP m_startColor, m_endColor; 15 16 TDoubleParamP m_wave_amplitude; 17 TDoubleParamP m_wave_freq; 18 TDoubleParamP m_wave_phase; 19 20 public: 21 Iwa_LinearGradientFx(); 22 canHandle(const TRenderSettings & info,double frame)23 bool canHandle(const TRenderSettings &info, double frame) override { 24 return true; 25 } 26 bool doGetBBox(double frame, TRectD &bBox, 27 const TRenderSettings &ri) override; 28 void doCompute(TTile &tile, double frame, const TRenderSettings &ri) override; 29 void getParamUIs(TParamUIConcept *&concepts, int &length) override; 30 }; 31 32 #endif