public ContextConverterPlotOperation(IRenderPlotOperation <TMatchedTile, TMatchedContext> op, IRenderCallbackFilter <TMatchedTile, TMatchedContext, TTargetTile, TTargetContext> convertingRenderer) { this.op = op ?? throw new ArgumentNullException(); this.renderer = convertingRenderer ?? throw new ArgumentNullException(); if (op.Renderer != null && op.Renderer != convertingRenderer) { throw new ArgumentException(); } this.op.Renderer = convertingRenderer; }
WithConversion <TTargetRenderTile, TTargetRenderContext>(IRenderCallbackFilter <TRenderTile, TContext, TTargetRenderTile, TTargetRenderContext> conversionRenderer) { var c = new ContextConverterPlotOperation <TRenderTile, TContext, TTargetRenderTile, TTargetRenderContext>(plotOperation, conversionRenderer); return(new AfterCachePlotOperationFactory <TTargetRenderTile, TTargetRenderContext>(sharedRenderConfig, c)); }