void expand(char *s1, char *s2) { int i, j; for (i = j = 0; s1[i] != '\0'; ++i) { if (s1[i] == '-') { if (i == 0 || s1[i+1] == '\0') { s2[j++] = s1[i]; } else { if (checkrange(s1[i-1], s1[i+1])) { while (s2[j-1] < s1[i+1]) { s2[j] = s2[j-1] + 1; j++; } ++i; } else s2[j++] = s1[i]; } } else s2[j++] = s1[i]; } s2[j] = '\0'; }
Void CVOPU8YUVBA::vdlDump (const Char* pchFileName, const CRct& rct) const { CRct rctROI = (!rct.valid ()) ? m_rctY : rct; assert (rctROI <= m_rctY); CVideoObjectPlane vop (rctROI, opaquePixel); Int offset = (rctROI == m_rctY)? 0 : m_rctY.width - rct.width; CU8Image* puciZoomedU = m_puciU -> zoomup (2, 2); CU8Image* puciZoomedV = m_puciV -> zoomup (2, 2); PixelC* ppxlucY = (PixelC*) m_puciY -> pixels (); PixelC* ppxlucU = (PixelC*) puciZoomedU -> pixels (); PixelC* ppxlucV = (PixelC*) puciZoomedV -> pixels (); PixelC* ppxlucA = NULL; if (m_fAUsage == EIGHT_BIT) ppxlucA = (PixelC*) m_ppuciA[0] -> pixels (); else if (m_fAUsage == ONE_BIT) ppxlucA = (PixelC*) m_puciBY -> pixels (); CPixel* ppxl = (CPixel*) vop.pixels (); for (CoordI y = rctROI.top; y < rctROI.bottom; y++) { for (CoordI x = rctROI.left; x < rctROI.right; x++, ppxlucY++, ppxlucU++, ppxlucV++, ppxlucA++) { Double var = 1.164 * (*ppxlucY - 16); Int r = (Int) ((Double) (var + 1.596 * (*ppxlucV - 128)) + .5); Int g = (Int) ((Double) (var - 0.813 * (*ppxlucV - 128) - 0.391 * (*ppxlucU - 128)) + .5); Int b = (Int) ((Double) (var + 2.018 * (*ppxlucU - 128)) + .5); Int a = (m_fAUsage == RECTANGLE)? opaqueValue : *ppxlucA; ppxl -> pxlU.rgb.r = (U8) checkrange (r, 0, 255); ppxl -> pxlU.rgb.g = (U8) checkrange (g, 0, 255); ppxl -> pxlU.rgb.b = (U8) checkrange (b, 0, 255); ppxl -> pxlU.rgb.a = (U8) checkrange (a, 0, 255); ppxl++; } ppxlucY += offset; ppxlucU += offset; ppxlucV += offset; ppxlucA += offset; } delete puciZoomedU; delete puciZoomedV; vop.vdlDump (pchFileName); }
void T3DControl_Scalar::paramchanged(StrPtr iname) { checkrange(); }
void T3DControl_Scalar::addstep(double stepcount) { value->copyfrom(value->G_val()+stepcount*vstep->G_val()); checkrange(); Set_wasmodified(); }