@brief ctor */
| 638 | public: |
| 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 | |
| 677 | private: |
| 678 | /* override is identity */ |
nothing calls this directly
no test coverage detected