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

Method describeInContext

CopyRectangle/CopyRectangle.cpp:662–790  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

660}
661
662void
663CopyRectanglePluginFactory::describeInContext(ImageEffectDescriptor &desc,
664 ContextEnum context)
665{
666 ClipDescriptor *srcClipB = desc.defineClip(kClipB);
667
668 srcClipB->setHint(kClipAHint);
669 srcClipB->addSupportedComponent(ePixelComponentRGBA);
670 srcClipB->addSupportedComponent(ePixelComponentRGB);
671#ifdef OFX_EXTENSIONS_NATRON
672 srcClipB->addSupportedComponent(ePixelComponentXY);
673#endif
674 srcClipB->addSupportedComponent(ePixelComponentAlpha);
675 srcClipB->setTemporalClipAccess(false);
676 srcClipB->setSupportsTiles(kSupportsTiles);
677 srcClipB->setIsMask(false);
678
679 ClipDescriptor *srcClipA = desc.defineClip(kClipA);
680 srcClipA->setHint(kClipAHint);
681 srcClipA->addSupportedComponent(ePixelComponentRGBA);
682 srcClipA->addSupportedComponent(ePixelComponentRGB);
683#ifdef OFX_EXTENSIONS_NATRON
684 srcClipA->addSupportedComponent(ePixelComponentXY);
685#endif
686 srcClipA->addSupportedComponent(ePixelComponentAlpha);
687 srcClipA->setTemporalClipAccess(false);
688 srcClipA->setSupportsTiles(kSupportsTiles);
689 srcClipA->setIsMask(false);
690
691
692 // create the mandated output clip
693 ClipDescriptor *dstClip = desc.defineClip(kOfxImageEffectOutputClipName);
694 dstClip->addSupportedComponent(ePixelComponentRGBA);
695 dstClip->addSupportedComponent(ePixelComponentRGB);
696#ifdef OFX_EXTENSIONS_NATRON
697 dstClip->addSupportedComponent(ePixelComponentXY);
698#endif
699 dstClip->addSupportedComponent(ePixelComponentAlpha);
700 dstClip->setSupportsTiles(kSupportsTiles);
701
702 ClipDescriptor *maskClip = (context == eContextPaint) ? desc.defineClip("Brush") : desc.defineClip("Mask");
703 maskClip->addSupportedComponent(ePixelComponentAlpha);
704 maskClip->setTemporalClipAccess(false);
705 if (context != eContextPaint) {
706 maskClip->setOptional(true);
707 }
708 maskClip->setSupportsTiles(kSupportsTiles);
709 maskClip->setIsMask(true);
710
711 // make some pages and to things in
712 PageParamDescriptor *page = desc.definePageParam("Controls");
713
714 // btmLeft
715 {
716 Double2DParamDescriptor* param = desc.defineDouble2DParam(kParamRectangleInteractBtmLeft);
717 param->setLabel(kParamRectangleInteractBtmLeftLabel);
718 param->setDoubleType(eDoubleTypeXYAbsolute);
719 if ( param->supportsDefaultCoordinateSystem() ) {

Callers

nothing calls this directly

Calls 3

defineComponentParamFunction · 0.85
setHintMethod · 0.80
setLabelMethod · 0.80

Tested by

no test coverage detected