Yes, sorry, I meant the region as the slidebars are part of the region.
I use a set of 4 images for the buttons. One for the normal state, one for the hovered state (mouse over), one for the pressed state and one for the hovered and pressed state. Doing this gives a lot of freedom as to how the buttons can look in each state.
Anyway, I have managed to partly solve the problem by overriding the draw() function of the region and changing the image of the slidebar buttons as needed using code like this.
Code:
if(!slidebar[1].button[1]())
{
if(Gui.ms() != &slidebar[1].button[1])
slidebar[1].button[1].image = "off.gfx";
else
slidebar[1].button[1].image = "hover.gfx";
}
else
slidebar[1].button[1].image = "on.gfx";
I then just repeat this code for each of the buttons in the slidebar. Not ideal, but it seems to work. However, this leaves two problems though.
1. There is no way to turn the highlighting off on the buttons. The buttons still highlight when you mouse over them. An option to turn that off for the Button control would solve that problem.
When using custom images like this, the highlight isn't necessary as any sort of "highlight" feedback is already built into the images.
2. It is not possible to change the tex_frac used in the Button control's default drawing when it calls drawButton on the image. I use a different tex_frac value, so perhaps tex_frac could be added to the Button control as a member variable that is passed through to the drawButton call.