public void ResetClip() { if (clipLayer != null) { Control.PopLayer(); clipLayer.Dispose(); clipLayer = null; clipBounds = new RectangleF(Control.Size.ToEto()); } }
/// <summary> /// Pushes an opacity value. /// </summary> /// <param name="opacity">The opacity.</param> /// <returns>A disposable used to undo the opacity.</returns> public IDisposable PushOpacity(double opacity) { if (opacity < 1) { var parameters = new LayerParameters { ContentBounds = RectangleF.Infinite, MaskTransform = Matrix3x2.Identity, Opacity = (float)opacity, }; var layer = new Layer(_renderTarget); _renderTarget.PushLayer(ref parameters, layer); return Disposable.Create(() => { _renderTarget.PopLayer(); layer.Dispose(); }); } else { return Disposable.Empty; } }