本文整理汇总了C++中ofx::Clip::getPixelDepth方法的典型用法代码示例。如果您正苦于以下问题:C++ Clip::getPixelDepth方法的具体用法?C++ Clip::getPixelDepth怎么用?C++ Clip::getPixelDepth使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ofx::Clip
的用法示例。
在下文中一共展示了Clip::getPixelDepth方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: changedParam
void changedParam(const OFX::InstanceChangedArgs &args, const std::string ¶mName)
{
if(paramName=="enableTest")
{
OFX::ChoiceParam* choice = fetchChoiceParam("enableTest");
OFX::DoubleParam* dbl = fetchDoubleParam("enableDbl");
int value = 0;
choice->getValueAtTime(args.time, value);
dbl->setEnabled(value ==0 );
}
else if(paramName=="pbButton")
{
sendMessage(OFX::Message::eMessageMessage, "", "Push Button Pressed - TestPassed!");
}
else if(paramName=="widgetPos")
{
redrawOverlays();
}
else if(paramName == "analyseButton")
{
OFX::BitDepthEnum dstBitDepth = srcClip_->getPixelDepth();
OFX::PixelComponentEnum dstComponents = srcClip_->getPixelComponents();
OFX::DoubleParam* dbl = fetchDoubleParam("analysisParam");
if(dstComponents == OFX::ePixelComponentRGBA)
{
switch(dstBitDepth)
{
case OFX::eBitDepthUByte :
{
Analyser<unsigned char, 4, 255> analyse(srcClip_, dbl);
break;
}
case OFX::eBitDepthUShort :
{
Analyser<unsigned short, 4, 65535> analyse(srcClip_, dbl);
break;
}
case OFX::eBitDepthFloat :
{
Analyser<float, 4, 1> analyse(srcClip_, dbl);
break;
}
default :
OFX::throwSuiteStatusException(kOfxStatErrUnsupported);
}
}
else
{
switch(dstBitDepth)
{
case OFX::eBitDepthUByte :
{
Analyser<unsigned char, 1, 255> analyse(srcClip_, dbl);
break;
}
case OFX::eBitDepthUShort :
{
Analyser<unsigned short, 1, 65535> analyse(srcClip_, dbl);
break;
}
case OFX::eBitDepthFloat :
{
Analyser<float, 1, 1> analyse(srcClip_, dbl);
break;
}
default :
OFX::throwSuiteStatusException(kOfxStatErrUnsupported);
}
}
}
}