From 939e167d6a61623cdf400e4e0cc16e556c41547e Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 13 Jul 2017 16:39:27 +0900 Subject: [PATCH] Correct offset settings vertically based on toolbar visibility --- osu.Game/OsuGame.cs | 4 +++- osu.Game/Overlays/SettingsOverlay.cs | 6 +++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/osu.Game/OsuGame.cs b/osu.Game/OsuGame.cs index 961e296050..843861c0da 100644 --- a/osu.Game/OsuGame.cs +++ b/osu.Game/OsuGame.cs @@ -56,6 +56,8 @@ namespace osu.Game } } + public float ToolbarOffset => Toolbar.Position.Y + Toolbar.DrawHeight; + private OsuScreen screenStack; private VolumeControl volume; @@ -360,7 +362,7 @@ namespace osu.Game { base.UpdateAfterChildren(); - mainContent.Padding = new MarginPadding { Top = Toolbar.Position.Y + Toolbar.DrawHeight }; + mainContent.Padding = new MarginPadding { Top = ToolbarOffset }; Cursor.State = currentScreen?.HasLocalCursorDisplayed == false ? Visibility.Visible : Visibility.Hidden; } diff --git a/osu.Game/Overlays/SettingsOverlay.cs b/osu.Game/Overlays/SettingsOverlay.cs index 82dffbb3f7..2a5aa0390c 100644 --- a/osu.Game/Overlays/SettingsOverlay.cs +++ b/osu.Game/Overlays/SettingsOverlay.cs @@ -1,6 +1,7 @@ // Copyright (c) 2007-2017 ppy Pty Ltd . // Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE +using System; using System.Linq; using OpenTK.Graphics; using osu.Framework.Allocation; @@ -35,6 +36,8 @@ namespace osu.Game.Overlays private SearchTextBox searchTextBox; + private Func getToolbarHeight; + public SettingsOverlay() { RelativeSizeAxes = Axes.Y; @@ -111,7 +114,7 @@ namespace osu.Game.Overlays searchTextBox.Current.ValueChanged += newValue => sectionsContainer.SearchContainer.SearchTerm = newValue; - sectionsContainer.Padding = new MarginPadding { Top = game?.Toolbar.DrawHeight ?? 0 }; + getToolbarHeight = () => game?.ToolbarOffset ?? 0; } protected override void PopIn() @@ -153,6 +156,7 @@ namespace osu.Game.Overlays base.UpdateAfterChildren(); sectionsContainer.Margin = new MarginPadding { Left = sidebar.DrawWidth }; + sectionsContainer.Padding = new MarginPadding { Top = getToolbarHeight() }; } private class SettingsSectionsContainer : SectionsContainer