tjheldna Posted April 26, 2015 Share Posted April 26, 2015 Here is a Simple C++ only GUI system for Leadwerks 3.5 named tjui. This project includes full source and a working example (a game settings window for now). Why use this? For starters it's free! Secondly it uses a mixture and expands on Leadwerks functionality like drawText and drawRect, so there is no messy linking or setup. The system is extremely flexible and in which you can create your own widgets from combinations available. Download full project here including source Download tjui_1.3.zip To use copy the contents to where your projects are found import via the LE editor What's New in Version 1.3 (Current 26/4/15) Updated the way widget events occur and they are now as optimised as I can get them to date. Renamed variables so they are to US spelling i.e color compared to colour. New modifier class fade in/out/pulsate. Before if widgets overlapped and the cursor overlapped both, the event would trigger for both. This has now been fixed to only trigger for the topmost widget. Works with Leadwerks 3.5. What's New in Version 1.2 If you downloaded any previous version you will need to update to this build. Most if not all changes happen in the base code and shouldn't effect anything else. Made a mistake setting the root list to only accept windows. I have reversed this. The root node should be the only node without a parent and if you Detatch() you will need to delete the detached widget manually. Fixed an iterator bug with Modifiers. This is a show stopper if you use one. Use the Remove() function to remove any widget either a base window or widget. Added overloaded function to Detatch(), you now can pass an iterator and return it, in case you are using the function in a loop. Removed UpdateWidget() and the functionality happens elsewhere and more efficiently. Added a few random optimisations as I saw them What's New in Version 1.1 Fix bug with SetPosY due to last minute variable name change. Overhaul of standard Button Widget code. Widgets children now use lists not vectors. The Interface only accepts windows to be added at the root level. Many optimisations. Settings window. I've started to create a settings window so you don't have to! Supported Widgets Border Button CheckBox GroupWidget Icon Button (Image button with an image icon overlay) ImageBox (Draw Image) ImageButton (3 different images for the different states) Label (Draw text) LineTextBox (Label with lines) ProgressBar (Vertical or Horizontal) Quad (Draw Rect) Radio Button RadioButtonGroup SingleImageTextButton (Single image with text overlay) SingleImageButton (Image Only) GUIWindow Widget (Base Class) Future Plans Create a main menu window Create a credits window Cursor widget. This is done I just need to cut it over. Widget: Horizontal Rule. Self destruct modifier, this will delete it's associated widget after a period of time. If you have any ideas on how to improve pm me, or post here. I really hope this can be put to good use. Also if this system is used in your game i'd like to know! 4 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.