Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Work in Progress / twGui - A free, fast, and flexible Graphical User Interface

Author
Message
Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 16th Jan 2008 23:44 Edited at: 19th Jan 2008 00:46
twGui
By Aaron J. Miller : Built with the TwilightEngine


Introduction
Hullo all. twGui (Twilight Gui) is a Direct3D based GUI environment useful for editors or game-side displayments. It currently features 4 different themes (soon 5): 1 - Smooth, This theme is a Windows XP/Windows Vista Basic styled theme, appropriate for editors; 2 - Candy Glass, This theme is a Windows Aero styled theme appropriate for editors and in some cases games. It sports a lovely look and runs just almost as fast (Only by 5-7 FPS difference) as the other themes; 3 - Classic, This theme is a cool classic Windows style theme, but with a modern twist. It looks lovely, and is my personal favorite; 4 - Flat, This theme is a "flat", performance oriented theme. This theme uses as little draw calls as possible to render the GUI drawing it as quickly as possible. This theme is the fastest of all, and still looks quite nice, this theme is suitable for editors and games. And coming soon 5 - Raster, This theme will use the user-chosen images to render the window. This theme can be used to render Windows XP, Linux, or much more game oriented windows and controls.

The GUI's core functions:

* Can generate windows on the-fly, no need to update each window individually (That should be a given).
* Window text is clipped correctly, and drawn pretty.
* Windows support maximize and close functions (Minimize coming soon, sorry).
* Windows will retrieve callbacks (Meaning a function will be called at a specific event) for things such as, the window getting created (Useful for initializing data), the window getting moved (Useful if you have information that needs to be updated upon the windows movement), when the window is resized (Useful if you want to stretch an image to the window's size), when the window has been attempted to be minimized, maximized, restored (Restore = Set to normal orientation of state), or closed, and when the window is about to be freed (Meaning the window is going to be destroyed, nothing can be done to stop this, so free any memory you need to associated with the window before the window itself is freed).
* Windows support the following client draw types: Flat Color - The client of the window will be drawn as a color, and then the draw callback will be called, Image - An image will be used as the background of the window, and then the draw callback will be called, None - The draw callback will be called instantly (The draw callback is awsomed to take care of how to draw the background and such). Coming soon Gradient Color - 4 Colors will be used to render the client of the window, this is useful for drawing in gradients or for making the GUI look "cooler", Render Target - Other portions of Direct3D will render inside of the window.
* Windows can be colored any color, and will render using that color. Pure white, no alpha = 0xffffffff, Pure white, 50% alpha = 0x80ffffff, Orange, some alpha: 0xb0ff8000, etc. <You can obtain these values with RGB (Or if you're using the Twilight Engine with ColorRGB or ColorRGBA)>.
* You can send custom messages to window callbacks.
* Parent/Child Support for windows
* Rendering inside a window is cliped correctly, and quickly!

Drawing functions (For draw callbacks):

* You can render text
* You can word-wrap text
* You can draw boxes
* You can draw textures/images
Coming Soon
* You will soon be able to draw gradient boxes
* You will soon be able to draw lines
* You will soon be able to draw gradient-lines
* You will soon be able to draw "advanced" textures/images (Meaning have more control over the rendering process)
Any ideas for what else could be needed for rendering to a window?

DarkBasic Pro Side

Coming Soon
* The DBP plugin

Controls to be added

* Forms/Panels
* Buttons
* Check Boxes
* Radio Boxes
* Edits
* Sliders
* Progress-Bars
* Combo Boxes
* List Boxes
* Tree-View
* List-View


Screenshots








Demos
Demo attached


Cheers,

-naota

With any luck you'll be able to turn a fully functioning program to a crashing program with just a little bit of coding.
Aex.Uni forums

Attachments

Login to view attachments
Xenocythe
19
Years of Service
User Offline
Joined: 26th May 2005
Location: You Essay.
Posted: 17th Jan 2008 00:08
Looks great man!


Sig by BiggAdd.
Inspire
17
Years of Service
User Offline
Joined: 23rd Dec 2006
Location: Rochester, NY
Posted: 17th Jan 2008 00:50
I like it!

AaronG
18
Years of Service
User Offline
Joined: 28th Oct 2006
Location: Millstone, NJ
Posted: 17th Jan 2008 02:49
Nice Aero look!


8800 640mb GTS, 4gb RAM, 500gb HD, Vista Home Premium, 3 Dual Panel Casing Fans
tha_rami
18
Years of Service
User Offline
Joined: 25th Mar 2006
Location: Netherlands
Posted: 17th Jan 2008 04:36
All that work and then you misspell the most basic line in programming. *sigh*

j/k - looks good all in all


A mod has been erased by your signature because it was larger than 600x120
Gil Galvanti
19
Years of Service
User Offline
Joined: 22nd Dec 2004
Location: Texas, United States
Posted: 17th Jan 2008 04:43
Looks nice .


Silvester
18
Years of Service
User Offline
Joined: 7th Dec 2005
Location: Netherlands
Posted: 17th Jan 2008 08:07
Looks nice, and quite Vista Inspired.(Not that that is bad)

FERSIS
18
Years of Service
User Offline
Joined: 17th May 2006
Location:
Posted: 17th Jan 2008 13:15
Quote: "All that work and then you misspell the most basic line in programming. *sigh*"

What line ?
Roxas
19
Years of Service
User Offline
Joined: 11th Nov 2005
Location: http://forum.thegamecreators.com
Posted: 17th Jan 2008 14:15
I love you


Click For Details!
Mr Kohlenstoff
18
Years of Service
User Offline
Joined: 7th Jun 2006
Location: Germany
Posted: 17th Jan 2008 16:45
Quote: "What line ?"


I guess he means "Hullo World!". But I also guess that it is supposed to be written this way... like a personal stylistic device.

Looks very cool, very well done.

Diggsey
18
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Matt Rock
19
Years of Service
User Offline
Joined: 5th Mar 2005
Location: Binghamton NY USA
Posted: 17th Jan 2008 19:28
I dig it, looks good

Question, off topic... is this you? I randomly came across that while looking something up for Inspire the other day and thought it was ironic, hehe.

Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 17th Jan 2008 20:59
Thanks all.

Hullo is spelled correctly actually. Hello is also correct.

@Matt
It won't let me open that page. If the user name is "AaronMiller" then probably.

@Everyone
I added shader support to the Twilight Engine! I just have to write a shader that actually does something interesting. The GUI will be able to use shaders soon. General Note: You can apply shaders to boxes, lines, images, etc with a call to twSetPrimitiveShader (NULL passed will set to none).

I also rewrote the image rendering function, so that's faster.


Cheers,

-naota

With any luck you'll be able to turn a fully functioning program to a crashing program with just a little bit of coding.
Aex.Uni forums
Deathead
18
Years of Service
User Offline
Joined: 14th Oct 2006
Location:
Posted: 17th Jan 2008 22:54
Wow Aaron! Twilight is looking great.

Diggsey
18
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Posted: 17th Jan 2008 23:56
Quote: "
Our first question comes from Aaron Miller as follows:

Question: Trademarked names for indie games
Aaron Miller

I am in the process of investigating the trademarking of game names for business use and would appreciate any advice you may have. I understand that one can use a name in business and have it protected even without going through the process of registering it with the US Patent Office, but that doing so provides extra legal protection against infringement. However, as a small independent developer in the early stages of creating a title, I would like to stave off the fees for registering a mark until absolutely necessary (particularly any recurring fees as the game is being developed). Would you consider it more wise to register the mark now or go ahead with using the name (thus building up recognition but saving money) and then register the mark when the game ships?
"


That's what it says. If it is you, what is this title you are creating

Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 18th Jan 2008 00:05 Edited at: 18th Jan 2008 00:19
@Diggsey
Well its not me.

@Deathead
Thanks.

@Everyone
Here's the demo with the shaders, and a plea for help.
Quote: "This demo shows off the crappy shader I programmed for the windows.

The shader is so crappy I'm asking that if anyone wants to contribute a better one (Perhaps with blur??), then please do so! However, I'm not too good with shader programming so if you can, please write the shader to work with this program before contributing. If you do contribute, you'll be put in the credits.

What the shader does:

It performs a "bloom" type of effect, causing bright pixels to be brighter, and dark pixels to dark pixels to be darker.

What kind of shader I want to build:

I want to make a blur shader, like Windows Aero, but I don't understand how blur works, let-alone how to implement it. In the future perhaps a motion-blur effect too (Except that'd be applied to the entire window), however I figure to implement this I'd only render to a texture, then render that texture a few times in the general direction of the window's movement.


Cheers,

-naota"


Attached.




Cheers,

-naota

With any luck you'll be able to turn a fully functioning program to a crashing program with just a little bit of coding.
Aex.Uni forums

Attachments

Login to view attachments
sp3ng
18
Years of Service
User Offline
Joined: 15th Jan 2006
Location:
Posted: 18th Jan 2008 00:09
how do you go about doing word wrap?

im developing a GUI at the moment and im kinda stuck on that


Add Me
Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 18th Jan 2008 00:13
The word wrap is a function of the Twilight Engine, so as far as the GUI is concerned its a matter of changing the command name from twDrawText to twDrawTextWrap.

I think I released a function a while back to do word wrap, not sure where it is but if I find it I'll let you know. For the most part its drawing letters/words individually and parsing (For DBP).

You could use this GUI if you get stuck on your own, its free, and no royalties necessary.

Cheers,

-naota

With any luck you'll be able to turn a fully functioning program to a crashing program with just a little bit of coding.
Aex.Uni forums
tha_rami
18
Years of Service
User Offline
Joined: 25th Mar 2006
Location: Netherlands
Posted: 18th Jan 2008 04:45
Hullo? What the crap is a Hullo?


A mod has been erased by your signature because it was larger than 600x120
sp3ng
18
Years of Service
User Offline
Joined: 15th Jan 2006
Location:
Posted: 18th Jan 2008 10:37 Edited at: 18th Jan 2008 10:38
thanks for the offer, but im trying to create my own visual style of GUI (pic attached)

im planning on having the user press a key to bring up a set of customize-able interfaces (inventory, etc.), so it is based around the windows system, but is fully transparent (which on my low spec PC causes a shameful FPS of < 30

EDIT: since this screenie, i have added: maximize, minimize and exit buttons (minimize doesnt do anything at the moment)


Add Me

Attachments

Login to view attachments
Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 18th Jan 2008 23:06 Edited at: 19th Jan 2008 00:46
@sp3ng
I can make that GUI theme rather easily through mine if you like, which'd work the same way (But probably faster as all the function were made by me and the D3D part is faster than Cloggy's DLL).

@tha_rami
Hullo. That is a greeting.

@everyone
Update! Image theme added. Two styles for theme have been done: Windows XP, and Titanium. See comments in the demo attached.





Cheers,

-naota

With any luck you'll be able to turn a fully functioning program to a crashing program with just a little bit of coding.
Aex.Uni forums

Attachments

Login to view attachments
Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 29th Jan 2008 20:42
Good news everybody,

I've restarted the DBPro Additions Pack (kind of). Started clean, added advanced mathematics (Vector 2/3/4, Matrix, and Quaternion), new terrains (At this point the terrain is basically a matrix but with much more features, and will soon be optimized), GUI support, and a garbage collector (For allocating memory that if you forget to be freed will automatically be freed).

The GUI support is this, which hasn't been tested fully, and will be LESS featured than the Twilight Engine version due to limitations with the Dark Basic Pro engine, sorry.


Cheers,

-naota

With any luck you'll be able to turn a fully functioning program to a crashing program with just a little bit of coding.
Aex.Uni forums
Dr Manette
18
Years of Service
User Offline
Joined: 17th Jan 2006
Location: BioFox Games hq
Posted: 29th Jan 2008 22:22
This is what I've been waiting for from you Aaron! Now go finish it now!!!

I could definitely use this for my music player, which right now is all text and uses the keyboard for controls. Looks good so far.

Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 30th Jan 2008 02:13
Here's DAP so far. If you need help, sorry but you can't use it. I'm highly unavailable most of the time, and find very rarely any time to commit to using the internet, that is until I *might* get a job working at GameStop in February.

The INI file is the only documentation, nothing guarenteed to work. Tested on (I think) DBPro 6.3.


Cheers,

-naota

With any luck you'll be able to turn a fully functioning program to a crashing program with just a little bit of coding.
Aex.Uni forums

Attachments

Login to view attachments
Rybens123
16
Years of Service
User Offline
Joined: 29th Jan 2008
Location:
Posted: 30th Jan 2008 16:16
Any examples, which can we lern from?

Login to post a reply

Server time is: 2024-11-24 04:03:54
Your offset time is: 2024-11-24 04:03:54