RFC. Written to address
https://osu.ppy.sh/community/forums/topics/2150023.
Few other things we might want to happen here:
- pause the track when starting the drag
- figure out what to do when a drag is held while the track changes in
the background (which was impossible to happen before this)
but I want to see the reaction to this first.
Closes https://github.com/ppy/osu/issues/33748.
I (and tests) can't find any regressions from this. One would hope we
aren't relying on fall-through mouse down anywhere beneath buttons..
This isn't used visually for context menus, but is handy to have when
using this class to convey more general information about actions,
including usages outside of context menus where an icon is relevant to
have.
This also fixes code running in `Update` which shouldn't be, by
consuming the new `NewItemsPresented` callback.
Fields and properties are renamed to knock some sense into things (was
previously called two or three different things).
Keep masking back in `Content`, since the scaling animation is happening
on `Content` instead of `this`. This doesn't regress the intended
behaviour in this PR (which is to just to make the button class itself
sheared instead of its content).
Saves having this defined in 20+ places. If we ever make any changes to
shear, it's 100% going to need to be applied to every usage (there will
never be a case of multiple different shears in the game).
Also fixes a mismatching definition in `ShearedNub`.