Documentation
¶
Index ¶
- func CaptureMouse(window *Window) bool
- func CastPointer[T, P any](pointer *P) *T
- func DereferencePointer[T, P any](pointer *P) T
- func DestroyRenderer(renderer *Renderer)
- func DestroyTexture(texture *Texture)
- func DestroyWindow(window *Window)
- func FillSurfaceRect(surface *Surface, rect *Rect, color uint32) error
- func Free[T any](ptr *T)
- func GetError() error
- func Init(flags InitFlags) error
- func LockTexture(texture *Texture, data *[]uint32, pitch *int) error
- func MapRGB(details *PixelFormatDetails, pallette *Palette, r, g, b uint8) uint32
- func MapRGBA(details *PixelFormatDetails, pallette *Palette, r, g, b, a uint8) uint32
- func PollEvent(event *Event) bool
- func Quit()
- func RenderClear(renderer *Renderer) error
- func RenderPresent(renderer *Renderer) error
- func RenderTexture(renderer *Renderer, texture *Texture, r1, r2 *FRect)
- func SetWindowRelativeMouseMode(window *Window) bool
- func UnlockTexture(texture *Texture)
- type Color
- type CommonEvent
- type Event
- type EventType
- type FColor
- type FPoint
- type FRect
- type InitFlags
- type KeyboardEvent
- type KeyboardID
- type Keycode
- type Keymod
- type MouseButtonFlags
- type MouseID
- type MouseMotionEvent
- type Palette
- type PixelFormat
- type PixelFormatDetails
- type Point
- type Rect
- type Renderer
- type SDLSurface
- type Scancode
- type Surface
- type SurfaceFlags
- type Texture
- type TextureAccess
- type Window
- type WindowFlags
- type WindowID
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CaptureMouse ¶
func CastPointer ¶
func CastPointer[T, P any](pointer *P) *T
func DereferencePointer ¶
func DereferencePointer[T, P any](pointer *P) T
func DestroyRenderer ¶
func DestroyRenderer(renderer *Renderer)
func DestroyTexture ¶
func DestroyTexture(texture *Texture)
func DestroyWindow ¶
func DestroyWindow(window *Window)
func MapRGBA ¶
func MapRGBA(details *PixelFormatDetails, pallette *Palette, r, g, b, a uint8) uint32
func RenderClear ¶
func RenderPresent ¶
func RenderTexture ¶
func UnlockTexture ¶
func UnlockTexture(texture *Texture)
Types ¶
type CommonEvent ¶
type CommonEvent struct {
Type EventType
Reserved uint32
// Timestamp in nanoseconds, populated using [GetTicksNS].
Timestamp uint64
}
CommonEvent fields are shared by every event.
type Event ¶
type Event [128]byte
func (*Event) Key ¶
func (e *Event) Key() KeyboardEvent
func (*Event) MouseMotion ¶
func (e *Event) MouseMotion() MouseMotionEvent
type EventType ¶
type EventType = C.SDL_EventType
const ( EventFirst EventType = 0x0 EventQuit EventType = 0x100 EventTerminating EventType = 0x101 EventLowMemory EventType = 0x102 EventWillEnterBackground EventType = 0x103 EventDidEnterBackground EventType = 0x104 EventWillEnterForeground EventType = 0x105 EventDidEnterForeground EventType = 0x106 EventLocaleChanged EventType = 0x107 EventSystemThemeChanged EventType = 0x108 EventDisplayOrientation EventType = 0x151 EventDisplayFirst EventType = 0x151 EventDisplayAdded EventType = 0x152 EventDisplayRemoved EventType = 0x153 EventDisplayMoved EventType = 0x154 EventDisplayDesktopModeChanged EventType = 0x155 EventDisplayCurrentModeChanged EventType = 0x156 EventDisplayContentScaleChanged EventType = 0x157 EventDisplayLast EventType = 0x157 EventWindowShown EventType = 0x202 EventWindowFirst EventType = 0x202 EventWindowHidden EventType = 0x203 EventWindowExposed EventType = 0x204 EventWindowMoved EventType = 0x205 EventWindowResized EventType = 0x206 EventWindowPixelSizeChanged EventType = 0x207 EventWindowMetalViewResized EventType = 0x208 EventWindowMinimized EventType = 0x209 EventWindowMaximized EventType = 0x20A EventWindowRestored EventType = 0x20B EventWindowMouseEnter EventType = 0x20C EventWindowMouseLeave EventType = 0x20D EventWindowFocusGained EventType = 0x20E EventWindowFocusLost EventType = 0x20F EventWindowCloseRequested EventType = 0x210 EventWindowHitTest EventType = 0x211 EventWindowICCProfChanged EventType = 0x212 EventWindowDisplayChanged EventType = 0x213 EventWindowDisplayScaleChanged EventType = 0x214 EventWindowSafeAreaChanged EventType = 0x215 EventWindowOccluded EventType = 0x216 EventWindowEnterFullscreen EventType = 0x217 EventWindowLeaveFullscreen EventType = 0x218 EventWindowDestroyed EventType = 0x219 EventWindowHDRStateChanged EventType = 0x21A EventWindowLast EventType = 0x21A EventKeyDown EventType = 0x300 EventKeyUp EventType = 0x301 EventTextEditing EventType = 0x302 EventTextInput EventType = 0x303 EventKeymapChanged EventType = 0x304 EventKeyboardAdded EventType = 0x305 EventKeyboardRemoved EventType = 0x306 EventTextEditingCandidates EventType = 0x307 EventMouseMotion EventType = 0x400 EventMouseButtonDown EventType = 0x401 EventMouseButtonUp EventType = 0x402 EventMouseWheel EventType = 0x403 EventMouseAdded EventType = 0x404 EventMouseRemoved EventType = 0x405 EventJoystickAxisMotion EventType = 0x600 EventJoystickBallMotion EventType = 0x601 EventJoystickHatMotion EventType = 0x602 EventJoystickButtonDown EventType = 0x603 EventJoystickButtonUp EventType = 0x604 EventJoystickAdded EventType = 0x605 EventJoystickRemoved EventType = 0x606 EventJoystickBatteryUpdated EventType = 0x607 EventJoystickUpdateComplete EventType = 0x608 EventGamepadAxisMotion EventType = 0x650 EventGamepadButtonDown EventType = 0x651 EventGamepadButtonUp EventType = 0x652 EventGamepadAdded EventType = 0x653 EventGamepadRemoved EventType = 0x654 EventGamepadRemapped EventType = 0x655 EventGamepadTouchpadDown EventType = 0x656 EventGamepadTouchpadMotion EventType = 0x657 EventGamepadTouchpadUp EventType = 0x658 EventGamepadSensorUpdate EventType = 0x659 EventGamepadUpdateComplete EventType = 0x65A EventGamepadSteamHandleUpdated EventType = 0x65B EventFingerDown EventType = 0x700 EventFingerUp EventType = 0x701 EventFingerMotion EventType = 0x702 EventFingerCanceled EventType = 0x703 EventClipboardUpdate EventType = 0x900 EventDropFile EventType = 0x1000 EventDropText EventType = 0x1001 EventDropBegin EventType = 0x1002 EventDropComplete EventType = 0x1003 EventDropPosition EventType = 0x1004 EventAudioDeviceAdded EventType = 0x1100 EventAudioDeviceRemoved EventType = 0x1101 EventAudioDeviceFormatChanged EventType = 0x1102 EventSensorUpdate EventType = 0x1200 EventPenProximityIn EventType = 0x1300 EventPenProximityOut EventType = 0x1301 EventPenDown EventType = 0x1302 EventPenUp EventType = 0x1303 EventPenButtonDown EventType = 0x1304 EventPenButtonUp EventType = 0x1305 EventPenMotion EventType = 0x1306 EventPenAxis EventType = 0x1307 EventCameraDeviceAdded EventType = 0x1400 EventCameraDeviceRemoved EventType = 0x1401 EventCameraDeviceApproved EventType = 0x1402 EventCameraDeviceDenied EventType = 0x1403 EventRenderTargetsReset EventType = 0x2000 EventRenderDeviceReset EventType = 0x2001 EventRenderDeviceLost EventType = 0x2002 EventPrivate0 EventType = 0x4000 EventPrivate1 EventType = 0x4001 EventPrivate2 EventType = 0x4002 EventPrivate3 EventType = 0x4003 EventPollSentinel EventType = 0x7F00 EventUser EventType = 0x8000 EventLast EventType = 0xFFFF EventEnumPadding EventType = 0x7FFFFFFF )
type FRect ¶
type FRect struct {
X, Y, W, H float32
}
FRect is a rectangle, with the origin at the upper left (using floating point values).
type InitFlags ¶
type InitFlags = C.SDL_InitFlags
type KeyboardEvent ¶
type KeyboardEvent struct {
CommonEvent
WindowID WindowID
Which KeyboardID
Scancode Scancode
Key Keycode
Mod Keymod
Raw uint16
Down bool
Repeat bool
}
type KeyboardID ¶
type KeyboardID = C.SDL_KeyboardID
type Keycode ¶
type Keycode uint32
const ( KeycodeScancodeMask Keycode = 0x40000000 KeycodeUnknown Keycode = 0x00000000 KeycodeReturn Keycode = 0x0000000d KeycodeEscape Keycode = 0x0000001b KeycodeBackspace Keycode = 0x00000008 KeycodeTab Keycode = 0x00000009 KeycodeSpace Keycode = 0x00000020 KeycodeExclaim Keycode = 0x00000021 KeycodeDblApostrophe Keycode = 0x00000022 KeycodeHash Keycode = 0x00000023 KeycodeDollar Keycode = 0x00000024 KeycodePercent Keycode = 0x00000025 KeycodeAmpersand Keycode = 0x00000026 KeycodeApostrophe Keycode = 0x00000027 KeycodeLeftParen Keycode = 0x00000028 KeycodeRightParen Keycode = 0x00000029 KeycodeAsterisk Keycode = 0x0000002a KeycodePlus Keycode = 0x0000002b KeycodeComma Keycode = 0x0000002c KeycodeMinus Keycode = 0x0000002d KeycodePeriod Keycode = 0x0000002e KeycodeSlash Keycode = 0x0000002f Keycode0 Keycode = 0x00000030 Keycode1 Keycode = 0x00000031 Keycode2 Keycode = 0x00000032 Keycode3 Keycode = 0x00000033 Keycode4 Keycode = 0x00000034 Keycode5 Keycode = 0x00000035 Keycode6 Keycode = 0x00000036 Keycode7 Keycode = 0x00000037 Keycode8 Keycode = 0x00000038 Keycode9 Keycode = 0x00000039 KeycodeColon Keycode = 0x0000003a KeycodeSemicolon Keycode = 0x0000003b KeycodeLess Keycode = 0x0000003c KeycodeEquals Keycode = 0x0000003d KeycodeGreater Keycode = 0x0000003e KeycodeQuestion Keycode = 0x0000003f KeycodeAt Keycode = 0x00000040 KeycodeLeftBracket Keycode = 0x0000005b KeycodeBackslash Keycode = 0x0000005c KeycodeRightBracket Keycode = 0x0000005d KeycodeCaret Keycode = 0x0000005e KeycodeUnderscore Keycode = 0x0000005f KeycodeGrave Keycode = 0x00000060 KeycodeA Keycode = 0x00000061 KeycodeB Keycode = 0x00000062 KeycodeC Keycode = 0x00000063 KeycodeD Keycode = 0x00000064 KeycodeE Keycode = 0x00000065 KeycodeF Keycode = 0x00000066 KeycodeG Keycode = 0x00000067 KeycodeH Keycode = 0x00000068 KeycodeI Keycode = 0x00000069 KeycodeJ Keycode = 0x0000006a KeycodeK Keycode = 0x0000006b KeycodeL Keycode = 0x0000006c KeycodeM Keycode = 0x0000006d KeycodeN Keycode = 0x0000006e KeycodeO Keycode = 0x0000006f KeycodeP Keycode = 0x00000070 KeycodeQ Keycode = 0x00000071 KeycodeR Keycode = 0x00000072 KeycodeS Keycode = 0x00000073 KeycodeT Keycode = 0x00000074 KeycodeU Keycode = 0x00000075 KeycodeV Keycode = 0x00000076 KeycodeW Keycode = 0x00000077 KeycodeX Keycode = 0x00000078 KeycodeY Keycode = 0x00000079 KeycodeZ Keycode = 0x0000007a KeycodeLeftBrace Keycode = 0x0000007b KeycodePipe Keycode = 0x0000007c KeycodeRightBrace Keycode = 0x0000007d KeycodeTilde Keycode = 0x0000007e KeycodeDelete Keycode = 0x0000007f KeycodePlusMinus Keycode = 0x000000b1 KeycodeCapsLock Keycode = 0x40000039 KeycodeF1 Keycode = 0x4000003a KeycodeF2 Keycode = 0x4000003b KeycodeF3 Keycode = 0x4000003c KeycodeF4 Keycode = 0x4000003d KeycodeF5 Keycode = 0x4000003e KeycodeF6 Keycode = 0x4000003f KeycodeF7 Keycode = 0x40000040 KeycodeF8 Keycode = 0x40000041 KeycodeF9 Keycode = 0x40000042 KeycodeF10 Keycode = 0x40000043 KeycodeF11 Keycode = 0x40000044 KeycodeF12 Keycode = 0x40000045 KeycodePrintScreen Keycode = 0x40000046 KeycodeScrollLock Keycode = 0x40000047 KeycodePause Keycode = 0x40000048 KeycodeInsert Keycode = 0x40000049 KeycodeHome Keycode = 0x4000004a KeycodePageUp Keycode = 0x4000004b KeycodeEnd Keycode = 0x4000004d KeycodePageDown Keycode = 0x4000004e KeycodeRight Keycode = 0x4000004f KeycodeLeft Keycode = 0x40000050 KeycodeDown Keycode = 0x40000051 KeycodeUp Keycode = 0x40000052 KeycodeNumLockClear Keycode = 0x40000053 KeycodeKpDivide Keycode = 0x40000054 KeycodeKpMultiply Keycode = 0x40000055 KeycodeKpMinus Keycode = 0x40000056 KeycodeKpPlus Keycode = 0x40000057 KeycodeKpEnter Keycode = 0x40000058 KeycodeKp1 Keycode = 0x40000059 KeycodeKp2 Keycode = 0x4000005a KeycodeKp3 Keycode = 0x4000005b KeycodeKp4 Keycode = 0x4000005c KeycodeKp5 Keycode = 0x4000005d KeycodeKp6 Keycode = 0x4000005e KeycodeKp7 Keycode = 0x4000005f KeycodeKp8 Keycode = 0x40000060 KeycodeKp9 Keycode = 0x40000061 KeycodeKp0 Keycode = 0x40000062 KeycodeKpPeriod Keycode = 0x40000063 KeycodeApplication Keycode = 0x40000065 KeycodePower Keycode = 0x40000066 KeycodeKpEquals Keycode = 0x40000067 KeycodeF13 Keycode = 0x40000068 KeycodeF14 Keycode = 0x40000069 KeycodeF15 Keycode = 0x4000006a KeycodeF16 Keycode = 0x4000006b KeycodeF17 Keycode = 0x4000006c KeycodeF18 Keycode = 0x4000006d KeycodeF19 Keycode = 0x4000006e KeycodeF20 Keycode = 0x4000006f KeycodeF21 Keycode = 0x40000070 KeycodeF22 Keycode = 0x40000071 KeycodeF23 Keycode = 0x40000072 KeycodeF24 Keycode = 0x40000073 KeycodeExecute Keycode = 0x40000074 KeycodeHelp Keycode = 0x40000075 KeycodeMenu Keycode = 0x40000076 KeycodeSelect Keycode = 0x40000077 KeycodeStop Keycode = 0x40000078 KeycodeAgain Keycode = 0x40000079 KeycodeUndo Keycode = 0x4000007a KeycodeCut Keycode = 0x4000007b KeycodeCopy Keycode = 0x4000007c KeycodePaste Keycode = 0x4000007d KeycodeFind Keycode = 0x4000007e KeycodeMute Keycode = 0x4000007f KeycodeVolumeUp Keycode = 0x40000080 KeycodeVolumeDown Keycode = 0x40000081 KeycodeKpComma Keycode = 0x40000085 KeycodeKpEqualsAs400 Keycode = 0x40000086 KeycodeAltErase Keycode = 0x40000099 KeycodeSysReq Keycode = 0x4000009a KeycodeCancel Keycode = 0x4000009b KeycodeClear Keycode = 0x4000009c KeycodePrior Keycode = 0x4000009d KeycodeReturn2 Keycode = 0x4000009e KeycodeSeparator Keycode = 0x4000009f KeycodeOut Keycode = 0x400000a0 KeycodeOper Keycode = 0x400000a1 KeycodeClearAgain Keycode = 0x400000a2 KeycodeCrSel Keycode = 0x400000a3 KeycodeExSel Keycode = 0x400000a4 KeycodeKp00 Keycode = 0x400000b0 KeycodeKp000 Keycode = 0x400000b1 KeycodeThousandsSeparator Keycode = 0x400000b2 KeycodeDecimalSeparator Keycode = 0x400000b3 KeycodeCurrencyUnit Keycode = 0x400000b4 KeycodeCurrencySubunit Keycode = 0x400000b5 KeycodeKpLeftParen Keycode = 0x400000b6 KeycodeKpRightParen Keycode = 0x400000b7 KeycodeKpLeftBrace Keycode = 0x400000b8 KeycodeKpRightBrace Keycode = 0x400000b9 KeycodeKpTab Keycode = 0x400000ba KeycodeKpBackspace Keycode = 0x400000bb KeycodeKpA Keycode = 0x400000bc KeycodeKpB Keycode = 0x400000bd KeycodeKpC Keycode = 0x400000be KeycodeKpD Keycode = 0x400000bf KeycodeKpE Keycode = 0x400000c0 KeycodeKpF Keycode = 0x400000c1 KeycodeKpXor Keycode = 0x400000c2 KeycodeKpPower Keycode = 0x400000c3 KeycodeKpPercent Keycode = 0x400000c4 KeycodeKpLess Keycode = 0x400000c5 KeycodeKpGreater Keycode = 0x400000c6 KeycodeKpAmpersand Keycode = 0x400000c7 KeycodeKpDblAmpersand Keycode = 0x400000c8 KeycodeKpVerticalBar Keycode = 0x400000c9 KeycodeKpDblVerticalBar Keycode = 0x400000ca KeycodeKpColon Keycode = 0x400000cb KeycodeKpHash Keycode = 0x400000cc KeycodeKpSpace Keycode = 0x400000cd KeycodeKpAt Keycode = 0x400000ce KeycodeKpExclam Keycode = 0x400000cf KeycodeKpMemStore Keycode = 0x400000d0 KeycodeKpMemRecall Keycode = 0x400000d1 KeycodeKpMemClear Keycode = 0x400000d2 KeycodeKpMemAdd Keycode = 0x400000d3 KeycodeKpMemSubtract Keycode = 0x400000d4 KeycodeKpMemMultiply Keycode = 0x400000d5 KeycodeKpMemDivide Keycode = 0x400000d6 KeycodeKpPlusMinus Keycode = 0x400000d7 KeycodeKpClear Keycode = 0x400000d8 KeycodeKpClearEntry Keycode = 0x400000d9 KeycodeKpBinary Keycode = 0x400000da KeycodeKpOctal Keycode = 0x400000db KeycodeKpDecimal Keycode = 0x400000dc KeycodeKpHexadecimal Keycode = 0x400000dd KeycodeLCtrl Keycode = 0x400000e0 KeycodeLShift Keycode = 0x400000e1 KeycodeLAlt Keycode = 0x400000e2 KeycodeLGui Keycode = 0x400000e3 KeycodeRCtrl Keycode = 0x400000e4 KeycodeRShift Keycode = 0x400000e5 KeycodeRAlt Keycode = 0x400000e6 KeycodeRGui Keycode = 0x400000e7 KeycodeMode Keycode = 0x40000101 KeycodeSleep Keycode = 0x40000102 KeycodeWake Keycode = 0x40000103 KeycodeChannelIncrement Keycode = 0x40000104 KeycodeChannelDecrement Keycode = 0x40000105 KeycodeMediaPlay Keycode = 0x40000106 KeycodeMediaPause Keycode = 0x40000107 KeycodeMediaRecord Keycode = 0x40000108 KeycodeMediaFastForward Keycode = 0x40000109 KeycodeMediaRewind Keycode = 0x4000010a KeycodeMediaNextTrack Keycode = 0x4000010b KeycodeMediaPreviousTrack Keycode = 0x4000010c KeycodeMediaStop Keycode = 0x4000010d KeycodeMediaEject Keycode = 0x4000010e KeycodeMediaPlayPause Keycode = 0x4000010f KeycodeMediaSelect Keycode = 0x40000110 KeycodeAcNew Keycode = 0x40000111 KeycodeAcOpen Keycode = 0x40000112 KeycodeAcClose Keycode = 0x40000113 KeycodeAcExit Keycode = 0x40000114 KeycodeAcSave Keycode = 0x40000115 KeycodeAcPrint Keycode = 0x40000116 KeycodeAcProperties Keycode = 0x40000117 KeycodeAcSearch Keycode = 0x40000118 KeycodeAcHome Keycode = 0x40000119 KeycodeAcBack Keycode = 0x4000011a KeycodeAcForward Keycode = 0x4000011b KeycodeAcStop Keycode = 0x4000011c KeycodeAcRefresh Keycode = 0x4000011d KeycodeAcBookmarks Keycode = 0x4000011e KeycodeSoftLeft Keycode = 0x4000011f KeycodeSoftRight Keycode = 0x40000120 KeycodeCall Keycode = 0x40000121 KeycodeEndCall Keycode = 0x40000122 KeycodeLeftTab Keycode = 0x20000001 KeycodeLevel5Shift Keycode = 0x20000002 KeycodeMultiKeyCompose Keycode = 0x20000003 KeycodeLMeta Keycode = 0x20000004 KeycodeRMeta Keycode = 0x20000005 KeycodeLHyper Keycode = 0x20000006 KeycodeRHyper Keycode = 0x20000007 )
type Keymod ¶
type Keymod uint16
const ( KeymodNone Keymod = 0x0000 KeymodLShift Keymod = 0x0001 KeymodRShift Keymod = 0x0002 KeymodLevel5 Keymod = 0x0004 KeymodLCtrl Keymod = 0x0040 KeymodRCtrl Keymod = 0x0080 KeymodLAlt Keymod = 0x0100 KeymodRAlt Keymod = 0x0200 KeymodLGui Keymod = 0x0400 KeymodRGui Keymod = 0x0800 KeymodNum Keymod = 0x1000 KeymodCaps Keymod = 0x2000 KeymodMode Keymod = 0x4000 KeymodScroll Keymod = 0x8000 KeymodCtrl Keymod = KeymodLCtrl | KeymodRCtrl KeymodShift Keymod = KeymodLShift | KeymodRShift KeymodAlt Keymod = KeymodLAlt | KeymodRAlt KeymodGui Keymod = KeymodLGui | KeymodRGui )
type MouseButtonFlags ¶
type MouseButtonFlags = C.SDL_MouseButtonFlags
type MouseID ¶
type MouseID = C.SDL_MouseID
type MouseMotionEvent ¶
type MouseMotionEvent struct {
CommonEvent
WindowID WindowID
Which MouseID
State MouseButtonFlags
X float32
Y float32
XRel float32
YRel float32
}
type PixelFormat ¶
type PixelFormat = C.SDL_PixelFormat
const ( PixelFormatUnknown PixelFormat = 0 PixelFormatIndex1LSB PixelFormat = 0x11100100 PixelFormatIndex1MSB PixelFormat = 0x11200100 PixelFormatIndex2LSB PixelFormat = 0x1C100200 PixelFormatIndex2MSB PixelFormat = 0x1C200200 PixelFormatIndex4LSB PixelFormat = 0x12100400 PixelFormatIndex4MSB PixelFormat = 0x12200400 PixelFormatIndex8 PixelFormat = 0x13000801 PixelFormatRGB332 PixelFormat = 0x14110801 PixelFormatXRGB4444 PixelFormat = 0x15120C02 PixelFormatXBGR4444 PixelFormat = 0x15520C02 PixelFormatXRGB1555 PixelFormat = 0x15130F02 PixelFormatXBGR1555 PixelFormat = 0x15530F02 PixelFormatARGB4444 PixelFormat = 0x15321002 PixelFormatRGBA4444 PixelFormat = 0x15421002 PixelFormatABGR4444 PixelFormat = 0x15721002 PixelFormatBGRA4444 PixelFormat = 0x15821002 PixelFormatARGB1555 PixelFormat = 0x15331002 PixelFormatRGBA5551 PixelFormat = 0x15441002 PixelFormatABGR1555 PixelFormat = 0x15731002 PixelFormatBGRA5551 PixelFormat = 0x15841002 PixelFormatRGB565 PixelFormat = 0x15151002 PixelFormatBGR565 PixelFormat = 0x15551002 PixelFormatRGB24 PixelFormat = 0x17101803 PixelFormatBGR24 PixelFormat = 0x17401803 PixelFormatXRGB8888 PixelFormat = 0x16161804 PixelFormatRGBX8888 PixelFormat = 0x16261804 PixelFormatXBGR8888 PixelFormat = 0x16561804 PixelFormatBGRX8888 PixelFormat = 0x16661804 PixelFormatARGB8888 PixelFormat = 0x16362004 PixelFormatRGBA8888 PixelFormat = 0x16462004 PixelFormatABGR8888 PixelFormat = 0x16762004 PixelFormatBGRA8888 PixelFormat = 0x16862004 PixelFormatXRGB2101010 PixelFormat = 0x16172004 PixelFormatXBGR2101010 PixelFormat = 0x16572004 PixelFormatARGB2101010 PixelFormat = 0x16372004 PixelFormatABGR2101010 PixelFormat = 0x16772004 PixelFormatRGB48 PixelFormat = 0x18103006 PixelFormatBGR48 PixelFormat = 0x18403006 PixelFormatRGBA64 PixelFormat = 0x18204008 PixelFormatARGB64 PixelFormat = 0x18304008 PixelFormatBGRA64 PixelFormat = 0x18504008 PixelFormatABGR64 PixelFormat = 0x18604008 PixelFormatRGB48Float PixelFormat = 0x1A103006 PixelFormatBGR48Float PixelFormat = 0x1A403006 PixelFormatRGBA64Float PixelFormat = 0x1A204008 PixelFormatARGB64Float PixelFormat = 0x1A304008 PixelFormatBGRA64Float PixelFormat = 0x1A504008 PixelFormatABGR64Float PixelFormat = 0x1A604008 PixelFormatRGB96Float PixelFormat = 0x1B10600C PixelFormatBGR96Float PixelFormat = 0x1B40600C PixelFormatRGBA128Float PixelFormat = 0x1B208010 PixelFormatARGB128Float PixelFormat = 0x1B308010 PixelFormatBGRA128Float PixelFormat = 0x1B508010 PixelFormatABGR128Float PixelFormat = 0x1B608010 PixelFormatYV12 PixelFormat = 0x32315659 PixelFormatIYUV PixelFormat = 0x56555949 PixelFormatYUY2 PixelFormat = 0x32595559 PixelFormatUYVY PixelFormat = 0x59565955 PixelFormatYVYU PixelFormat = 0x55595659 PixelFormatNV12 PixelFormat = 0x3231564E PixelFormatNV21 PixelFormat = 0x3132564E PixelFormatP010 PixelFormat = 0x30313050 PixelFormatExternalOES PixelFormat = 0x2053454F PixelFormatRGBA32 PixelFormat = PixelFormatABGR8888 PixelFormatARGB32 PixelFormat = PixelFormatBGRA8888 PixelFormatBGRA32 PixelFormat = PixelFormatARGB8888 PixelFormatABGR32 PixelFormat = PixelFormatRGBA8888 PixelFormatRGBX32 PixelFormat = PixelFormatXBGR8888 PixelFormatXRGB32 PixelFormat = PixelFormatBGRX8888 PixelFormatBGRX32 PixelFormat = PixelFormatXRGB8888 PixelFormatXBGR32 PixelFormat = PixelFormatRGBX8888 )
type PixelFormatDetails ¶
type PixelFormatDetails struct {
Format PixelFormat
BitsPerPixel uint8
BytesPerPixel uint8
Padding [2]uint8
Rmask, Gmask, Bmask, Amask uint32
Rbits, Gbits, Bbits, Abits uint8
Rshift, Gshift, Bshift, Ashift uint8
}
func GetPixelFormatDetails ¶
func GetPixelFormatDetails(format PixelFormat) *PixelFormatDetails
type Renderer ¶
type Renderer = C.SDL_Renderer
type SDLSurface ¶
type SDLSurface = C.SDL_Surface
type Scancode ¶
type Scancode uint32
const ( ScancodeUnknown Scancode = 0 ScancodeA Scancode = 4 ScancodeB Scancode = 5 ScancodeC Scancode = 6 ScancodeD Scancode = 7 ScancodeE Scancode = 8 ScancodeF Scancode = 9 ScancodeG Scancode = 10 ScancodeH Scancode = 11 ScancodeI Scancode = 12 ScancodeJ Scancode = 13 ScancodeK Scancode = 14 ScancodeL Scancode = 15 ScancodeM Scancode = 16 ScancodeN Scancode = 17 ScancodeO Scancode = 18 ScancodeP Scancode = 19 ScancodeQ Scancode = 20 ScancodeR Scancode = 21 ScancodeS Scancode = 22 ScancodeT Scancode = 23 ScancodeU Scancode = 24 ScancodeV Scancode = 25 ScancodeW Scancode = 26 ScancodeX Scancode = 27 ScancodeY Scancode = 28 ScancodeZ Scancode = 29 Scancode1 Scancode = 30 Scancode2 Scancode = 31 Scancode3 Scancode = 32 Scancode4 Scancode = 33 Scancode5 Scancode = 34 Scancode6 Scancode = 35 Scancode7 Scancode = 36 Scancode8 Scancode = 37 Scancode9 Scancode = 38 Scancode0 Scancode = 39 ScancodeReturn Scancode = 40 ScancodeEscape Scancode = 41 ScancodeBackspace Scancode = 42 ScancodeTab Scancode = 43 ScancodeSpace Scancode = 44 ScancodeMinus Scancode = 45 ScancodeEquals Scancode = 46 ScancodeLeftBracket Scancode = 47 ScancodeRightBracket Scancode = 48 ScancodeBackslash Scancode = 49 ScancodeNonUSHash Scancode = 50 ScancodeSemicolon Scancode = 51 ScancodeApostrophe Scancode = 52 ScancodeGrave Scancode = 53 ScancodeComma Scancode = 54 ScancodePeriod Scancode = 55 ScancodeSlash Scancode = 56 ScancodeCapsLock Scancode = 57 ScancodeF1 Scancode = 58 ScancodeF2 Scancode = 59 ScancodeF3 Scancode = 60 ScancodeF4 Scancode = 61 ScancodeF5 Scancode = 62 ScancodeF6 Scancode = 63 ScancodeF7 Scancode = 64 ScancodeF8 Scancode = 65 ScancodeF9 Scancode = 66 ScancodeF10 Scancode = 67 ScancodeF11 Scancode = 68 ScancodeF12 Scancode = 69 ScancodePrintScreen Scancode = 70 ScancodeScrollLock Scancode = 71 ScancodePause Scancode = 72 ScancodeInsert Scancode = 73 ScancodeHome Scancode = 74 ScancodePageUp Scancode = 75 ScancodeDelete Scancode = 76 ScancodeEnd Scancode = 77 ScancodePageDown Scancode = 78 ScancodeRight Scancode = 79 ScancodeLeft Scancode = 80 ScancodeDown Scancode = 81 ScancodeUp Scancode = 82 ScancodeNumLockClear Scancode = 83 ScancodeKpDivide Scancode = 84 ScancodeKpMultiply Scancode = 85 ScancodeKpMinus Scancode = 86 ScancodeKpPlus Scancode = 87 ScancodeKpEnter Scancode = 88 ScancodeKp1 Scancode = 89 ScancodeKp2 Scancode = 90 ScancodeKp3 Scancode = 91 ScancodeKp4 Scancode = 92 ScancodeKp5 Scancode = 93 ScancodeKp6 Scancode = 94 ScancodeKp7 Scancode = 95 ScancodeKp8 Scancode = 96 ScancodeKp9 Scancode = 97 ScancodeKp0 Scancode = 98 ScancodeKpPeriod Scancode = 99 ScancodeNonUSBackslash Scancode = 100 ScancodeApplication Scancode = 101 ScancodePower Scancode = 102 ScancodeKpEquals Scancode = 103 ScancodeF13 Scancode = 104 ScancodeF14 Scancode = 105 ScancodeF15 Scancode = 106 ScancodeF16 Scancode = 107 ScancodeF17 Scancode = 108 ScancodeF18 Scancode = 109 ScancodeF19 Scancode = 110 ScancodeF20 Scancode = 111 ScancodeF21 Scancode = 112 ScancodeF22 Scancode = 113 ScancodeF23 Scancode = 114 ScancodeF24 Scancode = 115 ScancodeExecute Scancode = 116 ScancodeHelp Scancode = 117 ScancodeMenu Scancode = 118 ScancodeSelect Scancode = 119 ScancodeStop Scancode = 120 ScancodeAgain Scancode = 121 ScancodeUndo Scancode = 122 ScancodeCut Scancode = 123 ScancodeCopy Scancode = 124 ScancodePaste Scancode = 125 ScancodeFind Scancode = 126 ScancodeMute Scancode = 127 ScancodeVolumeUp Scancode = 128 ScancodeVolumeDown Scancode = 129 ScancodeKpComma Scancode = 133 ScancodeKpEqualsAs400 Scancode = 134 ScancodeInternational1 Scancode = 135 ScancodeInternational2 Scancode = 136 ScancodeInternational3 Scancode = 137 ScancodeInternational4 Scancode = 138 ScancodeInternational5 Scancode = 139 ScancodeInternational6 Scancode = 140 ScancodeInternational7 Scancode = 141 ScancodeInternational8 Scancode = 142 ScancodeInternational9 Scancode = 143 ScancodeLang1 Scancode = 144 ScancodeLang2 Scancode = 145 ScancodeLang3 Scancode = 146 ScancodeLang4 Scancode = 147 ScancodeLang5 Scancode = 148 ScancodeLang6 Scancode = 149 ScancodeLang7 Scancode = 150 ScancodeLang8 Scancode = 151 ScancodeLang9 Scancode = 152 ScancodeAltErase Scancode = 153 ScancodeSysReq Scancode = 154 ScancodeCancel Scancode = 155 ScancodeClear Scancode = 156 ScancodePrior Scancode = 157 ScancodeReturn2 Scancode = 158 ScancodeSeparator Scancode = 159 ScancodeOut Scancode = 160 ScancodeOper Scancode = 161 ScancodeClearAgain Scancode = 162 ScancodeCrSel Scancode = 163 ScancodeExSel Scancode = 164 ScancodeKp00 Scancode = 176 ScancodeKp000 Scancode = 177 ScancodeThousandsSeparator Scancode = 178 ScancodeDecimalSeparator Scancode = 179 ScancodeCurrencyUnit Scancode = 180 ScancodeCurrencySubunit Scancode = 181 ScancodeKpLeftParen Scancode = 182 ScancodeKpRightParen Scancode = 183 ScancodeKpLeftBrace Scancode = 184 ScancodeKpRightBrace Scancode = 185 ScancodeKpTab Scancode = 186 ScancodeKpBackspace Scancode = 187 ScancodeKpA Scancode = 188 ScancodeKpB Scancode = 189 ScancodeKpC Scancode = 190 ScancodeKpD Scancode = 191 ScancodeKpE Scancode = 192 ScancodeKpF Scancode = 193 ScancodeKpXor Scancode = 194 ScancodeKpPower Scancode = 195 ScancodeKpPercent Scancode = 196 ScancodeKpLess Scancode = 197 ScancodeKpGreater Scancode = 198 ScancodeKpAmpersand Scancode = 199 ScancodeKpDblAmpersand Scancode = 200 ScancodeKpVerticalBar Scancode = 201 ScancodeKpDblverticalBar Scancode = 202 ScancodeKpColon Scancode = 203 ScancodeKpHash Scancode = 204 ScancodeKpSpace Scancode = 205 ScancodeKpAt Scancode = 206 ScancodeKpExclam Scancode = 207 ScancodeKpMemStore Scancode = 208 ScancodeKpMemRecall Scancode = 209 ScancodeKpMemClear Scancode = 210 ScancodeKpMemAdd Scancode = 211 ScancodeKpMemSubtract Scancode = 212 ScancodeKpMemMultiply Scancode = 213 ScancodeKpMemDivide Scancode = 214 ScancodeKpPlusMinus Scancode = 215 ScancodeKpClear Scancode = 216 ScancodeKpClearEntry Scancode = 217 ScancodeKpBinary Scancode = 218 ScancodeKpOctal Scancode = 219 ScancodeKpDecimal Scancode = 220 ScancodeKpHexadecimal Scancode = 221 ScancodeLCtrl Scancode = 224 ScancodeLShift Scancode = 225 ScancodeLAlt Scancode = 226 ScancodeLGui Scancode = 227 ScancodeRCtrl Scancode = 228 ScancodeRShift Scancode = 229 ScancodeRAlt Scancode = 230 ScancodeRGui Scancode = 231 ScancodeMode Scancode = 257 ScancodeSleep Scancode = 258 ScancodeWake Scancode = 259 ScancodeChannelIncrement Scancode = 260 ScancodeChannelDecrement Scancode = 261 ScancodeMediaPlay Scancode = 262 ScancodeMediaPause Scancode = 263 ScancodeMediaRecord Scancode = 264 ScancodeMediaFastForward Scancode = 265 ScancodeMediaRewind Scancode = 266 ScancodeMediaNextTrack Scancode = 267 ScancodeMediaPreviousTrack Scancode = 268 ScancodeMediaStop Scancode = 269 ScancodeMediaEject Scancode = 270 ScancodeMediaPlayPause Scancode = 271 ScancodeMediaSelect Scancode = 272 ScancodeAcNew Scancode = 273 ScancodeAcOpen Scancode = 274 ScancodeAcClose Scancode = 275 ScancodeAcExit Scancode = 276 ScancodeAcSave Scancode = 277 ScancodeAcPrint Scancode = 278 ScancodeAcProperties Scancode = 279 ScancodeAcSearch Scancode = 280 ScancodeAcHome Scancode = 281 ScancodeAcBack Scancode = 282 ScancodeAcForward Scancode = 283 ScancodeAcStop Scancode = 284 ScancodeAcRefresh Scancode = 285 ScancodeAcBookmarks Scancode = 286 ScancodeSoftLeft Scancode = 287 ScancodeSoftRight Scancode = 288 ScancodeCall Scancode = 289 ScancodeEndCall Scancode = 290 ScancodeReserved Scancode = 400 ScancodeCount Scancode = 512 )
type Surface ¶
type Surface struct {
Flags SurfaceFlags
Format PixelFormat
W int32
H int32
Pitch int32
Pixels unsafe.Pointer
Refcount int32
Reserved unsafe.Pointer
}
type SurfaceFlags ¶
type SurfaceFlags = C.SDL_SurfaceFlags
const ( SurfacePreallocated SurfaceFlags = 1 << iota SurfaceLockNeeded SurfaceLocked SurfaceSIMDAligned )
type Texture ¶
type Texture struct {
Format PixelFormat
W int32
H int32
Refcount int32
}
func CreateTexture ¶
func CreateTexture(renderer *Renderer, format PixelFormat, access TextureAccess, w int32, h int32) (*Texture, error)
type TextureAccess ¶
type TextureAccess = C.SDL_TextureAccess
const ( TextureAccessStatic TextureAccess = iota TextureAccessStreaming TextureAccessTarget )
type Window ¶
type Window = C.SDL_Window
func CreateWindow ¶
func CreateWindow(name string, width, height int32, flags WindowFlags) (*Window, error)
type WindowFlags ¶
type WindowFlags = C.SDL_WindowFlags
const ( WindowFullscreen WindowFlags = 0x0000000000000001 WindowOpenGL WindowFlags = 0x0000000000000002 WindowOccluded WindowFlags = 0x0000000000000004 WindowHidden WindowFlags = 0x0000000000000008 WindowBorderless WindowFlags = 0x0000000000000010 WindowResizable WindowFlags = 0x0000000000000020 WindowMinimized WindowFlags = 0x0000000000000040 WindowMaximized WindowFlags = 0x0000000000000080 WindowMouseGrabbed WindowFlags = 0x0000000000000100 WindowInputFocus WindowFlags = 0x0000000000000200 WindowMouseFocus WindowFlags = 0x0000000000000400 WindowExternal WindowFlags = 0x0000000000000800 WindowModal WindowFlags = 0x0000000000001000 WindowHighPixelDensity WindowFlags = 0x0000000000002000 WindowMouseCapture WindowFlags = 0x0000000000004000 WindowMouseRelativeMode WindowFlags = 0x0000000000008000 WindowAlwaysOnTop WindowFlags = 0x0000000000010000 WindowUtility WindowFlags = 0x0000000000020000 WindowTooltip WindowFlags = 0x0000000000040000 WindowPopupMenu WindowFlags = 0x0000000000080000 WindowKeyboardGrabbed WindowFlags = 0x0000000000100000 WindowVulkan WindowFlags = 0x0000000010000000 WindowMetal WindowFlags = 0x0000000020000000 WindowTransparent WindowFlags = 0x0000000040000000 WindowNotFocusable WindowFlags = 0x0000000080000000 )
type WindowID ¶
type WindowID = C.SDL_WindowID
Click to show internal directories.
Click to hide internal directories.