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

Method RectanglePlugin

Rectangle/Rectangle.cpp:640–675  ·  view source on GitHub ↗

@brief ctor */

Source from the content-addressed store, hash-verified

638public:
639 /** @brief ctor */
640 RectanglePlugin(OfxImageEffectHandle handle)
641 : GeneratorPlugin(handle, false, kSupportsByte, kSupportsUShort, kSupportsHalf, kSupportsFloat)
642 , _srcClip(NULL)
643 , _maskClip(NULL)
644 , _processR(NULL)
645 , _processG(NULL)
646 , _processB(NULL)
647 , _processA(NULL)
648 , _color0(NULL)
649 , _color1(NULL)
650 , _expandRoD(NULL)
651 {
652
653 _srcClip = getContext() == eContextGenerator ? NULL : fetchClip(kOfxImageEffectSimpleSourceClipName);
654 assert( (!_srcClip && getContext() == eContextGenerator) ||
655 ( _srcClip && (!_srcClip->isConnected() || OFX_COMPONENTS_OK(_srcClip->getPixelComponents()) ) ) );
656 _maskClip = fetchClip(getContext() == eContextPaint ? "Brush" : "Mask");
657 assert(!_maskClip || !_maskClip->isConnected() || _maskClip->getPixelComponents() == ePixelComponentAlpha);
658
659 _processR = fetchBooleanParam(kParamProcessR);
660 _processG = fetchBooleanParam(kParamProcessG);
661 _processB = fetchBooleanParam(kParamProcessB);
662 _processA = fetchBooleanParam(kParamProcessA);
663 assert(_processR && _processG && _processB && _processA);
664 _cornerRadius = fetchDouble2DParam(kParamCornerRadius);
665 _softness = fetchDoubleParam(kParamSoftness);
666 _color0 = fetchRGBAParam(kParamColor0);
667 _color1 = fetchRGBAParam(kParamColor1);
668 _expandRoD = fetchBooleanParam(kParamExpandRoD);
669 assert(_softness && _color0 && _color1 && _expandRoD);
670
671 _mix = fetchDoubleParam(kParamMix);
672 _maskApply = ( ofxsMaskIsAlwaysConnected( OFX::getImageEffectHostDescription() ) && paramExists(kParamMaskApply) ) ? fetchBooleanParam(kParamMaskApply) : 0;
673 _maskInvert = fetchBooleanParam(kParamMaskInvert);
674 assert(_mix && _maskInvert);
675 }
676
677private:
678 /* override is identity */

Callers

nothing calls this directly

Calls 2

getContextFunction · 0.85
isConnectedMethod · 0.80

Tested by

no test coverage detected