TestVisual.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. // Copyright (c) The Perspex Project. All rights reserved.
  2. // Licensed under the MIT license. See licence.md file in the project root for full license information.
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using Perspex.Rendering;
  7. namespace Perspex.SceneGraph.UnitTests
  8. {
  9. public class ParamEventArgs<T> : EventArgs
  10. {
  11. public ParamEventArgs(T param)
  12. {
  13. Param = param;
  14. }
  15. public T Param { get; set; }
  16. }
  17. public class TestVisual : Visual
  18. {
  19. public IVisual Child
  20. {
  21. get
  22. {
  23. return ((IVisual)this).VisualChildren.FirstOrDefault();
  24. }
  25. set
  26. {
  27. if (Child != null)
  28. {
  29. VisualChildren.Remove(Child);
  30. }
  31. if (value != null)
  32. {
  33. VisualChildren.Add(value);
  34. }
  35. }
  36. }
  37. public void AddChild(Visual v)
  38. {
  39. VisualChildren.Add(v);
  40. }
  41. public void AddChildren(IEnumerable<Visual> v)
  42. {
  43. VisualChildren.AddRange(v);
  44. }
  45. public void RemoveChild(Visual v)
  46. {
  47. VisualChildren.Remove(v);
  48. }
  49. public void ClearChildren()
  50. {
  51. VisualChildren.Clear();
  52. }
  53. }
  54. }