Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#include "toonz/levelproperties.h"
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
// TnzLib includes
Toshihiro Shimizu 890ddd
#include "toonz/stage.h"
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//**********************************************************************************
Toshihiro Shimizu 890ddd
//    LevelProperties::Options  implementation
Toshihiro Shimizu 890ddd
//**********************************************************************************
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
LevelOptions::LevelOptions()
Toshihiro Shimizu 890ddd
	: m_dpi(Stage::inch), m_subsampling(1), m_antialias(0), m_dpiPolicy(DP_ImageDpi), m_whiteTransp(false), m_premultiply(false)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-----------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
bool LevelOptions::operator==(const LevelOptions &other) const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	return (m_premultiply == other.m_premultiply && m_whiteTransp == other.m_whiteTransp && m_dpiPolicy == other.m_dpiPolicy && m_antialias == other.m_antialias && (m_dpiPolicy == LevelOptions::DP_ImageDpi || m_dpi == other.m_dpi));
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//**********************************************************************************
Toshihiro Shimizu 890ddd
//    LevelProperties  implementation
Toshihiro Shimizu 890ddd
//**********************************************************************************
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
LevelProperties::LevelProperties()
Toshihiro Shimizu 890ddd
	: m_imageDpi(), m_creator(""), m_imageRes(0, 0), m_bpp(32), m_loadAtOnce(false), m_dirtyFlag(true), m_forbidden(false), m_hasAlpha(false)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-----------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void LevelProperties::setDpiPolicy(LevelProperties::DpiPolicy dpiPolicy)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	m_options.m_dpiPolicy = LevelOptions::DpiPolicy(dpiPolicy);
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-----------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
LevelProperties::DpiPolicy LevelProperties::getDpiPolicy() const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	return LevelProperties::DpiPolicy(m_options.m_dpiPolicy);
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-----------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void LevelProperties::setDpi(const TPointD &dpi)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	m_options.m_dpi = dpi.x;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-----------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void LevelProperties::setDpi(double dpi)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	m_options.m_dpi = dpi;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-----------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
TPointD LevelProperties::getDpi() const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	return TPointD(m_options.m_dpi, m_options.m_dpi);
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-----------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void LevelProperties::setSubsampling(int s)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	m_options.m_subsampling = s;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-----------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
int LevelProperties::getSubsampling() const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	return m_options.m_subsampling;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-----------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void LevelProperties::setDirtyFlag(bool on)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	m_dirtyFlag = on;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-----------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
bool LevelProperties::getDirtyFlag() const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	return m_dirtyFlag;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-----------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
TDimension LevelProperties::getImageRes() const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	return m_imageRes;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-----------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void LevelProperties::setImageDpi(const TPointD &dpi)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	m_imageDpi = dpi;
Toshihiro Shimizu 890ddd
	if (dpi.x <= 0 || dpi.y <= 0)
Toshihiro Shimizu 890ddd
		m_options.m_dpiPolicy = LevelOptions::DP_CustomDpi;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-----------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
TPointD LevelProperties::getImageDpi() const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	return m_imageDpi;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-----------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void LevelProperties::setImageRes(const TDimension &d)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	m_imageRes = d;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-----------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
void LevelProperties::setBpp(int bpp)
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	m_bpp = bpp;
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-----------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
int LevelProperties::getBpp() const
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
	return m_bpp;
Toshihiro Shimizu 890ddd
}