#pragma once #ifndef IWA_TEXTFX_H #define IWA_TEXTFX_H #include "tparamset.h" #include "textawarebasefx.h" //****************************************************************** // Iwa_Text Fx class //****************************************************************** class Iwa_TextFx final : public TextAwareBaseFx { FX_PLUGIN_DECLARATION(Iwa_TextFx) protected: TStringParamP m_text; TIntEnumParamP m_hAlign; TPointParamP m_center; TDoubleParamP m_width; TDoubleParamP m_height; TFontParamP m_font; TPixelParamP m_textColor; TPixelParamP m_boxColor; TBoolParamP m_showBorder; template void putTextImage(const RASTER srcRas, TPoint &pos, QImage &img); public: Iwa_TextFx(); bool canHandle(const TRenderSettings &info, double frame) override { return true; } bool doGetBBox(double frame, TRectD &bBox, const TRenderSettings &ri) override; void doCompute(TTile &tile, double frame, const TRenderSettings &ri) override; void getParamUIs(TParamUIConcept *&concepts, int &length) override; std::string getAlias(double frame, const TRenderSettings &info) const override; }; #endif