BlitzPlus creations

BlitzPlus Forums/BlitzPlus Beginners Area/BlitzPlus creations

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

http://www.blitzbasic.co.nz/Community/posts.php?topic=40637

And below a small stupid test-app. Point of interest are the image-buttons, the remote help-display and the gfx themself.
The imagebuttons are my own gadgets I use for more than a year already... they work like a charm.
The remote help was something I made a month ago, it's 100% self-contained, you don't need any global vars or whatever.. just use a hlp=CreateHelpviewer(32,32,640,64) command orso, and after this: use 'hlp' in combination with a SendHelp hlp,txt command. Where txt is not a string, but a bank with formatted text (with indenting etc.) which was generated from a script in a string :)

The help-font was designed in a small font editor I made, which outputs a script again :) So, to have this font in my apps is simply a matter of having a long string and an unpacker.. strings rule more than data-lines imho.

The gfx for the buttons (and the gfx for the help-viewer-border) were also created from a texgen-script. Once might say that I did all these 3 scripts because B+ can't incbin, but on the other hand: I'm sure I can create buttons faster with a script than in photoshop.

And as my sig says: all with banks!

http://quor-toth.balpol.tudelft.nl/~mvs/CS_TBL__newbutton_testapp.rar

To make things more exciting: the app is fairly small.. and clean, see the source below .. which is everything! (the rest is tucked away in generic/blackbox include-files)
Don't try this at home .. as most commands are completely alien without include-files, not to mention the DML-scripts :)

Include"__BW__.bb"
Include"__strings__.bb"
Include"__DML3__.bb"

Global imgButton
setupDML3()

app=CreateApp("test",256,256)

hlp=CreateHelpmanager()

UB=CreateUB(4,4,3,3,32,32,app,hlp)

AddUB(0,1,imgButton,"1",1,UB,TG("#32@1~Help 1  o_O"))
AddUB(1,0,imgButton,"2",0,UB,TG("#32@1~Help 2  O_o@blabla1@blabla2@blabla3@blabla4"))
AddUB(2,1,imgButton,"3",0,UB,TG("#32@1~Help 3  o_o"))
AddUB(1,2,imgButton,"4",0,UB,TG("#32@1~Help 4  O_O"))

helpdisplay=CreateHelpdisplay(32,32,256,50)

Repeat
	WaitEvent()
	If EventID()=$803 quit=True
	Delay 4
	ev$=UBevents(UB)
	HelpdisplayEvents(helpdisplay)

	If HelpmanagerCurrent(hlp) ; new help?
		SetHelpdisplayHelp(helpdisplay,HelpmanagerCurrent(hlp))		
	EndIf
Until quit
FreeHelpdisplay(helpdisplay)
FreeBank hlp
End

Function setupDML3()
	i0=DML3("v32,32i<v176,168,160,t-0#180t9-1#160t9-1#140t9x13y8v0,0,0>5v5>6rgdhleuf")
	imglist=CreateBank()
	ImageBankAdd(imglist,i0)
	imgButton=DML3("i0,4,1i1v$@6#32$#64$#96$xyx31y31v32>2v288jm9v320jm9v352jm9",imglist)
	FreeImage i0
	FreeBank imglist
End Function