A game framework written with osu! in mind.
1// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
2// See the LICENCE file in the repository root for full licence text.
3
4namespace osu.Framework.Graphics.Effects
5{
6 /// <summary>
7 /// Represents an effect that can be applied to a drawable.
8 /// </summary>
9 /// <typeparam name="T">The type of the drawable that is created as a result of applying the effect to a drawable.</typeparam>
10 public interface IEffect<out T> where T : Drawable
11 {
12 /// <summary>
13 /// Applies this effect to the given drawable.
14 /// </summary>
15 /// <param name="drawable">The drawable to apply this effect to.</param>
16 /// <returns>A new drawable derived from the given drawable with the effect applied.</returns>
17 T ApplyTo(Drawable drawable);
18 }
19}