TestRoot.cs 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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 Perspex.Controls;
  5. using Perspex.Platform;
  6. using Perspex.Rendering;
  7. using Perspex.Styling;
  8. namespace Perspex.Markup.Xaml.UnitTests
  9. {
  10. public class TestRoot : Decorator, IRenderRoot, INameScope, IStyleRoot
  11. {
  12. private readonly NameScope _nameScope = new NameScope();
  13. event EventHandler<NameScopeEventArgs> INameScope.Registered
  14. {
  15. add { _nameScope.Registered += value; ++NameScopeRegisteredSubscribers; }
  16. remove { _nameScope.Registered -= value; --NameScopeRegisteredSubscribers; }
  17. }
  18. public event EventHandler<NameScopeEventArgs> Unregistered
  19. {
  20. add { _nameScope.Unregistered += value; ++NameScopeUnregisteredSubscribers; }
  21. remove { _nameScope.Unregistered -= value; --NameScopeUnregisteredSubscribers; }
  22. }
  23. public int NameScopeRegisteredSubscribers { get; private set; }
  24. public int NameScopeUnregisteredSubscribers { get; private set; }
  25. public IRenderTarget RenderTarget
  26. {
  27. get { throw new NotImplementedException(); }
  28. }
  29. public IRenderQueueManager RenderQueueManager
  30. {
  31. get { throw new NotImplementedException(); }
  32. }
  33. public Point PointToClient(Point p)
  34. {
  35. throw new NotImplementedException();
  36. }
  37. public Point PointToScreen(Point p)
  38. {
  39. throw new NotImplementedException();
  40. }
  41. public void Register(string name, object element)
  42. {
  43. _nameScope.Register(name, element);
  44. }
  45. public object Find(string name)
  46. {
  47. return _nameScope.Find(name);
  48. }
  49. public void Unregister(string name)
  50. {
  51. _nameScope.Unregister(name);
  52. }
  53. }
  54. }