The online racing simulator
Buttons (API design concepts solicitation)
This afternoon I've been trying to put together a more simplified API to sit on top of the buttons packets.

The problem is that whatever I come up with is basically shit and I'm getting 0 inspiration, and staring a blank screen.

I want to abstract away click IDs, and generating packets, having automatic callback handling, etc. however I either end up with what is basically a proxy to IS_BTN, etc. or something that's ridiculously pointless.

Anyone got any thoughts or ideas on the subject? I'm almost at the point of dropping it completely and just having a click ID manager.
buttonRequsted(UCID); - For IS_BFN::BFN_REQUEST (Callback)
buttonDelete(UCID, ClickID) - For IS_BFN::BFN_DEL_BTN
buttonClear(UCID); - For IS_BFN::BFN_CLEAR
buttonCreate(UCID, L, T, W, H, Text, Inst = NULL, BStyle = NULL); - For IS_BTN with TypeIn = 0 (Returns ClickID).
buttonTextbox(UCID, L, T, W, H, Text, Inst = NULL, BStyle = NULL); - For IS_BTN with TypeIn > 0 (Returns ClickID).
buttonClick(UCID, ClickID, CFlags); - For IS_BTC (Callback)
buttonType(UCID, ClickID, Text); - For IS_BTT (Callback)

Something like this?


What it really comes down to, can you abstract away ClickID's and still have a meaningful relationship between the buttons?
Thats more or less what I'd already come up with, but without buttonClick and buttonType (callback references would be passed to the buttonCreate/buttonTextbox).

It just seems a little pointless vs just handling packets I was mostly hoping someone had/would come up with an idea that I hadn't =/

FGED GREDG RDFGDR GSFDG