My GUI for Blitz3D SDK + BlitzMax
Archives Forums/Blitz3D SDK Programming/My GUI for Blitz3D SDK + BlitzMax
| ||
| So I was working on a project, and realized that a GUI was a necessity. I looked but could not find one that fit my needs: A BlitzMax GUI for use with the BlitzMax Blitz3D SDK Wrapper. I know, there is MaxGUI (which I believe someone on the forums managed to get working together, with a canvass or something), but it has extremely crappy controls altogether, and is a pain in the butt to code with. I wrote my own. It has support for pseudo-events, multiple windows, and a few controls. It is not hard to add more, but I don't need any other ones at the moment. I know my programming is crap (I hope it's good enough for a 14 yr old). Please don't be rude about it. Constructive criticism would be nice, however. Current Controls: Window (TWindow, it is movable!!!) Button (TButton, also hackable as a label. Just change the event to blank, and make the background the same as the parent window's) Textbox (TTextbox) DropList (TDropList) Downloads are at the following page http://experimental.thegamerboard.com/index.html A small program that writes the contents of the textbox to C:\Test.txt (not tested):
Import blitz3d.blitz3dsdk
bbBeginBlitz3d()
bbGraphics 800,600,32,2
Include "LukeGUI.bmx"
LGUIRenderer:TLukeGUIRenderer = LukeGUIRenderer.Create()
'Window
TWindow.Create("FrmTest1",300,250,200,100,"Write Text", ..
LGUIRenderer,TRGB_WHITE,TRGB_BLACK)
'Textbox
TTextbox.Create("TheTextbox",50,25,GetIntWidth(10), ..
bbFontHeight() + 2, "Textbox 1",0,LGUIRenderer,TRGB_WHITE, ..
TRGB_BLACK)
'Buttons
TButton.Create("TheSaveButton",75,75,GetTextWidth("Save"), ..
bbFontHeight() + 2,"Save",0,LGUIRenderer,TRGB_BLUE,TRGB_WHITE)
'event system stuff
Type FrmTest1
Method OnShow()
End Method
Method OnHide(OSender:OARY_SENDER)
End
End Method
End Type
Type TheSaveButton
Method OnClick()
Local f:TStream = WriteFile("C:\Test.txt")
WriteLine f,LGUIRenderer.Windows[0].Textboxes[0].Value
CloseFile f
End Method
End Type
'actual loop
Repeat
LGUIRenderer.Update()
bbCls()
LGUIRenderer.Render()
bbFlip()
Forever
|