protected override void InitTokenFromDialog() { ThatOtherAppPlusConfigToken token = (ThatOtherAppPlusConfigToken)this.theEffectToken; token.Surface?.Dispose(); token.Surface = this.surface; }
protected override void OnSetRenderInfo(EffectConfigToken parameters, RenderArgs dstArgs, RenderArgs srcArgs) { if (this.repeatEffect) { // This plugin does not support being run as a repeat effect. ThatOtherAppPlusConfigToken token = (ThatOtherAppPlusConfigToken)parameters; if (token.Surface != null) { token.Surface.Dispose(); token.Surface = null; } } base.OnSetRenderInfo(parameters, dstArgs, srcArgs); }
public override void Render(EffectConfigToken parameters, RenderArgs dstArgs, RenderArgs srcArgs, Rectangle[] rois, int startIndex, int length) { if (length == 0) { return; } ThatOtherAppPlusConfigToken token = (ThatOtherAppPlusConfigToken)parameters; if (token.Surface != null) { dstArgs.Surface.CopySurface(token.Surface, rois, startIndex, length); } else { dstArgs.Surface.CopySurface(srcArgs.Surface, rois, startIndex, length); } }
private ThatOtherAppPlusConfigToken(ThatOtherAppPlusConfigToken copyMe) { this.Surface = copyMe.Surface; }