I still need to work out how to dereference the struct to derive the individual rgb values. Suggestions?
Do you mean like this?
BtnCol main_menu = {{0, 32, 0},{34, 139, 34},{144, 238, 144}};
//... Use main_menu somewhere
analogWrite( 3, main_menu.fill.r );
If you need a 32-bit colour, define your struct as follows.
struct RGB {
operator uint32_t&(){ return *( uint32_t* ) this; }
uint8_t a;
uint8_t r;
uint8_t g;
uint8_t b;
};