I have this enum:
enum ButtonState {
BUTTON_NORMAL = 0,
BUTTON_PRESSED = 1,
BUTTON_CLICKED = 2
};
const u8 NUM_BUTTON_STATES = 3;
In my Button class I have member variables ButtonState state;
and ButtonColors colors[NUM_BUTTON_STATES];
. When drawing the button, I use colors[state]
to get the colours for whatever state the button is in.
My questions:
- Is this good programming style? Is there a better way to do it? (I usually only use enums with switch statements... using an enum as an array index doesn't feel right.)
- Do I have to specify the values of the enum? It seems to start from 0 by default and increment by 1 but is it guaranteed to work that way in all compilers?