Fix being able to hover the back button from outside of its shape.

Could alternatively done by shearing the entire button, but then you would need a positional x-offset depending on whether the anchor is top or bottom.
This commit is contained in:
Thomas Müller
2016-11-29 21:12:49 +01:00
parent 53df2932ad
commit a456eb6f1b

View File

@ -19,6 +19,9 @@ namespace osu.Game.Graphics.UserInterface
private Container leftContainer; private Container leftContainer;
private Container rightContainer; private Container rightContainer;
private Box leftBox;
private Box rightBox;
private const double transform_time = 300.0; private const double transform_time = 300.0;
private const int pulse_length = 250; private const int pulse_length = 250;
@ -39,7 +42,7 @@ namespace osu.Game.Graphics.UserInterface
Width = 0.4f, Width = 0.4f,
Children = new Drawable[] Children = new Drawable[]
{ {
new Box leftBox = new Box
{ {
RelativeSizeAxes = Axes.Both, RelativeSizeAxes = Axes.Both,
Colour = new Color4(195, 40, 140, 255), Colour = new Color4(195, 40, 140, 255),
@ -61,7 +64,7 @@ namespace osu.Game.Graphics.UserInterface
Width = 0.6f, Width = 0.6f,
Children = new Drawable[] Children = new Drawable[]
{ {
new Box rightBox = new Box
{ {
Colour = new Color4(238, 51, 153, 255), Colour = new Color4(238, 51, 153, 255),
Origin = Anchor.TopLeft, Origin = Anchor.TopLeft,
@ -80,6 +83,12 @@ namespace osu.Game.Graphics.UserInterface
} }
}; };
} }
public override bool Contains(Vector2 screenSpacePos)
{
return leftBox.Contains(screenSpacePos) || rightBox.Contains(screenSpacePos);
}
protected override bool OnHover(InputState state) protected override bool OnHover(InputState state)
{ {
icon.ClearTransformations(); icon.ClearTransformations();