Blob Blame Raw


#ifndef BRIGHTCONTFX_H
#define BRIGHTCONTFX_H

#include "stdfx.h"

class Bright_ContFx : public TStandardRasterFx, public TDoubleParamObserver
{
	FX_PLUGIN_DECLARATION(Bright_ContFx)

	TRasterFxPort m_input;
	TDoubleParamP m_bright;
	TDoubleParamP m_contrast;

public:
	Bright_ContFx()
		: m_bright(127.5), m_contrast(50.0)
	{
		addParam("brightness", m_bright);
		addParam("contrast", m_contrast);
		m_bright->setValueRange(0, 255);
		m_contrast->setValueRange(0, 100);
		addPort("Source", m_input);
	}

	~Bright_ContFx(){};

	//TParamObserver method
	void onChange(const TParamChange &change)
	{
		notify(TFxParamChange(change));
	}

	bool getBBox(double frame, TRectD &bBox, TPixel32 &bgColor)
	{
		return m_input->getBBox(frame, bBox, bgColor);
	};

	void compute(TTile &tile, double frame, const TRasterFxRenderInfo *);

	TRect getInvalidRect(const TRect &max);
};
#endif