1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-15 00:02:54 +08:00

Implement half-width overflows

This commit is contained in:
smoogipoo 2018-04-05 17:05:38 +09:00
parent e7aa1d9c38
commit 9bb3e56bb3

View File

@ -14,6 +14,7 @@ namespace osu.Game.Screens.Edit.Screens.Compose.Timeline
public readonly Bindable<bool> WaveformVisible = new Bindable<bool>();
public readonly Bindable<WorkingBeatmap> Beatmap = new Bindable<WorkingBeatmap>();
private readonly Container waveformContainer;
private readonly BeatmapWaveformGraph waveform;
public ScrollingTimelineContainer()
@ -21,20 +22,31 @@ namespace osu.Game.Screens.Edit.Screens.Compose.Timeline
{
Masking = true;
Content.AutoSizeAxes = Axes.None;
Content.RelativeSizeAxes = Axes.Both;
Add(waveform = new BeatmapWaveformGraph
Child = waveformContainer = new Container
{
RelativeSizeAxes = Axes.Both,
Colour = OsuColour.FromHex("222"),
Depth = float.MaxValue
});
RelativeSizeAxes = Axes.Y,
Child = waveform = new BeatmapWaveformGraph
{
RelativeSizeAxes = Axes.Both,
Colour = OsuColour.FromHex("222"),
Depth = float.MaxValue
}
};
waveform.Beatmap.BindTo(Beatmap);
WaveformVisible.ValueChanged += waveformVisibilityChanged;
}
private float zoom = 10;
protected override void Update()
{
base.Update();
waveformContainer.Margin = new MarginPadding { Horizontal = DrawWidth / 2 };
waveformContainer.Width = DrawWidth * zoom;
}
private void waveformVisibilityChanged(bool visible) => waveform.FadeTo(visible ? 1 : 0, 200, Easing.OutQuint);
}
}