ID:154332
 
Recently I've been thinking apon the idea of having a graphical user interface. Instead of depending on much of the supplied interfaces, such as input boxes and alerts and what have ya. I wanted to actually create my own. Now these would not be overly complicated, and they wouldnt be text heavy. Lets say you are choosing your icon, You would have a background for the menu(taking up the entire screen view). This background would have little templates for things, such as where the buttons would go and such, but would not actually contain the content. Then when any given user logs in, images are displayed solely to his client, so only he can see what he is selectin. Then as he scrolls through the avialable icons, he would click one, and it would change his preview.

This was a very interesting concept and powerful when i actually layed it out. But what about max text displays. Such as shoing names and scores and what not. Well i almost went with the ebonshadow onscreen text method, but im not sure if it will have what i need. I am going to need to be able to do something like the following

ShowText("TextHere",x loc, y loc, z loc)

Then, it will show that text, at that loc, and start going towards the right if the word is too big to fit at that one loc.

I was wondering if this would be possible with ebonshadow's engine?

If i that is possible, then i will very soon be having a fully graphical display(but not for stats, note.) This would help move things along for selections of items or characters for the DM of my Fantasy Realm Engine, and would help things move alot faster a great deal. Instead of draging through an entire list of words, such as, dragon1, dragon2, dragon3, blah blah, you could just click on the dragon you wanted in a mob selection preview!

FIREking
FIREking wrote:

I was wondering if this would be possible with ebonshadow's engine?

Yep, It is. I'll work on adding the feature built in ASAP. What happens is each text icon is imaged over an "Anchor Object" which is actually the border in the background. All you have to do is go through the ImageItem's anchor list, and move the image to another anchor. Look at the GridMatrix var and a few of the procs that go with it. The way I designed the latest version, it will be easy for me to add tons of stuff like this in later. I also have planned to make text with scroll bars. Right now it is kinda difficult to place the text on the screen because you have to make a border the right size go on first. I have to make a proc that gives the dimensions of a border required for a line text. That way it will be easier to place text. So, on the list:
procs to make the lib easier to use
text scroll procs
scroll bar option
font colors
That's all I can think of right now. Also note, in the last version I added support for automatic word wrapping. If you can think of anymore features, tell me.

In response to Ebonshadow
So do you plan on adding a simple text function such as

ShowText("Text here", x loc, y loc, z loc)?

Hopefully you can, so that I wont have to supply background borders or anything of that nature. It would make it easier, because since i already know what the background will look like, and i already know where its at, all i want to do is just show the text.

I also want to complement you on the way you programmed the OnScreen text engine, its designed very well and works efficiently. I have a few complaints, such as text sometimes spaced far apart, and that the multi line made it seem you used the defualt height of 32. It would be nice if you actually could have the next text line very very close to the top line. I know this would make fonts have alot more icons, but it would make the multi-line feature alot cooler no doubt. I believe you could get by with a simple
================
= =
= =
= A =
= =
= =
================

================
= A =
= =
= =
= =
= =
================

================
= =
= =
= =
= =
= A =
================

that being three A's for the left A position. One on top, one in the middle, and one on the bottom.

Good idea?

FIREking
In response to FIREking
FIREking wrote:
So do you plan on adding a simple text function such as

ShowText("Text here", x loc, y loc, z loc)?
It will probably be more like this:
ShowText("Text here", turf/t, fonticon,bordericon)

Note, you dont not have to have an icon for the border. You can leave it null and it will be invisible. The border is really just there to keep text in a fixed area.

As for your multi line request: Maybe, but it would be a lot of work, and it would take forever to make another font. If Dantom added the scroll(icon) feature, then yes I would do this because then you only need one icon for each symbol. However, if added a top and a bottom, that would 12 icon states for each symbol, and there are alot of symbols.
In response to Ebonshadow
Ebonshadow wrote:
FIREking wrote:
So do you plan on adding a simple text function such as

ShowText("Text here", x loc, y loc, z loc)?
It will probably be more like this:
ShowText("Text here", turf/t, fonticon,bordericon)

Note, you dont not have to have an icon for the border. You can leave it null and it will be invisible. The border is really just there to keep text in a fixed area.

Good idea here Using the turf instead of 3 number values will keep the arguments to a minimum. As for border icon, i believe it was defborder.dmi? Well i did put null there, and the def border still showed up. But, i think thats because your engine uses that for a defualt. So i what i did was made a icon of my own, with one icon state that was all masked, and use that, creating the invisible background. But i would like to mention to you that leaving the border out of showtext() will hopefully get rid of some overhead processing or whatever. That way its simply using
ShowText("text",turf,fonticon), and not using any of the processing for creating all the necessary borders.

As for your multi line request: Maybe, but it would be a lot of work, and it would take forever to make another font. If Dantom added the scroll(icon) feature, then yes I would do this because then you only need one icon for each symbol. However, if added a top and a bottom, that would 12 icon states for each symbol, and there are alot of symbols.

FIREking