SvgShear.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.Drawing.Drawing2D;
  5. using System.Globalization;
  6. #pragma warning disable
  7. namespace Svg.Transforms
  8. {
  9. /// <summary>
  10. /// The class which applies the specified shear vector to this Matrix.
  11. /// </summary>
  12. public sealed class SvgShear : SvgTransform
  13. {
  14. private float shearFactorX;
  15. private float shearFactorY;
  16. public float X
  17. {
  18. get { return this.shearFactorX; }
  19. set { this.shearFactorX = value; }
  20. }
  21. public float Y
  22. {
  23. get { return this.shearFactorY; }
  24. set { this.shearFactorY = value; }
  25. }
  26. public override Matrix Matrix
  27. {
  28. get
  29. {
  30. Matrix matrix = new Matrix();
  31. matrix.Shear(this.X, this.Y);
  32. return matrix;
  33. }
  34. }
  35. public override string WriteToString()
  36. {
  37. return string.Format(CultureInfo.InvariantCulture, "shear({0}, {1})", this.X, this.Y);
  38. }
  39. public SvgShear(float x) : this(x, x) { }
  40. public SvgShear(float x, float y)
  41. {
  42. this.shearFactorX = x;
  43. this.shearFactorY = y;
  44. }
  45. public override object Clone()
  46. {
  47. return new SvgShear(this.X, this.Y);
  48. }
  49. }
  50. }
  51. #pragma warning restore