diff --git a/raylib/cgo_linux_drm.go b/raylib/cgo_linux_drm.go new file mode 100644 index 0000000..7c9a9f1 --- /dev/null +++ b/raylib/cgo_linux_drm.go @@ -0,0 +1,9 @@ +// +build linux,drm,!rpi,!android + +package rl + +/* +#cgo linux,drm LDFLAGS: -lGLESv2 -lEGL -ldrm -lgbm -lpthread -lrt -lm -ldl +#cgo linux,drm CFLAGS: -DPLATFORM_DRM -DGRAPHICS_API_OPENGL_ES2 -DEGL_NO_X11 -I/usr/include/libdrm +*/ +import "C" diff --git a/raylib/cgo_linux_rpi.go b/raylib/cgo_linux_rpi.go new file mode 100644 index 0000000..063f05a --- /dev/null +++ b/raylib/cgo_linux_rpi.go @@ -0,0 +1,9 @@ +// +build linux,rpi,!drm,!android + +package rl + +/* +#cgo linux,rpi LDFLAGS: -L/opt/vc/lib -L/opt/vc/lib64 -lbrcmGLESv2 -lbrcmEGL -lpthread -lrt -lm -lbcm_host -lvcos -lvchiq_arm -ldl +#cgo linux,rpi CFLAGS: -DPLATFORM_RPI -DGRAPHICS_API_OPENGL_ES2 -I/opt/vc/include -I/opt/vc/include/interface/vcos -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/vcos/pthreads +*/ +import "C" diff --git a/raylib/platform_drm.go b/raylib/platform_drm.go new file mode 100644 index 0000000..22ddcee --- /dev/null +++ b/raylib/platform_drm.go @@ -0,0 +1,88 @@ +// +build linux,drm,!rpi,!android + +package rl + +/* +#include "raylib.h" +#include +*/ +import "C" + +import ( + "os" + "unsafe" +) + +// InitWindow - Initialize Window and OpenGL Graphics +func InitWindow(width int32, height int32, title string) { + cwidth := (C.int)(width) + cheight := (C.int)(height) + + ctitle := C.CString(title) + defer C.free(unsafe.Pointer(ctitle)) + + C.InitWindow(cwidth, cheight, ctitle) +} + +// SetCallbackFunc - Sets callback function +func SetCallbackFunc(func()) { + return +} + +// ShowCursor - Shows cursor +func ShowCursor() { + C.ShowCursor() +} + +// HideCursor - Hides cursor +func HideCursor() { + C.HideCursor() +} + +// IsCursorHidden - Returns true if cursor is not visible +func IsCursorHidden() bool { + ret := C.IsCursorHidden() + v := bool(ret) + return v +} + +// IsCursorOnScreen - Check if cursor is on the current screen. +func IsCursorOnScreen() bool { + ret := C.IsCursorOnScreen() + v := bool(ret) + return v +} + +// EnableCursor - Enables cursor +func EnableCursor() { + C.EnableCursor() +} + +// DisableCursor - Disables cursor +func DisableCursor() { + C.DisableCursor() +} + +// IsFileDropped - Check if a file have been dropped into window +func IsFileDropped() bool { + return false +} + +// GetDroppedFiles - Retrieve dropped files into window +func GetDroppedFiles(count *int32) (files []string) { + return +} + +// ClearDroppedFiles - Clear dropped files paths buffer +func ClearDroppedFiles() { + return +} + +// OpenAsset - Open asset +func OpenAsset(name string) (Asset, error) { + f, err := os.Open(name) + if err != nil { + return nil, err + } + return f, nil +} diff --git a/raylib/platform_rpi.go b/raylib/platform_rpi.go new file mode 100644 index 0000000..853b6b5 --- /dev/null +++ b/raylib/platform_rpi.go @@ -0,0 +1,88 @@ +// +build linux,rpi,!drm,!android + +package rl + +/* +#include "raylib.h" +#include +*/ +import "C" + +import ( + "os" + "unsafe" +) + +// InitWindow - Initialize Window and OpenGL Graphics +func InitWindow(width int32, height int32, title string) { + cwidth := (C.int)(width) + cheight := (C.int)(height) + + ctitle := C.CString(title) + defer C.free(unsafe.Pointer(ctitle)) + + C.InitWindow(cwidth, cheight, ctitle) +} + +// SetCallbackFunc - Sets callback function +func SetCallbackFunc(func()) { + return +} + +// ShowCursor - Shows cursor +func ShowCursor() { + C.ShowCursor() +} + +// HideCursor - Hides cursor +func HideCursor() { + C.HideCursor() +} + +// IsCursorHidden - Returns true if cursor is not visible +func IsCursorHidden() bool { + ret := C.IsCursorHidden() + v := bool(ret) + return v +} + +// IsCursorOnScreen - Check if cursor is on the current screen. +func IsCursorOnScreen() bool { + ret := C.IsCursorOnScreen() + v := bool(ret) + return v +} + +// EnableCursor - Enables cursor +func EnableCursor() { + C.EnableCursor() +} + +// DisableCursor - Disables cursor +func DisableCursor() { + C.DisableCursor() +} + +// IsFileDropped - Check if a file have been dropped into window +func IsFileDropped() bool { + return false +} + +// GetDroppedFiles - Retrieve dropped files into window +func GetDroppedFiles(count *int32) (files []string) { + return +} + +// ClearDroppedFiles - Clear dropped files paths buffer +func ClearDroppedFiles() { + return +} + +// OpenAsset - Open asset +func OpenAsset(name string) (Asset, error) { + f, err := os.Open(name) + if err != nil { + return nil, err + } + return f, nil +}