void PixelBufferClass::LayerInfo::calculateMask() { bool hasMask = false; if (inMaskFactor < 1.0) { mask.resize(BufferHt * BufferWi); calculateMask(inTransitionType, false); hasMask = true; } if (outMaskFactor < 1.0) { mask.resize(BufferHt * BufferWi); calculateMask(outTransitionType, true); hasMask = true; } if (!hasMask) { mask.clear(); } }
void RotoRegion::createMask() { _mask = new unsigned char[_w * _h]; _listNum = glGenLists(1); assert(_listNum != 0); calculateMask(); }
uint8_t readSubRegister(Spi& pSpi, OneByteRegister pRegister, uint8_t pBitSize, uint8_t pOffset) { uint8_t mask = calculateMask(pBitSize,pOffset); uint8_t value = readRegister(pSpi, pRegister); value &= mask; value >>= pOffset; return value; }
uint8_t writeSubRegister(Spi& pSpi, OneByteRegister pRegister, uint8_t pValue, uint8_t pBitSize, uint8_t pOffset) { uint8_t mask = calculateMask(pBitSize,pOffset); uint8_t value = readRegister(pSpi, pRegister) ; value = value & ~mask; pValue = pValue << pOffset; value = value | (pValue & mask) ; return writeRegister(pSpi, pRegister, value); }
T getMask ( uint8_t m ) { calculateMask ( m ); return mask; };