fb:porticula NoPaste
XTGUI_Test.bas
Uploader: | ThePuppetMaster |
Datum/Zeit: | 05.03.2023 12:17:23 |
'####################################################################################################################################
Open Cons for Output as #1
'####################################################################################################################################
#Include Once "fbgfx.bi"
#Include Once "FreeImage.bi"
#Include Once "XTGUI.bi"
'####################################################################################################################################
Dim Shared G_ScreenWidth as Integer = 800
Dim Shared G_ScreenHeight as Integer = 600
'####################################################################################################################################
Dim Shared G_ListD() as String
Dim Shared G_ListC as Integer
Dim Shared G_ListPos as Integer
Dim Shared G_ListSel as Integer
'####################################################################################################################################
Sub CB_Button(ByRef R_Return as Integer = 0, ByVal V_Value as Integer)
Print #1, "Button"
End Sub
'####################################################################################################################################
Sub CB_Exit(ByRef R_Return as Integer = 0, ByVal V_Value as Integer)
End 0
End Sub
'####################################################################################################################################
Sub CB_List(ByRef R_Return as Integer = 0, ByVal V_Value as Integer)
Print #1, "List: " & V_Value
G_ListSel = V_Value
End Sub
'####################################################################################################################################
Sub CB_Scroll(ByVal V_Callback as Any Ptr, ByVal V_Direction as Integer)
Print #1, "Scroll: " & V_Direction
G_ListPos += V_Direction
If G_ListPos < 0 Then G_ListPos = 0
If G_ListPos > G_ListC Then G_ListPos = G_ListC
End Sub
'####################################################################################################################################
Sub DoRedraw_GUI()
XTGUI_Cls(&HFF222222)
XTGUI_AddButton(0, 0, 100, 25, "Button", @CB_Button)
XTGUI_AddButton(0, 25, 100, 25, "Exit", @CB_Exit)
XTGUI_AddList(0, 50, 100, 100, G_ListD(), G_ListC, G_ListPos, G_ListSel, @CB_List)
End Sub
'####################################################################################################################################
Randomize(Timer())
ScreenRes G_ScreenWidth, G_ScreenHeight, 32
XTGUI_Init(G_ScreenWidth, G_ScreenHeight)
XTGUI_ColorBackground = &HFF8080FF
XTGUI_ColorText = &HFF000000
XTGUI_ColorBorder = &HFF5757AE
XTGUI_ColorSelected = &HFF80FF80
XTGUI_CallbackScroll = @CB_Scroll()
G_ListC = 20
Redim G_ListD(G_ListC) as String
For X as Integer = 1 to G_ListC
G_ListD(X) = Str(X)
Next
Do until InKey() = Chr(27)
XTGUI_CheckIO(0, 0)
DoRedraw_GUI()
ScreenLock()
Put (0, 0), XTGUI_GetDrawBuffer(), PSET
ScreenUnLock()
Sleep 1, 1
Loop
XTGUI_Term()