199 lines
4.9 KiB
Go
199 lines
4.9 KiB
Go
|
// Copyright 2018 The Ebiten Authors
|
||
|
//
|
||
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
// you may not use this file except in compliance with the License.
|
||
|
// You may obtain a copy of the License at
|
||
|
//
|
||
|
// http://www.apache.org/licenses/LICENSE-2.0
|
||
|
//
|
||
|
// Unless required by applicable law or agreed to in writing, software
|
||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
// See the License for the specific language governing permissions and
|
||
|
// limitations under the License.
|
||
|
|
||
|
//go:build !js
|
||
|
// +build !js
|
||
|
|
||
|
package glfw
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
)
|
||
|
|
||
|
type (
|
||
|
Action int
|
||
|
ErrorCode int
|
||
|
GamepadAxis int
|
||
|
GamepadButton int
|
||
|
Hint int
|
||
|
InputMode int
|
||
|
Joystick int
|
||
|
JoystickHatState int
|
||
|
Key int
|
||
|
ModifierKey int
|
||
|
MouseButton int
|
||
|
PeripheralEvent int
|
||
|
StandardCursor int
|
||
|
)
|
||
|
|
||
|
const (
|
||
|
DontCare = -1
|
||
|
False = 0
|
||
|
True = 1
|
||
|
)
|
||
|
|
||
|
const (
|
||
|
Release = Action(0)
|
||
|
Press = Action(1)
|
||
|
Repeat = Action(2)
|
||
|
)
|
||
|
|
||
|
const (
|
||
|
ModShift = ModifierKey(0x0001)
|
||
|
ModControl = ModifierKey(0x0002)
|
||
|
ModAlt = ModifierKey(0x0004)
|
||
|
)
|
||
|
|
||
|
const (
|
||
|
MouseButtonLeft = MouseButton(0)
|
||
|
MouseButtonRight = MouseButton(1)
|
||
|
MouseButtonMiddle = MouseButton(2)
|
||
|
)
|
||
|
|
||
|
const (
|
||
|
Joystick1 = Joystick(0)
|
||
|
Joystick2 = Joystick(1)
|
||
|
Joystick3 = Joystick(2)
|
||
|
Joystick4 = Joystick(3)
|
||
|
Joystick5 = Joystick(4)
|
||
|
Joystick6 = Joystick(5)
|
||
|
Joystick7 = Joystick(6)
|
||
|
Joystick8 = Joystick(7)
|
||
|
Joystick9 = Joystick(8)
|
||
|
Joystick10 = Joystick(9)
|
||
|
Joystick11 = Joystick(10)
|
||
|
Joystick12 = Joystick(11)
|
||
|
Joystick13 = Joystick(12)
|
||
|
Joystick14 = Joystick(13)
|
||
|
Joystick15 = Joystick(14)
|
||
|
Joystick16 = Joystick(15)
|
||
|
)
|
||
|
|
||
|
const (
|
||
|
ClientAPI = Hint(0x00022001)
|
||
|
ContextVersionMajor = Hint(0x00022002)
|
||
|
ContextVersionMinor = Hint(0x00022003)
|
||
|
Decorated = Hint(0x00020005)
|
||
|
Floating = Hint(0x00020007)
|
||
|
Focused = Hint(0x00020001)
|
||
|
FocusOnShow = Hint(0x0002000C)
|
||
|
Iconified = Hint(0x00020002)
|
||
|
Maximized = Hint(0x00020008)
|
||
|
Resizable = Hint(0x00020003)
|
||
|
TransparentFramebuffer = Hint(0x0002000A)
|
||
|
Visible = Hint(0x00020004)
|
||
|
)
|
||
|
|
||
|
const (
|
||
|
CursorMode = InputMode(0x00033001)
|
||
|
StickyKeysMode = InputMode(0x00033002)
|
||
|
StickyMouseButtonsMode = InputMode(0x00033003)
|
||
|
)
|
||
|
|
||
|
const (
|
||
|
CursorDisabled = 0x00034003
|
||
|
CursorHidden = 0x00034002
|
||
|
CursorNormal = 0x00034001
|
||
|
NoAPI = 0
|
||
|
OpenGLAPI = 0x00030001
|
||
|
)
|
||
|
|
||
|
const (
|
||
|
NotInitialized = ErrorCode(0x00010001)
|
||
|
NoCurrentContext = ErrorCode(0x00010002)
|
||
|
InvalidEnum = ErrorCode(0x00010003)
|
||
|
InvalidValue = ErrorCode(0x00010004)
|
||
|
OutOfMemory = ErrorCode(0x00010005)
|
||
|
APIUnavailable = ErrorCode(0x00010006)
|
||
|
VersionUnavailable = ErrorCode(0x00010007)
|
||
|
PlatformError = ErrorCode(0x00010008)
|
||
|
FormatUnavailable = ErrorCode(0x00010009)
|
||
|
NoWindowContext = ErrorCode(0x0001000A)
|
||
|
)
|
||
|
|
||
|
func (e ErrorCode) String() string {
|
||
|
switch e {
|
||
|
case NotInitialized:
|
||
|
return "not initialized"
|
||
|
case NoCurrentContext:
|
||
|
return "no current context"
|
||
|
case InvalidEnum:
|
||
|
return "invalid enum"
|
||
|
case InvalidValue:
|
||
|
return "invalid value"
|
||
|
case OutOfMemory:
|
||
|
return "out of memory"
|
||
|
case APIUnavailable:
|
||
|
return "API unavailable"
|
||
|
case VersionUnavailable:
|
||
|
return "version unavailable"
|
||
|
case PlatformError:
|
||
|
return "platform error"
|
||
|
case FormatUnavailable:
|
||
|
return "format unavailable"
|
||
|
case NoWindowContext:
|
||
|
return "no window context"
|
||
|
default:
|
||
|
return fmt.Sprintf("GLFW error code (%d)", e)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
const (
|
||
|
ArrowCursor = StandardCursor(0x00036001)
|
||
|
IBeamCursor = StandardCursor(0x00036002)
|
||
|
CrosshairCursor = StandardCursor(0x00036003)
|
||
|
HandCursor = StandardCursor(0x00036004)
|
||
|
HResizeCursor = StandardCursor(0x00036005)
|
||
|
VResizeCursor = StandardCursor(0x00036006)
|
||
|
)
|
||
|
|
||
|
const (
|
||
|
HatCentered = JoystickHatState(0)
|
||
|
HatUp = JoystickHatState(1)
|
||
|
HatRight = JoystickHatState(2)
|
||
|
HatDown = JoystickHatState(4)
|
||
|
HatLeft = JoystickHatState(8)
|
||
|
HatRightUp = HatRight | HatUp
|
||
|
HatRightDown = HatRight | HatDown
|
||
|
HatLeftUp = HatLeft | HatUp
|
||
|
HatLeftDown = HatLeft | HatDown
|
||
|
)
|
||
|
|
||
|
const (
|
||
|
AxisLeftX = GamepadAxis(0)
|
||
|
AxisLeftY = GamepadAxis(1)
|
||
|
AxisRightX = GamepadAxis(2)
|
||
|
AxisRightY = GamepadAxis(3)
|
||
|
AxisLeftTrigger = GamepadAxis(4)
|
||
|
AxisRightTrigger = GamepadAxis(5)
|
||
|
)
|
||
|
|
||
|
const (
|
||
|
ButtonA = GamepadButton(0)
|
||
|
ButtonB = GamepadButton(1)
|
||
|
ButtonX = GamepadButton(2)
|
||
|
ButtonY = GamepadButton(3)
|
||
|
ButtonLeftBumper = GamepadButton(4)
|
||
|
ButtonRightBumper = GamepadButton(5)
|
||
|
ButtonBack = GamepadButton(6)
|
||
|
ButtonStart = GamepadButton(7)
|
||
|
ButtonGuide = GamepadButton(8)
|
||
|
ButtonLeftThumb = GamepadButton(9)
|
||
|
ButtonRightThumb = GamepadButton(10)
|
||
|
ButtonDpadUp = GamepadButton(11)
|
||
|
ButtonDpadRight = GamepadButton(12)
|
||
|
ButtonDpadDown = GamepadButton(13)
|
||
|
ButtonDpadLeft = GamepadButton(14)
|
||
|
)
|