FR: Make Drawable respect Component alpha

It looks like I can’t create proper duplicates of Drawable instances because the alpha isn’t carried along.

This is problematic when wanting to create DrawableButtons, which inherently requires creating copies of the provided Drawables for its states.

My goal was to:

  1. Load a single SVG
    • An SVG that is more complex than just a single colour!
  2. Create a duplicate of this SVG for the various mouse states
  3. Change the alpha for each duplicate SVG state as desired

Part of the issue is the method for drawing, where Drawable doesn’t follow the normal drawing path as Component itself and requires an alternate access point with its own opacity parameter.

Now I’m stuck loading a custom SVG for each state, or creating a custom DrawableImage per state - both options are completely nonsensical.