/// <summary> /// Pushes a matrix transformation. /// </summary> /// <param name="matrix">The matrix</param> /// <returns>A disposable used to undo the transformation.</returns> public IDisposable PushTransform(Matrix matrix) { _context.Save(); _context.Transform(matrix.ToCairo()); return Disposable.Create(() => { _context.Restore(); }); }
/// <summary> /// Pushes a matrix transformation. /// </summary> /// <param name="matrix">The matrix</param> /// <returns>A disposable used to undo the transformation.</returns> public IDisposable PushTransform(Matrix matrix) { _context.Transform(matrix.ToCairo()); return Disposable.Create(() => { _context.Transform(matrix.Invert().ToCairo()); }); }