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