FR: DrawableButton getters

Drawable button has:

std::unique_ptr<Drawable> normalImage, overImage, downImage, disabledImage,
                              normalImageOn, overImageOn, downImageOn, disabledImageOn;

But only the getters:

Drawable* getNormalImage() const noexcept;
Drawable* getOverImage() const noexcept;
Drawable* getDownImage() const noexcept;

Can we get the others?

PS, notes left in the class

    A button that displays a Drawable.

    Up to three Drawable objects can be given to this button, to represent the
    'normal', 'over' and 'down' states.

Suggest there was a change to more images at some point with some work left undone.

Those methods return different images based on the state, for example

Drawable* DrawableButton::getNormalImage() const noexcept
{
    return (getToggleState() && normalImageOn != nullptr) ? normalImageOn.get()
                                                          : normalImage.get();
}

It seems the disabled image is the only odd one out. What exactly are you trying to do?

I’m trying to pass a DrawablePath object in as the Drawable, and then set the size and position of that drawable via a transform on the drawable in the resized method of the parent. Sometimes the setEdgeIndent on the button isn’t precise enough, if you know you want the final bounds of the path to be 9.5 x 6.25, for example.

I’ve since moved on to using SVG’s exported with the desired bounding box around them, which seems to be working (I swear I recall this not working in the past, a few years ago).

So the real goal would be to have more control over how Drawables are ultimately used in the button.