Skinnable GUI`s...?

BlitzPlus Forums/BlitzPlus Programming/Skinnable GUI`s...?

.rIKmAN.(Posted 2007) [#1]
Are there any form designers for Blitz+ or Blitz2D that allow you to create non windows standard looking GUI`s.

ie. I dont want it to look like a VB app, more a skinnable kind of thing where I can make it look more "gamey".
I have been using Blitz3D and BCF2, but the whole 100% CPU thing is a problem as I`m going to be running this in the background while another full game is played on the PC, so need all the CPU cycles I can get.

I`ve looked through the Toolbox and most are either not what I`m after, discontinued or look like plain old Windows API GUI`s.

Cheers for any help you can give.


CS_TBL(Posted 2007) [#2]
You can use a canvas and draw an image on it. If that image suggest a button, then you only need to check on mouse events on that canvas, and if you're 1337 then you alternate that canvas with another image, of a pressed-button orso.

Works like a charm, in Blitzmax this is even more convenient and clean to do btw, but alas, not in B+


Alaric(Posted 2007) [#3]
I'm pretty sure that someone has already written code for this and put it into the archives. You might want to check that before you try out CS_TBL.


.rIKmAN.(Posted 2007) [#4]
I only picked Blitz+ as I figured it had GUI commands built in.

I don`t need any 3D (I`m writing a game that interfaces with another full 3D game that runs spereatley) so I figured someone may have done this already for Blitz+)


Alaric(Posted 2007) [#5]
It does have GUI functions built in... but they kind of suck compared to other languages. If there's something missing that you really need, then you need to either make a userlib or else use a cheap replacement like this one.

Function skinwindow(window,backupimg)
skin=CreateCanvas(0,0,ClientWidth(window),ClientHeight(window),window)
SetGadgetLayout(skin,True,True,True,True)
skinimg=CopyImage(backupimg)
ResizeImage(skinimg,ClientWidth(skin),ClientHeight(skin))
SetBuffer(CanvasBuffer(skin))
DrawImage(skinimg,0,0)
FlipCanvas(skin)
Return skin
End Function