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.Visualisation
5{
6 /// <summary>
7 /// An interface for <see cref="Drawable"/>s which can contain <see cref="VisualisedDrawable"/>s.
8 /// </summary>
9 internal interface IContainVisualisedDrawables
10 {
11 /// <summary>
12 /// Adds a <see cref="VisualisedDrawable"/> to this <see cref="Drawable"/>'s hierarchy.
13 /// </summary>
14 /// <remarks>
15 /// It is not necessary for this <see cref="Drawable"/> to contain the <see cref="VisualisedDrawable"/> as an immediate child,
16 /// but this <see cref="Drawable"/> will receive <see cref="RemoveVisualiser"/> if the <see cref="VisualisedDrawable"/> should ever be removed.
17 /// </remarks>
18 /// <param name="visualiser">The <see cref="VisualisedDrawable"/> to add.</param>
19 void AddVisualiser(VisualisedDrawable visualiser);
20
21 /// <summary>
22 /// Removes a <see cref="VisualisedDrawable"/> from this <see cref="Drawable"/>.
23 /// </summary>
24 /// <param name="visualiser">The <see cref="VisualisedDrawable"/> to remove.</param>
25 void RemoveVisualiser(VisualisedDrawable visualiser);
26 }
27}