Add corner rounding and positional transform

This commit is contained in:
Dean Herbert 2020-12-07 16:43:07 +09:00
parent 7253866e17
commit 454e94574c
1 changed files with 30 additions and 16 deletions

View File

@ -27,28 +27,40 @@ public class ModSettingsContainer : VisibilityContainer
private readonly FillFlowContainer<ModControlSection> modSettingsContent;
private const double transition_duration = 200;
private readonly Container content;
private const double transition_duration = 400;
public ModSettingsContainer()
{
Children = new Drawable[]
RelativeSizeAxes = Axes.Both;
Child = content = new Container
{
new Box
Masking = true,
CornerRadius = 10,
RelativeSizeAxes = Axes.Both,
RelativePositionAxes = Axes.Both,
X = 1,
Children = new Drawable[]
{
RelativeSizeAxes = Axes.Both,
Colour = new Color4(0, 0, 0, 192)
},
new OsuScrollContainer
{
RelativeSizeAxes = Axes.Both,
Child = modSettingsContent = new FillFlowContainer<ModControlSection>
new Box
{
Anchor = Anchor.TopCentre,
Origin = Anchor.TopCentre,
RelativeSizeAxes = Axes.X,
AutoSizeAxes = Axes.Y,
Spacing = new Vector2(0f, 10f),
Padding = new MarginPadding(20),
RelativeSizeAxes = Axes.Both,
Colour = new Color4(0, 0, 0, 192)
},
new OsuScrollContainer
{
RelativeSizeAxes = Axes.Both,
Child = modSettingsContent = new FillFlowContainer<ModControlSection>
{
Anchor = Anchor.TopCentre,
Origin = Anchor.TopCentre,
RelativeSizeAxes = Axes.X,
AutoSizeAxes = Axes.Y,
Spacing = new Vector2(0f, 10f),
Padding = new MarginPadding(20),
}
}
}
};
@ -86,11 +98,13 @@ private void modsChanged(ValueChangedEvent<IReadOnlyList<Mod>> mods)
protected override void PopIn()
{
this.FadeIn(transition_duration, Easing.OutQuint);
content.MoveToX(0, transition_duration, Easing.OutQuint);
}
protected override void PopOut()
{
this.FadeOut(transition_duration, Easing.OutQuint);
content.MoveToX(1, transition_duration, Easing.OutQuint);
}
}
}