本文整理汇总了C++中ViewerNodePtr::getUIZoomFactor方法的典型用法代码示例。如果您正苦于以下问题:C++ ViewerNodePtr::getUIZoomFactor方法的具体用法?C++ ViewerNodePtr::getUIZoomFactor怎么用?C++ ViewerNodePtr::getUIZoomFactor使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ViewerNodePtr
的用法示例。
在下文中一共展示了ViewerNodePtr::getUIZoomFactor方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: assert
NATRON_NAMESPACE_ENTER
NATRON_NAMESPACE_ANONYMOUS_ENTER
static unsigned
getViewerMipMapLevel(const ViewerNodePtr& viewer, bool draftModeEnabled, bool fullFrameProcessing)
{
if (fullFrameProcessing) {
return 0;
}
unsigned int mipMapLevel = 0;
const double zoomFactor = viewer->getUIZoomFactor();
int downcale_i = viewer->getDownscaleMipMapLevelKnobIndex();
assert(downcale_i >= 0);
if (downcale_i > 0) {
mipMapLevel = downcale_i;
} else {
mipMapLevel = viewer->getMipMapLevelFromZoomFactor();
}
// If draft mode is enabled, compute the mipmap level according to the auto-proxy setting in the preferences
if ( draftModeEnabled && appPTR->getCurrentSettings()->isAutoProxyEnabled() ) {
unsigned int autoProxyLevel = appPTR->getCurrentSettings()->getAutoProxyMipMapLevel();
if (zoomFactor > 1) {
//Decrease draft mode at each inverse mipmaplevel level taken
unsigned int invLevel = Image::getLevelFromScale(1. / zoomFactor);
if (invLevel < autoProxyLevel) {
autoProxyLevel -= invLevel;
} else {
autoProxyLevel = 0;
}
}
mipMapLevel = (unsigned int)std::max( (int)mipMapLevel, (int)autoProxyLevel );
}
return mipMapLevel;
} // getViewerMipMapLevel