TestRoot.cs 1.8 KB

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