ebiten/internal/glfw/const.go
2024-02-11 19:31:29 +09:00

205 lines
6.0 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 darwin || freebsd || linux || netbsd || openbsd || windows
package glfw
import (
"fmt"
)
type (
Action int
ErrorCode int
Hint int
InputMode 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 (
ModAlt = ModifierKey(0x0004)
ModCapsLock = ModifierKey(0x0010)
ModControl = ModifierKey(0x0002)
ModNumLock = ModifierKey(0x0020)
ModShift = ModifierKey(0x0001)
ModSuper = ModifierKey(0x0008)
)
const (
MouseButton1 = MouseButton(0)
MouseButton2 = MouseButton(1)
MouseButton3 = MouseButton(2)
MouseButton4 = MouseButton(3)
MouseButton5 = MouseButton(4)
MouseButton6 = MouseButton(5)
MouseButton7 = MouseButton(6)
MouseButton8 = MouseButton(7)
MouseButtonLast = MouseButton8
MouseButtonLeft = MouseButton1
MouseButtonRight = MouseButton2
MouseButtonMiddle = MouseButton3
)
const (
AccumAlphaBits = Hint(0x0002100A)
AccumBlueBits = Hint(0x00021009)
AccumGreenBits = Hint(0x00021008)
AccumRedBits = Hint(0x00021007)
AlphaBits = Hint(0x00021004)
AutoIconify = Hint(0x00020006)
AuxBuffers = Hint(0x0002100B)
BlueBits = Hint(0x00021003)
CenterCursor = Hint(0x00020009)
ClientAPI = Hint(0x00022001)
ContextCreationAPI = Hint(0x0002200B)
ContextNoError = Hint(0x0002200A)
ContextReleaseBehavior = Hint(0x00022009)
ContextRevision = Hint(0x00022004)
ContextRobustness = Hint(0x00022005)
ContextVersionMajor = Hint(0x00022002)
ContextVersionMinor = Hint(0x00022003)
Decorated = Hint(0x00020005)
DepthBits = Hint(0x00021005)
DoubleBuffer = Hint(0x00021010)
Floating = Hint(0x00020007)
Focused = Hint(0x00020001)
FocusOnShow = Hint(0x0002000C)
GreenBits = Hint(0x00021002)
Hovered = Hint(0x0002000B)
Iconified = Hint(0x00020002)
Maximized = Hint(0x00020008)
MousePassthrough = Hint(0x0002000D)
OpenGLDebugContext = Hint(0x00022007)
OpenGLForwardCompat = Hint(0x00022006)
OpenGLProfile = Hint(0x00022008)
RedBits = Hint(0x00021001)
RefreshRate = Hint(0x0002100F)
Resizable = Hint(0x00020003)
Samples = Hint(0x0002100D)
ScaleToMonitor = Hint(0x0002200C)
SRGBCapable = Hint(0x0002100E)
StencilBits = Hint(0x00021006)
Stereo = Hint(0x0002100C)
TransparentFramebuffer = Hint(0x0002000A)
Visible = Hint(0x00020004)
X11ClassName = Hint(0x00024001)
X11InstanceName = Hint(0x00024002)
)
const (
CursorMode = InputMode(0x00033001)
LockKeyMods = InputMode(0x00033004)
RawMouseMotion = InputMode(0x00033005)
StickyKeysMode = InputMode(0x00033002)
StickyMouseButtonsMode = InputMode(0x00033003)
)
const (
AnyReleaseBehavior = 0
CursorDisabled = 0x00034003
CursorHidden = 0x00034002
CursorNormal = 0x00034001
EGLContextAPI = 0x00036002
LoseContextOnReset = 0x00031002
NativeContextAPI = 0x00036001
NoAPI = 0
NoResetNotification = 0x00031001
NoRobustness = 0
OpenGLAPI = 0x00030001
OpenGLAnyProfile = 0
OpenGLCompatProfile = 0x00032002
OpenGLCoreProfile = 0x00032001
OpenGLESAPI = 0x00030002
OSMesaContextAPI = 0x00036003
ReleaseBehaviorFlush = 0x00035001
ReleaseBehaviorNone = 0x00035002
)
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) Error() string {
switch e {
case NotInitialized:
return "the GLFW library is not initialized"
case NoCurrentContext:
return "there is no current context"
case InvalidEnum:
return "invalid argument for enum parameter"
case InvalidValue:
return "invalid value for parameter"
case OutOfMemory:
return "out of memory"
case APIUnavailable:
return "the requested API is unavailable"
case VersionUnavailable:
return "the requested API version is unavailable"
case PlatformError:
return "a platform-specific error occurred"
case FormatUnavailable:
return "the requested format is unavailable"
case NoWindowContext:
return "the specified window has no context"
default:
return fmt.Sprintf("GLFW error (%d)", e)
}
}
const (
Connected = PeripheralEvent(0x00040001)
Disconnected = PeripheralEvent(0x00040002)
)
const (
ArrowCursor = StandardCursor(0x00036001)
IBeamCursor = StandardCursor(0x00036002)
CrosshairCursor = StandardCursor(0x00036003)
HandCursor = StandardCursor(0x00036004)
HResizeCursor = StandardCursor(0x00036005)
VResizeCursor = StandardCursor(0x00036006)
// v3.4
ResizeNWSECursor = StandardCursor(0x00036007)
ResizeNESWCursor = StandardCursor(0x00036008)
ResizeAllCursor = StandardCursor(0x00036009)
NotAllowedCursor = StandardCursor(0x0003600A)
)