MCPcopy Create free account
hub / github.com/NatronGitHub/openfx-misc / ColorMatrixPlugin

Method ColorMatrixPlugin

ColorMatrix/ColorMatrix.cpp:365–405  ·  view source on GitHub ↗

@brief ctor */

Source from the content-addressed store, hash-verified

363public:
364 /** @brief ctor */
365 ColorMatrixPlugin(OfxImageEffectHandle handle)
366 : ImageEffect(handle)
367 , _dstClip(NULL)
368 , _srcClip(NULL)
369 , _maskClip(NULL)
370 , _premultChanged(NULL)
371 {
372
373 _dstClip = fetchClip(kOfxImageEffectOutputClipName);
374 assert( _dstClip && (!_dstClip->isConnected() || _dstClip->getPixelComponents() == ePixelComponentRGB ||
375 _dstClip->getPixelComponents() == ePixelComponentRGBA ||
376 _dstClip->getPixelComponents() == ePixelComponentAlpha) );
377 _srcClip = getContext() == eContextGenerator ? NULL : fetchClip(kOfxImageEffectSimpleSourceClipName);
378 assert( (!_srcClip && getContext() == eContextGenerator) ||
379 ( _srcClip && (!_srcClip->isConnected() || _srcClip->getPixelComponents() == ePixelComponentRGB ||
380 _srcClip->getPixelComponents() == ePixelComponentRGBA ||
381 _srcClip->getPixelComponents() == ePixelComponentAlpha) ) );
382 _maskClip = fetchClip(getContext() == eContextPaint ? "Brush" : "Mask");
383 assert(!_maskClip || !_maskClip->isConnected() || _maskClip->getPixelComponents() == ePixelComponentAlpha);
384 _processR = fetchBooleanParam(kParamProcessR);
385 _processG = fetchBooleanParam(kParamProcessG);
386 _processB = fetchBooleanParam(kParamProcessB);
387 _processA = fetchBooleanParam(kParamProcessA);
388 assert(_processR && _processG && _processB && _processA);
389 _outputRed = fetchRGBAParam(kParamOutputRedName);
390 _outputGreen = fetchRGBAParam(kParamOutputGreenName);
391 _outputBlue = fetchRGBAParam(kParamOutputBlueName);
392 _outputAlpha = fetchRGBAParam(kParamOutputAlphaName);
393 _clampBlack = fetchBooleanParam(kParamClampBlack);
394 _clampWhite = fetchBooleanParam(kParamClampWhite);
395 assert(_outputRed && _outputGreen && _outputBlue && _outputAlpha && _clampBlack && _clampWhite);
396 _premult = fetchBooleanParam(kParamPremult);
397 _premultChannel = fetchChoiceParam(kParamPremultChannel);
398 assert(_premult && _premultChannel);
399 _mix = fetchDoubleParam(kParamMix);
400 _maskApply = ( ofxsMaskIsAlwaysConnected( OFX::getImageEffectHostDescription() ) && paramExists(kParamMaskApply) ) ? fetchBooleanParam(kParamMaskApply) : 0;
401 _maskInvert = fetchBooleanParam(kParamMaskInvert);
402 assert(_mix && _maskInvert);
403 _premultChanged = fetchBooleanParam(kParamPremultChanged);
404 assert(_premultChanged);
405 }
406
407private:
408 /* Override the render */

Callers

nothing calls this directly

Calls 2

getContextFunction · 0.85
isConnectedMethod · 0.80

Tested by

no test coverage detected