mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2024-12-24 18:58:54 +01:00
move internal/glfw/glfw to internal/cglfw
This commit is contained in:
parent
7b86a2b642
commit
47dea6fac4
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
//go:build darwin || freebsd || linux || netbsd || openbsd
|
//go:build darwin || freebsd || linux || netbsd || openbsd
|
||||||
|
|
||||||
package glfw
|
package cglfw
|
||||||
|
|
||||||
/*
|
/*
|
||||||
// Darwin Build Tags
|
// Darwin Build Tags
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
//go:build darwin || freebsd || linux || netbsd || openbsd
|
//go:build darwin || freebsd || linux || netbsd || openbsd
|
||||||
|
|
||||||
package glfw
|
package cglfw
|
||||||
|
|
||||||
//#include <stdlib.h>
|
//#include <stdlib.h>
|
||||||
//#define GLFW_INCLUDE_NONE
|
//#define GLFW_INCLUDE_NONE
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
//go:build darwin || freebsd || linux || netbsd || openbsd
|
//go:build darwin || freebsd || linux || netbsd || openbsd
|
||||||
|
|
||||||
package glfw
|
package cglfw
|
||||||
|
|
||||||
// #define GLFW_INCLUDE_NONE
|
// #define GLFW_INCLUDE_NONE
|
||||||
// #include "glfw3.h"
|
// #include "glfw3.h"
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
//go:build darwin || freebsd || linux || netbsd || openbsd
|
//go:build darwin || freebsd || linux || netbsd || openbsd
|
||||||
|
|
||||||
package glfw
|
package cglfw
|
||||||
|
|
||||||
//#include <stdlib.h>
|
//#include <stdlib.h>
|
||||||
//#define GLFW_INCLUDE_NONE
|
//#define GLFW_INCLUDE_NONE
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
//go:build darwin || freebsd || linux || netbsd || openbsd
|
//go:build darwin || freebsd || linux || netbsd || openbsd
|
||||||
|
|
||||||
package glfw
|
package cglfw
|
||||||
|
|
||||||
// #include <stdlib.h>
|
// #include <stdlib.h>
|
||||||
// #define GLFW_INCLUDE_NONE
|
// #define GLFW_INCLUDE_NONE
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
//go:build darwin || freebsd || linux || netbsd || openbsd
|
//go:build darwin || freebsd || linux || netbsd || openbsd
|
||||||
|
|
||||||
package glfw
|
package cglfw
|
||||||
|
|
||||||
// #define GLFW_INCLUDE_NONE
|
// #define GLFW_INCLUDE_NONE
|
||||||
// #include "glfw3.h"
|
// #include "glfw3.h"
|
@ -2,7 +2,7 @@
|
|||||||
// SPDX-FileCopyrightText: 2012 The glfw3-go Authors
|
// SPDX-FileCopyrightText: 2012 The glfw3-go Authors
|
||||||
// SPDX-FileCopyrightText: 2023 The Ebitengine Authors
|
// SPDX-FileCopyrightText: 2023 The Ebitengine Authors
|
||||||
|
|
||||||
package glfw
|
package cglfw
|
||||||
|
|
||||||
/*
|
/*
|
||||||
#define GLFW_EXPOSE_NATIVE_COCOA
|
#define GLFW_EXPOSE_NATIVE_COCOA
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
//go:build (freebsd || linux || netbsd || openbsd) && wayland
|
//go:build (freebsd || linux || netbsd || openbsd) && wayland
|
||||||
|
|
||||||
package glfw
|
package cglfw
|
||||||
|
|
||||||
//#include <stdlib.h>
|
//#include <stdlib.h>
|
||||||
//#define GLFW_EXPOSE_NATIVE_WAYLAND
|
//#define GLFW_EXPOSE_NATIVE_WAYLAND
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
//go:build (freebsd || linux || netbsd || openbsd) && !wayland
|
//go:build (freebsd || linux || netbsd || openbsd) && !wayland
|
||||||
|
|
||||||
package glfw
|
package cglfw
|
||||||
|
|
||||||
//#include <stdlib.h>
|
//#include <stdlib.h>
|
||||||
//#define GLFW_EXPOSE_NATIVE_X11
|
//#define GLFW_EXPOSE_NATIVE_X11
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
//go:build darwin || freebsd || linux || netbsd || openbsd
|
//go:build darwin || freebsd || linux || netbsd || openbsd
|
||||||
|
|
||||||
package glfw
|
package cglfw
|
||||||
|
|
||||||
// #include <stdlib.h>
|
// #include <stdlib.h>
|
||||||
import "C"
|
import "C"
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
//go:build darwin || freebsd || linux || netbsd || openbsd
|
//go:build darwin || freebsd || linux || netbsd || openbsd
|
||||||
|
|
||||||
package glfw
|
package cglfw
|
||||||
|
|
||||||
// #include <stdlib.h>
|
// #include <stdlib.h>
|
||||||
// #define GLFW_INCLUDE_NONE
|
// #define GLFW_INCLUDE_NONE
|
@ -17,14 +17,14 @@
|
|||||||
package glfw
|
package glfw
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/hajimehoshi/ebiten/v2/internal/glfw/glfw"
|
"github.com/hajimehoshi/ebiten/v2/internal/cglfw"
|
||||||
)
|
)
|
||||||
|
|
||||||
func ToCharModsCallback(cb func(window *Window, char rune, mods ModifierKey)) CharModsCallback {
|
func ToCharModsCallback(cb func(window *Window, char rune, mods ModifierKey)) CharModsCallback {
|
||||||
if cb == nil {
|
if cb == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
return func(window *glfw.Window, char rune, mods glfw.ModifierKey) {
|
return func(window *cglfw.Window, char rune, mods cglfw.ModifierKey) {
|
||||||
cb(theWindows.get(window), char, ModifierKey(mods))
|
cb(theWindows.get(window), char, ModifierKey(mods))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -33,7 +33,7 @@ func ToCloseCallback(cb func(window *Window)) CloseCallback {
|
|||||||
if cb == nil {
|
if cb == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
return func(window *glfw.Window) {
|
return func(window *cglfw.Window) {
|
||||||
cb(theWindows.get(window))
|
cb(theWindows.get(window))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -42,7 +42,7 @@ func ToDropCallback(cb func(window *Window, names []string)) DropCallback {
|
|||||||
if cb == nil {
|
if cb == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
return func(window *glfw.Window, names []string) {
|
return func(window *cglfw.Window, names []string) {
|
||||||
cb(theWindows.get(window), names)
|
cb(theWindows.get(window), names)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -51,7 +51,7 @@ func ToFramebufferSizeCallback(cb func(window *Window, width int, height int)) F
|
|||||||
if cb == nil {
|
if cb == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
return func(window *glfw.Window, width int, height int) {
|
return func(window *cglfw.Window, width int, height int) {
|
||||||
cb(theWindows.get(window), width, height)
|
cb(theWindows.get(window), width, height)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -60,7 +60,7 @@ func ToMonitorCallback(cb func(monitor *Monitor, event PeripheralEvent)) Monitor
|
|||||||
if cb == nil {
|
if cb == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
return func(monitor *glfw.Monitor, event glfw.PeripheralEvent) {
|
return func(monitor *cglfw.Monitor, event cglfw.PeripheralEvent) {
|
||||||
var m *Monitor
|
var m *Monitor
|
||||||
if monitor != nil {
|
if monitor != nil {
|
||||||
m = &Monitor{monitor}
|
m = &Monitor{monitor}
|
||||||
@ -73,7 +73,7 @@ func ToScrollCallback(cb func(window *Window, xoff float64, yoff float64)) Scrol
|
|||||||
if cb == nil {
|
if cb == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
return func(window *glfw.Window, xoff float64, yoff float64) {
|
return func(window *cglfw.Window, xoff float64, yoff float64) {
|
||||||
cb(theWindows.get(window), xoff, yoff)
|
cb(theWindows.get(window), xoff, yoff)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -82,7 +82,7 @@ func ToSizeCallback(cb func(window *Window, width int, height int)) SizeCallback
|
|||||||
if cb == nil {
|
if cb == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
return func(window *glfw.Window, width, height int) {
|
return func(window *cglfw.Window, width, height int) {
|
||||||
cb(theWindows.get(window), width, height)
|
cb(theWindows.get(window), width, height)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -20,17 +20,17 @@ import (
|
|||||||
"image"
|
"image"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/hajimehoshi/ebiten/v2/internal/glfw/glfw"
|
"github.com/hajimehoshi/ebiten/v2/internal/cglfw"
|
||||||
)
|
)
|
||||||
|
|
||||||
type windows map[*glfw.Window]*Window
|
type windows map[*cglfw.Window]*Window
|
||||||
|
|
||||||
var (
|
var (
|
||||||
theWindows = windows{}
|
theWindows = windows{}
|
||||||
windowsM sync.Mutex
|
windowsM sync.Mutex
|
||||||
)
|
)
|
||||||
|
|
||||||
func (w windows) add(win *glfw.Window) *Window {
|
func (w windows) add(win *cglfw.Window) *Window {
|
||||||
if win == nil {
|
if win == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -41,13 +41,13 @@ func (w windows) add(win *glfw.Window) *Window {
|
|||||||
return ww
|
return ww
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w windows) remove(win *glfw.Window) {
|
func (w windows) remove(win *cglfw.Window) {
|
||||||
windowsM.Lock()
|
windowsM.Lock()
|
||||||
delete(w, win)
|
delete(w, win)
|
||||||
windowsM.Unlock()
|
windowsM.Unlock()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w windows) get(win *glfw.Window) *Window {
|
func (w windows) get(win *cglfw.Window) *Window {
|
||||||
if win == nil {
|
if win == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -58,16 +58,16 @@ func (w windows) get(win *glfw.Window) *Window {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type Cursor struct {
|
type Cursor struct {
|
||||||
c *glfw.Cursor
|
c *cglfw.Cursor
|
||||||
}
|
}
|
||||||
|
|
||||||
func CreateStandardCursor(shape StandardCursor) *Cursor {
|
func CreateStandardCursor(shape StandardCursor) *Cursor {
|
||||||
c := glfw.CreateStandardCursor(glfw.StandardCursor(shape))
|
c := cglfw.CreateStandardCursor(cglfw.StandardCursor(shape))
|
||||||
return &Cursor{c: c}
|
return &Cursor{c: c}
|
||||||
}
|
}
|
||||||
|
|
||||||
type Monitor struct {
|
type Monitor struct {
|
||||||
m *glfw.Monitor
|
m *cglfw.Monitor
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Monitor) GetContentScale() (float32, float32, error) {
|
func (m *Monitor) GetContentScale() (float32, float32, error) {
|
||||||
@ -95,7 +95,7 @@ func (m *Monitor) GetVideoMode() *VidMode {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type Window struct {
|
type Window struct {
|
||||||
w *glfw.Window
|
w *cglfw.Window
|
||||||
|
|
||||||
prevSizeCallback SizeCallback
|
prevSizeCallback SizeCallback
|
||||||
}
|
}
|
||||||
@ -110,7 +110,7 @@ func (w *Window) Focus() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (w *Window) GetAttrib(attrib Hint) int {
|
func (w *Window) GetAttrib(attrib Hint) int {
|
||||||
return w.w.GetAttrib(glfw.Hint(attrib))
|
return w.w.GetAttrib(cglfw.Hint(attrib))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *Window) GetCursorPos() (x, y float64) {
|
func (w *Window) GetCursorPos() (x, y float64) {
|
||||||
@ -118,11 +118,11 @@ func (w *Window) GetCursorPos() (x, y float64) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (w *Window) GetInputMode(mode InputMode) int {
|
func (w *Window) GetInputMode(mode InputMode) int {
|
||||||
return w.w.GetInputMode(glfw.InputMode(mode))
|
return w.w.GetInputMode(cglfw.InputMode(mode))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *Window) GetKey(key Key) Action {
|
func (w *Window) GetKey(key Key) Action {
|
||||||
return Action(w.w.GetKey(glfw.Key(key)))
|
return Action(w.w.GetKey(cglfw.Key(key)))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *Window) GetMonitor() *Monitor {
|
func (w *Window) GetMonitor() *Monitor {
|
||||||
@ -134,7 +134,7 @@ func (w *Window) GetMonitor() *Monitor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (w *Window) GetMouseButton(button MouseButton) Action {
|
func (w *Window) GetMouseButton(button MouseButton) Action {
|
||||||
return Action(w.w.GetMouseButton(glfw.MouseButton(button)))
|
return Action(w.w.GetMouseButton(cglfw.MouseButton(button)))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *Window) GetPos() (x, y int) {
|
func (w *Window) GetPos() (x, y int) {
|
||||||
@ -166,7 +166,7 @@ func (w *Window) Restore() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (w *Window) SetAttrib(attrib Hint, value int) {
|
func (w *Window) SetAttrib(attrib Hint, value int) {
|
||||||
w.w.SetAttrib(glfw.Hint(attrib), value)
|
w.w.SetAttrib(cglfw.Hint(attrib), value)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *Window) SetCharModsCallback(cbfun CharModsCallback) (previous CharModsCallback) {
|
func (w *Window) SetCharModsCallback(cbfun CharModsCallback) (previous CharModsCallback) {
|
||||||
@ -175,7 +175,7 @@ func (w *Window) SetCharModsCallback(cbfun CharModsCallback) (previous CharModsC
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (w *Window) SetCursor(cursor *Cursor) {
|
func (w *Window) SetCursor(cursor *Cursor) {
|
||||||
var c *glfw.Cursor
|
var c *cglfw.Cursor
|
||||||
if cursor != nil {
|
if cursor != nil {
|
||||||
c = cursor.c
|
c = cursor.c
|
||||||
}
|
}
|
||||||
@ -226,11 +226,11 @@ func (w *Window) SetIcon(images []image.Image) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (w *Window) SetInputMode(mode InputMode, value int) {
|
func (w *Window) SetInputMode(mode InputMode, value int) {
|
||||||
w.w.SetInputMode(glfw.InputMode(mode), value)
|
w.w.SetInputMode(cglfw.InputMode(mode), value)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w *Window) SetMonitor(monitor *Monitor, xpos, ypos, width, height, refreshRate int) {
|
func (w *Window) SetMonitor(monitor *Monitor, xpos, ypos, width, height, refreshRate int) {
|
||||||
var m *glfw.Monitor
|
var m *cglfw.Monitor
|
||||||
if monitor != nil {
|
if monitor != nil {
|
||||||
m = monitor.m
|
m = monitor.m
|
||||||
}
|
}
|
||||||
@ -262,16 +262,16 @@ func (w *Window) SwapBuffers() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func CreateWindow(width, height int, title string, monitor *Monitor, share *Window) (*Window, error) {
|
func CreateWindow(width, height int, title string, monitor *Monitor, share *Window) (*Window, error) {
|
||||||
var gm *glfw.Monitor
|
var gm *cglfw.Monitor
|
||||||
if monitor != nil {
|
if monitor != nil {
|
||||||
gm = monitor.m
|
gm = monitor.m
|
||||||
}
|
}
|
||||||
var gw *glfw.Window
|
var gw *cglfw.Window
|
||||||
if share != nil {
|
if share != nil {
|
||||||
gw = share.w
|
gw = share.w
|
||||||
}
|
}
|
||||||
|
|
||||||
w, err := glfw.CreateWindow(width, height, title, gm, gw)
|
w, err := cglfw.CreateWindow(width, height, title, gm, gw)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -279,12 +279,12 @@ func CreateWindow(width, height int, title string, monitor *Monitor, share *Wind
|
|||||||
}
|
}
|
||||||
|
|
||||||
func GetKeyName(key Key, scancode int) string {
|
func GetKeyName(key Key, scancode int) string {
|
||||||
return glfw.GetKeyName(glfw.Key(key), scancode)
|
return cglfw.GetKeyName(cglfw.Key(key), scancode)
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetMonitors() []*Monitor {
|
func GetMonitors() []*Monitor {
|
||||||
ms := []*Monitor{}
|
ms := []*Monitor{}
|
||||||
for _, m := range glfw.GetMonitors() {
|
for _, m := range cglfw.GetMonitors() {
|
||||||
if m != nil {
|
if m != nil {
|
||||||
ms = append(ms, &Monitor{m})
|
ms = append(ms, &Monitor{m})
|
||||||
} else {
|
} else {
|
||||||
@ -295,7 +295,7 @@ func GetMonitors() []*Monitor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func GetPrimaryMonitor() *Monitor {
|
func GetPrimaryMonitor() *Monitor {
|
||||||
m := glfw.GetPrimaryMonitor()
|
m := cglfw.GetPrimaryMonitor()
|
||||||
if m == nil {
|
if m == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -303,38 +303,38 @@ func GetPrimaryMonitor() *Monitor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func Init() error {
|
func Init() error {
|
||||||
return glfw.Init()
|
return cglfw.Init()
|
||||||
}
|
}
|
||||||
|
|
||||||
func PollEvents() {
|
func PollEvents() {
|
||||||
glfw.PollEvents()
|
cglfw.PollEvents()
|
||||||
}
|
}
|
||||||
|
|
||||||
func PostEmptyEvent() {
|
func PostEmptyEvent() {
|
||||||
glfw.PostEmptyEvent()
|
cglfw.PostEmptyEvent()
|
||||||
}
|
}
|
||||||
|
|
||||||
func SetMonitorCallback(cbfun MonitorCallback) MonitorCallback {
|
func SetMonitorCallback(cbfun MonitorCallback) MonitorCallback {
|
||||||
glfw.SetMonitorCallback(cbfun)
|
cglfw.SetMonitorCallback(cbfun)
|
||||||
return ToMonitorCallback(nil)
|
return ToMonitorCallback(nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
func SwapInterval(interval int) {
|
func SwapInterval(interval int) {
|
||||||
glfw.SwapInterval(interval)
|
cglfw.SwapInterval(interval)
|
||||||
}
|
}
|
||||||
|
|
||||||
func Terminate() {
|
func Terminate() {
|
||||||
glfw.Terminate()
|
cglfw.Terminate()
|
||||||
}
|
}
|
||||||
|
|
||||||
func WaitEvents() {
|
func WaitEvents() {
|
||||||
glfw.WaitEvents()
|
cglfw.WaitEvents()
|
||||||
}
|
}
|
||||||
|
|
||||||
func WaitEventsTimeout(timeout float64) {
|
func WaitEventsTimeout(timeout float64) {
|
||||||
glfw.WaitEventsTimeout(timeout)
|
cglfw.WaitEventsTimeout(timeout)
|
||||||
}
|
}
|
||||||
|
|
||||||
func WindowHint(target Hint, hint int) {
|
func WindowHint(target Hint, hint int) {
|
||||||
glfw.WindowHint(glfw.Hint(target), hint)
|
cglfw.WindowHint(cglfw.Hint(target), hint)
|
||||||
}
|
}
|
||||||
|
@ -17,17 +17,17 @@
|
|||||||
package glfw
|
package glfw
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/hajimehoshi/ebiten/v2/internal/glfw/glfw"
|
"github.com/hajimehoshi/ebiten/v2/internal/cglfw"
|
||||||
)
|
)
|
||||||
|
|
||||||
type (
|
type (
|
||||||
CharModsCallback = glfw.CharModsCallback
|
CharModsCallback = cglfw.CharModsCallback
|
||||||
CloseCallback = glfw.CloseCallback
|
CloseCallback = cglfw.CloseCallback
|
||||||
DropCallback = glfw.DropCallback
|
DropCallback = cglfw.DropCallback
|
||||||
FramebufferSizeCallback = glfw.FramebufferSizeCallback
|
FramebufferSizeCallback = cglfw.FramebufferSizeCallback
|
||||||
MonitorCallback = glfw.MonitorCallback
|
MonitorCallback = cglfw.MonitorCallback
|
||||||
ScrollCallback = glfw.ScrollCallback
|
ScrollCallback = cglfw.ScrollCallback
|
||||||
SizeCallback = glfw.SizeCallback
|
SizeCallback = cglfw.SizeCallback
|
||||||
)
|
)
|
||||||
|
|
||||||
type VidMode struct {
|
type VidMode struct {
|
||||||
|
Loading…
Reference in New Issue
Block a user