gui: step

This commit is contained in:
Konstantin8105 2022-11-22 18:08:31 +03:00
parent ce3c8e83dd
commit 806e6560f2
5 changed files with 4661 additions and 0 deletions

View file

@ -0,0 +1,3 @@
module example
go 1.19

View file

@ -0,0 +1,31 @@
package main
import (
"fmt"
rl "github.com/Konstantin8105/raylib"
gui "github.com/Konstantin8105/raygui3.5"
)
func main() {
rl.InitWindow(800, 450, "raylib [physics] example - box2d")
rl.SetTargetFPS(60)
var button bool
for !rl.WindowShouldClose() {
rl.BeginDrawing()
rl.ClearBackground(rl.Black)
button = gui.Button(rl.NewRectangle(50, 150, 100, 40), "Click")
if button {
fmt.Println("Clicked on button")
}
rl.EndDrawing()
}
rl.CloseWindow()
}

3
raygui3.5/go.mod Normal file
View file

@ -0,0 +1,3 @@
module github.com/gen2brain/raylib-go/raygui
go 1.19

43
raygui3.5/gui.go Normal file
View file

@ -0,0 +1,43 @@
package rl
/*
#cgo CFLAGS: -DRAYGUI_IMPLEMENTATION
#include "raygui.h"
#include <stdlib.h>
*/
import "C"
import (
"unsafe"
"fmt"
)
// int GuiToggleGroup(Rectangle bounds, const char *text, int active)
func ToggleGroup(bounds Rectangle, text string, active int) int {
var cbounds C.struct_Rectangle
cbounds.x = C.float(bounds.X)
cbounds.y = C.float(bounds.Y)
cbounds.width = C.float(bounds.Width)
cbounds.height = C.float(bounds.Height)
ctext := C.CString(text)
defer C.free(unsafe.Pointer(ctext))
cactive := C.int(active)
res := C.GuiToggleGroup(cbounds, ctext, cactive)
fmt.Printf(">%v %v<", active, res)
return int(res)
}
// bool GuiButton(Rectangle bounds, const char *text)
func Button(bounds Rectangle, text string) bool {
var cbounds C.struct_Rectangle
cbounds.x = C.float(bounds.X)
cbounds.y = C.float(bounds.Y)
cbounds.width = C.float(bounds.Width)
cbounds.height = C.float(bounds.Height)
ctext := C.CString(text)
defer C.free(unsafe.Pointer(ctext))
res := C.GuiButton(cbounds, ctext)
fmt.Printf(">%v<", res)
return bool(res)
}

4581
raygui3.5/raygui.h Normal file

File diff suppressed because it is too large Load diff