Basic UI in place

"guurk" wrote:
Oh yeah.. I'm also changing from 'scale' to just a height and width.. the standard way of doing things GUI wise.

Scale can be really useful for game GUIs where the user's resolution may change and you want your gui to look the same. We could just use jME's local scale stuff, but it would need to affect the hit areas as well (which would be ideal... then we could just set a scale on a root gui node and have it propogate down the tree.)

Also, I'm making heavy use of this GUI stuff in my game... I hope it continues to function so well after the updates. hehe.

I’m trying to keep the API as static as possible, to limit the need to refactor with the new stuff.



While I’m looking through this I’ll really work hard on how best to integrate scale appropriately… Everything is turning into Node derrived instead of some Quad and some Node. Also, the UIActiveArea is also going to be Node based so that it can handle the built in jME scaling.



How about a Layout Manager?

Would be useful, although having the ability to position something precisely is still powerful.



What kind of timeline are you looking at? I don’t want to get too far into my gui only to find out it’s all wrong. :slight_smile:

I’m going to be gone this weekend starting tomorrow afternoon. So I’ve told myself I’m not allowed to sleep tonight until it’s done :P.



Anyhow… you’ll like it. It has nice easy GUI features so that you can create buttons and such without having to have your own pics (although that’s still there). Now you can create translucent GUI’s based on color schemes… it’ll be worth the wait.



Then next week I want to do the scrolling regions and scroll bars. I’ll want to go over the design for that before I start.

Sweet. Oh, btw, the char input upgrade I did involved an addition to the keyinput that grabbed the char related to the input. Dunno how you implemented that so if it’s easier to grab it from keyinput, it’s there now.

"guurk" wrote:
Oh yeah.. I'm also changing from 'scale' to just a height and width.. the standard way of doing things GUI wise.

You can do scale by setting the with and height when setting othelo mode. Opengl would scall it for you.

GLU.gluOrtho2D(0, 800, 0, 600);


Insted of:

GLU.gluOrtho2D(0, Window.getWidth(), 0, Window.getHeight());

True, but that would not enable other GUI code such as detecting mouse over and so forth.

"renanse" wrote:
Cool, another change I just added is better handling for keyboard input on the EditBox, so it can show upper/lower case letters, doesn't write "SPACE" when you hit the spacebar, etc.

Did this change ever get into CVS? Because I notice that the UIEditBox doesn't currently handle mixed case.