Once I get some time to clean it up, at least, most of it will be released. Right now I'm working on several issues, the main being SDL::TTFont->width() leaks like a sieve. I've worked around it be measuring the width of every character for each font/size combo and saving it in a hash, not pretty, but it works til I figure out the real source, the perl XS side or the SDL side.
in reply to Re: Auto-DAC Automotive Media Player
in thread Auto-DAC Automotive Media Player
The application loop is pretty simple. Each button is loading into a hash of widgets, the name of the button matches the name attribute in the skin. Each button has subs that are called by the event handler. MOUSE_DOWN, MOUSE_UP, WHILE_PRESSED, OFF_RELEASE, DRAW_HANDLER
All buttons that are active have more than one frame (animated Gifs, but could be a series of BMPs with some tweaking of the skin code), the value of the widget is an index into the frames.
Currently, widgets can't overlap and seeing this is designed mainly for a touchscreen interface, I don't see a need for that to change. Though I'll probably add the concept of layers so I can pop an onscreen keyboard on there.
"To be civilized is to deny one's nature."