aboutsummaryrefslogtreecommitdiff
path: root/V3/Widgets/IMenu.cs
diff options
context:
space:
mode:
Diffstat (limited to 'V3/Widgets/IMenu.cs')
-rw-r--r--V3/Widgets/IMenu.cs33
1 files changed, 33 insertions, 0 deletions
diff --git a/V3/Widgets/IMenu.cs b/V3/Widgets/IMenu.cs
new file mode 100644
index 0000000..ad121e0
--- /dev/null
+++ b/V3/Widgets/IMenu.cs
@@ -0,0 +1,33 @@
+using Microsoft.Xna.Framework;
+using Microsoft.Xna.Framework.Graphics;
+using System.Collections.Generic;
+using V3.Input;
+
+namespace V3.Widgets
+{
+ /// <summary>
+ /// A menu that displays a list of widgets.
+ /// </summary>
+ public interface IMenu : IMouseEventHandler
+ {
+ /// <summary>
+ /// The widgets in this menu. The order of the widgets in this list
+ /// is the order in which they are displayed.
+ /// </summary>
+ List<IWidget> Widgets { get; }
+
+ /// <summary>
+ /// The total size of the widgets in this menu.
+ /// </summary>
+ Vector2 Size { get; }
+
+ /// <summary>
+ /// The current position of the widgets.
+ /// </summary>
+ Vector2 Position { get; }
+
+ void Draw(SpriteBatch spriteBatch);
+
+ void Update();
+ }
+}