6 changed files with 84 additions and 8 deletions
@ -0,0 +1,18 @@ |
|||
// -----------------------------------------------------------------------
|
|||
// <copyright file="IRenderManager.cs" company="Steven Kirk">
|
|||
// Copyright 2013 MIT Licence. See licence.md for more information.
|
|||
// </copyright>
|
|||
// -----------------------------------------------------------------------
|
|||
|
|||
namespace Perspex.Rendering |
|||
{ |
|||
using System; |
|||
using System.Reactive; |
|||
|
|||
public interface IRenderManager |
|||
{ |
|||
IObservable<Unit> RenderNeeded { get; } |
|||
|
|||
void InvalidateRender(IVisual visual); |
|||
} |
|||
} |
|||
@ -0,0 +1,13 @@ |
|||
// -----------------------------------------------------------------------
|
|||
// <copyright file="IRendered.cs" company="Steven Kirk">
|
|||
// Copyright 2013 MIT Licence. See licence.md for more information.
|
|||
// </copyright>
|
|||
// -----------------------------------------------------------------------
|
|||
|
|||
namespace Perspex.Rendering |
|||
{ |
|||
public interface IRendered |
|||
{ |
|||
IRenderManager RenderManager { get; } |
|||
} |
|||
} |
|||
@ -0,0 +1,27 @@ |
|||
// -----------------------------------------------------------------------
|
|||
// <copyright file="RenderManager.cs" company="Steven Kirk">
|
|||
// Copyright 2013 MIT Licence. See licence.md for more information.
|
|||
// </copyright>
|
|||
// -----------------------------------------------------------------------
|
|||
|
|||
namespace Perspex.Rendering |
|||
{ |
|||
using System; |
|||
using System.Reactive; |
|||
using System.Reactive.Subjects; |
|||
|
|||
public class RenderManager : IRenderManager |
|||
{ |
|||
private Subject<Unit> renderNeeded = new Subject<Unit>(); |
|||
|
|||
public IObservable<Unit> RenderNeeded |
|||
{ |
|||
get { return this.renderNeeded; } |
|||
} |
|||
|
|||
public void InvalidateRender(IVisual visual) |
|||
{ |
|||
this.renderNeeded.OnNext(Unit.Default); |
|||
} |
|||
} |
|||
} |
|||
Loading…
Reference in new issue