SuperStrict Include "Gui.bmx" Const wwidth:Int = 1280 Const wheight:Int = 980 Graphics wwidth, wheight ' === GUI STATE === Local sliderValue1:Float = 0.3 Local sliderValue2:Float = 0.75 Local sliderValue3:Float = 0.5 Local dropdownOptions:String[] = ["Option A", "Option B", "Option C"] Local dropdownSelected:Int Local listItems:String[] = ["Item 1", "Item 2", "Item 3", "Item 4"] Local listSelected:Int Local toggleA:Int = False Local toggleB:Int = False Local toggleC:Int = False Local checkFeature:Int = True Local checkFullscreen:Int = False Local gridToggles:Int[9] ' ← 9 unique toggle states Local username:String = "" Local showModal:Int = False Local appleImg:TImage = LoadImage("apple.png") Local progressVal:Float = 0.42 Local tabNames:String[] = ["General", "Audio", "Video", "Advanced"] Local currentTab:Int = 0 Repeat Local mx:Int = MouseX() Local my:Int = MouseY() Local md:Int = MouseDown(1) Local mzs:Int = MouseZSpeed() Cls ' ============================= ' === Render Your Game Here === ' ============================= ' === Render GUI afterwards === GuiInit(mx, my, md, mzs, wwidth, wheight) ' Must be called before any other Gui function ' === PANEL 1: GENERAL CONTROLS === GuiBegin(0, 0, 400) GuiPanel() GuiLabel("General Controls") GuiScrollviewBegin("General", wheight- 30) GuiLabel("Single Column:") GuiButton("Click Me") GuiToggleButton("Toggle A", toggleA) GuiCheckbox("Enable Feature", checkFeature) GuiSpacer(8) GuiLabel("Slider Controls:") GuiRowBegin(2) GuiLabel("Speed:") GuiSlider(sliderValue1, 0, 1) GuiRowEnd() GuiRowBegin(2) GuiLabel("Weight:") GuiSlider(sliderValue2, 0, 1) GuiRowEnd() GuiSpacer(16) GuiLabel("List:") GuiListView(listItems, listSelected) GuiSpacer(8) GuiDropdown("A nice dropdown", dropdownOptions, dropdownSelected) GuiSpacer(8) If GuiButton("Show Modal") Then showModal = True If GuiButton("Show Toast") Then GuiToast("Toast is shown for 3 sec!", 80, 160, 220, 3000, False) GuiSpacer(24) For Local i:Int = 0 Until 20 If GuiButton("Item " + i) Then print("Nice "+ i) Next GuiScrollviewEnd() GuiEnd() ' === PANEL 2: VISUAL TOGGLES === GuiBegin(405, 0, 300) GuiPanel() GuiLabel("Image Toggles") GuiLabel("Image Buttons:") GuiRowBegin(2) GuiImageButton(appleImg, 64, 64, "Static", 0) GuiImageToggleButton(appleImg, toggleB, 64, 64, "Toggle", 0) GuiRowEnd() GuiSpacer(12) GuiLabel("Toggle Grid:") GuiGridBegin(3) For Local i:Int = 0 Until gridToggles.length GuiImageToggleButton(appleImg, gridToggles[i], 64, 64, "", 1) Next GuiGridEnd() GuiEnd() ' === PANEL 3: USER + SLIDERS === GuiBegin(710, 0, 250) GuiPanel() GuiLabel("User Input & Sliders") GuiLabel("Enter Username:") username = GuiTextInput("username", username) GuiLabel("Hello, " + username) GuiSpacer(8) GuiLabel("Fine Tune Sliders:") GuiRowBegin(2) GuiLabel("Gamma:" + Int(sliderValue3*100)) GuiSlider(sliderValue3, 0, 1) GuiRowEnd() GuiSpacer(8) GuiLabel("Progress Bars:") progressVal = sliderValue3 GuiProgressBar(progressVal, 0, 1) GuiScrollviewBegin("Test", 160) For Local i:Int = 0 Until gridToggles.length If GuiToggleButton("Item " + i, gridToggles[i]) Then print("Nice "+ i) Next GuiScrollviewEnd() GuiEnd() ' === PANEL 4: SETTINGS TABS === GuiBegin(965, 0, 315) GuiPanel() GuiLabel("Settings") GuiTabBar(tabNames, currentTab) Select currentTab Case 0 GuiCheckbox("Auto Save", toggleC) GuiButton("Run Benchmark") Case 1 GuiRowBegin(2) GuiLabel("Volume:") GuiSlider(sliderValue2, 0, 1) GuiRowEnd() Case 2 GuiCheckbox("Fullscreen", checkFullscreen) GuiButton("Video Settings") Case 3 GuiLabel("Debug Mode:") GuiToggleButton("Enable Logs", toggleA) End Select GuiEnd() ' === MODAL === If showModal Then GuiModalBegin("Confirmation", 320, 160) GuiLabel("Are you sure?") GuiSpacer(8) GuiRowBegin(2) If GuiButton("Confirm") Then showModal = False GuiToast("Action confirmed!", 30, 180, 80, 2000) End If If GuiButton("Cancel") Then showModal = False End If GuiRowEnd() GuiModalEnd() End If GuiFinalize() ' Must be called after all Gui functions Flip Until KeyHit(KEY_ESCAPE) Or AppTerminate()