Lil' Vivid-gui shot.

Miscellaneous Forums/Blitz Showcase/Lil' Vivid-gui shot.

The Forum Archive is locked. These are the original blitzbasic.com forums, kept so their posts can still be read and searched. No new topics, replies or edits can be made here. To join the conversation, head over to the Blitz3D+ forums.



V1.0 free with update 2, no additional charges for future versions either.

The look is 100% customizeble, via styles. Each style can also specify sounds for the gui, when specific events occur.
Here's the code it took to set up the look seen above.
The alpha is dynamic, and changes according to where you're working. (modes too. can have a solid/non textured gui if you wish)

Global style_Default=style_create()
style_texture(style_default,back)
style_pressSound(style_default,"gui_dat\but7.wav")
style_clickSound(style_default,"gui_dat\but3.wav")
style_activeSound(style_default,"gui_dat\warn1.wav")
style_motionSound(style_default,"gui_dat\move2.wav")
style_doubleClickSound(style_default,"gui_dat\but4.wav")


(I.e ease of use is a big priority.)

The code to create the above was,

Include "Includes\VividGL_Lite.bb"
Graphics_Init(640,480,32,1)  ;-- [ Setup full screen display
Graphics_Setbuffer Graphics_Back() ;-- [ Set our backbuffer.
Include "Includes\vgui.bb" ;include the optional gui module.'

;load a background for this little demo.
Os_Back=Texture_Load("Example_Media\osBack.bmp")
If Not os_back RuntimeError "Could not load Os_Back1.jpg, check you have the latest freeimage.dll"
Texture_Blend os_back,3 ;additive blending.
Texture_Filter os_back,1 ;linear filtering. all we need for this.
back=Texture_Load("example_media\back1.bmp")
Texture_Blend back,1 ;combined blending
Texture_Filter back,1 ;linear filtering
Texture_Scale back,0.1,1,1 ;scale the texture. 

fol=gui_folderView(20,20,400,300,style_default,"Test") ;gui manages it for you.
win=gui_window("Hey botch",100,320,100,100,style_default)
scop=gui_window("Nothing",40,40,250,240,style_default)
gui_setStatus scop,"Testing Nothing but me"
gui_setStatus fol,"Nothing going on here" ;set window status

test=gui_list() ;create new gui list. (Allows you to have multiple uis in action at once)
gui_listAdd( test,fol)
fol=gui_folderView(20,20,400,300,style_default,"Test")
gui_listAdd( test,fol)
fol=gui_folderView(20,20,400,300,style_default,"Test")
gui_listAdd( test,fol)
gui_listAdd(test,win)
gui_listAdd(test,scop) ;only need to add TOP level of the gui element.
style_texture(style_default,back) ;add texture to the default style, we're using.

While Not KeyDown(1)
Render_Cls(True)
	gui_updateList(test) ;this one function handles everything for you.
	Texture_Activate os_back,0
	Render_Begin()
	Render_Color(40,40,40,1)
		Render_QuadFast( 0,0,GraphicsWidth(),GraphicsHeight())
	Render_End()
	Unlock_2D()
	Texture_Pop()
	
	For j=1 To gui_eventCount() ;We just respond to events
		Select gui_eventId(j)
			Case event_GadgetPressed
				gadget=event_gadget(j)
				If gadget=QuitGadget ;for example
				     End
			  EndIf
			Case Event_GadgetClicked
	
			Case Event_GadgetIn
		   Case Event_FilePicked
		   	file$=Event_File() ;doubled click on a file.
			
		End Select
	Next ;and there more events, to handle all siturations.  you simply use what you need.
	gui_ClearEvents()
	gui_renderList(test) ;renders the gui list provided. can have multiple lists.
	Render_Flip(False)
Wend


I'll release a exe (In this thread only) shortly, for anyone interested.