diff --git a/osu.Game/Overlays/Options/OptionsSection.cs b/osu.Game/Overlays/Options/OptionsSection.cs
new file mode 100644
index 0000000000..9ef93a3d01
--- /dev/null
+++ b/osu.Game/Overlays/Options/OptionsSection.cs
@@ -0,0 +1,70 @@
+using System;
+using OpenTK;
+using OpenTK.Graphics;
+using osu.Framework.Graphics;
+using osu.Framework.Graphics.Containers;
+using osu.Framework.Graphics.Primitives;
+using osu.Framework.Graphics.Sprites;
+
+namespace osu.Game.Overlays.Options
+{
+ public class OptionsSection : Container
+ {
+ private SpriteText header;
+ private FlowContainer content;
+ protected override Container Content => content;
+
+
+ public string Header
+ {
+ get { return header.Text; }
+ set { header.Text = value; }
+ }
+
+
+ public OptionsSection()
+ {
+ const int headerSize = 30, headerMargin = 25;
+ const int borderSize = 2;
+ AutoSizeAxes = Axes.Y;
+ RelativeSizeAxes = Axes.X;
+ AddInternal(new Drawable[]
+ {
+ new Box
+ {
+ Colour = new Color4(3, 3, 3, 255),
+ RelativeSizeAxes = Axes.X,
+ Height = borderSize,
+ },
+ new Container
+ {
+ Padding = new MarginPadding
+ {
+ Top = 10 + borderSize,
+ Left = OptionsOverlay.SideMargins,
+ Right = OptionsOverlay.SideMargins,
+ Bottom = 10,
+ },
+ RelativeSizeAxes = Axes.X,
+ AutoSizeAxes = Axes.Y,
+ Children = new[]
+ {
+ header = new SpriteText
+ {
+ TextSize = headerSize,
+ Colour = new Color4(247, 198, 35, 255),
+ },
+ content = new FlowContainer
+ {
+ Margin = new MarginPadding { Top = headerSize + headerMargin },
+ Direction = FlowDirection.VerticalOnly,
+ Spacing = new Vector2(0, 25),
+ AutoSizeAxes = Axes.Y,
+ RelativeSizeAxes = Axes.X,
+ },
+ }
+ },
+ });
+ }
+ }
+}
\ No newline at end of file
diff --git a/osu.Game/Overlays/Options/OptionsSubsection.cs b/osu.Game/Overlays/Options/OptionsSubsection.cs
new file mode 100644
index 0000000000..bb41f73428
--- /dev/null
+++ b/osu.Game/Overlays/Options/OptionsSubsection.cs
@@ -0,0 +1,46 @@
+using System;
+using OpenTK;
+using osu.Framework.Graphics;
+using osu.Framework.Graphics.Containers;
+using osu.Framework.Graphics.Sprites;
+
+namespace osu.Game.Overlays.Options
+{
+ public class OptionsSubsection : Container
+ {
+ private SpriteText header;
+ private Container content;
+ protected override Container Content => content;
+
+ public string Header
+ {
+ get { return header.Text; }
+ set { header.Text = value.ToUpper(); }
+ }
+
+ public OptionsSubsection()
+ {
+ RelativeSizeAxes = Axes.X;
+ AutoSizeAxes = Axes.Y;
+ AddInternal(new Drawable[]
+ {
+ content = new FlowContainer
+ {
+ Direction = FlowDirection.VerticalOnly,
+ RelativeSizeAxes = Axes.X,
+ AutoSizeAxes = Axes.Y,
+ Spacing = new Vector2(0, 5),
+ Children = new[]
+ {
+ header = new SpriteText
+ {
+ TextSize = 25,
+ // TODO: Bold
+ }
+ }
+ },
+ });
+ }
+ }
+}
+
diff --git a/osu.Game/Overlays/OptionsOverlay.cs b/osu.Game/Overlays/OptionsOverlay.cs
index 05c8d9b8fd..70e6a18e3b 100644
--- a/osu.Game/Overlays/OptionsOverlay.cs
+++ b/osu.Game/Overlays/OptionsOverlay.cs
@@ -120,99 +120,4 @@ namespace osu.Game.Overlays
MoveToX(-width, 300, EasingTypes.Out);
}
}
-
- public class OptionsSection : Container
- {
- private SpriteText header;
- private FlowContainer content;
- protected override Container Content => content;
-
- public string Header
- {
- get { return header.Text; }
- set { header.Text = value; }
- }
-
- public OptionsSection()
- {
- const int headerSize = 30, headerMargin = 25;
- const int borderSize = 2;
- AutoSizeAxes = Axes.Y;
- RelativeSizeAxes = Axes.X;
- AddInternal(new Drawable[]
- {
- new Box
- {
- Colour = new Color4(3, 3, 3, 255),
- RelativeSizeAxes = Axes.X,
- Height = borderSize,
- },
- new Container
- {
- Padding = new MarginPadding
- {
- Top = 10 + borderSize,
- Left = OptionsOverlay.SideMargins,
- Right = OptionsOverlay.SideMargins,
- Bottom = 10,
- },
- RelativeSizeAxes = Axes.X,
- AutoSizeAxes = Axes.Y,
- Children = new[]
- {
- header = new SpriteText
- {
- TextSize = headerSize,
- Colour = new Color4(247, 198, 35, 255),
- },
- content = new FlowContainer
- {
- Margin = new MarginPadding { Top = headerSize + headerMargin },
- Direction = FlowDirection.VerticalOnly,
- Spacing = new Vector2(0, 25),
- AutoSizeAxes = Axes.Y,
- RelativeSizeAxes = Axes.X,
- },
- }
- },
- });
- }
- }
-
- public class OptionsSubsection : Container
- {
- private SpriteText header;
- private Container content;
- protected override Container Content => content;
-
- public string Header
- {
- get { return header.Text; }
- set { header.Text = value.ToUpper(); }
- }
-
- public OptionsSubsection()
- {
- RelativeSizeAxes = Axes.X;
- AutoSizeAxes = Axes.Y;
- AddInternal(new Drawable[]
- {
- content = new FlowContainer
- {
- Direction = FlowDirection.VerticalOnly,
- RelativeSizeAxes = Axes.X,
- AutoSizeAxes = Axes.Y,
- Spacing = new Vector2(0, 5),
- Children = new[]
- {
- header = new SpriteText
- {
- TextSize = 25,
- // TODO: Bold
- }
- }
- },
- });
- }
- }
}
diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj
index 1a1551a1d8..13deda788e 100644
--- a/osu.Game/osu.Game.csproj
+++ b/osu.Game/osu.Game.csproj
@@ -225,6 +225,8 @@
+
+