CMyString CMyString::FlagString(int val, int* valList, CMyString* strList, int num) { CMyString dst; for (int i=0; i<num; i++) { if (val & valList[i]) { if (!dst.IsEmpty()) dst += _T("|"); dst += strList[i]; } } if (dst.IsEmpty()) dst << (int)val; return dst; }
void CFunc::GetChannelsName(CMyString& src, CMyString& dst) const { src = dst = _T(""); CMyString sDescr = DescrName(); src = firstChanStr(sDescr); dst = firstChanStr(sDescr); if (dst.IsEmpty()) dst = src; }
static int numChannels(CMyString str) { if (str.IsEmpty()) return 0; CMyString numStr((str[0] == 'A') ? str[2] : str[1]); int num = _ttoi(numStr); if (num > 4) num = 0; return num; }
void CFunc::GetAlpha(BOOL& src, BOOL& dst) const { src = dst = FALSE; CMyString sDescr = DescrName(); CMyString srcStr = firstChanStr(sDescr); CMyString dstStr = firstChanStr(sDescr); src = alphaChannel(srcStr); if (dstStr.IsEmpty()) dst = src; else dst = alphaChannel(dstStr); }
void CFunc::GetChannels(int& src, int& dst) const { src = dst = 0; CMyString sDescr = DescrName(); CMyString srcStr = firstChanStr(sDescr); CMyString dstStr = firstChanStr(sDescr); src = numChannels(srcStr); if (dstStr.IsEmpty()) dst = src; else dst = numChannels(dstStr); UpdateChannels(src, dst); }
CFunc CParmStatDlg::GetFunc(int index, int dstType) { CMyString funcBase = FuncBase(index); CMyString typeName; if (TypeFlag(funcBase)) typeName = TypeName(dstType); CFunc func = "ipps" + funcBase + "_" + typeName; if (typeName.IsEmpty()) func += m_pDocSrc->GetVector()->TypeString(); if (func.DstType() & PP_SIGN) func += "_Sfs"; return func; }
void CFunc::GetPlanes(BOOL& src, BOOL& dst) const { src = dst = FALSE; CMyString sDescr = DescrName(); CMyString srcStr = firstChanStr(sDescr); CMyString dstStr = firstChanStr(sDescr); src = planeChannel(srcStr); if (dstStr.IsEmpty()) dst = src; else dst = planeChannel(dstStr); if (!src && !dst && sDescr.Found(_T("P"))) src = dst = TRUE; UpdatePlanes(src,dst); }
static BOOL planeChannel(CMyString str) { if (str.IsEmpty()) return 0; _TCHAR symb = (str[0] == 'A') ? str[1] : str[0]; return symb == 'P'; }
static BOOL alphaChannel(CMyString str) { if (str.IsEmpty()) return 0; return str[0] == 'A'; }
static BOOL isType(CMyString typeStr) { CMyString firstStr = firstType(typeStr); return !firstStr.IsEmpty(); }