protected override void OnRender(Rectangle[] rois, int startIndex, int length) { if (length == 0) return; if (this.CustomRegionHandling && FullImageSelected(base.SrcArgs.Bounds)) { if (this.newRender) { this.newRender = false; this.OnRenderRegion(SliceRectangles(new Rectangle[] { this.EnvironmentParameters.GetSelection(base.SrcArgs.Bounds).GetBoundsInt() }), base.DstArgs, base.SrcArgs); } } else { this.OnRenderRegion(SliceRectangles(rois.Skip<Rectangle>(startIndex).Take<Rectangle>(length).ToArray<Rectangle>()), base.DstArgs, base.SrcArgs); } }