Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#include "tpixelutils.h"
Toshihiro Shimizu 890ddd
#include "tvectorimage.h"
Toshihiro Shimizu 890ddd
#include "trop.h"
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#include <qapplication></qapplication>
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#include "toonz/cleanupcolorstyles.h"
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
TCleanupStyle::TCleanupStyle(const TPixel32 &color)
Toshihiro Shimizu 890ddd
	: TSolidColorStyle(color), m_outColor(color), m_brightness(0), m_contrast(50), m_canUpdate(true)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
TCleanupStyle::TCleanupStyle(const TCleanupStyle &src)
Toshihiro Shimizu 890ddd
	: TSolidColorStyle(src), m_outColor(src.m_outColor), m_brightness(src.m_brightness), m_contrast(src.m_contrast), m_contrastEnable(true), m_canUpdate(src.m_canUpdate)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	setName(src.getName());
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
TCleanupStyle::~TCleanupStyle()
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void TCleanupStyle::setCanUpdate(bool state)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	m_canUpdate = state;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//--------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void TCleanupStyle::loadData(TInputStreamInterface &is)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	TSolidColorStyle::loadData(is);
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
	VersionNumber version(is.versionNumber());
Toshihiro Shimizu 890ddd
	if (version.first == 1 && version.second == 18) {
Toshihiro Shimizu 890ddd
		//Toonz 6.3 ML had removed the output color option
Toshihiro Shimizu 890ddd
		TPixel32 dummy;
Toshihiro Shimizu 890ddd
		is >> dummy >> m_brightness >> m_contrast;
Toshihiro Shimizu 890ddd
		m_outColor = getMainColor();
Toshihiro Shimizu 890ddd
	} else
Toshihiro Shimizu 890ddd
		is >> m_outColor >> m_brightness >> m_contrast;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void TCleanupStyle::saveData(TOutputStreamInterface &os) const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	TSolidColorStyle::saveData(os);
Toshihiro Shimizu 890ddd
	os << m_outColor << m_brightness << m_contrast;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void TCleanupStyle::setMainColor(const TPixel32 &color)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	if (getMainColor() == m_outColor)
Toshihiro Shimizu 890ddd
		m_outColor = color;
Toshihiro Shimizu 890ddd
	TSolidColorStyle::setMainColor(color);
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
int TCleanupStyle::getColorParamCount() const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	return 2;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
TPixel32 TCleanupStyle::getColorParamValue(int index) const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	return (index == 0) ? getMainColor() : m_outColor;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void TCleanupStyle::setColorParamValue(int index, const TPixel32 &color)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	if (index == 0)
Toshihiro Shimizu 890ddd
		setMainColor(color);
Toshihiro Shimizu 890ddd
	else
Toshihiro Shimizu 890ddd
		m_outColor = color;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
QString TCleanupStyle::getParamNames(int index) const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	switch (index) {
Toshihiro Shimizu 890ddd
	case 0:
Toshihiro Shimizu 890ddd
		return "Brightness";
Toshihiro Shimizu 890ddd
	case 1:
Toshihiro Shimizu 890ddd
		return "Contrast";
Toshihiro Shimizu 890ddd
	default:
Toshihiro Shimizu 890ddd
		return QString("");
Toshihiro Shimizu 890ddd
	}
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void TCleanupStyle::getParamRange(int index, double &min, double &max) const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	if (index == 0) {
Toshihiro Shimizu 890ddd
		min = -100;
Toshihiro Shimizu 890ddd
		max = 100;
Toshihiro Shimizu 890ddd
	} else {
Toshihiro Shimizu 890ddd
		min = 0;
Toshihiro Shimizu 890ddd
		max = 100;
Toshihiro Shimizu 890ddd
	}
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
double TCleanupStyle::getParamValue(TColorStyle::double_tag, int index) const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	switch (index) {
Toshihiro Shimizu 890ddd
	case 0:
Toshihiro Shimizu 890ddd
		return getBrightness();
Toshihiro Shimizu 890ddd
	case 1:
Toshihiro Shimizu 890ddd
		return getContrast();
Toshihiro Shimizu 890ddd
	default:
Toshihiro Shimizu 890ddd
		return 0.0;
Toshihiro Shimizu 890ddd
	}
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void TCleanupStyle::setParamValue(int index, double value)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	switch (index) {
Toshihiro Shimizu 890ddd
	case 0:
Toshihiro Shimizu 890ddd
		setBrightness(value);
Toshihiro Shimizu 890ddd
		break;
Toshihiro Shimizu 890ddd
	case 1:
Toshihiro Shimizu 890ddd
		setContrast(value);
Toshihiro Shimizu 890ddd
		break;
Toshihiro Shimizu 890ddd
	}
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void TCleanupStyle::setBrightness(double b)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	m_brightness = b;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void TCleanupStyle::setContrast(double c)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	m_contrast = c;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void TCleanupStyle::enableContrast(bool value)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	m_contrastEnable = value;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
bool TCleanupStyle::isContrastEnabled() const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	return m_contrastEnable;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void TCleanupStyle::makeIcon(const TDimension &size)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	//Build an icon with mainColor on the top half, and
Toshihiro Shimizu 890ddd
	//getColorParamValue(1) on the bottom.
Toshihiro Shimizu 890ddd
	if (!m_icon || m_icon->getSize() != size) {
Toshihiro Shimizu 890ddd
		TRaster32P ras(size);
Toshihiro Shimizu 890ddd
		m_icon = ras;
Toshihiro Shimizu 890ddd
	}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
	TPixel32 topCol(getMainColor()), botCol(getColorParamValue(1));
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
	int ly_2 = size.ly / 2;
Toshihiro Shimizu 890ddd
	TRaster32P botRas(m_icon->extract(0, 0, size.lx, ly_2));
Toshihiro Shimizu 890ddd
	TRaster32P topRas(m_icon->extract(0, ly_2 + 1, size.lx, size.ly));
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
	makeIcon(botRas, botCol);
Toshihiro Shimizu 890ddd
	makeIcon(topRas, topCol);
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void TCleanupStyle::makeIcon(TRaster32P &ras, const TPixel32 &col)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	if (col.m == 255)
Toshihiro Shimizu 890ddd
		ras->fill(col);
Toshihiro Shimizu 890ddd
	else {
Toshihiro Shimizu 890ddd
		TRaster32P fg(ras->getSize());
Toshihiro Shimizu 890ddd
		fg->fill(premultiply(col));
Toshihiro Shimizu 890ddd
		TRop::checkBoard(ras, TPixel32::Black, TPixel32::White, TDimensionD(6, 6), TPointD());
Toshihiro Shimizu 890ddd
		TRop::over(ras, fg);
Toshihiro Shimizu 890ddd
	}
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//===================================================================
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
TColorCleanupStyle::TColorCleanupStyle(const TPixel32 &color)
Toshihiro Shimizu 890ddd
	: TCleanupStyle(color), m_hRange(60.0), m_lineWidth(90.0)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void TColorCleanupStyle::loadData(TInputStreamInterface &is)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	TCleanupStyle::loadData(is);
Toshihiro Shimizu 890ddd
	is >> m_hRange;
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
	if (is.versionNumber() >= VersionNumber(1, 18))
Toshihiro Shimizu 890ddd
		is >> m_lineWidth;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void TColorCleanupStyle::saveData(TOutputStreamInterface &os) const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	TCleanupStyle::saveData(os);
Toshihiro Shimizu 890ddd
	os << m_hRange;
Toshihiro Shimizu 890ddd
	os << m_lineWidth;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
TColorStyle *TColorCleanupStyle::clone() const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	return new TColorCleanupStyle(*this);
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
QString TColorCleanupStyle::getDescription() const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	return "CleanupColor";
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
int TColorCleanupStyle::getTagId() const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	return 2001;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
QString TColorCleanupStyle::getParamNames(int index) const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	if (index == 2)
Toshihiro Shimizu 890ddd
		"HRange";
Toshihiro Shimizu 890ddd
	if (index == 3)
Toshihiro Shimizu 890ddd
		"Line Width";
Toshihiro Shimizu 890ddd
	return TCleanupStyle::getParamNames(index);
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void TColorCleanupStyle::getParamRange(int index, double &min, double &max) const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	if (index >= 2) {
Toshihiro Shimizu 890ddd
		min = 0;
Toshihiro Shimizu 890ddd
		max = 100;
Toshihiro Shimizu 890ddd
	} else
Toshihiro Shimizu 890ddd
		TCleanupStyle::getParamRange(index, min, max);
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
double TColorCleanupStyle::getParamValue(TColorStyle::double_tag tag, int index) const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	if (index == 2)
Toshihiro Shimizu 890ddd
		return getHRange();
Toshihiro Shimizu 890ddd
	if (index == 3)
Toshihiro Shimizu 890ddd
		return getLineWidth();
Toshihiro Shimizu 890ddd
	return TCleanupStyle::getParamValue(tag, index);
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void TColorCleanupStyle::setParamValue(int index, double value)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	if (index == 2)
Toshihiro Shimizu 890ddd
		setHRange(value);
Toshihiro Shimizu 890ddd
	else if (index == 3)
Toshihiro Shimizu 890ddd
		setLineWidth(value);
Toshihiro Shimizu 890ddd
	else
Toshihiro Shimizu 890ddd
		TCleanupStyle::setParamValue(index, value);
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void TColorCleanupStyle::setHRange(double hRange)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	m_hRange = hRange;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void TColorCleanupStyle::setLineWidth(double lineWidth)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	m_lineWidth = lineWidth;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//===================================================================
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
TBlackCleanupStyle::TBlackCleanupStyle(const TPixel32 &color)
Toshihiro Shimizu 890ddd
	: TCleanupStyle(color), m_colorThreshold(70), m_whiteThreshold(10)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
TColorStyle *TBlackCleanupStyle::clone() const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	return new TBlackCleanupStyle(*this);
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void TBlackCleanupStyle::loadData(TInputStreamInterface &is)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	TCleanupStyle::loadData(is);
Toshihiro Shimizu 890ddd
	is >> m_colorThreshold >> m_whiteThreshold;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void TBlackCleanupStyle::saveData(TOutputStreamInterface &os) const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	TCleanupStyle::saveData(os);
Toshihiro Shimizu 890ddd
	os << m_colorThreshold << m_whiteThreshold;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
QString TBlackCleanupStyle::getDescription() const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	return "CleanupBlack";
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
int TBlackCleanupStyle::getTagId() const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	return 2002;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
QString TBlackCleanupStyle::getParamNames(int index) const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	switch (index) {
Toshihiro Shimizu 890ddd
	case 2:
Toshihiro Shimizu 890ddd
		return "ColorThres";
Toshihiro Shimizu 890ddd
	case 3:
Toshihiro Shimizu 890ddd
		return "WhiteThres";
Toshihiro Shimizu 890ddd
	default:
Toshihiro Shimizu 890ddd
		return TCleanupStyle::getParamNames(index);
Toshihiro Shimizu 890ddd
	}
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void TBlackCleanupStyle::getParamRange(int index, double &min, double &max) const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	switch (index) {
Toshihiro Shimizu 890ddd
	case 2:
Toshihiro Shimizu 890ddd
	case 3:
Toshihiro Shimizu 890ddd
		min = 0;
Toshihiro Shimizu 890ddd
		max = 100;
Toshihiro Shimizu 890ddd
		break;
Toshihiro Shimizu 890ddd
	default:
Toshihiro Shimizu 890ddd
		TCleanupStyle::getParamRange(index, min, max);
Toshihiro Shimizu 890ddd
	}
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
double TBlackCleanupStyle::getParamValue(TColorStyle::double_tag tag, int index) const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	switch (index) {
Toshihiro Shimizu 890ddd
	case 2:
Toshihiro Shimizu 890ddd
		return getColorThreshold();
Toshihiro Shimizu 890ddd
	case 3:
Toshihiro Shimizu 890ddd
		return getWhiteThreshold();
Toshihiro Shimizu 890ddd
	default:
Toshihiro Shimizu 890ddd
		return TCleanupStyle::getParamValue(tag, index);
Toshihiro Shimizu 890ddd
	}
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void TBlackCleanupStyle::setParamValue(int index, double value)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	switch (index) {
Toshihiro Shimizu 890ddd
	case 2:
Toshihiro Shimizu 890ddd
		setColorThreshold(value);
Toshihiro Shimizu 890ddd
		break;
Toshihiro Shimizu 890ddd
	case 3:
Toshihiro Shimizu 890ddd
		setWhiteThreshold(value);
Toshihiro Shimizu 890ddd
		break;
Toshihiro Shimizu 890ddd
	default:
Toshihiro Shimizu 890ddd
		TCleanupStyle::setParamValue(index, value);
Toshihiro Shimizu 890ddd
	}
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void TBlackCleanupStyle::setColorThreshold(double threshold)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	m_colorThreshold = threshold;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void TBlackCleanupStyle::setWhiteThreshold(double threshold)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	m_whiteThreshold = threshold;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
namespace
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
TColorStyle::Declaration s0(new TBlackCleanupStyle());
Toshihiro Shimizu 890ddd
TColorStyle::Declaration s1(new TColorCleanupStyle());
Toshihiro Shimizu 890ddd
}