FatGUI

Blitz3D Forums/Blitz3D Programming/FatGUI

kochOn(Posted 2006) [#1]
Hey dudes!

I am beginning a little GUI that I plan to sell at a reasonably low cost ;)
I know many GUIs already exists but I haven't found yet the good one. So I've started mine: FatGUI

You can try an early early version showing only some windows without components, but this is a good start I think :)

http://www.kochonet.com/FatGUI/FatGUI-demo.zip

Here is the code needed to achieve this demo:

Include "fatGUI.bb"

Graphics3D 640, 480, 16, 2
SetBuffer BackBuffer()

FatInit()
myfirst = CreateFatWindow("My first (modal) window", 10, 50, 320, 240)
SetFatStatusText(myfirst, "You'll need to close this one to access other Windows")
HideFatSizer(myfirst)
HideFatSysLock(myfirst)
HideFatSysMinimize(myfirst)
mysecond = CreateFatWindow("My second (topmost) window", 220, 120, 280, 140)
HideFatSysMinimize(mysecond)
mythird = CreateFatWindow("My third window", 320, 180, 220, 200)
SetFatWindowIcon(mythird, 0)
SetFatTopmost(mysecond)
FatModal = myfirst
ClsColorFat 64, 64, 64
fps_Init()

While Not KeyDown(1)
	Cls
	FatUpdate()
	fps_Update()
	Text 0, 0, "FPS: " + Str$(fps)
	Text 0, 15, "FatWidgetUnder: " + Str$(FatWidgetUnder) + " FatWidgetUnder_Class$: " + FatWidgetUnder_Class$
	Text 0, 30, "FatWidgetPushed: " + Str$(FatWidgetPushed) + " FatWidgetPushed_Class$: " + FatWidgetPushed_Class$
	Flip False
Wend


Let me know if it will have your interest...

Bye, KöchOn


Ross C(Posted 2006) [#2]
Hehehe, very cool man :D Does it use 3d or 2d?


kochOn(Posted 2006) [#3]
Hi Ross, It uses 2D commands but with the capacity to render 3D Views (what I am working on) so it will be compatible with both BlitzBasic (BlitzPlus) and Blitz3D.


Ross C(Posted 2006) [#4]
Ah. It looks very nice man. Good work :D


danjo(Posted 2006) [#5]
nice kochonkichi,, watching with much intrest dude :D


kochOn(Posted 2006) [#6]
Thanks Guys, and nice to see you on this thread Danjo.
Well, the zip file has been updated to let show you a Fat3DWindow demonstration:
http://www.kochonet.com/FatGUI/FatGUI-demo.zip

demo.bb:
Include "fatGUI.bb"
Graphics3D 800, 600, 16, 2
SetBuffer BackBuffer()

cam1 = CreateFatCamera() : PositionEntity cam1, 0, 2, -5 : RotateEntity cam1, 25, 0, 0
light = CreateLight(1) : PositionEntity light, -1, 10, - 4
cube = CreateCube()

FatInit()
win1 = CreateFatWindow("My first (modal) window", 10, 50, 320, 240)
SetFatStatusText(win1, "You'll need to close this one to access other Windows")
HideFatSizer(win1) : HideFatSysLock(win1) : HideFatSysMinimize(win1) : FatModal = win1
win2 = CreateFatWindow("My second (topmost) window", 60, 100, 320, 240)
SetFatTopmost(win2)
SetFatStatusText(win2, "This one will stay ontop of other windows")
win3 = CreateFatWindow("My third window", 110, 150, 320, 240)
SetFatWindowIcon(win3, 0)
SetFatStatusText(win3, "No system icon for this one")
win3d = CreateFat3DWindow("My 3D window", 160, 200, 320, 240, cam1)
SetFatStatusText(win3d, "Yes! a window capable of 3D displaying.")
ClsColorFat 64, 64, 64
fps_Init()
While Not KeyDown(1)
	Cls : TurnEntity cube, 0.5, 0.5, 0 : RenderWorld : FatUpdate() : fps_Update()
	Text 0, 0, "FPS: " + Str$(fps)
	Text 0, 15, "FatWidgetUnder: " + Str$(FatWidgetUnder) + " FatWidgetUnder_Class$: " + FatWidgetUnder_Class$
	Text 0, 30, "FatWidgetPushed: " + Str$(FatWidgetPushed) + " FatWidgetPushed_Class$: " + FatWidgetPushed_Class$
	Flip False
Wend


Now the windows can't go out of the screen when they are sized or draggeg.
You can verticaly resize windows by dragging Status Bars with the right button.

Thanks for feedback,
köchOn


kochOn(Posted 2006) [#7]
Here is a new yet early demo:
http://www.kochonet.com/FatGUI/FatGUI-demo.zip

I'm always concentrating on the windows and their skin so no gadgets(FatWidgets) for the moment. But the ability to set a single color for each window and a new FatGfxWindow which will let you simply draw inside like in other Blitz buffers. You can now resize by dragging both TitleBar and StatusBar with LMB.

Thanks for comments, köchOn