import "github.com/veandco/go-sdl2/sdl"
Package sdl is SDL2 wrapped for Go users. It enables interoperability between Go and the SDL2 library which is written in C. That means the original SDL2 installation is required for this to work. SDL2 is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D.
audio.go blendmode.go clipboard.go cpuinfo.go endian.go error.go events.go filesystem.go gamecontroller.go gesture.go haptic.go helpers.go hints.go joystick.go keyboard.go keycode.go loadso.go log.go mouse.go mutex.go pixels.go power.go rect.go render.go rwops.go scancode.go sdl.go sdl_cgo.go sensor.go surface.go sysrender.go system.go syswm.go thread.go timer.go touch.go version.go video.go vulkan.go
const ( AUDIO_MASK_BITSIZE = C.SDL_AUDIO_MASK_BITSIZE // (0xFF) AUDIO_MASK_DATATYPE = C.SDL_AUDIO_MASK_DATATYPE // (1<<8) AUDIO_MASK_ENDIAN = C.SDL_AUDIO_MASK_ENDIAN // (1<<12) AUDIO_MASK_SIGNED = C.SDL_AUDIO_MASK_SIGNED // (1<<15) )
Audio format masks. (https://wiki.libsdl.org/SDL_AudioFormat)
const ( AUDIO_S8 = C.AUDIO_S8 // signed 8-bit samples AUDIO_U8 = C.AUDIO_U8 // unsigned 8-bit samples AUDIO_S16LSB = C.AUDIO_S16LSB // signed 16-bit samples in little-endian byte order AUDIO_S16MSB = C.AUDIO_S16MSB // signed 16-bit samples in big-endian byte order AUDIO_S16SYS = C.AUDIO_S16SYS // signed 16-bit samples in native byte order AUDIO_S16 = C.AUDIO_S16 // AUDIO_S16LSB AUDIO_U16LSB = C.AUDIO_U16LSB // unsigned 16-bit samples in little-endian byte order AUDIO_U16MSB = C.AUDIO_U16MSB // unsigned 16-bit samples in big-endian byte order AUDIO_U16SYS = C.AUDIO_U16SYS // unsigned 16-bit samples in native byte order AUDIO_U16 = C.AUDIO_U16 // AUDIO_U16LSB AUDIO_S32LSB = C.AUDIO_S32LSB // 32-bit integer samples in little-endian byte order AUDIO_S32MSB = C.AUDIO_S32MSB // 32-bit integer samples in big-endian byte order AUDIO_S32SYS = C.AUDIO_S32SYS // 32-bit integer samples in native byte order AUDIO_S32 = C.AUDIO_S32 // AUDIO_S32LSB AUDIO_F32LSB = C.AUDIO_F32LSB // 32-bit floating point samples in little-endian byte order AUDIO_F32MSB = C.AUDIO_F32MSB // 32-bit floating point samples in big-endian byte order AUDIO_F32SYS = C.AUDIO_F32SYS // 32-bit floating point samples in native byte order AUDIO_F32 = C.AUDIO_F32 // AUDIO_F32LSB )
Audio format values. (https://wiki.libsdl.org/SDL_AudioFormat)
const ( AUDIO_ALLOW_FREQUENCY_CHANGE = C.SDL_AUDIO_ALLOW_FREQUENCY_CHANGE AUDIO_ALLOW_FORMAT_CHANGE = C.SDL_AUDIO_ALLOW_FORMAT_CHANGE AUDIO_ALLOW_CHANNELS_CHANGE = C.SDL_AUDIO_ALLOW_CHANNELS_CHANGE AUDIO_ALLOW_ANY_CHANGE = C.SDL_AUDIO_ALLOW_ANY_CHANGE )
AllowedChanges flags specify how SDL should behave when a device cannot offer a specific feature. If the application requests a feature that the hardware doesn't offer, SDL will always try to get the closest equivalent. Used in OpenAudioDevice(). (https://wiki.libsdl.org/SDL_OpenAudioDevice)
const ( AUDIO_STOPPED AudioStatus = C.SDL_AUDIO_STOPPED // audio device is stopped AUDIO_PLAYING = C.SDL_AUDIO_PLAYING // audio device is playing AUDIO_PAUSED = C.SDL_AUDIO_PAUSED // audio device is paused )
An enumeration of audio device states used in GetAudioDeviceStatus() and GetAudioStatus(). (https://wiki.libsdl.org/SDL_AudioStatus)
const ( BLENDMODE_NONE = C.SDL_BLENDMODE_NONE // no blending BLENDMODE_BLEND = C.SDL_BLENDMODE_BLEND // alpha blending BLENDMODE_ADD = C.SDL_BLENDMODE_ADD // additive blending BLENDMODE_MOD = C.SDL_BLENDMODE_MOD // color modulate BLENDMODE_INVALID = C.SDL_BLENDMODE_INVALID )
const ( BLENDOPERATION_ADD = C.SDL_BLENDOPERATION_ADD BLENDOPERATION_SUBTRACT = C.SDL_BLENDOPERATION_SUBTRACT BLENDOPERATION_REV_SUBTRACT = C.SDL_BLENDOPERATION_REV_SUBTRACT BLENDOPERATION_MINIMUM = C.SDL_BLENDOPERATION_MINIMUM BLENDOPERATION_MAXIMUM = C.SDL_BLENDOPERATION_MAXIMUM )
const ( BLENDFACTOR_ZERO = C.SDL_BLENDFACTOR_ZERO // 0, 0, 0, 0 BLENDFACTOR_ONE = C.SDL_BLENDFACTOR_ONE // 1, 1, 1, 1 BLENDFACTOR_SRC_COLOR = C.SDL_BLENDFACTOR_SRC_COLOR // srcR, srcG, srcB, srcA BLENDFACTOR_ONE_MINUS_SRC_COLOR = C.SDL_BLENDFACTOR_ONE_MINUS_SRC_COLOR // 1-srcR, 1-srcG, 1-srcB, 1-srcA BLENDFACTOR_SRC_ALPHA = C.SDL_BLENDFACTOR_SRC_ALPHA // srcA, srcA, srcA, srcA BLENDFACTOR_ONE_MINUS_SRC_ALPHA = C.SDL_BLENDFACTOR_ONE_MINUS_SRC_ALPHA // 1-srcA, 1-srcA, 1-srcA, 1-srcA BLENDFACTOR_DST_COLOR = C.SDL_BLENDFACTOR_DST_COLOR // dstR, dstG, dstB, dstA BLENDFACTOR_ONE_MINUS_DST_COLOR = C.SDL_BLENDFACTOR_ONE_MINUS_DST_COLOR // 1-dstR, 1-dstG, 1-dstB, 1-dstA BLENDFACTOR_DST_ALPHA = C.SDL_BLENDFACTOR_DST_ALPHA // dstA, dstA, dstA, dstA BLENDFACTOR_ONE_MINUS_DST_ALPHA = C.SDL_BLENDFACTOR_ONE_MINUS_DST_ALPHA // 1-dstA, 1-dstA, 1-dstA, 1-dstA )
const ( BYTEORDER = C.SDL_BYTEORDER // macro that corresponds to the byte order used by the processor type it was compiled for LIL_ENDIAN = C.SDL_LIL_ENDIAN // byte order is 1234, where the least significant byte is stored first BIG_ENDIAN = C.SDL_BIG_ENDIAN // byte order is 4321, where the most significant byte is stored first )
Endian-specific values. (https://wiki.libsdl.org/CategoryEndian)
const ( ENOMEM ErrorCode = C.SDL_ENOMEM // out of memory EFREAD = C.SDL_EFREAD // error reading from datastream EFWRITE = C.SDL_EFWRITE // error writing to datastream EFSEEK = C.SDL_EFSEEK // error seeking in datastream UNSUPPORTED = C.SDL_UNSUPPORTED // that operation is not supported LASTERROR = C.SDL_LASTERROR // the highest numbered predefined error )
SDL error codes with their corresponding predefined strings.
const ( FIRSTEVENT = C.SDL_FIRSTEVENT // do not remove (unused) // Application events QUIT = C.SDL_QUIT // user-requested quit // Android, iOS and WinRT events APP_TERMINATING = C.SDL_APP_TERMINATING // OS is terminating the application APP_LOWMEMORY = C.SDL_APP_LOWMEMORY // OS is low on memory; free some APP_WILLENTERBACKGROUND = C.SDL_APP_WILLENTERBACKGROUND // application is entering background APP_DIDENTERBACKGROUND = C.SDL_APP_DIDENTERBACKGROUND //application entered background APP_WILLENTERFOREGROUND = C.SDL_APP_WILLENTERFOREGROUND // application is entering foreground APP_DIDENTERFOREGROUND = C.SDL_APP_DIDENTERFOREGROUND // application entered foreground // Display events DISPLAYEVENT = C.SDL_DISPLAYEVENT // Display state change // Window events WINDOWEVENT = C.SDL_WINDOWEVENT // window state change SYSWMEVENT = C.SDL_SYSWMEVENT // system specific event // Keyboard events KEYDOWN = C.SDL_KEYDOWN // key pressed KEYUP = C.SDL_KEYUP // key released TEXTEDITING = C.SDL_TEXTEDITING // keyboard text editing (composition) TEXTINPUT = C.SDL_TEXTINPUT // keyboard text input KEYMAPCHANGED = C.SDL_KEYMAPCHANGED // keymap changed due to a system event such as an input language or keyboard layout change (>= SDL 2.0.4) // Mouse events MOUSEMOTION = C.SDL_MOUSEMOTION // mouse moved MOUSEBUTTONDOWN = C.SDL_MOUSEBUTTONDOWN // mouse button pressed MOUSEBUTTONUP = C.SDL_MOUSEBUTTONUP // mouse button released MOUSEWHEEL = C.SDL_MOUSEWHEEL // mouse wheel motion // Joystick events JOYAXISMOTION = C.SDL_JOYAXISMOTION // joystick axis motion JOYBALLMOTION = C.SDL_JOYBALLMOTION // joystick trackball motion JOYHATMOTION = C.SDL_JOYHATMOTION // joystick hat position change JOYBUTTONDOWN = C.SDL_JOYBUTTONDOWN // joystick button pressed JOYBUTTONUP = C.SDL_JOYBUTTONUP // joystick button released JOYDEVICEADDED = C.SDL_JOYDEVICEADDED // joystick connected JOYDEVICEREMOVED = C.SDL_JOYDEVICEREMOVED // joystick disconnected // Game controller events CONTROLLERAXISMOTION = C.SDL_CONTROLLERAXISMOTION // controller axis motion CONTROLLERBUTTONDOWN = C.SDL_CONTROLLERBUTTONDOWN // controller button pressed CONTROLLERBUTTONUP = C.SDL_CONTROLLERBUTTONUP // controller button released CONTROLLERDEVICEADDED = C.SDL_CONTROLLERDEVICEADDED // controller connected CONTROLLERDEVICEREMOVED = C.SDL_CONTROLLERDEVICEREMOVED // controller disconnected CONTROLLERDEVICEREMAPPED = C.SDL_CONTROLLERDEVICEREMAPPED // controller mapping updated // Touch events FINGERDOWN = C.SDL_FINGERDOWN // user has touched input device FINGERUP = C.SDL_FINGERUP // user stopped touching input device FINGERMOTION = C.SDL_FINGERMOTION // user is dragging finger on input device // Gesture events DOLLARGESTURE = C.SDL_DOLLARGESTURE DOLLARRECORD = C.SDL_DOLLARRECORD MULTIGESTURE = C.SDL_MULTIGESTURE // Clipboard events CLIPBOARDUPDATE = C.SDL_CLIPBOARDUPDATE // the clipboard changed // Drag and drop events DROPFILE = C.SDL_DROPFILE // the system requests a file open DROPTEXT = C.SDL_DROPTEXT // text/plain drag-and-drop event DROPBEGIN = C.SDL_DROPBEGIN // a new set of drops is beginning (NULL filename) DROPCOMPLETE = C.SDL_DROPCOMPLETE // current set of drops is now complete (NULL filename) // Audio hotplug events AUDIODEVICEADDED = C.SDL_AUDIODEVICEADDED // a new audio device is available (>= SDL 2.0.4) AUDIODEVICEREMOVED = C.SDL_AUDIODEVICEREMOVED // an audio device has been removed (>= SDL 2.0.4) // Sensor events SENSORUPDATE = C.SDL_SENSORUPDATE // a sensor was updated // Render events RENDER_TARGETS_RESET = C.SDL_RENDER_TARGETS_RESET // the render targets have been reset and their contents need to be updated (>= SDL 2.0.2) RENDER_DEVICE_RESET = C.SDL_RENDER_DEVICE_RESET // the device has been reset and all textures need to be recreated (>= SDL 2.0.4) // These are for your use, and should be allocated with RegisterEvents() USEREVENT = C.SDL_USEREVENT // a user-specified event LASTEVENT = C.SDL_LASTEVENT // (only for bounding internal arrays) )
Enumeration of the types of events that can be delivered. (https://wiki.libsdl.org/SDL_EventType)
const ( ADDEVENT = C.SDL_ADDEVENT // up to numevents events will be added to the back of the event queue PEEKEVENT = C.SDL_PEEKEVENT // up to numevents events at the front of the event queue, within the specified minimum and maximum type, will be returned and will not be removed from the queue GETEVENT = C.SDL_GETEVENT // up to numevents events at the front of the event queue, within the specified minimum and maximum type, will be returned and will be removed from the queue )
Actions for PeepEvents(). (https://wiki.libsdl.org/SDL_PeepEvents)
Toggles for different event state functions.
const ( CONTROLLER_BINDTYPE_NONE = C.SDL_CONTROLLER_BINDTYPE_NONE CONTROLLER_BINDTYPE_BUTTON = C.SDL_CONTROLLER_BINDTYPE_BUTTON CONTROLLER_BINDTYPE_AXIS = C.SDL_CONTROLLER_BINDTYPE_AXIS CONTROLLER_BINDTYPE_HAT = C.SDL_CONTROLLER_BINDTYPE_HAT )
Types of game controller inputs.
const ( CONTROLLER_AXIS_INVALID = C.SDL_CONTROLLER_AXIS_INVALID CONTROLLER_AXIS_LEFTX = C.SDL_CONTROLLER_AXIS_LEFTX CONTROLLER_AXIS_LEFTY = C.SDL_CONTROLLER_AXIS_LEFTY CONTROLLER_AXIS_RIGHTX = C.SDL_CONTROLLER_AXIS_RIGHTX CONTROLLER_AXIS_RIGHTY = C.SDL_CONTROLLER_AXIS_RIGHTY CONTROLLER_AXIS_TRIGGERLEFT = C.SDL_CONTROLLER_AXIS_TRIGGERLEFT CONTROLLER_AXIS_TRIGGERRIGHT = C.SDL_CONTROLLER_AXIS_TRIGGERRIGHT CONTROLLER_AXIS_MAX = C.SDL_CONTROLLER_AXIS_MAX )
An enumeration of axes available from a controller. (https://wiki.libsdl.org/SDL_GameControllerAxis)
const ( CONTROLLER_BUTTON_INVALID = C.SDL_CONTROLLER_BUTTON_INVALID CONTROLLER_BUTTON_A = C.SDL_CONTROLLER_BUTTON_A CONTROLLER_BUTTON_B = C.SDL_CONTROLLER_BUTTON_B CONTROLLER_BUTTON_X = C.SDL_CONTROLLER_BUTTON_X CONTROLLER_BUTTON_Y = C.SDL_CONTROLLER_BUTTON_Y CONTROLLER_BUTTON_BACK = C.SDL_CONTROLLER_BUTTON_BACK CONTROLLER_BUTTON_GUIDE = C.SDL_CONTROLLER_BUTTON_GUIDE CONTROLLER_BUTTON_START = C.SDL_CONTROLLER_BUTTON_START CONTROLLER_BUTTON_LEFTSTICK = C.SDL_CONTROLLER_BUTTON_LEFTSTICK CONTROLLER_BUTTON_RIGHTSTICK = C.SDL_CONTROLLER_BUTTON_RIGHTSTICK CONTROLLER_BUTTON_LEFTSHOULDER = C.SDL_CONTROLLER_BUTTON_LEFTSHOULDER CONTROLLER_BUTTON_RIGHTSHOULDER = C.SDL_CONTROLLER_BUTTON_RIGHTSHOULDER CONTROLLER_BUTTON_DPAD_UP = C.SDL_CONTROLLER_BUTTON_DPAD_UP CONTROLLER_BUTTON_DPAD_DOWN = C.SDL_CONTROLLER_BUTTON_DPAD_DOWN CONTROLLER_BUTTON_DPAD_LEFT = C.SDL_CONTROLLER_BUTTON_DPAD_LEFT CONTROLLER_BUTTON_DPAD_RIGHT = C.SDL_CONTROLLER_BUTTON_DPAD_RIGHT CONTROLLER_BUTTON_MAX = C.SDL_CONTROLLER_BUTTON_MAX )
An enumeration of buttons available from a controller. (https://wiki.libsdl.org/SDL_GameControllerButton)
const ( HAPTIC_CONSTANT = C.SDL_HAPTIC_CONSTANT // constant haptic effect HAPTIC_SINE = C.SDL_HAPTIC_SINE // periodic haptic effect that simulates sine waves HAPTIC_LEFTRIGHT = C.SDL_HAPTIC_LEFTRIGHT // haptic effect for direct control over high/low frequency motors HAPTIC_TRIANGLE = C.SDL_HAPTIC_TRIANGLE // periodic haptic effect that simulates triangular waves HAPTIC_SAWTOOTHUP = C.SDL_HAPTIC_SAWTOOTHUP // periodic haptic effect that simulates saw tooth up waves HAPTIC_SAWTOOTHDOWN = C.SDL_HAPTIC_SAWTOOTHDOWN // periodic haptic effect that simulates saw tooth down waves HAPTIC_RAMP = C.SDL_HAPTIC_RAMP // ramp haptic effect HAPTIC_SPRING = C.SDL_HAPTIC_SPRING // condition haptic effect that simulates a spring. Effect is based on the axes position HAPTIC_DAMPER = C.SDL_HAPTIC_DAMPER // condition haptic effect that simulates dampening. Effect is based on the axes velocity HAPTIC_INERTIA = C.SDL_HAPTIC_INERTIA // condition haptic effect that simulates inertia. Effect is based on the axes acceleration HAPTIC_FRICTION = C.SDL_HAPTIC_FRICTION // condition haptic effect that simulates friction. Effect is based on the axes movement HAPTIC_CUSTOM = C.SDL_HAPTIC_CUSTOM // user defined custom haptic effect HAPTIC_GAIN = C.SDL_HAPTIC_GAIN // device supports setting the global gain HAPTIC_AUTOCENTER = C.SDL_HAPTIC_AUTOCENTER // device supports setting autocenter HAPTIC_STATUS = C.SDL_HAPTIC_STATUS // device can be queried for effect status HAPTIC_PAUSE = C.SDL_HAPTIC_PAUSE // device can be paused )
Haptic effects. (https://wiki.libsdl.org/SDL_HapticEffect)
const ( HAPTIC_POLAR = C.SDL_HAPTIC_POLAR // uses polar coordinates for the direction HAPTIC_CARTESIAN = C.SDL_HAPTIC_CARTESIAN // uses cartesian coordinates for the direction HAPTIC_SPHERICAL = C.SDL_HAPTIC_SPHERICAL // uses spherical coordinates for the direction HAPTIC_INFINITY = C.SDL_HAPTIC_INFINITY // used to play a device an infinite number of times )
Direction encodings. (https://wiki.libsdl.org/SDL_HapticDirection)
const ( HINT_FRAMEBUFFER_ACCELERATION = C.SDL_HINT_FRAMEBUFFER_ACCELERATION // specifies how 3D acceleration is used with Window.GetSurface() HINT_RENDER_DRIVER = C.SDL_HINT_RENDER_DRIVER // specifies which render driver to use HINT_RENDER_OPENGL_SHADERS = C.SDL_HINT_RENDER_OPENGL_SHADERS // specifies whether the OpenGL render driver uses shaders HINT_RENDER_DIRECT3D_THREADSAFE = C.SDL_HINT_RENDER_DIRECT3D_THREADSAFE // specifies whether the Direct3D device is initialized for thread-safe operations HINT_RENDER_DIRECT3D11_DEBUG = C.SDL_HINT_RENDER_DIRECT3D11_DEBUG // specifies a variable controlling whether to enable Direct3D 11+'s Debug Layer HINT_RENDER_SCALE_QUALITY = C.SDL_HINT_RENDER_SCALE_QUALITY // specifies scaling quality HINT_RENDER_VSYNC = C.SDL_HINT_RENDER_VSYNC // specifies whether sync to vertical refresh is enabled or disabled in CreateRenderer() to avoid tearing HINT_VIDEO_ALLOW_SCREENSAVER = C.SDL_HINT_VIDEO_ALLOW_SCREENSAVER // specifies whether the screensaver is enabled HINT_VIDEO_X11_NET_WM_PING = C.SDL_HINT_VIDEO_X11_NET_WM_PING // specifies whether the X11 _NET_WM_PING protocol should be supported HINT_VIDEO_X11_XVIDMODE = C.SDL_HINT_VIDEO_X11_XVIDMODE // specifies whether the X11 VidMode extension should be used HINT_VIDEO_X11_XINERAMA = C.SDL_HINT_VIDEO_X11_XINERAMA // specifies whether the X11 Xinerama extension should be used HINT_VIDEO_X11_XRANDR = C.SDL_HINT_VIDEO_X11_XRANDR // specifies whether the X11 XRandR extension should be used HINT_GRAB_KEYBOARD = C.SDL_HINT_GRAB_KEYBOARD // specifies whether grabbing input grabs the keyboard HINT_MOUSE_DOUBLE_CLICK_TIME = C.SDL_HINT_MOUSE_DOUBLE_CLICK_TIME // specifies the double click time, in milliseconds HINT_MOUSE_DOUBLE_CLICK_RADIUS = C.SDL_HINT_MOUSE_DOUBLE_CLICK_RADIUS // specifies the double click radius, in pixels. HINT_MOUSE_RELATIVE_MODE_WARP = C.SDL_HINT_MOUSE_RELATIVE_MODE_WARP // specifies whether relative mouse mode is implemented using mouse warping HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS = C.SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS // specifies if a Window is minimized if it loses key focus when in fullscreen mode HINT_IDLE_TIMER_DISABLED = C.SDL_HINT_IDLE_TIMER_DISABLED // specifies a variable controlling whether the idle timer is disabled on iOS HINT_IME_INTERNAL_EDITING = C.SDL_HINT_IME_INTERNAL_EDITING // specifies whether certain IMEs should handle text editing internally instead of sending TextEditingEvents HINT_ORIENTATIONS = C.SDL_HINT_ORIENTATIONS // specifies a variable controlling which orientations are allowed on iOS HINT_ACCELEROMETER_AS_JOYSTICK = C.SDL_HINT_ACCELEROMETER_AS_JOYSTICK // specifies whether the Android / iOS built-in accelerometer should be listed as a joystick device, rather than listing actual joysticks only HINT_XINPUT_ENABLED = C.SDL_HINT_XINPUT_ENABLED // specifies if Xinput gamepad devices are detected HINT_XINPUT_USE_OLD_JOYSTICK_MAPPING = C.SDL_HINT_XINPUT_USE_OLD_JOYSTICK_MAPPING // specifies that SDL should use the old axis and button mapping for XInput devices HINT_GAMECONTROLLERCONFIG = C.SDL_HINT_GAMECONTROLLERCONFIG // specifies extra gamecontroller db entries HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS = C.SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS // specifies if joystick (and gamecontroller) events are enabled even when the application is in the background HINT_ALLOW_TOPMOST = C.SDL_HINT_ALLOW_TOPMOST // specifies if top most bit on an SDL Window can be set HINT_THREAD_STACK_SIZE = C.SDL_HINT_THREAD_STACK_SIZE // specifies a variable specifying SDL's threads stack size in bytes or "0" for the backend's default size HINT_TIMER_RESOLUTION = C.SDL_HINT_TIMER_RESOLUTION // specifies the timer resolution in milliseconds HINT_VIDEO_HIGHDPI_DISABLED = C.SDL_HINT_VIDEO_HIGHDPI_DISABLED // specifies if high-DPI windows ("Retina" on Mac and iOS) are not allowed HINT_MAC_BACKGROUND_APP = C.SDL_HINT_MAC_BACKGROUND_APP // specifies if the SDL app should not be forced to become a foreground process on Mac OS X HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK = C.SDL_HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK // specifies whether ctrl+click should generate a right-click event on Mac HINT_VIDEO_WIN_D3DCOMPILER = C.SDL_HINT_VIDEO_WIN_D3DCOMPILER // specifies which shader compiler to preload when using the Chrome ANGLE binaries HINT_VIDEO_WINDOW_SHARE_PIXEL_FORMAT = C.SDL_HINT_VIDEO_WINDOW_SHARE_PIXEL_FORMAT // specifies the address of another Window* (as a hex string formatted with "%p") HINT_WINRT_PRIVACY_POLICY_URL = C.SDL_HINT_WINRT_PRIVACY_POLICY_URL // specifies a URL to a WinRT app's privacy policy HINT_WINRT_PRIVACY_POLICY_LABEL = C.SDL_HINT_WINRT_PRIVACY_POLICY_LABEL // specifies a label text for a WinRT app's privacy policy link HINT_WINRT_HANDLE_BACK_BUTTON = C.SDL_HINT_WINRT_HANDLE_BACK_BUTTON // specifies a variable to allow back-button-press events on Windows Phone to be marked as handled HINT_VIDEO_MAC_FULLSCREEN_SPACES = C.SDL_HINT_VIDEO_MAC_FULLSCREEN_SPACES // specifies policy for fullscreen Spaces on Mac OS X HINT_NO_SIGNAL_HANDLERS = C.SDL_HINT_NO_SIGNAL_HANDLERS // specifies not to catch the SIGINT or SIGTERM signals HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN = C.SDL_HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN // specifies whether the window frame and title bar are interactive when the cursor is hidden HINT_WINDOWS_ENABLE_MESSAGELOOP = C.SDL_HINT_WINDOWS_ENABLE_MESSAGELOOP // specifies whether the windows message loop is processed by SDL HINT_WINDOWS_NO_CLOSE_ON_ALT_F4 = C.SDL_HINT_WINDOWS_NO_CLOSE_ON_ALT_F4 // specifies that SDL should not to generate WINDOWEVENT_CLOSE events for Alt+F4 on Microsoft Windows HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH = C.SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH // specifies a variable to control whether mouse and touch events are to be treated together or separately HINT_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION = C.SDL_HINT_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION // specifies the Android APK expansion main file version HINT_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION = C.SDL_HINT_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION // specifies the Android APK expansion patch file version HINT_AUDIO_RESAMPLING_MODE = C.SDL_HINT_AUDIO_RESAMPLING_MODE // specifies a variable controlling speed/quality tradeoff of audio resampling HINT_RENDER_LOGICAL_SIZE_MODE = C.SDL_HINT_RENDER_LOGICAL_SIZE_MODE // specifies a variable controlling the scaling policy for SDL_RenderSetLogicalSize HINT_MOUSE_NORMAL_SPEED_SCALE = C.SDL_HINT_MOUSE_NORMAL_SPEED_SCALE // specifies a variable setting the speed scale for mouse motion, in floating point, when the mouse is not in relative mode HINT_MOUSE_RELATIVE_SPEED_SCALE = C.SDL_HINT_MOUSE_RELATIVE_SPEED_SCALE // specifies a variable setting the scale for mouse motion, in floating point, when the mouse is in relative mode HINT_MOUSE_TOUCH_EVENTS = C.SDL_HINT_MOUSE_TOUCH_EVENTS // specifies a variable to control whether mouse events should generate synthetic touch events HINT_TOUCH_MOUSE_EVENTS = C.SDL_HINT_TOUCH_MOUSE_EVENTS // specifies a variable controlling whether touch events should generate synthetic mouse events HINT_WINDOWS_INTRESOURCE_ICON = C.SDL_HINT_WINDOWS_INTRESOURCE_ICON // specifies a variable to specify custom icon resource id from RC file on Windows platform HINT_WINDOWS_INTRESOURCE_ICON_SMALL = C.SDL_HINT_WINDOWS_INTRESOURCE_ICON_SMALL // specifies a variable to specify custom icon resource id from RC file on Windows platform HINT_IOS_HIDE_HOME_INDICATOR = C.SDL_HINT_IOS_HIDE_HOME_INDICATOR // specifies a variable controlling whether the home indicator bar on iPhone X should be hidden. HINT_RETURN_KEY_HIDES_IME = C.SDL_HINT_RETURN_KEY_HIDES_IME // specifies a variable to control whether the return key on the soft keyboard should hide the soft keyboard on Android and iOS. HINT_TV_REMOTE_AS_JOYSTICK = C.SDL_HINT_TV_REMOTE_AS_JOYSTICK // specifies a variable controlling whether the Android / tvOS remotes should be listed as joystick devices, instead of sending keyboard events. HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR = C.SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR // specifies a variable controlling whether the X11 _NET_WM_BYPASS_COMPOSITOR hint should be used. HINT_VIDEO_DOUBLE_BUFFER = C.SDL_HINT_VIDEO_DOUBLE_BUFFER // specifies a variable that tells the video driver that we only want a double buffer. HINT_RENDER_BATCHING = C.SDL_HINT_RENDER_BATCHING // specifies a variable controlling whether the 2D render API is compatible or efficient. HINT_EVENT_LOGGING = C.SDL_HINT_EVENT_LOGGING // specifies a variable controlling whether SDL logs all events pushed onto its internal queue. HINT_GAMECONTROLLERCONFIG_FILE = C.SDL_HINT_GAMECONTROLLERCONFIG_FILE // specifies a variable that lets you provide a file with extra gamecontroller db entries. HINT_ANDROID_BLOCK_ON_PAUSE = C.SDL_HINT_ANDROID_BLOCK_ON_PAUSE // specifies a variable to control whether the event loop will block itself when the app is paused. )
Configuration hints (https://wiki.libsdl.org/CategoryHints)
const ( HINT_DEFAULT = C.SDL_HINT_DEFAULT // low priority, used for default values HINT_NORMAL = C.SDL_HINT_NORMAL // medium priority HINT_OVERRIDE = C.SDL_HINT_OVERRIDE // high priority )
An enumeration of hint priorities. (https://wiki.libsdl.org/SDL_HintPriority)
const ( HAT_CENTERED = C.SDL_HAT_CENTERED HAT_UP = C.SDL_HAT_UP HAT_RIGHT = C.SDL_HAT_RIGHT HAT_DOWN = C.SDL_HAT_DOWN HAT_LEFT = C.SDL_HAT_LEFT HAT_RIGHTUP = C.SDL_HAT_RIGHTUP HAT_RIGHTDOWN = C.SDL_HAT_RIGHTDOWN HAT_LEFTUP = C.SDL_HAT_LEFTUP HAT_LEFTDOWN = C.SDL_HAT_LEFTDOWN )
Hat positions. (https://wiki.libsdl.org/SDL_JoystickGetHat)
const ( JOYSTICK_TYPE_UNKNOWN = C.SDL_JOYSTICK_TYPE_UNKNOWN JOYSTICK_TYPE_GAMECONTROLLER = C.SDL_JOYSTICK_TYPE_GAMECONTROLLER JOYSTICK_TYPE_WHEEL = C.SDL_JOYSTICK_TYPE_WHEEL JOYSTICK_TYPE_ARCADE_STICK = C.SDL_JOYSTICK_TYPE_ARCADE_STICK JOYSTICK_TYPE_FLIGHT_STICK = C.SDL_JOYSTICK_TYPE_FLIGHT_STICK JOYSTICK_TYPE_DANCE_PAD = C.SDL_JOYSTICK_TYPE_DANCE_PAD JOYSTICK_TYPE_GUITAR = C.SDL_JOYSTICK_TYPE_GUITAR JOYSTICK_TYPE_DRUM_KIT = C.SDL_JOYSTICK_TYPE_DRUM_KIT JOYSTICK_TYPE_ARCADE_PAD = C.SDL_JOYSTICK_TYPE_ARCADE_PAD JOYSTICK_TYPE_THROTTLE = C.SDL_JOYSTICK_TYPE_THROTTLE )
Types of a joystick.
const ( JOYSTICK_POWER_UNKNOWN = C.SDL_JOYSTICK_POWER_UNKNOWN JOYSTICK_POWER_EMPTY = C.SDL_JOYSTICK_POWER_EMPTY JOYSTICK_POWER_LOW = C.SDL_JOYSTICK_POWER_LOW JOYSTICK_POWER_MEDIUM = C.SDL_JOYSTICK_POWER_MEDIUM JOYSTICK_POWER_FULL = C.SDL_JOYSTICK_POWER_FULL JOYSTICK_POWER_WIRED = C.SDL_JOYSTICK_POWER_WIRED JOYSTICK_POWER_MAX = C.SDL_JOYSTICK_POWER_MAX )
An enumeration of battery levels of a joystick. (https://wiki.libsdl.org/SDL_JoystickPowerLevel)
const ( K_UNKNOWN = C.SDLK_UNKNOWN // "" (no name, empty string) K_RETURN = C.SDLK_RETURN // "Return" (the Enter key (main keyboard)) K_ESCAPE = C.SDLK_ESCAPE // "Escape" (the Esc key) K_BACKSPACE = C.SDLK_BACKSPACE // "Backspace" K_TAB = C.SDLK_TAB // "Tab" (the Tab key) K_SPACE = C.SDLK_SPACE // "Space" (the Space Bar key(s)) K_EXCLAIM = C.SDLK_EXCLAIM // "!" K_QUOTEDBL = C.SDLK_QUOTEDBL // """ K_HASH = C.SDLK_HASH // "#" K_PERCENT = C.SDLK_PERCENT // "%" K_DOLLAR = C.SDLK_DOLLAR // "$" K_AMPERSAND = C.SDLK_AMPERSAND // "&" K_QUOTE = C.SDLK_QUOTE // "'" K_LEFTPAREN = C.SDLK_LEFTPAREN // "(" K_RIGHTPAREN = C.SDLK_RIGHTPAREN // ")" K_ASTERISK = C.SDLK_ASTERISK // "*" K_PLUS = C.SDLK_PLUS // "+" K_COMMA = C.SDLK_COMMA // "," K_MINUS = C.SDLK_MINUS // "-" K_PERIOD = C.SDLK_PERIOD // "." K_SLASH = C.SDLK_SLASH // "/" K_0 = C.SDLK_0 // "0" K_1 = C.SDLK_1 // "1" K_2 = C.SDLK_2 // "2" K_3 = C.SDLK_3 // "3" K_4 = C.SDLK_4 // "4" K_5 = C.SDLK_5 // "5" K_6 = C.SDLK_6 // "6" K_7 = C.SDLK_7 // "7" K_8 = C.SDLK_8 // "8" K_9 = C.SDLK_9 // "9" K_COLON = C.SDLK_COLON // ":" K_SEMICOLON = C.SDLK_SEMICOLON // ";" K_LESS = C.SDLK_LESS // "<" K_EQUALS = C.SDLK_EQUALS // "=" K_GREATER = C.SDLK_GREATER // ">" K_QUESTION = C.SDLK_QUESTION // "?" K_AT = C.SDLK_AT // "@" /* Skip uppercase letters */ K_LEFTBRACKET = C.SDLK_LEFTBRACKET // "[" K_BACKSLASH = C.SDLK_BACKSLASH // "\" K_RIGHTBRACKET = C.SDLK_RIGHTBRACKET // "]" K_CARET = C.SDLK_CARET // "^" K_UNDERSCORE = C.SDLK_UNDERSCORE // "_" K_BACKQUOTE = C.SDLK_BACKQUOTE // "`" K_a = C.SDLK_a // "A" K_b = C.SDLK_b // "B" K_c = C.SDLK_c // "C" K_d = C.SDLK_d // "D" K_e = C.SDLK_e // "E" K_f = C.SDLK_f // "F" K_g = C.SDLK_g // "G" K_h = C.SDLK_h // "H" K_i = C.SDLK_i // "I" K_j = C.SDLK_j // "J" K_k = C.SDLK_k // "K" K_l = C.SDLK_l // "L" K_m = C.SDLK_m // "M" K_n = C.SDLK_n // "N" K_o = C.SDLK_o // "O" K_p = C.SDLK_p // "P" K_q = C.SDLK_q // "Q" K_r = C.SDLK_r // "R" K_s = C.SDLK_s // "S" K_t = C.SDLK_t // "T" K_u = C.SDLK_u // "U" K_v = C.SDLK_v // "V" K_w = C.SDLK_w // "W" K_x = C.SDLK_x // "X" K_y = C.SDLK_y // "Y" K_z = C.SDLK_z // "Z" K_CAPSLOCK = C.SDLK_CAPSLOCK // "CapsLock" K_F1 = C.SDLK_F1 // "F1" K_F2 = C.SDLK_F2 // "F2" K_F3 = C.SDLK_F3 // "F3" K_F4 = C.SDLK_F4 // "F4" K_F5 = C.SDLK_F5 // "F5" K_F6 = C.SDLK_F6 // "F6" K_F7 = C.SDLK_F7 // "F7" K_F8 = C.SDLK_F8 // "F8" K_F9 = C.SDLK_F9 // "F9" K_F10 = C.SDLK_F10 // "F10" K_F11 = C.SDLK_F11 // "F11" K_F12 = C.SDLK_F12 // "F12" K_PRINTSCREEN = C.SDLK_PRINTSCREEN // "PrintScreen" K_SCROLLLOCK = C.SDLK_SCROLLLOCK // "ScrollLock" K_PAUSE = C.SDLK_PAUSE // "Pause" (the Pause / Break key) K_INSERT = C.SDLK_INSERT // "Insert" (insert on PC, help on some Mac keyboards (but does send code 73, not 117)) K_HOME = C.SDLK_HOME // "Home" K_PAGEUP = C.SDLK_PAGEUP // "PageUp" K_DELETE = C.SDLK_DELETE // "Delete" K_END = C.SDLK_END // "End" K_PAGEDOWN = C.SDLK_PAGEDOWN // "PageDown" K_RIGHT = C.SDLK_RIGHT // "Right" (the Right arrow key (navigation keypad)) K_LEFT = C.SDLK_LEFT // "Left" (the Left arrow key (navigation keypad)) K_DOWN = C.SDLK_DOWN // "Down" (the Down arrow key (navigation keypad)) K_UP = C.SDLK_UP // "Up" (the Up arrow key (navigation keypad)) K_NUMLOCKCLEAR = C.SDLK_NUMLOCKCLEAR // "Numlock" (the Num Lock key (PC) / the Clear key (Mac)) K_KP_DIVIDE = C.SDLK_KP_DIVIDE // "Keypad /" (the / key (numeric keypad)) K_KP_MULTIPLY = C.SDLK_KP_MULTIPLY // "Keypad *" (the * key (numeric keypad)) K_KP_MINUS = C.SDLK_KP_MINUS // "Keypad -" (the - key (numeric keypad)) K_KP_PLUS = C.SDLK_KP_PLUS // "Keypad +" (the + key (numeric keypad)) K_KP_ENTER = C.SDLK_KP_ENTER // "Keypad Enter" (the Enter key (numeric keypad)) K_KP_1 = C.SDLK_KP_1 // "Keypad 1" (the 1 key (numeric keypad)) K_KP_2 = C.SDLK_KP_2 // "Keypad 2" (the 2 key (numeric keypad)) K_KP_3 = C.SDLK_KP_3 // "Keypad 3" (the 3 key (numeric keypad)) K_KP_4 = C.SDLK_KP_4 // "Keypad 4" (the 4 key (numeric keypad)) K_KP_5 = C.SDLK_KP_5 // "Keypad 5" (the 5 key (numeric keypad)) K_KP_6 = C.SDLK_KP_6 // "Keypad 6" (the 6 key (numeric keypad)) K_KP_7 = C.SDLK_KP_7 // "Keypad 7" (the 7 key (numeric keypad)) K_KP_8 = C.SDLK_KP_8 // "Keypad 8" (the 8 key (numeric keypad)) K_KP_9 = C.SDLK_KP_9 // "Keypad 9" (the 9 key (numeric keypad)) K_KP_0 = C.SDLK_KP_0 // "Keypad 0" (the 0 key (numeric keypad)) K_KP_PERIOD = C.SDLK_KP_PERIOD // "Keypad ." (the . key (numeric keypad)) K_APPLICATION = C.SDLK_APPLICATION // "Application" (the Application / Compose / Context Menu (Windows) key) K_POWER = C.SDLK_POWER // "Power" (The USB document says this is a status flag, not a physical key - but some Mac keyboards do have a power key.) K_KP_EQUALS = C.SDLK_KP_EQUALS // "Keypad =" (the = key (numeric keypad)) K_F13 = C.SDLK_F13 // "F13" K_F14 = C.SDLK_F14 // "F14" K_F15 = C.SDLK_F15 // "F15" K_F16 = C.SDLK_F16 // "F16" K_F17 = C.SDLK_F17 // "F17" K_F18 = C.SDLK_F18 // "F18" K_F19 = C.SDLK_F19 // "F19" K_F20 = C.SDLK_F20 // "F20" K_F21 = C.SDLK_F21 // "F21" K_F22 = C.SDLK_F22 // "F22" K_F23 = C.SDLK_F23 // "F23" K_F24 = C.SDLK_F24 // "F24" K_EXECUTE = C.SDLK_EXECUTE // "Execute" K_HELP = C.SDLK_HELP // "Help" K_MENU = C.SDLK_MENU // "Menu" K_SELECT = C.SDLK_SELECT // "Select" K_STOP = C.SDLK_STOP // "Stop" K_AGAIN = C.SDLK_AGAIN // "Again" (the Again key (Redo)) K_UNDO = C.SDLK_UNDO // "Undo" K_CUT = C.SDLK_CUT // "Cut" K_COPY = C.SDLK_COPY // "Copy" K_PASTE = C.SDLK_PASTE // "Paste" K_FIND = C.SDLK_FIND // "Find" K_MUTE = C.SDLK_MUTE // "Mute" K_VOLUMEUP = C.SDLK_VOLUMEUP // "VolumeUp" K_VOLUMEDOWN = C.SDLK_VOLUMEDOWN // "VolumeDown" K_KP_COMMA = C.SDLK_KP_COMMA // "Keypad ," (the Comma key (numeric keypad)) K_KP_EQUALSAS400 = C.SDLK_KP_EQUALSAS400 // "Keypad = (AS400)" (the Equals AS400 key (numeric keypad)) K_ALTERASE = C.SDLK_ALTERASE // "AltErase" (Erase-Eaze) K_SYSREQ = C.SDLK_SYSREQ // "SysReq" (the SysReq key) K_CANCEL = C.SDLK_CANCEL // "Cancel" K_CLEAR = C.SDLK_CLEAR // "Clear" K_PRIOR = C.SDLK_PRIOR // "Prior" K_RETURN2 = C.SDLK_RETURN2 // "Return" K_SEPARATOR = C.SDLK_SEPARATOR // "Separator" K_OUT = C.SDLK_OUT // "Out" K_OPER = C.SDLK_OPER // "Oper" K_CLEARAGAIN = C.SDLK_CLEARAGAIN // "Clear / Again" K_CRSEL = C.SDLK_CRSEL // "CrSel" K_EXSEL = C.SDLK_EXSEL // "ExSel" K_KP_00 = C.SDLK_KP_00 // "Keypad 00" (the 00 key (numeric keypad)) K_KP_000 = C.SDLK_KP_000 // "Keypad 000" (the 000 key (numeric keypad)) K_THOUSANDSSEPARATOR = C.SDLK_THOUSANDSSEPARATOR // "ThousandsSeparator" (the Thousands Separator key) K_DECIMALSEPARATOR = C.SDLK_DECIMALSEPARATOR // "DecimalSeparator" (the Decimal Separator key) K_CURRENCYUNIT = C.SDLK_CURRENCYUNIT // "CurrencyUnit" (the Currency Unit key) K_CURRENCYSUBUNIT = C.SDLK_CURRENCYSUBUNIT // "CurrencySubUnit" (the Currency Subunit key) K_KP_LEFTPAREN = C.SDLK_KP_LEFTPAREN // "Keypad (" (the Left Parenthesis key (numeric keypad)) K_KP_RIGHTPAREN = C.SDLK_KP_RIGHTPAREN // "Keypad )" (the Right Parenthesis key (numeric keypad)) K_KP_LEFTBRACE = C.SDLK_KP_LEFTBRACE // "Keypad {" (the Left Brace key (numeric keypad)) K_KP_RIGHTBRACE = C.SDLK_KP_RIGHTBRACE // "Keypad }" (the Right Brace key (numeric keypad)) K_KP_TAB = C.SDLK_KP_TAB // "Keypad Tab" (the Tab key (numeric keypad)) K_KP_BACKSPACE = C.SDLK_KP_BACKSPACE // "Keypad Backspace" (the Backspace key (numeric keypad)) K_KP_A = C.SDLK_KP_A // "Keypad A" (the A key (numeric keypad)) K_KP_B = C.SDLK_KP_B // "Keypad B" (the B key (numeric keypad)) K_KP_C = C.SDLK_KP_C // "Keypad C" (the C key (numeric keypad)) K_KP_D = C.SDLK_KP_D // "Keypad D" (the D key (numeric keypad)) K_KP_E = C.SDLK_KP_E // "Keypad E" (the E key (numeric keypad)) K_KP_F = C.SDLK_KP_F // "Keypad F" (the F key (numeric keypad)) K_KP_XOR = C.SDLK_KP_XOR // "Keypad XOR" (the XOR key (numeric keypad)) K_KP_POWER = C.SDLK_KP_POWER // "Keypad ^" (the Power key (numeric keypad)) K_KP_PERCENT = C.SDLK_KP_PERCENT // "Keypad %" (the Percent key (numeric keypad)) K_KP_LESS = C.SDLK_KP_LESS // "Keypad <" (the Less key (numeric keypad)) K_KP_GREATER = C.SDLK_KP_GREATER // "Keypad >" (the Greater key (numeric keypad)) K_KP_AMPERSAND = C.SDLK_KP_AMPERSAND // "Keypad &" (the & key (numeric keypad)) K_KP_DBLAMPERSAND = C.SDLK_KP_DBLAMPERSAND // "Keypad &&" (the && key (numeric keypad)) K_KP_VERTICALBAR = C.SDLK_KP_VERTICALBAR // "Keypad |" (the | key (numeric keypad)) K_KP_DBLVERTICALBAR = C.SDLK_KP_DBLVERTICALBAR // "Keypad ||" (the || key (numeric keypad)) K_KP_COLON = C.SDLK_KP_COLON // "Keypad :" (the : key (numeric keypad)) K_KP_HASH = C.SDLK_KP_HASH // "Keypad #" (the # key (numeric keypad)) K_KP_SPACE = C.SDLK_KP_SPACE // "Keypad Space" (the Space key (numeric keypad)) K_KP_AT = C.SDLK_KP_AT // "Keypad @" (the @ key (numeric keypad)) K_KP_EXCLAM = C.SDLK_KP_EXCLAM // "Keypad !" (the ! key (numeric keypad)) K_KP_MEMSTORE = C.SDLK_KP_MEMSTORE // "Keypad MemStore" (the Mem Store key (numeric keypad)) K_KP_MEMRECALL = C.SDLK_KP_MEMRECALL // "Keypad MemRecall" (the Mem Recall key (numeric keypad)) K_KP_MEMCLEAR = C.SDLK_KP_MEMCLEAR // "Keypad MemClear" (the Mem Clear key (numeric keypad)) K_KP_MEMADD = C.SDLK_KP_MEMADD // "Keypad MemAdd" (the Mem Add key (numeric keypad)) K_KP_MEMSUBTRACT = C.SDLK_KP_MEMSUBTRACT // "Keypad MemSubtract" (the Mem Subtract key (numeric keypad)) K_KP_MEMMULTIPLY = C.SDLK_KP_MEMMULTIPLY // "Keypad MemMultiply" (the Mem Multiply key (numeric keypad)) K_KP_MEMDIVIDE = C.SDLK_KP_MEMDIVIDE // "Keypad MemDivide" (the Mem Divide key (numeric keypad)) K_KP_PLUSMINUS = C.SDLK_KP_PLUSMINUS // "Keypad +/-" (the +/- key (numeric keypad)) K_KP_CLEAR = C.SDLK_KP_CLEAR // "Keypad Clear" (the Clear key (numeric keypad)) K_KP_CLEARENTRY = C.SDLK_KP_CLEARENTRY // "Keypad ClearEntry" (the Clear Entry key (numeric keypad)) K_KP_BINARY = C.SDLK_KP_BINARY // "Keypad Binary" (the Binary key (numeric keypad)) K_KP_OCTAL = C.SDLK_KP_OCTAL // "Keypad Octal" (the Octal key (numeric keypad)) K_KP_DECIMAL = C.SDLK_KP_DECIMAL // "Keypad Decimal" (the Decimal key (numeric keypad)) K_KP_HEXADECIMAL = C.SDLK_KP_HEXADECIMAL // "Keypad Hexadecimal" (the Hexadecimal key (numeric keypad)) K_LCTRL = C.SDLK_LCTRL // "Left Ctrl" K_LSHIFT = C.SDLK_LSHIFT // "Left Shift" K_LALT = C.SDLK_LALT // "Left Alt" (alt, option) K_LGUI = C.SDLK_LGUI // "Left GUI" (windows, command (apple), meta) K_RCTRL = C.SDLK_RCTRL // "Right Ctrl" K_RSHIFT = C.SDLK_RSHIFT // "Right Shift" K_RALT = C.SDLK_RALT // "Right Alt" (alt, option) K_RGUI = C.SDLK_RGUI // "Right GUI" (windows, command (apple), meta) K_MODE = C.SDLK_MODE // "ModeSwitch" (I'm not sure if this is really not covered by any of the above, but since there's a special KMOD_MODE for it I'm adding it here) K_AUDIONEXT = C.SDLK_AUDIONEXT // "AudioNext" (the Next Track media key) K_AUDIOPREV = C.SDLK_AUDIOPREV // "AudioPrev" (the Previous Track media key) K_AUDIOSTOP = C.SDLK_AUDIOSTOP // "AudioStop" (the Stop media key) K_AUDIOPLAY = C.SDLK_AUDIOPLAY // "AudioPlay" (the Play media key) K_AUDIOMUTE = C.SDLK_AUDIOMUTE // "AudioMute" (the Mute volume key) K_MEDIASELECT = C.SDLK_MEDIASELECT // "MediaSelect" (the Media Select key) K_WWW = C.SDLK_WWW // "WWW" (the WWW/World Wide Web key) K_MAIL = C.SDLK_MAIL // "Mail" (the Mail/eMail key) K_CALCULATOR = C.SDLK_CALCULATOR // "Calculator" (the Calculator key) K_COMPUTER = C.SDLK_COMPUTER // "Computer" (the My Computer key) K_AC_SEARCH = C.SDLK_AC_SEARCH // "AC Search" (the Search key (application control keypad)) K_AC_HOME = C.SDLK_AC_HOME // "AC Home" (the Home key (application control keypad)) K_AC_BACK = C.SDLK_AC_BACK // "AC Back" (the Back key (application control keypad)) K_AC_FORWARD = C.SDLK_AC_FORWARD // "AC Forward" (the Forward key (application control keypad)) K_AC_STOP = C.SDLK_AC_STOP // "AC Stop" (the Stop key (application control keypad)) K_AC_REFRESH = C.SDLK_AC_REFRESH // "AC Refresh" (the Refresh key (application control keypad)) K_AC_BOOKMARKS = C.SDLK_AC_BOOKMARKS // "AC Bookmarks" (the Bookmarks key (application control keypad)) K_BRIGHTNESSDOWN = C.SDLK_BRIGHTNESSDOWN // "BrightnessDown" (the Brightness Down key) K_BRIGHTNESSUP = C.SDLK_BRIGHTNESSUP // "BrightnessUp" (the Brightness Up key) K_DISPLAYSWITCH = C.SDLK_DISPLAYSWITCH // "DisplaySwitch" (display mirroring/dual display switch, video mode switch) K_KBDILLUMTOGGLE = C.SDLK_KBDILLUMTOGGLE // "KBDIllumToggle" (the Keyboard Illumination Toggle key) K_KBDILLUMDOWN = C.SDLK_KBDILLUMDOWN // "KBDIllumDown" (the Keyboard Illumination Down key) K_KBDILLUMUP = C.SDLK_KBDILLUMUP // "KBDIllumUp" (the Keyboard Illumination Up key) K_EJECT = C.SDLK_EJECT // "Eject" (the Eject key) K_SLEEP = C.SDLK_SLEEP // "Sleep" (the Sleep key) )
The SDL virtual key representation. (https://wiki.libsdl.org/SDL_Keycode) (https://wiki.libsdl.org/SDLKeycodeLookup)
const ( KMOD_NONE = C.KMOD_NONE // 0 (no modifier is applicable) KMOD_LSHIFT = C.KMOD_LSHIFT // the left Shift key is down KMOD_RSHIFT = C.KMOD_RSHIFT // the right Shift key is down KMOD_LCTRL = C.KMOD_LCTRL // the left Ctrl (Control) key is down KMOD_RCTRL = C.KMOD_RCTRL // the right Ctrl (Control) key is down KMOD_LALT = C.KMOD_LALT // the left Alt key is down KMOD_RALT = C.KMOD_RALT // the right Alt key is down KMOD_LGUI = C.KMOD_LGUI // the left GUI key (often the Windows key) is down KMOD_RGUI = C.KMOD_RGUI // the right GUI key (often the Windows key) is down KMOD_NUM = C.KMOD_NUM // the Num Lock key (may be located on an extended keypad) is down KMOD_CAPS = C.KMOD_CAPS // the Caps Lock key is down KMOD_MODE = C.KMOD_MODE // the AltGr key is down KMOD_CTRL = C.KMOD_CTRL // (KMOD_LCTRL|KMOD_RCTRL) KMOD_SHIFT = C.KMOD_SHIFT // (KMOD_LSHIFT|KMOD_RSHIFT) KMOD_ALT = C.KMOD_ALT // (KMOD_LALT|KMOD_RALT) KMOD_GUI = C.KMOD_GUI // (KMOD_LGUI|KMOD_RGUI) KMOD_RESERVED = C.KMOD_RESERVED // reserved for future use )
An enumeration of key modifier masks. (https://wiki.libsdl.org/SDL_Keymod)
const ( LOG_CATEGORY_APPLICATION = iota // application log LOG_CATEGORY_ERROR // error log LOG_CATEGORY_ASSERT // assert log LOG_CATEGORY_SYSTEM // system log LOG_CATEGORY_AUDIO // audio log LOG_CATEGORY_VIDEO // video log LOG_CATEGORY_RENDER // render log LOG_CATEGORY_INPUT // input log LOG_CATEGORY_TEST // test log LOG_CATEGORY_RESERVED1 // reserved for future SDL library use LOG_CATEGORY_RESERVED2 // reserved for future SDL library use LOG_CATEGORY_RESERVED3 // reserved for future SDL library use LOG_CATEGORY_RESERVED4 // reserved for future SDL library use LOG_CATEGORY_RESERVED5 // reserved for future SDL library use LOG_CATEGORY_RESERVED6 // reserved for future SDL library use LOG_CATEGORY_RESERVED7 // reserved for future SDL library use LOG_CATEGORY_RESERVED8 // reserved for future SDL library use LOG_CATEGORY_RESERVED9 // reserved for future SDL library use LOG_CATEGORY_RESERVED10 // reserved for future SDL library use LOG_CATEGORY_CUSTOM // reserved for application use )
An enumeration of the predefined log categories. (https://wiki.libsdl.org/SDL_LOG_CATEGORY)
const ( LOG_PRIORITY_VERBOSE = iota + 1 // verbose LOG_PRIORITY_DEBUG // debug LOG_PRIORITY_INFO // info LOG_PRIORITY_WARN // warn LOG_PRIORITY_ERROR // error LOG_PRIORITY_CRITICAL // critical NUM_LOG_PRIORITIES // (internal use) )
An enumeration of the predefined log priorities. (https://wiki.libsdl.org/SDL_LogPriority)
const ( SYSTEM_CURSOR_ARROW = C.SDL_SYSTEM_CURSOR_ARROW // arrow SYSTEM_CURSOR_IBEAM = C.SDL_SYSTEM_CURSOR_IBEAM // i-beam SYSTEM_CURSOR_WAIT = C.SDL_SYSTEM_CURSOR_WAIT // wait SYSTEM_CURSOR_CROSSHAIR = C.SDL_SYSTEM_CURSOR_CROSSHAIR // crosshair SYSTEM_CURSOR_WAITARROW = C.SDL_SYSTEM_CURSOR_WAITARROW // small wait cursor (or wait if not available) SYSTEM_CURSOR_SIZENWSE = C.SDL_SYSTEM_CURSOR_SIZENWSE // double arrow pointing northwest and southeast SYSTEM_CURSOR_SIZENESW = C.SDL_SYSTEM_CURSOR_SIZENESW // double arrow pointing northeast and southwest SYSTEM_CURSOR_SIZEWE = C.SDL_SYSTEM_CURSOR_SIZEWE // double arrow pointing west and east SYSTEM_CURSOR_SIZENS = C.SDL_SYSTEM_CURSOR_SIZENS // double arrow pointing north and south SYSTEM_CURSOR_SIZEALL = C.SDL_SYSTEM_CURSOR_SIZEALL // four pointed arrow pointing north, south, east, and west SYSTEM_CURSOR_NO = C.SDL_SYSTEM_CURSOR_NO // slashed circle or crossbones SYSTEM_CURSOR_HAND = C.SDL_SYSTEM_CURSOR_HAND // hand NUM_SYSTEM_CURSORS = C.SDL_NUM_SYSTEM_CURSORS // (only for bounding internal arrays) )
Cursor types for CreateSystemCursor()
const ( MOUSEWHEEL_NORMAL = C.SDL_MOUSEWHEEL_NORMAL // the scroll direction is normal MOUSEWHEEL_FLIPPED = C.SDL_MOUSEWHEEL_FLIPPED // the scroll direction is flipped / natural )
Scroll direction types for the Scroll event
const ( BUTTON_LEFT = C.SDL_BUTTON_LEFT // left mouse button BUTTON_MIDDLE = C.SDL_BUTTON_MIDDLE // middle mouse button BUTTON_RIGHT = C.SDL_BUTTON_RIGHT // right mouse button BUTTON_X1 = C.SDL_BUTTON_X1 // x1 mouse button BUTTON_X2 = C.SDL_BUTTON_X2 // x2 mouse button )
Used as a mask when testing buttons in buttonstate.
const ( PIXELTYPE_UNKNOWN = C.SDL_PIXELTYPE_UNKNOWN PIXELTYPE_INDEX1 = C.SDL_PIXELTYPE_INDEX1 PIXELTYPE_INDEX4 = C.SDL_PIXELTYPE_INDEX4 PIXELTYPE_INDEX8 = C.SDL_PIXELTYPE_INDEX8 PIXELTYPE_PACKED8 = C.SDL_PIXELTYPE_PACKED8 PIXELTYPE_PACKED16 = C.SDL_PIXELTYPE_PACKED16 PIXELTYPE_PACKED32 = C.SDL_PIXELTYPE_PACKED32 PIXELTYPE_ARRAYU8 = C.SDL_PIXELTYPE_ARRAYU8 PIXELTYPE_ARRAYU16 = C.SDL_PIXELTYPE_ARRAYU16 PIXELTYPE_ARRAYU32 = C.SDL_PIXELTYPE_ARRAYU32 PIXELTYPE_ARRAYF16 = C.SDL_PIXELTYPE_ARRAYF16 PIXELTYPE_ARRAYF32 = C.SDL_PIXELTYPE_ARRAYF32 )
Pixel types.
const ( BITMAPORDER_NONE = C.SDL_BITMAPORDER_NONE BITMAPORDER_4321 = C.SDL_BITMAPORDER_4321 BITMAPORDER_1234 = C.SDL_BITMAPORDER_1234 )
Bitmap pixel order high bit -> low bit.
const ( PACKEDORDER_NONE = C.SDL_PACKEDORDER_NONE PACKEDORDER_XRGB = C.SDL_PACKEDORDER_XRGB PACKEDORDER_RGBX = C.SDL_PACKEDORDER_RGBX PACKEDORDER_ARGB = C.SDL_PACKEDORDER_ARGB PACKEDORDER_RGBA = C.SDL_PACKEDORDER_RGBA PACKEDORDER_XBGR = C.SDL_PACKEDORDER_XBGR PACKEDORDER_BGRX = C.SDL_PACKEDORDER_BGRX PACKEDORDER_ABGR = C.SDL_PACKEDORDER_ABGR PACKEDORDER_BGRA = C.SDL_PACKEDORDER_BGRA )
Packed component order high bit -> low bit.
const ( ARRAYORDER_NONE = C.SDL_ARRAYORDER_NONE ARRAYORDER_RGB = C.SDL_ARRAYORDER_RGB ARRAYORDER_RGBA = C.SDL_ARRAYORDER_RGBA ARRAYORDER_ARGB = C.SDL_ARRAYORDER_ARGB ARRAYORDER_BGR = C.SDL_ARRAYORDER_BGR ARRAYORDER_BGRA = C.SDL_ARRAYORDER_BGRA ARRAYORDER_ABGR = C.SDL_ARRAYORDER_ABGR )
Array component order low byte -> high byte.
const ( PACKEDLAYOUT_NONE = C.SDL_PACKEDLAYOUT_NONE PACKEDLAYOUT_332 = C.SDL_PACKEDLAYOUT_332 PACKEDLAYOUT_4444 = C.SDL_PACKEDLAYOUT_4444 PACKEDLAYOUT_1555 = C.SDL_PACKEDLAYOUT_1555 PACKEDLAYOUT_5551 = C.SDL_PACKEDLAYOUT_5551 PACKEDLAYOUT_565 = C.SDL_PACKEDLAYOUT_565 PACKEDLAYOUT_8888 = C.SDL_PACKEDLAYOUT_8888 PACKEDLAYOUT_2101010 = C.SDL_PACKEDLAYOUT_2101010 PACKEDLAYOUT_1010102 = C.SDL_PACKEDLAYOUT_1010102 )
Packed component layout.
const ( PIXELFORMAT_UNKNOWN = C.SDL_PIXELFORMAT_UNKNOWN PIXELFORMAT_INDEX1LSB = C.SDL_PIXELFORMAT_INDEX1LSB PIXELFORMAT_INDEX1MSB = C.SDL_PIXELFORMAT_INDEX1MSB PIXELFORMAT_INDEX4LSB = C.SDL_PIXELFORMAT_INDEX4LSB PIXELFORMAT_INDEX4MSB = C.SDL_PIXELFORMAT_INDEX4MSB PIXELFORMAT_INDEX8 = C.SDL_PIXELFORMAT_INDEX8 PIXELFORMAT_RGB332 = C.SDL_PIXELFORMAT_RGB332 PIXELFORMAT_RGB444 = C.SDL_PIXELFORMAT_RGB444 PIXELFORMAT_RGB555 = C.SDL_PIXELFORMAT_RGB555 PIXELFORMAT_BGR555 = C.SDL_PIXELFORMAT_BGR555 PIXELFORMAT_ARGB4444 = C.SDL_PIXELFORMAT_ARGB4444 PIXELFORMAT_RGBA4444 = C.SDL_PIXELFORMAT_RGBA4444 PIXELFORMAT_ABGR4444 = C.SDL_PIXELFORMAT_ABGR4444 PIXELFORMAT_BGRA4444 = C.SDL_PIXELFORMAT_BGRA4444 PIXELFORMAT_ARGB1555 = C.SDL_PIXELFORMAT_ARGB1555 PIXELFORMAT_RGBA5551 = C.SDL_PIXELFORMAT_RGBA5551 PIXELFORMAT_ABGR1555 = C.SDL_PIXELFORMAT_ABGR1555 PIXELFORMAT_BGRA5551 = C.SDL_PIXELFORMAT_BGRA5551 PIXELFORMAT_RGB565 = C.SDL_PIXELFORMAT_RGB565 PIXELFORMAT_BGR565 = C.SDL_PIXELFORMAT_BGR565 PIXELFORMAT_RGB24 = C.SDL_PIXELFORMAT_RGB24 PIXELFORMAT_BGR24 = C.SDL_PIXELFORMAT_BGR24 PIXELFORMAT_RGB888 = C.SDL_PIXELFORMAT_RGB888 PIXELFORMAT_RGBX8888 = C.SDL_PIXELFORMAT_RGBX8888 PIXELFORMAT_BGR888 = C.SDL_PIXELFORMAT_BGR888 PIXELFORMAT_BGRX8888 = C.SDL_PIXELFORMAT_BGRX8888 PIXELFORMAT_ARGB8888 = C.SDL_PIXELFORMAT_ARGB8888 PIXELFORMAT_RGBA8888 = C.SDL_PIXELFORMAT_RGBA8888 PIXELFORMAT_ABGR8888 = C.SDL_PIXELFORMAT_ABGR8888 PIXELFORMAT_BGRA8888 = C.SDL_PIXELFORMAT_BGRA8888 PIXELFORMAT_ARGB2101010 = C.SDL_PIXELFORMAT_ARGB2101010 PIXELFORMAT_YV12 = C.SDL_PIXELFORMAT_YV12 PIXELFORMAT_IYUV = C.SDL_PIXELFORMAT_IYUV PIXELFORMAT_YUY2 = C.SDL_PIXELFORMAT_YUY2 PIXELFORMAT_UYVY = C.SDL_PIXELFORMAT_UYVY PIXELFORMAT_YVYU = C.SDL_PIXELFORMAT_YVYU )
Pixel format values.
These define alpha as the opacity of a surface.
const ( POWERSTATE_UNKNOWN = C.SDL_POWERSTATE_UNKNOWN // cannot determine power status POWERSTATE_ON_BATTERY = C.SDL_POWERSTATE_ON_BATTERY // not plugged in, running on the battery POWERSTATE_NO_BATTERY = C.SDL_POWERSTATE_NO_BATTERY // plugged in, no battery available POWERSTATE_CHARGING = C.SDL_POWERSTATE_CHARGING // plugged in, charging battery POWERSTATE_CHARGED = C.SDL_POWERSTATE_CHARGED // plugged in, battery charged )
An enumeration of the basic state of the system's power supply. (https://wiki.libsdl.org/SDL_PowerState)
const ( RENDERER_SOFTWARE = C.SDL_RENDERER_SOFTWARE // the renderer is a software fallback RENDERER_ACCELERATED = C.SDL_RENDERER_ACCELERATED // the renderer uses hardware acceleration RENDERER_PRESENTVSYNC = C.SDL_RENDERER_PRESENTVSYNC // present is synchronized with the refresh rate RENDERER_TARGETTEXTURE = C.SDL_RENDERER_TARGETTEXTURE // the renderer supports rendering to texture )
An enumeration of flags used when creating a rendering context. (https://wiki.libsdl.org/SDL_RendererFlags)
const ( TEXTUREACCESS_STATIC = C.SDL_TEXTUREACCESS_STATIC // changes rarely, not lockable TEXTUREACCESS_STREAMING = C.SDL_TEXTUREACCESS_STREAMING // changes frequently, lockable TEXTUREACCESS_TARGET = C.SDL_TEXTUREACCESS_TARGET // can be used as a render target )
An enumeration of texture access patterns.. (https://wiki.libsdl.org/SDL_TextureAccess)
const ( TEXTUREMODULATE_NONE = C.SDL_TEXTUREMODULATE_NONE // no modulation TEXTUREMODULATE_COLOR = C.SDL_TEXTUREMODULATE_COLOR // srcC = srcC * color TEXTUREMODULATE_ALPHA = C.SDL_TEXTUREMODULATE_ALPHA // srcA = srcA * alpha )
An enumeration of the texture channel modulation used in Renderer.Copy(). (https://wiki.libsdl.org/SDL_TextureModulate)
const ( FLIP_NONE RendererFlip = C.SDL_FLIP_NONE // do not flip FLIP_HORIZONTAL = C.SDL_FLIP_HORIZONTAL // flip horizontally FLIP_VERTICAL = C.SDL_FLIP_VERTICAL // flip vertically )
An enumeration of flags that can be used in the flip parameter for Renderer.CopyEx(). (https://wiki.libsdl.org/SDL_RendererFlip)
const ( RWOPS_UNKNOWN = 0 // unknown stream type RWOPS_WINFILE = 1 // win32 file RWOPS_STDFILE = 2 // stdio file RWOPS_JNIFILE = 3 // android asset RWOPS_MEMORY = 4 // memory stream RWOPS_MEMORY_RO = 5 // read-only memory stream )
RWops types
const ( RW_SEEK_SET = C.RW_SEEK_SET // seek from the beginning of data RW_SEEK_CUR = C.RW_SEEK_CUR // seek relative to current read point RW_SEEK_END = C.RW_SEEK_END // seek relative to the end of data )
RWops seek from
const ( SCANCODE_UNKNOWN = 0 // "" (no name, empty string) SCANCODE_A = C.SDL_SCANCODE_A // "A" SCANCODE_B = C.SDL_SCANCODE_B // "B" SCANCODE_C = C.SDL_SCANCODE_C // "C" SCANCODE_D = C.SDL_SCANCODE_D // "D" SCANCODE_E = C.SDL_SCANCODE_E // "E" SCANCODE_F = C.SDL_SCANCODE_F // "F" SCANCODE_G = C.SDL_SCANCODE_G // "G" SCANCODE_H = C.SDL_SCANCODE_H // "H" SCANCODE_I = C.SDL_SCANCODE_I // "I" SCANCODE_J = C.SDL_SCANCODE_J // "J" SCANCODE_K = C.SDL_SCANCODE_K // "K" SCANCODE_L = C.SDL_SCANCODE_L // "L" SCANCODE_M = C.SDL_SCANCODE_M // "M" SCANCODE_N = C.SDL_SCANCODE_N // "N" SCANCODE_O = C.SDL_SCANCODE_O // "O" SCANCODE_P = C.SDL_SCANCODE_P // "P" SCANCODE_Q = C.SDL_SCANCODE_Q // "Q" SCANCODE_R = C.SDL_SCANCODE_R // "R" SCANCODE_S = C.SDL_SCANCODE_S // "S" SCANCODE_T = C.SDL_SCANCODE_T // "T" SCANCODE_U = C.SDL_SCANCODE_U // "U" SCANCODE_V = C.SDL_SCANCODE_V // "V" SCANCODE_W = C.SDL_SCANCODE_W // "W" SCANCODE_X = C.SDL_SCANCODE_X // "X" SCANCODE_Y = C.SDL_SCANCODE_Y // "Y" SCANCODE_Z = C.SDL_SCANCODE_Z // "Z" SCANCODE_1 = C.SDL_SCANCODE_1 // "1" SCANCODE_2 = C.SDL_SCANCODE_2 // "2" SCANCODE_3 = C.SDL_SCANCODE_3 // "3" SCANCODE_4 = C.SDL_SCANCODE_4 // "4" SCANCODE_5 = C.SDL_SCANCODE_5 // "5" SCANCODE_6 = C.SDL_SCANCODE_6 // "6" SCANCODE_7 = C.SDL_SCANCODE_7 // "7" SCANCODE_8 = C.SDL_SCANCODE_8 // "8" SCANCODE_9 = C.SDL_SCANCODE_9 // "9" SCANCODE_0 = C.SDL_SCANCODE_0 // "0" SCANCODE_RETURN = C.SDL_SCANCODE_RETURN // "Return" SCANCODE_ESCAPE = C.SDL_SCANCODE_ESCAPE // "Escape" (the Esc key) SCANCODE_BACKSPACE = C.SDL_SCANCODE_BACKSPACE // "Backspace" SCANCODE_TAB = C.SDL_SCANCODE_TAB // "Tab" (the Tab key) SCANCODE_SPACE = C.SDL_SCANCODE_SPACE // "Space" (the Space Bar key(s)) SCANCODE_MINUS = C.SDL_SCANCODE_MINUS // "-" SCANCODE_EQUALS = C.SDL_SCANCODE_EQUALS // "=" SCANCODE_LEFTBRACKET = C.SDL_SCANCODE_LEFTBRACKET // "[" SCANCODE_RIGHTBRACKET = C.SDL_SCANCODE_RIGHTBRACKET // "]" SCANCODE_BACKSLASH = C.SDL_SCANCODE_BACKSLASH // "\" SCANCODE_NONUSHASH = C.SDL_SCANCODE_NONUSHASH // "#" (ISO USB keyboards actually use this code instead of 49 for the same key, but all OSes I've seen treat the two codes identically. So, as an implementor, unless your keyboard generates both of those codes and your OS treats them differently, you should generate SDL_SCANCODE_BACKSLASH instead of this code. As a user, you should not rely on this code because SDL will never generate it with most (all?) keyboards.) SCANCODE_SEMICOLON = C.SDL_SCANCODE_SEMICOLON // ";" SCANCODE_APOSTROPHE = C.SDL_SCANCODE_APOSTROPHE // "'" SCANCODE_GRAVE = C.SDL_SCANCODE_GRAVE // "`" SCANCODE_COMMA = C.SDL_SCANCODE_COMMA // "," SCANCODE_PERIOD = C.SDL_SCANCODE_PERIOD // "." SCANCODE_SLASH = C.SDL_SCANCODE_SLASH // "/" SCANCODE_CAPSLOCK = C.SDL_SCANCODE_CAPSLOCK // "CapsLock" SCANCODE_F1 = C.SDL_SCANCODE_F1 // "F1" SCANCODE_F2 = C.SDL_SCANCODE_F2 // "F2" SCANCODE_F3 = C.SDL_SCANCODE_F3 // "F3" SCANCODE_F4 = C.SDL_SCANCODE_F4 // "F4" SCANCODE_F5 = C.SDL_SCANCODE_F5 // "F5" SCANCODE_F6 = C.SDL_SCANCODE_F6 // "F6" SCANCODE_F7 = C.SDL_SCANCODE_F7 // "F7" SCANCODE_F8 = C.SDL_SCANCODE_F8 // "F8" SCANCODE_F9 = C.SDL_SCANCODE_F9 // "F9" SCANCODE_F10 = C.SDL_SCANCODE_F10 // "F10" SCANCODE_F11 = C.SDL_SCANCODE_F11 // "F11" SCANCODE_F12 = C.SDL_SCANCODE_F12 // "F12" SCANCODE_PRINTSCREEN = C.SDL_SCANCODE_PRINTSCREEN // "PrintScreen" SCANCODE_SCROLLLOCK = C.SDL_SCANCODE_SCROLLLOCK // "ScrollLock" SCANCODE_PAUSE = C.SDL_SCANCODE_PAUSE // "Pause" (the Pause / Break key) SCANCODE_INSERT = C.SDL_SCANCODE_INSERT // "Insert" (insert on PC, help on some Mac keyboards (but does send code 73, not 117)) SCANCODE_HOME = C.SDL_SCANCODE_HOME // "Home" SCANCODE_PAGEUP = C.SDL_SCANCODE_PAGEUP // "PageUp" SCANCODE_DELETE = C.SDL_SCANCODE_DELETE // "Delete" SCANCODE_END = C.SDL_SCANCODE_END // "End" SCANCODE_PAGEDOWN = C.SDL_SCANCODE_PAGEDOWN // "PageDown" SCANCODE_RIGHT = C.SDL_SCANCODE_RIGHT // "Right" (the Right arrow key (navigation keypad)) SCANCODE_LEFT = C.SDL_SCANCODE_LEFT // "Left" (the Left arrow key (navigation keypad)) SCANCODE_DOWN = C.SDL_SCANCODE_DOWN // "Down" (the Down arrow key (navigation keypad)) SCANCODE_UP = C.SDL_SCANCODE_UP // "Up" (the Up arrow key (navigation keypad)) SCANCODE_NUMLOCKCLEAR = C.SDL_SCANCODE_NUMLOCKCLEAR // "Numlock" (the Num Lock key (PC) / the Clear key (Mac)) SCANCODE_KP_DIVIDE = C.SDL_SCANCODE_KP_DIVIDE // "Keypad /" (the / key (numeric keypad)) SCANCODE_KP_MULTIPLY = C.SDL_SCANCODE_KP_MULTIPLY // "Keypad *" (the * key (numeric keypad)) SCANCODE_KP_MINUS = C.SDL_SCANCODE_KP_MINUS // "Keypad -" (the - key (numeric keypad)) SCANCODE_KP_PLUS = C.SDL_SCANCODE_KP_PLUS // "Keypad +" (the + key (numeric keypad)) SCANCODE_KP_ENTER = C.SDL_SCANCODE_KP_ENTER // "Keypad Enter" (the Enter key (numeric keypad)) SCANCODE_KP_1 = C.SDL_SCANCODE_KP_1 // "Keypad 1" (the 1 key (numeric keypad)) SCANCODE_KP_2 = C.SDL_SCANCODE_KP_2 // "Keypad 2" (the 2 key (numeric keypad)) SCANCODE_KP_3 = C.SDL_SCANCODE_KP_3 // "Keypad 3" (the 3 key (numeric keypad)) SCANCODE_KP_4 = C.SDL_SCANCODE_KP_4 // "Keypad 4" (the 4 key (numeric keypad)) SCANCODE_KP_5 = C.SDL_SCANCODE_KP_5 // "Keypad 5" (the 5 key (numeric keypad)) SCANCODE_KP_6 = C.SDL_SCANCODE_KP_6 // "Keypad 6" (the 6 key (numeric keypad)) SCANCODE_KP_7 = C.SDL_SCANCODE_KP_7 // "Keypad 7" (the 7 key (numeric keypad)) SCANCODE_KP_8 = C.SDL_SCANCODE_KP_8 // "Keypad 8" (the 8 key (numeric keypad)) SCANCODE_KP_9 = C.SDL_SCANCODE_KP_9 // "Keypad 9" (the 9 key (numeric keypad)) SCANCODE_KP_0 = C.SDL_SCANCODE_KP_0 // "Keypad 0" (the 0 key (numeric keypad)) SCANCODE_KP_PERIOD = C.SDL_SCANCODE_KP_PERIOD // "Keypad ." (the . key (numeric keypad)) SCANCODE_NONUSBACKSLASH = C.SDL_SCANCODE_NONUSBACKSLASH // "" (no name, empty string; This is the additional key that ISO keyboards have over ANSI ones, located between left shift and Y. Produces GRAVE ACCENT and TILDE in a US or UK Mac layout, REVERSE SOLIDUS (backslash) and VERTICAL LINE in a US or UK Windows layout, and LESS-THAN SIGN and GREATER-THAN SIGN in a Swiss German, German, or French layout.) SCANCODE_APPLICATION = C.SDL_SCANCODE_APPLICATION // "Application" (the Application / Compose / Context Menu (Windows) key) SCANCODE_POWER = C.SDL_SCANCODE_POWER // "Power" (The USB document says this is a status flag, not a physical key - but some Mac keyboards do have a power key.) SCANCODE_KP_EQUALS = C.SDL_SCANCODE_KP_EQUALS // "Keypad =" (the = key (numeric keypad)) SCANCODE_F13 = C.SDL_SCANCODE_F13 // "F13" SCANCODE_F14 = C.SDL_SCANCODE_F14 // "F14" SCANCODE_F15 = C.SDL_SCANCODE_F15 // "F15" SCANCODE_F16 = C.SDL_SCANCODE_F16 // "F16" SCANCODE_F17 = C.SDL_SCANCODE_F17 // "F17" SCANCODE_F18 = C.SDL_SCANCODE_F18 // "F18" SCANCODE_F19 = C.SDL_SCANCODE_F19 // "F19" SCANCODE_F20 = C.SDL_SCANCODE_F20 // "F20" SCANCODE_F21 = C.SDL_SCANCODE_F21 // "F21" SCANCODE_F22 = C.SDL_SCANCODE_F22 // "F22" SCANCODE_F23 = C.SDL_SCANCODE_F23 // "F23" SCANCODE_F24 = C.SDL_SCANCODE_F24 // "F24" SCANCODE_EXECUTE = C.SDL_SCANCODE_EXECUTE // "Execute" SCANCODE_HELP = C.SDL_SCANCODE_HELP // "Help" SCANCODE_MENU = C.SDL_SCANCODE_MENU // "Menu" SCANCODE_SELECT = C.SDL_SCANCODE_SELECT // "Select" SCANCODE_STOP = C.SDL_SCANCODE_STOP // "Stop" SCANCODE_AGAIN = C.SDL_SCANCODE_AGAIN // "Again" (the Again key (Redo)) SCANCODE_UNDO = C.SDL_SCANCODE_UNDO // "Undo" SCANCODE_CUT = C.SDL_SCANCODE_CUT // "Cut" SCANCODE_COPY = C.SDL_SCANCODE_COPY // "Copy" SCANCODE_PASTE = C.SDL_SCANCODE_PASTE // "Paste" SCANCODE_FIND = C.SDL_SCANCODE_FIND // "Find" SCANCODE_MUTE = C.SDL_SCANCODE_MUTE // "Mute" SCANCODE_VOLUMEUP = C.SDL_SCANCODE_VOLUMEUP // "VolumeUp" SCANCODE_VOLUMEDOWN = C.SDL_SCANCODE_VOLUMEDOWN // "VolumeDown" SCANCODE_KP_COMMA = C.SDL_SCANCODE_KP_COMMA // "Keypad ," (the Comma key (numeric keypad)) SCANCODE_KP_EQUALSAS400 = C.SDL_SCANCODE_KP_EQUALSAS400 // "Keypad = (AS400)" (the Equals AS400 key (numeric keypad)) SCANCODE_INTERNATIONAL1 = C.SDL_SCANCODE_INTERNATIONAL1 // "" (no name, empty string; used on Asian keyboards, see footnotes in USB doc) SCANCODE_INTERNATIONAL2 = C.SDL_SCANCODE_INTERNATIONAL2 // "" (no name, empty string) SCANCODE_INTERNATIONAL3 = C.SDL_SCANCODE_INTERNATIONAL3 // "" (no name, empty string; Yen) SCANCODE_INTERNATIONAL4 = C.SDL_SCANCODE_INTERNATIONAL4 // "" (no name, empty string) SCANCODE_INTERNATIONAL5 = C.SDL_SCANCODE_INTERNATIONAL5 // "" (no name, empty string) SCANCODE_INTERNATIONAL6 = C.SDL_SCANCODE_INTERNATIONAL6 // "" (no name, empty string) SCANCODE_INTERNATIONAL7 = C.SDL_SCANCODE_INTERNATIONAL7 // "" (no name, empty string) SCANCODE_INTERNATIONAL8 = C.SDL_SCANCODE_INTERNATIONAL8 // "" (no name, empty string) SCANCODE_INTERNATIONAL9 = C.SDL_SCANCODE_INTERNATIONAL9 // "" (no name, empty string) SCANCODE_LANG1 = C.SDL_SCANCODE_LANG1 // "" (no name, empty string; Hangul/English toggle) SCANCODE_LANG2 = C.SDL_SCANCODE_LANG2 // "" (no name, empty string; Hanja conversion) SCANCODE_LANG3 = C.SDL_SCANCODE_LANG3 // "" (no name, empty string; Katakana) SCANCODE_LANG4 = C.SDL_SCANCODE_LANG4 // "" (no name, empty string; Hiragana) SCANCODE_LANG5 = C.SDL_SCANCODE_LANG5 // "" (no name, empty string; Zenkaku/Hankaku) SCANCODE_LANG6 = C.SDL_SCANCODE_LANG6 // "" (no name, empty string; reserved) SCANCODE_LANG7 = C.SDL_SCANCODE_LANG7 // "" (no name, empty string; reserved) SCANCODE_LANG8 = C.SDL_SCANCODE_LANG8 // "" (no name, empty string; reserved) SCANCODE_LANG9 = C.SDL_SCANCODE_LANG9 // "" (no name, empty string; reserved) SCANCODE_ALTERASE = C.SDL_SCANCODE_ALTERASE // "AltErase" (Erase-Eaze) SCANCODE_SYSREQ = C.SDL_SCANCODE_SYSREQ // "SysReq" (the SysReq key) SCANCODE_CANCEL = C.SDL_SCANCODE_CANCEL // "Cancel" SCANCODE_CLEAR = C.SDL_SCANCODE_CLEAR // "Clear" SCANCODE_PRIOR = C.SDL_SCANCODE_PRIOR // "Prior" SCANCODE_RETURN2 = C.SDL_SCANCODE_RETURN2 // "Return" SCANCODE_SEPARATOR = C.SDL_SCANCODE_SEPARATOR // "Separator" SCANCODE_OUT = C.SDL_SCANCODE_OUT // "Out" SCANCODE_OPER = C.SDL_SCANCODE_OPER // "Oper" SCANCODE_CLEARAGAIN = C.SDL_SCANCODE_CLEARAGAIN // "Clear / Again" SCANCODE_CRSEL = C.SDL_SCANCODE_CRSEL // "CrSel" SCANCODE_EXSEL = C.SDL_SCANCODE_EXSEL // "ExSel" SCANCODE_KP_00 = C.SDL_SCANCODE_KP_00 // "Keypad 00" (the 00 key (numeric keypad)) SCANCODE_KP_000 = C.SDL_SCANCODE_KP_000 // "Keypad 000" (the 000 key (numeric keypad)) SCANCODE_THOUSANDSSEPARATOR = C.SDL_SCANCODE_THOUSANDSSEPARATOR // "ThousandsSeparator" (the Thousands Separator key) SCANCODE_DECIMALSEPARATOR = C.SDL_SCANCODE_DECIMALSEPARATOR // "DecimalSeparator" (the Decimal Separator key) SCANCODE_CURRENCYUNIT = C.SDL_SCANCODE_CURRENCYUNIT // "CurrencyUnit" (the Currency Unit key) SCANCODE_CURRENCYSUBUNIT = C.SDL_SCANCODE_CURRENCYSUBUNIT // "CurrencySubUnit" (the Currency Subunit key) SCANCODE_KP_LEFTPAREN = C.SDL_SCANCODE_KP_LEFTPAREN // "Keypad (" (the Left Parenthesis key (numeric keypad)) SCANCODE_KP_RIGHTPAREN = C.SDL_SCANCODE_KP_RIGHTPAREN // "Keypad )" (the Right Parenthesis key (numeric keypad)) SCANCODE_KP_LEFTBRACE = C.SDL_SCANCODE_KP_LEFTBRACE // "Keypad {" (the Left Brace key (numeric keypad)) SCANCODE_KP_RIGHTBRACE = C.SDL_SCANCODE_KP_RIGHTBRACE // "Keypad }" (the Right Brace key (numeric keypad)) SCANCODE_KP_TAB = C.SDL_SCANCODE_KP_TAB // "Keypad Tab" (the Tab key (numeric keypad)) SCANCODE_KP_BACKSPACE = C.SDL_SCANCODE_KP_BACKSPACE // "Keypad Backspace" (the Backspace key (numeric keypad)) SCANCODE_KP_A = C.SDL_SCANCODE_KP_A // "Keypad A" (the A key (numeric keypad)) SCANCODE_KP_B = C.SDL_SCANCODE_KP_B // "Keypad B" (the B key (numeric keypad)) SCANCODE_KP_C = C.SDL_SCANCODE_KP_C // "Keypad C" (the C key (numeric keypad)) SCANCODE_KP_D = C.SDL_SCANCODE_KP_D // "Keypad D" (the D key (numeric keypad)) SCANCODE_KP_E = C.SDL_SCANCODE_KP_E // "Keypad E" (the E key (numeric keypad)) SCANCODE_KP_F = C.SDL_SCANCODE_KP_F // "Keypad F" (the F key (numeric keypad)) SCANCODE_KP_XOR = C.SDL_SCANCODE_KP_XOR // "Keypad XOR" (the XOR key (numeric keypad)) SCANCODE_KP_POWER = C.SDL_SCANCODE_KP_POWER // "Keypad ^" (the Power key (numeric keypad)) SCANCODE_KP_PERCENT = C.SDL_SCANCODE_KP_PERCENT // "Keypad %" (the Percent key (numeric keypad)) SCANCODE_KP_LESS = C.SDL_SCANCODE_KP_LESS // "Keypad <" (the Less key (numeric keypad)) SCANCODE_KP_GREATER = C.SDL_SCANCODE_KP_GREATER // "Keypad >" (the Greater key (numeric keypad)) SCANCODE_KP_AMPERSAND = C.SDL_SCANCODE_KP_AMPERSAND // "Keypad &" (the & key (numeric keypad)) SCANCODE_KP_DBLAMPERSAND = C.SDL_SCANCODE_KP_DBLAMPERSAND // "Keypad &&" (the && key (numeric keypad)) SCANCODE_KP_VERTICALBAR = C.SDL_SCANCODE_KP_VERTICALBAR // "Keypad |" (the | key (numeric keypad)) SCANCODE_KP_DBLVERTICALBAR = C.SDL_SCANCODE_KP_DBLVERTICALBAR // "Keypad ||" (the || key (numeric keypad)) SCANCODE_KP_COLON = C.SDL_SCANCODE_KP_COLON // "Keypad :" (the : key (numeric keypad)) SCANCODE_KP_HASH = C.SDL_SCANCODE_KP_HASH // "Keypad #" (the # key (numeric keypad)) SCANCODE_KP_SPACE = C.SDL_SCANCODE_KP_SPACE // "Keypad Space" (the Space key (numeric keypad)) SCANCODE_KP_AT = C.SDL_SCANCODE_KP_AT // "Keypad @" (the @ key (numeric keypad)) SCANCODE_KP_EXCLAM = C.SDL_SCANCODE_KP_EXCLAM // "Keypad !" (the ! key (numeric keypad)) SCANCODE_KP_MEMSTORE = C.SDL_SCANCODE_KP_MEMSTORE // "Keypad MemStore" (the Mem Store key (numeric keypad)) SCANCODE_KP_MEMRECALL = C.SDL_SCANCODE_KP_MEMRECALL // "Keypad MemRecall" (the Mem Recall key (numeric keypad)) SCANCODE_KP_MEMCLEAR = C.SDL_SCANCODE_KP_MEMCLEAR // "Keypad MemClear" (the Mem Clear key (numeric keypad)) SCANCODE_KP_MEMADD = C.SDL_SCANCODE_KP_MEMADD // "Keypad MemAdd" (the Mem Add key (numeric keypad)) SCANCODE_KP_MEMSUBTRACT = C.SDL_SCANCODE_KP_MEMSUBTRACT // "Keypad MemSubtract" (the Mem Subtract key (numeric keypad)) SCANCODE_KP_MEMMULTIPLY = C.SDL_SCANCODE_KP_MEMMULTIPLY // "Keypad MemMultiply" (the Mem Multiply key (numeric keypad)) SCANCODE_KP_MEMDIVIDE = C.SDL_SCANCODE_KP_MEMDIVIDE // "Keypad MemDivide" (the Mem Divide key (numeric keypad)) SCANCODE_KP_PLUSMINUS = C.SDL_SCANCODE_KP_PLUSMINUS // "Keypad +/-" (the +/- key (numeric keypad)) SCANCODE_KP_CLEAR = C.SDL_SCANCODE_KP_CLEAR // "Keypad Clear" (the Clear key (numeric keypad)) SCANCODE_KP_CLEARENTRY = C.SDL_SCANCODE_KP_CLEARENTRY // "Keypad ClearEntry" (the Clear Entry key (numeric keypad)) SCANCODE_KP_BINARY = C.SDL_SCANCODE_KP_BINARY // "Keypad Binary" (the Binary key (numeric keypad)) SCANCODE_KP_OCTAL = C.SDL_SCANCODE_KP_OCTAL // "Keypad Octal" (the Octal key (numeric keypad)) SCANCODE_KP_DECIMAL = C.SDL_SCANCODE_KP_DECIMAL // "Keypad Decimal" (the Decimal key (numeric keypad)) SCANCODE_KP_HEXADECIMAL = C.SDL_SCANCODE_KP_HEXADECIMAL // "Keypad Hexadecimal" (the Hexadecimal key (numeric keypad)) SCANCODE_LCTRL = C.SDL_SCANCODE_LCTRL // "Left Ctrl" SCANCODE_LSHIFT = C.SDL_SCANCODE_LSHIFT // "Left Shift" SCANCODE_LALT = C.SDL_SCANCODE_LALT // "Left Alt" (alt, option) SCANCODE_LGUI = C.SDL_SCANCODE_LGUI // "Left GUI" (windows, command (apple), meta) SCANCODE_RCTRL = C.SDL_SCANCODE_RCTRL // "Right Ctrl" SCANCODE_RSHIFT = C.SDL_SCANCODE_RSHIFT // "Right Shift" SCANCODE_RALT = C.SDL_SCANCODE_RALT // "Right Alt" (alt gr, option) SCANCODE_RGUI = C.SDL_SCANCODE_RGUI // "Right GUI" (windows, command (apple), meta) SCANCODE_MODE = C.SDL_SCANCODE_MODE // "ModeSwitch" (I'm not sure if this is really not covered by any of the above, but since there's a special KMOD_MODE for it I'm adding it here) SCANCODE_AUDIONEXT = C.SDL_SCANCODE_AUDIONEXT // "AudioNext" (the Next Track media key) SCANCODE_AUDIOPREV = C.SDL_SCANCODE_AUDIOPREV // "AudioPrev" (the Previous Track media key) SCANCODE_AUDIOSTOP = C.SDL_SCANCODE_AUDIOSTOP // "AudioStop" (the Stop media key) SCANCODE_AUDIOPLAY = C.SDL_SCANCODE_AUDIOPLAY // "AudioPlay" (the Play media key) SCANCODE_AUDIOMUTE = C.SDL_SCANCODE_AUDIOMUTE // "AudioMute" (the Mute volume key) SCANCODE_MEDIASELECT = C.SDL_SCANCODE_MEDIASELECT // "MediaSelect" (the Media Select key) SCANCODE_WWW = C.SDL_SCANCODE_WWW // "WWW" (the WWW/World Wide Web key) SCANCODE_MAIL = C.SDL_SCANCODE_MAIL // "Mail" (the Mail/eMail key) SCANCODE_CALCULATOR = C.SDL_SCANCODE_CALCULATOR // "Calculator" (the Calculator key) SCANCODE_COMPUTER = C.SDL_SCANCODE_COMPUTER // "Computer" (the My Computer key) SCANCODE_AC_SEARCH = C.SDL_SCANCODE_AC_SEARCH // "AC Search" (the Search key (application control keypad)) SCANCODE_AC_HOME = C.SDL_SCANCODE_AC_HOME // "AC Home" (the Home key (application control keypad)) SCANCODE_AC_BACK = C.SDL_SCANCODE_AC_BACK // "AC Back" (the Back key (application control keypad)) SCANCODE_AC_FORWARD = C.SDL_SCANCODE_AC_FORWARD // "AC Forward" (the Forward key (application control keypad)) SCANCODE_AC_STOP = C.SDL_SCANCODE_AC_STOP // "AC Stop" (the Stop key (application control keypad)) SCANCODE_AC_REFRESH = C.SDL_SCANCODE_AC_REFRESH // "AC Refresh" (the Refresh key (application control keypad)) SCANCODE_AC_BOOKMARKS = C.SDL_SCANCODE_AC_BOOKMARKS // "AC Bookmarks" (the Bookmarks key (application control keypad)) SCANCODE_BRIGHTNESSDOWN = C.SDL_SCANCODE_BRIGHTNESSDOWN // "BrightnessDown" (the Brightness Down key) SCANCODE_BRIGHTNESSUP = C.SDL_SCANCODE_BRIGHTNESSUP // "BrightnessUp" (the Brightness Up key) SCANCODE_DISPLAYSWITCH = C.SDL_SCANCODE_DISPLAYSWITCH // "DisplaySwitch" (display mirroring/dual display switch, video mode switch) SCANCODE_KBDILLUMTOGGLE = C.SDL_SCANCODE_KBDILLUMTOGGLE // "KBDIllumToggle" (the Keyboard Illumination Toggle key) SCANCODE_KBDILLUMDOWN = C.SDL_SCANCODE_KBDILLUMDOWN // "KBDIllumDown" (the Keyboard Illumination Down key) SCANCODE_KBDILLUMUP = C.SDL_SCANCODE_KBDILLUMUP // "KBDIllumUp" (the Keyboard Illumination Up key) SCANCODE_EJECT = C.SDL_SCANCODE_EJECT // "Eject" (the Eject key) SCANCODE_SLEEP = C.SDL_SCANCODE_SLEEP // "Sleep" (the Sleep key) SCANCODE_APP1 = C.SDL_SCANCODE_APP1 SCANCODE_APP2 = C.SDL_SCANCODE_APP2 NUM_SCANCODES = C.SDL_NUM_SCANCODES )
The SDL keyboard scancode representation. (https://wiki.libsdl.org/SDL_Scancode) (https://wiki.libsdl.org/SDLScancodeLookup)
const ( INIT_TIMER = C.SDL_INIT_TIMER // timer subsystem INIT_AUDIO = C.SDL_INIT_AUDIO // audio subsystem INIT_VIDEO = C.SDL_INIT_VIDEO // video subsystem; automatically initializes the events subsystem INIT_JOYSTICK = C.SDL_INIT_JOYSTICK // joystick subsystem; automatically initializes the events subsystem INIT_HAPTIC = C.SDL_INIT_HAPTIC // haptic (force feedback) subsystem INIT_GAMECONTROLLER = C.SDL_INIT_GAMECONTROLLER // controller subsystem; automatically initializes the joystick subsystem INIT_EVENTS = C.SDL_INIT_EVENTS // events subsystem INIT_NOPARACHUTE = C.SDL_INIT_NOPARACHUTE // compatibility; this flag is ignored INIT_SENSOR = C.SDL_INIT_SENSOR // sensor subsystem INIT_EVERYTHING = C.SDL_INIT_EVERYTHING // all of the above subsystems )
These are the flags which may be passed to SDL_Init(). (https://wiki.libsdl.org/SDL_Init)
const ( RELEASED = 0 PRESSED = 1 )
const ( SWSURFACE = C.SDL_SWSURFACE // just here for compatibility PREALLOC = C.SDL_PREALLOC // surface uses preallocated memory RLEACCEL = C.SDL_RLEACCEL // surface is RLE encoded DONTFREE = C.SDL_DONTFREE // surface is referenced internally )
Surface flags (internal use)
const ( YUV_CONVERSION_JPEG YUV_CONVERSION_MODE = C.SDL_YUV_CONVERSION_JPEG // Full range JPEG YUV_CONVERSION_BT601 = C.SDL_YUV_CONVERSION_BT601 // BT.601 (the default) YUV_CONVERSION_BT709 = C.SDL_YUV_CONVERSION_BT709 // BT.709 YUV_CONVERSION_AUTOMATIC = C.SDL_YUV_CONVERSION_AUTOMATIC // BT.601 for SD content, BT.709 for HD content )
YUV Conversion Modes
const ( SYSWM_UNKNOWN = C.SDL_SYSWM_UNKNOWN SYSWM_WINDOWS = C.SDL_SYSWM_WINDOWS // Microsoft Windows SYSWM_X11 = C.SDL_SYSWM_X11 // X Window System SYSWM_DIRECTFB = C.SDL_SYSWM_DIRECTFB // DirectFB SYSWM_COCOA = C.SDL_SYSWM_COCOA // Apple Mac OS X SYSWM_UIKIT = C.SDL_SYSWM_UIKIT // Apple iOS SYSWM_WAYLAND = C.SDL_SYSWM_WAYLAND // Wayland (>= SDL 2.0.2) SYSWM_MIR = C.SDL_SYSWM_MIR // Mir (>= SDL 2.0.2) SYSWM_WINRT = C.SDL_SYSWM_WINRT // WinRT (>= SDL 2.0.3) SYSWM_ANDROID = C.SDL_SYSWM_ANDROID // Android (>= SDL 2.0.4) SYSWM_VIVANTE = C.SDL_SYSWM_VIVANTE // Vivante (>= SDL 2.0.5) )
Various supported windowing subsystems.
const ( TOUCH_DEVICE_INVALID TouchDeviceType = C.SDL_TOUCH_DEVICE_INVALID TOUCH_DEVICE_DIRECT = C.SDL_TOUCH_DEVICE_DIRECT // touch screen with window-relative coordinates TOUCH_DEVICE_INDIRECT_ABSOLUTE = C.SDL_TOUCH_DEVICE_INDIRECT_ABSOLUTE // trackpad with absolute device coordinates TOUCH_DEVICE_INDIRECT_RELATIVE = C.SDL_TOUCH_DEVICE_INDIRECT_RELATIVE // trackpad with screen cursor-relative coordinates )
const ( MAJOR_VERSION = C.SDL_MAJOR_VERSION // major version MINOR_VERSION = C.SDL_MINOR_VERSION // minor version PATCHLEVEL = C.SDL_PATCHLEVEL // update version (patchlevel) )
The version of SDL in use.
const ( WINDOW_FULLSCREEN = C.SDL_WINDOW_FULLSCREEN // fullscreen window WINDOW_OPENGL = C.SDL_WINDOW_OPENGL // window usable with OpenGL context WINDOW_SHOWN = C.SDL_WINDOW_SHOWN // window is visible WINDOW_HIDDEN = C.SDL_WINDOW_HIDDEN // window is not visible WINDOW_BORDERLESS = C.SDL_WINDOW_BORDERLESS // no window decoration WINDOW_RESIZABLE = C.SDL_WINDOW_RESIZABLE // window can be resized WINDOW_MINIMIZED = C.SDL_WINDOW_MINIMIZED // window is minimized WINDOW_MAXIMIZED = C.SDL_WINDOW_MAXIMIZED // window is maximized WINDOW_INPUT_GRABBED = C.SDL_WINDOW_INPUT_GRABBED // window has grabbed input focus WINDOW_INPUT_FOCUS = C.SDL_WINDOW_INPUT_FOCUS // window has input focus WINDOW_MOUSE_FOCUS = C.SDL_WINDOW_MOUSE_FOCUS // window has mouse focus WINDOW_FULLSCREEN_DESKTOP = C.SDL_WINDOW_FULLSCREEN_DESKTOP // fullscreen window at the current desktop resolution WINDOW_FOREIGN = C.SDL_WINDOW_FOREIGN // window not created by SDL WINDOW_ALLOW_HIGHDPI = C.SDL_WINDOW_ALLOW_HIGHDPI // window should be created in high-DPI mode if supported (>= SDL 2.0.1) WINDOW_MOUSE_CAPTURE = C.SDL_WINDOW_MOUSE_CAPTURE // window has mouse captured (unrelated to INPUT_GRABBED, >= SDL 2.0.4) WINDOW_ALWAYS_ON_TOP = C.SDL_WINDOW_ALWAYS_ON_TOP // window should always be above others (X11 only, >= SDL 2.0.5) WINDOW_SKIP_TASKBAR = C.SDL_WINDOW_SKIP_TASKBAR // window should not be added to the taskbar (X11 only, >= SDL 2.0.5) WINDOW_UTILITY = C.SDL_WINDOW_UTILITY // window should be treated as a utility window (X11 only, >= SDL 2.0.5) WINDOW_TOOLTIP = C.SDL_WINDOW_TOOLTIP // window should be treated as a tooltip (X11 only, >= SDL 2.0.5) WINDOW_POPUP_MENU = C.SDL_WINDOW_POPUP_MENU // window should be treated as a popup menu (X11 only, >= SDL 2.0.5) WINDOW_VULKAN = C.SDL_WINDOW_VULKAN // window usable for Vulkan surface (>= SDL 2.0.6) )
An enumeration of window states. (https://wiki.libsdl.org/SDL_WindowFlags)
const ( WINDOWEVENT_NONE = C.SDL_WINDOWEVENT_NONE // (never used) WINDOWEVENT_SHOWN = C.SDL_WINDOWEVENT_SHOWN // window has been shown WINDOWEVENT_HIDDEN = C.SDL_WINDOWEVENT_HIDDEN // window has been hidden WINDOWEVENT_EXPOSED = C.SDL_WINDOWEVENT_EXPOSED // window has been exposed and should be redrawn WINDOWEVENT_MOVED = C.SDL_WINDOWEVENT_MOVED // window has been moved to data1, data2 WINDOWEVENT_RESIZED = C.SDL_WINDOWEVENT_RESIZED // window has been resized to data1xdata2; this event is always preceded by WINDOWEVENT_SIZE_CHANGED WINDOWEVENT_SIZE_CHANGED = C.SDL_WINDOWEVENT_SIZE_CHANGED // window size has changed, either as a result of an API call or through the system or user changing the window size; this event is followed by WINDOWEVENT_RESIZED if the size was changed by an external event, i.e. the user or the window manager WINDOWEVENT_MINIMIZED = C.SDL_WINDOWEVENT_MINIMIZED // window has been minimized WINDOWEVENT_MAXIMIZED = C.SDL_WINDOWEVENT_MAXIMIZED // window has been maximized WINDOWEVENT_RESTORED = C.SDL_WINDOWEVENT_RESTORED // window has been restored to normal size and position WINDOWEVENT_ENTER = C.SDL_WINDOWEVENT_ENTER // window has gained mouse focus WINDOWEVENT_LEAVE = C.SDL_WINDOWEVENT_LEAVE // window has lost mouse focus WINDOWEVENT_FOCUS_GAINED = C.SDL_WINDOWEVENT_FOCUS_GAINED // window has gained keyboard focus WINDOWEVENT_FOCUS_LOST = C.SDL_WINDOWEVENT_FOCUS_LOST // window has lost keyboard focus WINDOWEVENT_CLOSE = C.SDL_WINDOWEVENT_CLOSE // the window manager requests that the window be closed WINDOWEVENT_TAKE_FOCUS = C.SDL_WINDOWEVENT_TAKE_FOCUS // window is being offered a focus (should SDL_SetWindowInputFocus() on itself or a subwindow, or ignore) (>= SDL 2.0.5) WINDOWEVENT_HIT_TEST = C.SDL_WINDOWEVENT_HIT_TEST // window had a hit test that wasn't SDL_HITTEST_NORMAL (>= SDL 2.0.5) )
An enumeration of window events. (https://wiki.libsdl.org/SDL_WindowEventID)
const ( WINDOWPOS_UNDEFINED_MASK = C.SDL_WINDOWPOS_UNDEFINED_MASK // used to indicate that you don't care what the window position is WINDOWPOS_UNDEFINED = C.SDL_WINDOWPOS_UNDEFINED // used to indicate that you don't care what the window position is WINDOWPOS_CENTERED_MASK = C.SDL_WINDOWPOS_CENTERED_MASK // used to indicate that the window position should be centered WINDOWPOS_CENTERED = C.SDL_WINDOWPOS_CENTERED // used to indicate that the window position should be centered )
Window position flags. (https://wiki.libsdl.org/SDL_CreateWindow)
const ( MESSAGEBOX_ERROR = C.SDL_MESSAGEBOX_ERROR // error dialog MESSAGEBOX_WARNING = C.SDL_MESSAGEBOX_WARNING // warning dialog MESSAGEBOX_INFORMATION = C.SDL_MESSAGEBOX_INFORMATION // informational dialog )
An enumeration of message box flags (e.g. if supported message box will display warning icon). (https://wiki.libsdl.org/SDL_MessageBoxFlags)
const ( MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT = C.SDL_MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT // marks the default button when return is hit MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT = C.SDL_MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT // marks the default button when escape is hit )
Flags for MessageBoxButtonData.
const ( GL_RED_SIZE = C.SDL_GL_RED_SIZE // the minimum number of bits for the red channel of the color buffer; defaults to 3 GL_GREEN_SIZE = C.SDL_GL_GREEN_SIZE // the minimum number of bits for the green channel of the color buffer; defaults to 3 GL_BLUE_SIZE = C.SDL_GL_BLUE_SIZE // the minimum number of bits for the blue channel of the color buffer; defaults to 2 GL_ALPHA_SIZE = C.SDL_GL_ALPHA_SIZE // the minimum number of bits for the alpha channel of the color buffer; defaults to 0 GL_BUFFER_SIZE = C.SDL_GL_BUFFER_SIZE // the minimum number of bits for frame buffer size; defaults to 0 GL_DOUBLEBUFFER = C.SDL_GL_DOUBLEBUFFER // whether the output is single or double buffered; defaults to double buffering on GL_DEPTH_SIZE = C.SDL_GL_DEPTH_SIZE // the minimum number of bits in the depth buffer; defaults to 16 GL_STENCIL_SIZE = C.SDL_GL_STENCIL_SIZE // the minimum number of bits in the stencil buffer; defaults to 0 GL_ACCUM_RED_SIZE = C.SDL_GL_ACCUM_RED_SIZE // the minimum number of bits for the red channel of the accumulation buffer; defaults to 0 GL_ACCUM_GREEN_SIZE = C.SDL_GL_ACCUM_GREEN_SIZE // the minimum number of bits for the green channel of the accumulation buffer; defaults to 0 GL_ACCUM_BLUE_SIZE = C.SDL_GL_ACCUM_BLUE_SIZE // the minimum number of bits for the blue channel of the accumulation buffer; defaults to 0 GL_ACCUM_ALPHA_SIZE = C.SDL_GL_ALPHA_SIZE // the minimum number of bits for the alpha channel of the accumulation buffer; defaults to 0 GL_STEREO = C.SDL_GL_STEREO // whether the output is stereo 3D; defaults to off GL_MULTISAMPLEBUFFERS = C.SDL_GL_MULTISAMPLEBUFFERS // the number of buffers used for multisample anti-aliasing; defaults to 0; see Remarks for details GL_MULTISAMPLESAMPLES = C.SDL_GL_MULTISAMPLESAMPLES // the number of samples used around the current pixel used for multisample anti-aliasing; defaults to 0; see Remarks for details GL_ACCELERATED_VISUAL = C.SDL_GL_ACCELERATED_VISUAL // set to 1 to require hardware acceleration, set to 0 to force software rendering; defaults to allow either GL_RETAINED_BACKING = C.SDL_GL_RETAINED_BACKING // not used (deprecated) GL_CONTEXT_MAJOR_VERSION = C.SDL_GL_CONTEXT_MAJOR_VERSION // OpenGL context major version GL_CONTEXT_MINOR_VERSION = C.SDL_GL_CONTEXT_MINOR_VERSION // OpenGL context minor version GL_CONTEXT_EGL = C.SDL_GL_CONTEXT_EGL // not used (deprecated) GL_CONTEXT_FLAGS = C.SDL_GL_CONTEXT_FLAGS // some combination of 0 or more of elements of the GLcontextFlag enumeration; defaults to 0 (https://wiki.libsdl.org/SDL_GLcontextFlag) GL_CONTEXT_PROFILE_MASK = C.SDL_GL_CONTEXT_PROFILE_MASK // type of GL context (Core, Compatibility, ES); default value depends on platform (https://wiki.libsdl.org/SDL_GLprofile) GL_SHARE_WITH_CURRENT_CONTEXT = C.SDL_GL_SHARE_WITH_CURRENT_CONTEXT // OpenGL context sharing; defaults to 0 GL_FRAMEBUFFER_SRGB_CAPABLE = C.SDL_GL_FRAMEBUFFER_SRGB_CAPABLE // requests sRGB capable visual; defaults to 0 (>= SDL 2.0.1) GL_CONTEXT_RELEASE_BEHAVIOR = C.SDL_GL_CONTEXT_RELEASE_BEHAVIOR // sets context the release behavior; defaults to 1 (>= SDL 2.0.4) GL_CONTEXT_RESET_NOTIFICATION = C.SDL_GL_CONTEXT_RESET_NOTIFICATION // (>= SDL 2.0.6) GL_CONTEXT_NO_ERROR = C.SDL_GL_CONTEXT_NO_ERROR // (>= SDL 2.0.6) )
OpenGL configuration attributes. (https://wiki.libsdl.org/SDL_GL_SetAttribute)
const ( GL_CONTEXT_PROFILE_CORE = C.SDL_GL_CONTEXT_PROFILE_CORE // OpenGL core profile - deprecated functions are disabled GL_CONTEXT_PROFILE_COMPATIBILITY = C.SDL_GL_CONTEXT_PROFILE_COMPATIBILITY // OpenGL compatibility profile - deprecated functions are allowed GL_CONTEXT_PROFILE_ES = C.SDL_GL_CONTEXT_PROFILE_ES // OpenGL ES profile - only a subset of the base OpenGL functionality is available )
An enumeration of OpenGL profiles. (https://wiki.libsdl.org/SDL_GLprofile)
const ( GL_CONTEXT_DEBUG_FLAG = C.SDL_GL_CONTEXT_DEBUG_FLAG // intended to put the GL into a "debug" mode which might offer better developer insights, possibly at a loss of performance GL_CONTEXT_FORWARD_COMPATIBLE_FLAG = C.SDL_GL_CONTEXT_FORWARD_COMPATIBLE_FLAG // intended to put the GL into a "forward compatible" mode, which means that no deprecated functionality will be supported, possibly at a gain in performance, and only applies to GL 3.0 and later contexts GL_CONTEXT_ROBUST_ACCESS_FLAG = C.SDL_GL_CONTEXT_ROBUST_ACCESS_FLAG // intended to require a GL context that supports the GL_ARB_robustness extension--a mode that offers a few APIs that are safer than the usual defaults (think snprintf() vs sprintf()) GL_CONTEXT_RESET_ISOLATION_FLAG = C.SDL_GL_CONTEXT_RESET_ISOLATION_FLAG // intended to require the GL to make promises about what to do in the face of driver or hardware failure )
An enumeration of OpenGL context configuration flags. (https://wiki.libsdl.org/SDL_GLcontextFlag)
CACHELINE_SIZE is a cacheline size used for padding.
const K_SCANCODE_MASK = 1 << 30
MIX_MAXVOLUME is the full audio volume value used in MixAudioFormat() and AudioFormat(). (https://wiki.libsdl.org/SDL_MixAudioFormat)
const (
STANDARD_GRAVITY = 9.80665
)
TOUCH_MOUSEID is the device ID for mouse events simulated with touch input
var ( PIXELFORMAT_RGBA32 = C.SDL_PIXELFORMAT_RGBA32 PIXELFORMAT_ARGB32 = C.SDL_PIXELFORMAT_ARGB32 PIXELFORMAT_BGRA32 = C.SDL_PIXELFORMAT_BGRA32 PIXELFORMAT_ABGR32 = C.SDL_PIXELFORMAT_ABGR32 )
Pixel format variables.
var ( RGB444Model color.Model = color.ModelFunc(rgb444Model) RGB332Model color.Model = color.ModelFunc(rgb332Model) RGB565Model color.Model = color.ModelFunc(rgb565Model) RGB555Model color.Model = color.ModelFunc(rgb555Model) BGR565Model color.Model = color.ModelFunc(bgr565Model) BGR555Model color.Model = color.ModelFunc(bgr555Model) ARGB4444Model color.Model = color.ModelFunc(argb4444Model) ABGR4444Model color.Model = color.ModelFunc(abgr4444Model) RGBA4444Model color.Model = color.ModelFunc(rgba4444Model) BGRA4444Model color.Model = color.ModelFunc(bgra4444Model) ARGB1555Model color.Model = color.ModelFunc(argb1555Model) RGBA5551Model color.Model = color.ModelFunc(rgba5551Model) ABGR1555Model color.Model = color.ModelFunc(abgr1555Model) BGRA5551Model color.Model = color.ModelFunc(bgra5551Model) RGBA8888Model color.Model = color.ModelFunc(rgba8888Model) BGRA8888Model color.Model = color.ModelFunc(bgra8888Model) )
func AddHintCallback(name string, fn HintCallback, data interface{})
AddHintCallback adds a function to watch a particular hint. (https://wiki.libsdl.org/SDL_AddHintCallback)
AudioInit initializes a particular audio driver. (https://wiki.libsdl.org/SDL_AudioInit)
func AudioQuit()
AudioQuit shuts down audio if you initialized it with AudioInit(). (https://wiki.libsdl.org/SDL_AudioQuit)
BitsPerPixel returns the number of bits per pixel for the given format
Btoi returns 0 or 1 according to the value of b.
func BuildAudioCVT(cvt *AudioCVT, srcFormat AudioFormat, srcChannels uint8, srcRate int, dstFormat AudioFormat, dstChannels uint8, dstRate int) (converted bool, err error)
BuildAudioCVT initializes an AudioCVT structure for conversion. (https://wiki.libsdl.org/SDL_BuildAudioCVT)
Button is used as a mask when testing buttons in buttonstate.
ButtonLMask is used as a mask when testing buttons in buttonstate.
ButtonMMask is used as a mask when testing buttons in buttonstate.
ButtonRMask is used as a mask when testing buttons in buttonstate.
ButtonX1Mask is used as a mask when testing buttons in buttonstate.
ButtonX2Mask is used as a mask when testing buttons in buttonstate.
BytesPerPixel returns the number of bytes per pixel for the given format
COMPILEDVERSION returns the SDL version number that you compiled against. (https://wiki.libsdl.org/SDL_COMPILEDVERSION)
CalculateGammaRamp calculates a 256 entry gamma ramp for a gamma value. (https://wiki.libsdl.org/SDL_CalculateGammaRamp)
CaptureMouse captures the mouse and tracks input outside an SDL window. (https://wiki.libsdl.org/SDL_CaptureMouse)
func ClearError()
ClearError clears any previous error message. (https://wiki.libsdl.org/SDL_ClearError)
func ClearHints()
ClearHints clears all hints. (https://wiki.libsdl.org/SDL_ClearHints)
func ClearQueuedAudio(dev AudioDeviceID)
ClearQueuedAudio drops any queued audio data waiting to be sent to the hardware. (https://wiki.libsdl.org/SDL_ClearQueuedAudio)
func CloseAudio()
CloseAudio closes the audio device. New programs might want to use CloseAudioDevice() instead. (https://wiki.libsdl.org/SDL_CloseAudio)
func CloseAudioDevice(dev AudioDeviceID)
CloseAudioDevice shuts down audio processing and closes the audio device. (https://wiki.libsdl.org/SDL_CloseAudioDevice)
ConvertAudio converts audio data to a desired audio format. (https://wiki.libsdl.org/SDL_ConvertAudio)
func ConvertPixels(width, height int32, srcFormat uint32, src unsafe.Pointer, srcPitch int, dstFormat uint32, dst unsafe.Pointer, dstPitch int) error
ConvertPixels copies a block of pixels of one format to another format. (https://wiki.libsdl.org/SDL_ConvertPixels)
CreateWindowAndRenderer returns a new window and default renderer. (https://wiki.libsdl.org/SDL_CreateWindowAndRenderer)
CurrentThreadID gets the thread identifier for the current thread. (https://wiki.libsdl.org/SDL_ThreadID)
func DelEventWatch(handle EventWatchHandle)
DelEventWatch removes an event watch callback added with AddEventWatch(). (https://wiki.libsdl.org/SDL_DelEventWatch)
DelHintCallback removes a function watching a particular hint. (https://wiki.libsdl.org/SDL_DelHintCallback)
Delay waits a specified number of milliseconds before returning. (https://wiki.libsdl.org/SDL_Delay)
func DequeueAudio(dev AudioDeviceID, data []byte) error
DequeueAudio dequeues more audio on non-callback devices. (https://wiki.libsdl.org/SDL_DequeueAudio)
func DisableScreenSaver()
DisableScreenSaver prevents the screen from being blanked by a screen saver. (https://wiki.libsdl.org/SDL_DisableScreenSaver)
func Do(f func())
Do the specified function in the main thread. For this function to work, you must have correctly used sdl.Main(..) in your main() function. Calling this function before/without sdl.Main(..) will cause a panic.
func EnableScreenSaver()
EnableScreenSaver allows the screen to be blanked by a screen saver. (https://wiki.libsdl.org/SDL_EnableScreenSaver)
Error sets the SDL error message to the specified error code.
EventState sets the state of processing events by type. (https://wiki.libsdl.org/SDL_EventState)
func FilterEvents(filter EventFilter, userdata interface{})
FilterEvents run a specific filter function on the current event queue, removing any events for which the filter returns 0. (https://wiki.libsdl.org/SDL_FilterEvents)
func FilterEventsFunc(filter eventFilterFunc, userdata interface{})
FilterEventsFunc run a specific function on the current event queue, removing any events for which the filter returns 0. (https://wiki.libsdl.org/SDL_FilterEvents)
FlushEvent clears events from the event queue. (https://wiki.libsdl.org/SDL_FlushEvent)
FlushEvents clears events from the event queue. (https://wiki.libsdl.org/SDL_FlushEvents)
FreeCursor frees a cursor created with CreateCursor(), CreateColorCursor() or CreateSystemCursor(). (https://wiki.libsdl.org/SDL_FreeCursor)
FreeWAV frees data previously allocated with LoadWAV() or LoadWAVRW(). (https://wiki.libsdl.org/SDL_FreeWAV)
GLDeleteContext deletes an OpenGL context. (https://wiki.libsdl.org/SDL_GL_DeleteContext)
GLExtensionSupported reports whether an OpenGL extension is supported for the current context. (https://wiki.libsdl.org/SDL_GL_ExtensionSupported)
GLGetAttribute returns the actual value for an attribute from the current context. (https://wiki.libsdl.org/SDL_GL_GetAttribute)
GLGetProcAddress returns an OpenGL function by name. (https://wiki.libsdl.org/SDL_GL_GetProcAddress)
GLGetSwapInterval returns the swap interval for the current OpenGL context. (https://wiki.libsdl.org/SDL_GL_GetSwapInterval)
GLLoadLibrary dynamically loads an OpenGL library. (https://wiki.libsdl.org/SDL_GL_LoadLibrary)
GLSetAttribute sets an OpenGL window attribute before window creation. (https://wiki.libsdl.org/SDL_GL_SetAttribute)
GLSetSwapInterval sets the swap interval for the current OpenGL context. (https://wiki.libsdl.org/SDL_GL_SetSwapInterval)
func GLUnloadLibrary()
GLUnloadLibrary unloads the OpenGL library previously loaded by GLLoadLibrary(). (https://wiki.libsdl.org/SDL_GL_UnloadLibrary)
GameControllerAddMapping adds support for controllers that SDL is unaware of or to cause an existing controller to have a different binding. (https://wiki.libsdl.org/SDL_GameControllerAddMapping)
GameControllerEventState returns the current state of, enable, or disable events dealing with Game Controllers. This will not disable Joystick events, which can also be fired by a controller (see https://wiki.libsdl.org/SDL_JoystickEventState). (https://wiki.libsdl.org/SDL_GameControllerEventState)
func GameControllerGetStringForAxis(axis GameControllerAxis) string
GameControllerGetStringForAxis converts from an axis enum to a string. (https://wiki.libsdl.org/SDL_GameControllerGetStringForAxis)
func GameControllerGetStringForButton(btn GameControllerButton) string
GameControllerGetStringForButton turns a button enum into a string mapping. (https://wiki.libsdl.org/SDL_GameControllerGetStringForButton)
GameControllerMappingForDeviceIndex returns the game controller mapping string at a particular index.
func GameControllerMappingForGUID(guid JoystickGUID) string
GameControllerMappingForGUID returns the game controller mapping string for a given GUID. (https://wiki.libsdl.org/SDL_GameControllerMappingForGUID)
GameControllerMappingForIndex returns the game controller mapping string at a particular index.
GameControllerNameForIndex returns the implementation dependent name for the game controller. (https://wiki.libsdl.org/SDL_GameControllerNameForIndex)
GameControllerNumMappings returns the number of mappings installed.
func GameControllerUpdate()
GameControllerUpdate manually pumps game controller updates if not using the loop. (https://wiki.libsdl.org/SDL_GameControllerUpdate)
GetAudioDeviceName returns the name of a specific audio device. (https://wiki.libsdl.org/SDL_GetAudioDeviceName)
GetAudioDriver returns the name of a built in audio driver. (https://wiki.libsdl.org/SDL_GetAudioDriver)
GetBasePath returns the directory where the application was run from. This is where the application data directory is. (https://wiki.libsdl.org/SDL_GetBasePath)
GetCPUCacheLineSize returns the L1 cache line size of the CPU. (https://wiki.libsdl.org/SDL_GetCPUCacheLineSize)
GetCPUCount returns the number of CPU cores available. (https://wiki.libsdl.org/SDL_GetCPUCount)
GetClipboardText returns UTF-8 text from the clipboard. (https://wiki.libsdl.org/SDL_GetClipboardText)
GetCurrentAudioDriver returns the name of the current audio driver. (https://wiki.libsdl.org/SDL_GetCurrentAudioDriver)
GetCurrentVideoDriver returns the name of the currently initialized video driver. (https://wiki.libsdl.org/SDL_GetCurrentVideoDriver)
GetDisplayDPI returns the dots/pixels-per-inch for a display. (https://wiki.libsdl.org/SDL_GetDisplayDPI)
GetDisplayName returns the name of a display in UTF-8 encoding. (https://wiki.libsdl.org/SDL_GetDisplayName)
GetError returns the last error that occurred, or an empty string if there hasn't been an error message set since the last call to ClearError(). (https://wiki.libsdl.org/SDL_GetError)
GetEventState returns the current processing state of the specified event (https://wiki.libsdl.org/SDL_EventState)
GetGlobalMouseState returns the current state of the mouse. (https://wiki.libsdl.org/SDL_GetGlobalMouseState)
GetHint returns the value of a hint. (https://wiki.libsdl.org/SDL_GetHint)
GetKeyName returns a human-readable name for a key. (https://wiki.libsdl.org/SDL_GetKeyName)
GetKeyboardState returns a snapshot of the current state of the keyboard. (https://wiki.libsdl.org/SDL_GetKeyboardState)
GetMouseState returns the current state of the mouse. (https://wiki.libsdl.org/SDL_GetMouseState)
GetNumAudioDevices returns the number of built-in audio devices. (https://wiki.libsdl.org/SDL_GetNumAudioDevices)
GetNumAudioDrivers returns the number of built-in audio drivers. (https://wiki.libsdl.org/SDL_GetNumAudioDrivers)
GetNumDisplayModes returns the number of available display modes. (https://wiki.libsdl.org/SDL_GetNumDisplayModes)
GetNumRenderDrivers returns the number of 2D rendering drivers available for the current display. (https://wiki.libsdl.org/SDL_GetNumRenderDrivers)
GetNumTouchDevices returns the number of registered touch devices. (https://wiki.libsdl.org/SDL_GetNumTouchDevices)
GetNumTouchFingers returns the number of active fingers for a given touch device. (https://wiki.libsdl.org/SDL_GetNumTouchFingers)
GetNumVideoDisplays returns the number of available video displays. (https://wiki.libsdl.org/SDL_GetNumVideoDisplays)
GetNumVideoDrivers returns the number of video drivers compiled into SDL. (https://wiki.libsdl.org/SDL_GetNumVideoDrivers)
GetPerformanceCounter returns the current value of the high resolution counter. (https://wiki.libsdl.org/SDL_GetPerformanceCounter)
GetPerformanceFrequency returns the count per second of the high resolution counter. (https://wiki.libsdl.org/SDL_GetPerformanceFrequency)
GetPixelFormatName returns the human readable name of a pixel format. (https://wiki.libsdl.org/SDL_GetPixelFormatName)
GetPlatform returns the name of the platform. (https://wiki.libsdl.org/SDL_GetPlatform)
GetPowerInfo returns the current power supply details. (https://wiki.libsdl.org/SDL_GetPowerInfo)
GetPrefPath returns the "pref dir". This is meant to be where the application can write personal files (Preferences and save games, etc.) that are specific to the application. This directory is unique per user and per application. (https://wiki.libsdl.org/SDL_GetPrefPath)
func GetQueuedAudioSize(dev AudioDeviceID) uint32
GetQueuedAudioSize returns the number of bytes of still-queued audio. (https://wiki.libsdl.org/SDL_GetQueuedAudioSize)
func GetRGB(pixel uint32, format *PixelFormat) (r, g, b uint8)
GetRGB returns RGB values from a pixel in the specified format. (https://wiki.libsdl.org/SDL_GetRGB)
func GetRGBA(pixel uint32, format *PixelFormat) (r, g, b, a uint8)
GetRGBA returns RGBA values from a pixel in the specified format. (https://wiki.libsdl.org/SDL_GetRGBA)
GetRelativeMouseMode reports where relative mouse mode is enabled. (https://wiki.libsdl.org/SDL_GetRelativeMouseMode)
GetRelativeMouseState returns the relative state of the mouse. (https://wiki.libsdl.org/SDL_GetRelativeMouseState)
func GetRenderDriverInfo(index int, info *RendererInfo) (int, error)
GetRenderDriverInfo returns information about a specific 2D rendering driver for the current display. (https://wiki.libsdl.org/SDL_GetRenderDriverInfo)
GetRevision returns the code revision of SDL that is linked against your program. (https://wiki.libsdl.org/SDL_GetRevision)
GetRevisionNumber returns the revision number of SDL that is linked against your program. (https://wiki.libsdl.org/SDL_GetRevisionNumber)
GetScancodeName returns a human-readable name for a scancode (https://wiki.libsdl.org/SDL_GetScancodeName)
GetSystemRAM returns the amount of RAM configured in the system. (https://wiki.libsdl.org/SDL_GetSystemRAM)
GetTicks returns the number of milliseconds since the SDL library initialization. (https://wiki.libsdl.org/SDL_GetTicks)
GetVersion returns the version of SDL that is linked against your program. (https://wiki.libsdl.org/SDL_GetVersion)
GetVideoDriver returns the name of a built in video driver. (https://wiki.libsdl.org/SDL_GetVideoDriver)
HapticIndex returns the index of a haptic device. (https://wiki.libsdl.org/SDL_HapticIndex)
HapticName returns the implementation dependent name of a haptic device. (https://wiki.libsdl.org/SDL_HapticName)
HapticOpened reports whether the haptic device at the designated index has been opened. (https://wiki.libsdl.org/SDL_HapticOpened)
Has3DNow reports whether the CPU has 3DNow! features. (https://wiki.libsdl.org/SDL_Has3DNow)
HasAVX reports whether the CPU has AVX features. (https://wiki.libsdl.org/SDL_HasAVX)
HasAVX2 reports whether the CPU has AVX2 features. (https://wiki.libsdl.org/SDL_HasAVX2)
HasAVX512F reports whether the CPU has AVX-512F (foundation) features. TODO: (https://wiki.libsdl.org/SDL_HasAVX512F)
HasAltiVec reports whether the CPU has AltiVec features. (https://wiki.libsdl.org/SDL_HasAltiVec)
HasClipboardText reports whether the clipboard exists and contains a text string that is non-empty. (https://wiki.libsdl.org/SDL_HasClipboardText)
HasEvent checks for the existence of certain event types in the event queue. (https://wiki.libsdl.org/SDL_HasEvent)
HasEvents checks for the existence of a range of event types in the event queue. (https://wiki.libsdl.org/SDL_HasEvents)
HasMMX reports whether the CPU has MMX features. (https://wiki.libsdl.org/SDL_HasMMX)
HasNEON reports whether the CPU has NEON features. (https://wiki.libsdl.org/SDL_HasNEON)
HasRDTSC reports whether the CPU has the RDTSC instruction. (https://wiki.libsdl.org/SDL_HasRDTSC)
HasSSE reports whether the CPU has SSE features. (https://wiki.libsdl.org/SDL_HasSSE)
HasSSE2 reports whether the CPU has SSE2 features. (https://wiki.libsdl.org/SDL_HasSSE2)
HasSSE3 reports whether the CPU has SSE3 features. (https://wiki.libsdl.org/SDL_HasSSE3)
HasSSE41 reports whether the CPU has SSE4.1 features. (https://wiki.libsdl.org/SDL_HasSSE41)
HasSSE42 reports whether the CPU has SSE4.2 features. (https://wiki.libsdl.org/SDL_HasSSE42)
HasScreenKeyboardSupport reports whether the platform has some screen keyboard support. (https://wiki.libsdl.org/SDL_HasScreenKeyboardSupport)
Init initialize the SDL library. This must be called before using most other SDL functions. (https://wiki.libsdl.org/SDL_Init)
InitSubSystem initializes specific SDL subsystems. (https://wiki.libsdl.org/SDL_InitSubSystem)
IsGameController reports whether the given joystick is supported by the game controller interface. (https://wiki.libsdl.org/SDL_IsGameController)
IsScreenKeyboardShown reports whether the screen keyboard is shown for given window. (https://wiki.libsdl.org/SDL_IsScreenKeyboardShown)
IsScreenSaverEnabled reports whether the screensaver is currently enabled. (https://wiki.libsdl.org/SDL_IsScreenSaverEnabled)
IsTablet returns true if the current device is a tablet TODO: (https://wiki.libsdl.org/SDL_IsTablet)
IsTextInputActive checks whether or not Unicode text input events are enabled. (https://wiki.libsdl.org/SDL_IsTextInputActive)
JoystickEventState enables or disables joystick event polling. (https://wiki.libsdl.org/SDL_JoystickEventState)
JoystickGetDevicePlayerIndex returns the player index of a joystick, or -1 if it's not available TODO: (https://wiki.libsdl.org/SDL_JoystickGetDevicePlayerIndex)
JoystickGetDeviceProduct returns the USB product ID of a joystick, if available, 0 otherwise.
JoystickGetDeviceProductVersion returns the product version of a joystick, if available, 0 otherwise.
JoystickGetDeviceVendor returns the USB vendor ID of a joystick, if available, 0 otherwise.
func JoystickGetGUIDString(guid JoystickGUID) string
JoystickGetGUIDString returns an ASCII string representation for a given JoystickGUID. (https://wiki.libsdl.org/SDL_JoystickGetGUIDString)
JoystickIsHaptic reports whether a joystick has haptic features. (https://wiki.libsdl.org/SDL_JoystickIsHaptic)
JoystickNameForIndex returns the implementation dependent name of a joystick. (https://wiki.libsdl.org/SDL_JoystickNameForIndex)
func JoystickUpdate()
JoystickUpdate updates the current state of the open joysticks. (https://wiki.libsdl.org/SDL_JoystickUpdate)
LoadDollarTemplates loads Dollar Gesture templates from a file. (https://wiki.libsdl.org/SDL_LoadDollarTemplates)
LoadFile loads an entire file (https://wiki.libsdl.org/SDL_LoadFile)
func LockAudio()
LockAudio locks the audio device. New programs might want to use LockAudioDevice() instead. (https://wiki.libsdl.org/SDL_LockAudio)
func LockAudioDevice(dev AudioDeviceID)
LockAudioDevice locks out the audio callback function for a specified device. (https://wiki.libsdl.org/SDL_LockAudioDevice)
func LockJoysticks()
LockJoysticks locks joysticks for multi-threaded access to the joystick API TODO: (https://wiki.libsdl.org/SDL_LockJoysticks)
Log logs a message with LOG_CATEGORY_APPLICATION and LOG_PRIORITY_INFO. (https://wiki.libsdl.org/SDL_Log)
LogCritical logs a message with LOG_PRIORITY_CRITICAL. (https://wiki.libsdl.org/SDL_LogCritical)
LogDebug logs a message with LOG_PRIORITY_DEBUG. (https://wiki.libsdl.org/SDL_LogDebug)
LogError logs a message with LOG_PRIORITY_ERROR. (https://wiki.libsdl.org/SDL_LogError)
LogInfo logs a message with LOG_PRIORITY_INFO. (https://wiki.libsdl.org/SDL_LogInfo)
func LogMessage(category int, pri LogPriority, str string, args ...interface{})
LogMessage logs a message with the specified category and priority. (https://wiki.libsdl.org/SDL_LogMessage)
func LogResetPriorities()
LogResetPriorities resets all priorities to default. (https://wiki.libsdl.org/SDL_LogResetPriorities)
func LogSetAllPriority(p LogPriority)
LogSetAllPriority sets the priority of all log categories. (https://wiki.libsdl.org/SDL_LogSetAllPriority)
func LogSetOutputFunction(f LogOutputFunction, data interface{})
LogSetOutputFunction replaces the default log output function with one of your own. (https://wiki.libsdl.org/SDL_LogSetOutputFunction)
func LogSetPriority(category int, p LogPriority)
LogSetPriority sets the priority of a particular log category. (https://wiki.libsdl.org/SDL_LogSetPriority)
LogVerbose logs a message with LOG_PRIORITY_VERBOSE. (https://wiki.libsdl.org/SDL_LogVerbose)
LogWarn logs a message with LOG_PRIORITY_WARN. (https://wiki.libsdl.org/SDL_LogWarn)
func Main(main func())
Main entry point. Run this function at the beginning of main(), and pass your own main body to it as a function. E.g.:
func main() { sdl.Main(func() { // Your code here.... // [....] // Calls to SDL can be made by any goroutine, but always guarded by sdl.Do() sdl.Do(func() { sdl.Init(0) }) }) }
Avoid calling functions like os.Exit(..) within your passed-in function since they don't respect deferred calls. Instead, do this:
func main() { var exitcode int sdl.Main(func() { exitcode = run()) // assuming run has signature func() int }) os.Exit(exitcode) }
func MapRGB(format *PixelFormat, r, g, b uint8) uint32
MapRGB maps an RGB triple to an opaque pixel value for a given pixel format. (https://wiki.libsdl.org/SDL_MapRGB)
func MapRGBA(format *PixelFormat, r, g, b, a uint8) uint32
MapRGBA maps an RGBA quadruple to a pixel value for a given pixel format. (https://wiki.libsdl.org/SDL_MapRGBA)
MasksToPixelFormatEnum converts a bpp value and RGBA masks to an enumerated pixel format. (https://wiki.libsdl.org/SDL_MasksToPixelFormatEnum)
MixAudio mixes audio data. New programs might want to use MixAudioFormat() instead. (https://wiki.libsdl.org/SDL_MixAudio)
func MixAudioFormat(dst, src *uint8, format AudioFormat, len uint32, volume int)
MixAudioFormat mixes audio data in a specified format. (https://wiki.libsdl.org/SDL_MixAudioFormat)
MouseIsHaptic reports whether or not the current mouse has haptic capabilities. (https://wiki.libsdl.org/SDL_MouseIsHaptic)
NumHaptics returns the number of haptic devices attached to the system. (https://wiki.libsdl.org/SDL_NumHaptics)
NumJoysticks returns the number of joysticks attached to the system. (https://wiki.libsdl.org/SDL_NumJoysticks)
NumSensors counts the number of sensors attached to the system right now (https://wiki.libsdl.org/SDL_NumSensors)
OpenAudio opens the audio device. New programs might want to use OpenAudioDevice() instead. (https://wiki.libsdl.org/SDL_OpenAudio)
func OutOfMemory()
OutOfMemory sets SDL error message to ENOMEM (out of memory).
PauseAudio pauses and unpauses the audio device. New programs might want to use SDL_PauseAudioDevice() instead. (https://wiki.libsdl.org/SDL_PauseAudio)
func PauseAudioDevice(dev AudioDeviceID, pauseOn bool)
PauseAudioDevice pauses and unpauses audio playback on a specified device. (https://wiki.libsdl.org/SDL_PauseAudioDevice)
func PeepEvents(events []Event, action EventAction, minType, maxType uint32) (storedEvents int, err error)
PeepEvents checks the event queue for messages and optionally return them. (https://wiki.libsdl.org/SDL_PeepEvents)
PixelFormatEnumToMasks converts one of the enumerated pixel formats to a bpp value and RGBA masks. (https://wiki.libsdl.org/SDL_PixelFormatEnumToMasks)
func PumpEvents()
PumpEvents pumps the event loop, gathering events from the input devices. (https://wiki.libsdl.org/SDL_PumpEvents)
PushEvent adds an event to the event queue. (https://wiki.libsdl.org/SDL_PushEvent)
func QueueAudio(dev AudioDeviceID, data []byte) error
QueueAudio queues more audio on non-callback devices. (https://wiki.libsdl.org/SDL_QueueAudio)
func Quit()
Quit cleans up all initialized subsystems. You should call it upon all exit conditions. (https://wiki.libsdl.org/SDL_Quit)
QuitSubSystem shuts down specific SDL subsystems. (https://wiki.libsdl.org/SDL_QuitSubSystem)
RecordGesture begins recording a gesture on a specified touch device or all touch devices. (https://wiki.libsdl.org/SDL_RecordGesture)
RegisterEvents allocates a set of user-defined events, and return the beginning event number for that set of events. (https://wiki.libsdl.org/SDL_RegisterEvents)
SIMDAlloc allocates memory in a SIMD-friendly way. TODO: (https://wiki.libsdl.org/SDL_SIMDAlloc)
SIMDFree deallocates memory obtained from SDL_SIMDAlloc. TODO: (https://wiki.libsdl.org/SDL_SIMDFree)
SIMDGetAlignment reports the alignment this system needs for SIMD allocations. TODO: (https://wiki.libsdl.org/SDL_SIMDGetAlignment)
SaveAllDollarTemplates saves all currently loaded Dollar Gesture templates. (https://wiki.libsdl.org/SDL_SaveAllDollarTemplates)
SaveDollarTemplate saves a currently loaded Dollar Gesture template. (https://wiki.libsdl.org/SDL_SaveDollarTemplate)
SensorGetDeviceName gets the implementation dependent name of a sensor.
This can be called before any sensors are opened.
Returns the sensor name, or empty string if deviceIndex is out of range. (https://wiki.libsdl.org/SDL_SensorGetDeviceName)
SensorGetDeviceNonPortableType gets the platform dependent type of a sensor.
This can be called before any sensors are opened.
Returns the sensor platform dependent type, or -1 if deviceIndex is out of range. (https://wiki.libsdl.org/SDL_SensorGetDeviceNonPortableType)
func SensorUpdate()
SensorUpdate updates the current state of the open sensors.
This is called automatically by the event loop if sensor events are enabled.
This needs to be called from the thread that initialized the sensor subsystem. (https://wiki.libsdl.org/SDL_SensorUpdate)
SetClipboardText puts UTF-8 text into the clipboard. (https://wiki.libsdl.org/SDL_SetClipboardText)
SetCursor sets the active cursor. (https://wiki.libsdl.org/SDL_SetCursor)
SetError set the SDL error message. (https://wiki.libsdl.org/SDL_SetError)
func SetEventFilter(filter EventFilter, userdata interface{})
SetEventFilter sets up a filter to process all events before they change internal state and are posted to the internal event queue. (https://wiki.libsdl.org/SDL_SetEventFilter)
func SetEventFilterFunc(filterFunc eventFilterFunc, userdata interface{})
SetEventFilterFunc sets up a function to process all events before they change internal state and are posted to the internal event queue. (https://wiki.libsdl.org/SDL_SetEventFilter)
SetHint sets a hint with normal priority. (https://wiki.libsdl.org/SDL_SetHint)
func SetHintWithPriority(name, value string, hp HintPriority) bool
SetHintWithPriority sets a hint with a specific priority. (https://wiki.libsdl.org/SDL_SetHintWithPriority)
SetModState sets the current key modifier state for the keyboard. (https://wiki.libsdl.org/SDL_SetModState)
SetRelativeMouseMode sets relative mouse mode. (https://wiki.libsdl.org/SDL_SetRelativeMouseMode)
SetTextInputRect sets the rectangle used to type Unicode text inputs. (https://wiki.libsdl.org/SDL_SetTextInputRect)
func SetYUVConversionMode(mode YUV_CONVERSION_MODE)
SetYUVConversionMode sets the YUV conversion mode TODO: (https://wiki.libsdl.org/SDL_SetYUVConversionMode)
ShowCursor toggles whether or not the cursor is shown. (https://wiki.libsdl.org/SDL_ShowCursor)
func ShowMessageBox(data *MessageBoxData) (buttonid int32, err error)
ShowMessageBox creates a modal message box. (https://wiki.libsdl.org/SDL_ShowMessageBox)
ShowSimpleMessageBox displays a simple modal message box. (https://wiki.libsdl.org/SDL_ShowSimpleMessageBox)
func StartTextInput()
StartTextInput starts accepting Unicode text input events. (https://wiki.libsdl.org/SDL_StartTextInput)
func StopTextInput()
StopTextInput stops receiving any text input events. (https://wiki.libsdl.org/SDL_StopTextInput)
func UnlockAudio()
UnlockAudio unlocks the audio device. New programs might want to use UnlockAudioDevice() instead. (https://wiki.libsdl.org/SDL_UnlockAudio)
func UnlockAudioDevice(dev AudioDeviceID)
UnlockAudioDevice unlocks the audio callback function for a specified device. (https://wiki.libsdl.org/SDL_UnlockAudioDevice)
func UnlockJoysticks()
UnlockJoysticks unlocks joysticks for multi-threaded access to the joystick API TODO: (https://wiki.libsdl.org/SDL_UnlockJoysticks)
func Unsupported()
Unsupported sets SDL error message to UNSUPPORTED (that operation is not supported).
VERSION fills the selected struct with the version of SDL in use. (https://wiki.libsdl.org/SDL_VERSION)
VERSIONNUM converts separate version components into a single numeric value. (https://wiki.libsdl.org/SDL_VERSIONNUM)
VERSION_ATLEAST reports whether the SDL version compiled against is at least as new as the specified version. (https://wiki.libsdl.org/SDL_VERSION_ATLEAST)
VideoInit initializes the video subsystem, optionally specifying a video driver. (https://wiki.libsdl.org/SDL_VideoInit)
func VideoQuit()
VideoQuit shuts down the video subsystem, if initialized with VideoInit(). (https://wiki.libsdl.org/SDL_VideoQuit)
VulkanGetVkGetInstanceProcAddr gets the address of the vkGetInstanceProcAddr function. (https://wiki.libsdl.org/SDL_Vulkan_GetVkInstanceProcAddr)
VulkanLoadLibrary dynamically loads a Vulkan loader library. (https://wiki.libsdl.org/SDL_Vulkan_LoadLibrary)
func VulkanUnloadLibrary()
VulkanUnloadLibrary unloads the Vulkan loader library previously loaded by VulkanLoadLibrary(). (https://wiki.libsdl.org/SDL_Vulkan_UnloadLibrary)
WarpMouseGlobal moves the mouse to the given position in global screen space. (https://wiki.libsdl.org/SDL_WarpMouseGlobal)
WasInit returns a mask of the specified subsystems which have previously been initialized. (https://wiki.libsdl.org/SDL_WasInit)
type AudioCVT struct { Needed int32 // set to 1 if conversion possible SrcFormat AudioFormat // source audio format DstFormat AudioFormat // target audio format RateIncr float64 // rate conversion increment Buf unsafe.Pointer // the buffer to hold entire audio data. Use AudioCVT.BufAsSlice() for access via a Go slice Len int32 // length of original audio buffer LenCVT int32 // length of converted audio buffer LenMult int32 // buf must be len*len_mult big LenRatio float64 // given len, final size is len*len_ratio // contains filtered or unexported fields }
AudioCVT contains audio data conversion information. (https://wiki.libsdl.org/SDL_AudioCVT)
AllocBuf allocates the requested memory for AudioCVT buffer.
BufAsSlice returns AudioCVT.buf as byte slice. NOTE: Must be used after ConvertAudio() because it uses LenCVT as slice length.
FreeBuf deallocates the memory previously allocated from AudioCVT buffer.
AudioCallback is a function to call when the audio device needs more data.` (https://wiki.libsdl.org/SDL_AudioSpec)
type AudioDeviceEvent struct { Type uint32 // AUDIODEVICEADDED, AUDIODEVICEREMOVED Timestamp uint32 // the timestamp of the event Which uint32 // the audio device index for the AUDIODEVICEADDED event (valid until next GetNumAudioDevices() call), AudioDeviceID for the AUDIODEVICEREMOVED event IsCapture uint8 // zero if an audio output device, non-zero if an audio capture device // contains filtered or unexported fields }
AudioDeviceEvent contains audio device event information. (https://wiki.libsdl.org/SDL_AudioDeviceEvent)
func (e *AudioDeviceEvent) GetTimestamp() uint32
GetTimestamp returns the timestamp of the event.
func (e *AudioDeviceEvent) GetType() uint32
GetType returns the event type.
AudioDeviceID is ID of an audio device previously opened with OpenAudioDevice(). (https://wiki.libsdl.org/SDL_OpenAudioDevice)
func OpenAudioDevice(device string, isCapture bool, desired, obtained *AudioSpec, allowedChanges int) (AudioDeviceID, error)
OpenAudioDevice opens a specific audio device. (https://wiki.libsdl.org/SDL_OpenAudioDevice)
AudioFilter is the filter list used in AudioCVT() (internal use) (https://wiki.libsdl.org/SDL_AudioCVT)
AudioFormat is an enumeration of audio formats. (https://wiki.libsdl.org/SDL_AudioFormat)
func (fmt AudioFormat) BitSize() uint8
BitSize returns audio formats bit size. (https://wiki.libsdl.org/SDL_AudioFormat)
func (fmt AudioFormat) IsBigEndian() bool
IsBigEndian reports whether audio format is big-endian. (https://wiki.libsdl.org/SDL_AudioFormat)
func (fmt AudioFormat) IsFloat() bool
IsFloat reports whether audio format is float. (https://wiki.libsdl.org/SDL_AudioFormat)
func (fmt AudioFormat) IsInt() bool
IsInt reports whether audio format is integer. (https://wiki.libsdl.org/SDL_AudioFormat)
func (fmt AudioFormat) IsLittleEndian() bool
IsLittleEndian reports whether audio format is little-endian. (https://wiki.libsdl.org/SDL_AudioFormat)
func (fmt AudioFormat) IsSigned() bool
IsSigned reports whether audio format is signed. (https://wiki.libsdl.org/SDL_AudioFormat)
func (fmt AudioFormat) IsUnsigned() bool
IsUnsigned reports whether audio format is unsigned. (https://wiki.libsdl.org/SDL_AudioFormat)
type AudioSpec struct { Freq int32 // DSP frequency (samples per second) Format AudioFormat // audio data format Channels uint8 // number of separate sound channels Silence uint8 // audio buffer silence value (calculated) Samples uint16 // audio buffer size in samples (power of 2) Size uint32 // audio buffer size in bytes (calculated) Callback AudioCallback // the function to call when the audio device needs more data UserData unsafe.Pointer // a pointer that is passed to callback (otherwise ignored by SDL) // contains filtered or unexported fields }
AudioSpec contains the audio output format. It also contains a callback that is called when the audio device needs more data. (https://wiki.libsdl.org/SDL_AudioSpec)
LoadWAV loads a WAVE from a file. (https://wiki.libsdl.org/SDL_LoadWAV)
LoadWAVRW loads a WAVE from the data source, automatically freeing that source if freeSrc is true. (https://wiki.libsdl.org/SDL_LoadWAV_RW)
AudioStatus is an enumeration of audio device states. (https://wiki.libsdl.org/SDL_AudioStatus)
func GetAudioDeviceStatus(dev AudioDeviceID) AudioStatus
GetAudioDeviceStatus returns the current audio state of an audio device. (https://wiki.libsdl.org/SDL_GetAudioDeviceStatus)
func GetAudioStatus() AudioStatus
GetAudioStatus returns the current audio state of the audio device. New programs might want to use GetAudioDeviceStatus() instead. (https://wiki.libsdl.org/SDL_GetAudioStatus)
AudioStream is a new audio conversion interface. (https://wiki.libsdl.org/SDL_AudioStream)
func NewAudioStream(srcFormat AudioFormat, srcChannels uint8, srcRate int, dstFormat AudioFormat, dstChannels uint8, dstRate int) (stream *AudioStream, err error)
NewAudioStream creates a new audio stream TODO: (https://wiki.libsdl.org/SDL_NewAudioStream)
func (stream *AudioStream) Available() (err error)
Available gets the number of converted/resampled bytes available TODO: (https://wiki.libsdl.org/SDL_AudioStreamAvailable)
func (stream *AudioStream) Clear()
Clear clears any pending data in the stream without converting it TODO: (https://wiki.libsdl.org/SDL_AudioStreamClear)
func (stream *AudioStream) Flush() (err error)
Flush tells the stream that you're done sending data, and anything being buffered should be converted/resampled and made available immediately. TODO: (https://wiki.libsdl.org/SDL_AudioStreamFlush)
func (stream *AudioStream) Free()
Free frees the audio stream TODO: (https://wiki.libsdl.org/SDL_AudoiStreamFree)
func (stream *AudioStream) Get(buf []byte) (err error)
Get gets converted/resampled data from the stream TODO: (https://wiki.libsdl.org/SDL_AudioStreamGet)
func (stream *AudioStream) Put(buf []byte) (err error)
Put adds data to be converted/resampled to the stream TODO: (https://wiki.libsdl.org/SDL_AudioStreamPut)
BlendFactor is an enumeration of blend factors used when creating a custom blend mode with ComposeCustomBlendMode(). (https://wiki.libsdl.org/SDL_BlendFactor)
BlendMode is an enumeration of blend modes used in Render.Copy() and drawing operations. (https://wiki.libsdl.org/SDL_BlendMode)
func ComposeCustomBlendMode(srcColorFactor, dstColorFactor BlendFactor, colorOperation BlendOperation, srcAlphaFactor, dstAlphaFactor BlendFactor, alphaOperation BlendOperation) BlendMode
ComposeCustomBlendMode creates a custom blend mode, which may or may not be supported by a given renderer The result of the blend mode operation will be:
dstRGB = dstRGB * dstColorFactor colorOperation srcRGB * srcColorFactor
and
dstA = dstA * dstAlphaFactor alphaOperation srcA * srcAlphaFactor
(https://wiki.libsdl.org/SDL_ComposeCustomBlendMode)
BlendOperation is an enumeration of blend operations used when creating a custom blend mode with ComposeCustomBlendMode(). (https://wiki.libsdl.org/SDL_BlendOperation)
CEvent is a union of all event structures used in SDL. (https://wiki.libsdl.org/SDL_Event)
type ClipboardEvent struct { Type uint32 // CLIPBOARDUPDATE Timestamp uint32 // timestamp of the event }
ClipboardEvent contains clipboard event information. (https://wiki.libsdl.org/SDL_EventType)
func (e *ClipboardEvent) GetTimestamp() uint32
GetTimestamp returns the timestamp of the event.
func (e *ClipboardEvent) GetType() uint32
GetType returns the event type.
CocoaInfo contains Apple Mac OS X window information.
Color represents a color. This implements image/color.Color interface. (https://wiki.libsdl.org/SDL_Color)
Uint32 return uint32 representation of RGBA color.
type CommonEvent struct { Type uint32 // the event type Timestamp uint32 // timestamp of the event }
CommonEvent contains common event data. (https://wiki.libsdl.org/SDL_Event)
func (e *CommonEvent) GetTimestamp() uint32
GetTimestamp returns the timestamp of the event.
func (e *CommonEvent) GetType() uint32
GetType returns the event type.
Cond is the SDL condition variable structure.
CreateCond (https://wiki.libsdl.org/SDL_CreateCond)
Broadcast restarts all threads that are waiting on the condition variable. (https://wiki.libsdl.org/SDL_CondBroadcast)
Destroy creates a condition variable. (https://wiki.libsdl.org/SDL_DestroyCond)
Signal restarts one of the threads that are waiting on the condition variable. (https://wiki.libsdl.org/SDL_CondSignal)
Wait waits until a condition variable is signaled. (https://wiki.libsdl.org/SDL_CondWait)
WaitTimeout waits until a condition variable is signaled or a specified amount of time has passed. (https://wiki.libsdl.org/SDL_CondWaitTimeout)
type ControllerAxisEvent struct { Type uint32 // CONTROLLERAXISMOTION Timestamp uint32 // the timestamp of the event Which JoystickID // the joystick instance id Axis uint8 // the controller axis (https://wiki.libsdl.org/SDL_GameControllerAxis) Value int16 // the axis value (range: -32768 to 32767) // contains filtered or unexported fields }
ControllerAxisEvent contains game controller axis motion event information. (https://wiki.libsdl.org/SDL_ControllerAxisEvent)
func (e *ControllerAxisEvent) GetTimestamp() uint32
GetTimestamp returns the timestamp of the event.
func (e *ControllerAxisEvent) GetType() uint32
GetType returns the event type.
type ControllerButtonEvent struct { Type uint32 // CONTROLLERBUTTONDOWN, CONTROLLERBUTTONUP Timestamp uint32 // the timestamp of the event Which JoystickID // the joystick instance id Button uint8 // the controller button (https://wiki.libsdl.org/SDL_GameControllerButton) State uint8 // PRESSED, RELEASED // contains filtered or unexported fields }
ControllerButtonEvent contains game controller button event information. (https://wiki.libsdl.org/SDL_ControllerButtonEvent)
func (e *ControllerButtonEvent) GetTimestamp() uint32
GetTimestamp returns the timestamp of the event.
func (e *ControllerButtonEvent) GetType() uint32
GetType returns the event type.
type ControllerDeviceEvent struct { Type uint32 // CONTROLLERDEVICEADDED, CONTROLLERDEVICEREMOVED, SDL_CONTROLLERDEVICEREMAPPED Timestamp uint32 // the timestamp of the event Which JoystickID // the joystick device index for the CONTROLLERDEVICEADDED event or instance id for the CONTROLLERDEVICEREMOVED or CONTROLLERDEVICEREMAPPED event }
ControllerDeviceEvent contains controller device event information. (https://wiki.libsdl.org/SDL_ControllerDeviceEvent)
func (e *ControllerDeviceEvent) GetTimestamp() uint32
GetTimestamp returns the timestamp of the event.
func (e *ControllerDeviceEvent) GetType() uint32
GetType returns the event type.
Cursor is a custom cursor created by CreateCursor() or CreateColorCursor().
CreateColorCursor creates a color cursor. (https://wiki.libsdl.org/SDL_CreateColorCursor)
CreateCursor creates a cursor using the specified bitmap data and mask (in MSB format). (https://wiki.libsdl.org/SDL_CreateCursor)
func CreateSystemCursor(id SystemCursor) *Cursor
CreateSystemCursor creates a system cursor. (https://wiki.libsdl.org/SDL_CreateSystemCursor)
GetCursor returns the active cursor. (https://wiki.libsdl.org/SDL_GetCursor)
GetDefaultCursor returns the default cursor. (https://wiki.libsdl.org/SDL_GetDefaultCursor)
type DFBInfo struct { Dfb unsafe.Pointer // the DirectFB main interface Window unsafe.Pointer // the DirectFB window handle Surface unsafe.Pointer // the DirectFB client surface }
DFBInfo contains DirectFB window information.
type DisplayEvent struct { Type uint32 // the event type Timestamp uint32 // timestamp of the event Display uint32 // the associated display index Event uint8 // TODO: (https://wiki.libsdl.org/SDL_DisplayEventID) Data1 int32 // event dependent data // contains filtered or unexported fields }
DisplayEvent contains common event data. (https://wiki.libsdl.org/SDL_Event)
func (e *DisplayEvent) GetTimestamp() uint32
GetTimestamp returns the timestamp of the event.
func (e *DisplayEvent) GetType() uint32
GetType returns the event type.
type DisplayMode struct { Format uint32 // one of the PixelFormatEnum values (https://wiki.libsdl.org/SDL_PixelFormatEnum) W int32 // width, in screen coordinates H int32 // height, in screen coordinates RefreshRate int32 // refresh rate (in Hz), or 0 for unspecified DriverData unsafe.Pointer // driver-specific data, initialize to 0 }
DisplayMode contains the description of a display mode. (https://wiki.libsdl.org/SDL_DisplayMode)
func GetClosestDisplayMode(displayIndex int, mode *DisplayMode, closest *DisplayMode) (*DisplayMode, error)
GetClosestDisplayMode returns the closest match to the requested display mode. (https://wiki.libsdl.org/SDL_GetClosestDisplayMode)
func GetCurrentDisplayMode(displayIndex int) (mode DisplayMode, err error)
GetCurrentDisplayMode returns information about the current display mode. (https://wiki.libsdl.org/SDL_GetCurrentDisplayMode)
func GetDesktopDisplayMode(displayIndex int) (mode DisplayMode, err error)
GetDesktopDisplayMode returns information about the desktop display mode. (https://wiki.libsdl.org/SDL_GetDesktopDisplayMode)
func GetDisplayMode(displayIndex int, modeIndex int) (mode DisplayMode, err error)
GetDisplayMode returns information about a specific display mode. (https://wiki.libsdl.org/SDL_GetDisplayMode)
type DollarGestureEvent struct { Type uint32 // DOLLARGESTURE, DOLLARRECORD Timestamp uint32 // timestamp of the event TouchID TouchID // the touch device id GestureID GestureID // the unique id of the closest gesture to the performed stroke NumFingers uint32 // the number of fingers used to draw the stroke Error float32 // the difference between the gesture template and the actual performed gesture (lower error is a better match) X float32 // the normalized center of gesture Y float32 // the normalized center of gesture }
DollarGestureEvent contains complex gesture event information. (https://wiki.libsdl.org/SDL_DollarGestureEvent)
func (e *DollarGestureEvent) GetTimestamp() uint32
GetTimestamp returns the timestamp of the event.
func (e *DollarGestureEvent) GetType() uint32
GetType returns the event type.
type DropEvent struct { Type uint32 // DROPFILE, DROPTEXT, DROPBEGIN, DROPCOMPLETE Timestamp uint32 // timestamp of the event File string // the file name WindowID uint32 // the window that was dropped on, if any }
DropEvent contains an event used to request a file open by the system. (https://wiki.libsdl.org/SDL_DropEvent)
GetTimestamp returns the timestamp of the event.
GetType returns the event type.
ErrorCode is an error code used in SDL error messages.
type Event interface { GetType() uint32 // GetType returns the event type GetTimestamp() uint32 // GetTimestamp returns the timestamp of the event }
Event is a union of all event structures used in SDL. (https://wiki.libsdl.org/SDL_Event)
PollEvent polls for currently pending events. (https://wiki.libsdl.org/SDL_PollEvent)
WaitEvent waits indefinitely for the next available event. (https://wiki.libsdl.org/SDL_WaitEvent)
WaitEventTimeout waits until the specified timeout (in milliseconds) for the next available event. (https://wiki.libsdl.org/SDL_WaitEventTimeout)
EventAction is the action to take in PeepEvents() function. (https://wiki.libsdl.org/SDL_PeepEvents)
EventFilter is the function to call when an event happens. (https://wiki.libsdl.org/SDL_SetEventFilter)
func GetEventFilter() EventFilter
GetEventFilter queries the current event filter. (https://wiki.libsdl.org/SDL_GetEventFilter)
EventWatchHandle is an event watch callback added with AddEventWatch().
func AddEventWatch(filter EventFilter, userdata interface{}) EventWatchHandle
AddEventWatch adds a callback to be triggered when an event is added to the event queue. (https://wiki.libsdl.org/SDL_AddEventWatch)
func AddEventWatchFunc(filterFunc eventFilterFunc, userdata interface{}) EventWatchHandle
AddEventWatchFunc adds a callback function to be triggered when an event is added to the event queue. (https://wiki.libsdl.org/SDL_AddEventWatch)
type FPoint struct { X float32 // the x coordinate of the point Y float32 // the y coordinate of the point }
FPoint defines a two dimensional point. TODO: (https://wiki.libsdl.org/SDL_FPoint)
InRect reports whether the point resides inside a rectangle. (https://wiki.libsdl.org/SDL_PointInRect)
type FRect struct { X float32 // the x location of the rectangle's upper left corner Y float32 // the y location of the rectangle's upper left corner W float32 // the width of the rectangle H float32 // the height of the rectangle }
FRect contains the definition of a rectangle, with the origin at the upper left. TODO: (https://wiki.libsdl.org/SDL_FRect)
Empty reports whether a rectangle has no area. (https://wiki.libsdl.org/SDL_RectEmpty)
Equals reports whether two rectangles are equal. (https://wiki.libsdl.org/SDL_RectEquals)
HasIntersection reports whether two rectangles intersect. (https://wiki.libsdl.org/SDL_HasIntersection)
Intersect calculates the intersection of two rectangles. (https://wiki.libsdl.org/SDL_IntersectRect)
Union calculates the union of two rectangles. (https://wiki.libsdl.org/SDL_UnionRect)
type Finger struct { ID FingerID // the finger id X float32 // the x-axis location of the touch event, normalized (0...1) Y float32 // the y-axis location of the touch event, normalized (0...1) Pressure float32 // the quantity of pressure applied, normalized (0...1) }
Finger contains touch information.
GetTouchFinger returns the finger object for specified touch device ID and finger index. (https://wiki.libsdl.org/SDL_GetTouchFinger)
FingerID is a finger id.
GLContext is an opaque handle to an OpenGL context.
GLattr is an OpenGL configuration attribute. (https://wiki.libsdl.org/SDL_GLattr)
GameController used to identify an SDL game controller.
func GameControllerFromInstanceID(joyid JoystickID) *GameController
GameControllerFromInstanceID returns the GameController associated with an instance id. (https://wiki.libsdl.org/SDL_GameControllerFromInstanceID)
func GameControllerOpen(index int) *GameController
GameControllerOpen opens a gamecontroller for use. (https://wiki.libsdl.org/SDL_GameControllerOpen)
func (ctrl *GameController) Attached() bool
Attached reports whether a controller has been opened and is currently connected. (https://wiki.libsdl.org/SDL_GameControllerGetAttached)
func (ctrl *GameController) Axis(axis GameControllerAxis) int16
Axis returns the current state of an axis control on a game controller. (https://wiki.libsdl.org/SDL_GameControllerGetAxis)
func (ctrl *GameController) BindForAxis(axis GameControllerAxis) GameControllerButtonBind
BindForAxis returns the SDL joystick layer binding for a controller button mapping. (https://wiki.libsdl.org/SDL_GameControllerGetBindForAxis)
func (ctrl *GameController) BindForButton(btn GameControllerButton) GameControllerButtonBind
BindForButton returns the SDL joystick layer binding for this controller button mapping. (https://wiki.libsdl.org/SDL_GameControllerGetBindForButton)
func (ctrl *GameController) Button(btn GameControllerButton) byte
Button returns the current state of a button on a game controller. (https://wiki.libsdl.org/SDL_GameControllerGetButton)
func (ctrl *GameController) Close()
Close closes a game controller previously opened with GameControllerOpen(). (https://wiki.libsdl.org/SDL_GameControllerClose)
func (ctrl *GameController) Joystick() *Joystick
Joystick returns the Joystick ID from a Game Controller. The game controller builds on the Joystick API, but to be able to use the Joystick's functions with a gamepad, you need to use this first to get the joystick object. (https://wiki.libsdl.org/SDL_GameControllerGetJoystick)
func (ctrl *GameController) Mapping() string
Mapping returns the current mapping of a Game Controller. (https://wiki.libsdl.org/SDL_GameControllerMapping)
func (ctrl *GameController) Name() string
Name returns the implementation dependent name for an opened game controller. (https://wiki.libsdl.org/SDL_GameControllerName)
func (ctrl *GameController) PlayerIndex() int
PlayerIndex the player index of an opened game controller, or -1 if it's not available. TODO: (https://wiki.libsdl.org/SDL_GameControllerGetPlayerIndex)
func (ctrl *GameController) Product() int
Product returns the USB product ID of an opened controller, if available, 0 otherwise.
func (ctrl *GameController) ProductVersion() int
ProductVersion returns the product version of an opened controller, if available, 0 otherwise.
func (ctrl *GameController) Rumble(lowFrequencyRumble, highFrequencyRumble uint16, durationMS uint32) error
Rumble triggers a rumble effect Each call to this function cancels any previous rumble effect, and calling it with 0 intensity stops any rumbling.
lowFrequencyRumble - The intensity of the low frequency (left) rumble motor, from 0 to 0xFFFF highFrequencyRumble - The intensity of the high frequency (right) rumble motor, from 0 to 0xFFFF durationMS - The duration of the rumble effect, in milliseconds
Returns error if rumble isn't supported on this joystick.
TODO: (https://wiki.libsdl.org/SDL_GameControllerRumble)
func (ctrl *GameController) Vendor() int
Vendor returns the USB vendor ID of an opened controller, if available, 0 otherwise.
GameControllerAxis is an axis on a game controller. (https://wiki.libsdl.org/SDL_GameControllerAxis)
func GameControllerGetAxisFromString(pchString string) GameControllerAxis
GameControllerGetAxisFromString converts a string into an enum representation for a GameControllerAxis. (https://wiki.libsdl.org/SDL_GameControllerGetAxisFromString)
GameControllerBindType is a type of game controller input.
GameControllerButton is a button on a game controller. (https://wiki.libsdl.org/SDL_GameControllerButton)
func GameControllerGetButtonFromString(pchString string) GameControllerButton
GameControllerGetButtonFromString turns a string into a button mapping. (https://wiki.libsdl.org/SDL_GameControllerGetButtonFromString)
GameControllerButtonBind SDL joystick layer binding for controller button/axis mapping.
func (bind *GameControllerButtonBind) Axis() int
Axis returns axis mapped for this SDL joystick layer binding.
func (bind *GameControllerButtonBind) Button() int
Button returns button mapped for this SDL joystick layer binding.
func (bind *GameControllerButtonBind) Hat() int
Hat returns hat mapped for this SDL joystick layer binding.
func (bind *GameControllerButtonBind) HatMask() int
HatMask returns hat mask for this SDL joystick layer binding.
func (bind *GameControllerButtonBind) Type() int
Type returns the type of game controller input for this SDL joystick layer binding.
GestureID is the unique id of the closest gesture to the performed stroke.
Haptic identifies an SDL haptic. (https://wiki.libsdl.org/CategoryForceFeedback)
HapticOpen opens a haptic device for use. (https://wiki.libsdl.org/SDL_HapticOpen)
HapticOpenFromJoystick opens a haptic device for use from a joystick device. (https://wiki.libsdl.org/SDL_HapticOpenFromJoystick)
HapticOpenFromMouse open a haptic device from the current mouse. (https://wiki.libsdl.org/SDL_HapticOpenFromMouse)
Close closes a haptic device previously opened with HapticOpen(). (https://wiki.libsdl.org/SDL_HapticClose)
DestroyEffect destroys a haptic effect on the device. (https://wiki.libsdl.org/SDL_HapticDestroyEffect)
func (h *Haptic) EffectSupported(he HapticEffect) (bool, error)
EffectSupported reports whether an effect is supported by a haptic device. Pass pointer to a Haptic struct (Constant|Periodic|Condition|Ramp|LeftRight|Custom) instead of HapticEffect union. (https://wiki.libsdl.org/SDL_HapticEffectSupported)
GetEffectStatus returns the status of the current effect on the specified haptic device. (https://wiki.libsdl.org/SDL_HapticGetEffectStatus)
func (h *Haptic) NewEffect(he HapticEffect) (int, error)
NewEffect creates a new haptic effect on a specified device. Pass pointer to a Haptic struct (Constant|Periodic|Condition|Ramp|LeftRight|Custom) instead of HapticEffect union. (https://wiki.libsdl.org/SDL_HapticNewEffect)
NumAxes returns the number of haptic axes the device has. (https://wiki.libsdl.org/SDL_HapticNumAxes)
NumEffects returns the number of effects a haptic device can store. (https://wiki.libsdl.org/SDL_HapticNumEffects)
NumEffectsPlaying returns the number of effects a haptic device can play at the same time. (https://wiki.libsdl.org/SDL_HapticNumEffectsPlaying)
Pause pauses a haptic device. (https://wiki.libsdl.org/SDL_HapticPause)
Query returns haptic device's supported features in bitwise manner. (https://wiki.libsdl.org/SDL_HapticQuery)
RumbleInit initializes the haptic device for simple rumble playback. (https://wiki.libsdl.org/SDL_HapticRumbleInit)
RumblePlay runs a simple rumble effect on a haptic device. (https://wiki.libsdl.org/SDL_HapticRumblePlay)
RumbleStop stops the simple rumble on a haptic device. (https://wiki.libsdl.org/SDL_HapticRumbleStop)
RumbleSupported reports whether rumble is supported on a haptic device. (https://wiki.libsdl.org/SDL_HapticRumbleSupported)
RunEffect runs the haptic effect on its associated haptic device. (https://wiki.libsdl.org/SDL_HapticRunEffect)
SetAutocenter sets the global autocenter of the device. (https://wiki.libsdl.org/SDL_HapticSetAutocenter)
SetGain sets the global gain of the specified haptic device. (https://wiki.libsdl.org/SDL_HapticSetGain)
StopAll stops all the currently playing effects on a haptic device. (https://wiki.libsdl.org/SDL_HapticStopAll)
StopEffect stops the haptic effect on its associated haptic device. (https://wiki.libsdl.org/SDL_HapticStopEffect)
Unpause unpauses a haptic device. (https://wiki.libsdl.org/SDL_HapticUnpause)
func (h *Haptic) UpdateEffect(effect int, data HapticEffect) error
UpdateEffect updates the properties of an effect. Pass pointer to a Haptic struct (Constant|Periodic|Condition|Ramp|LeftRight|Custom) instead of HapticEffect union. (https://wiki.libsdl.org/SDL_HapticUpdateEffect)
type HapticCondition struct { Type uint16 // HAPTIC_SPRING, HAPTIC_DAMPER, HAPTIC_INERTIA, HAPTIC_FRICTION Direction HapticDirection // direction of the effect - not used at the moment Length uint32 // duration of the effect Delay uint16 // delay before starting the effect Button uint16 // button that triggers the effect Interval uint16 // how soon it can be triggered again after button RightSat [3]uint16 // level when joystick is to the positive side; max 0xFFFF LeftSat [3]uint16 // level when joystick is to the negative side; max 0xFFFF RightCoeff [3]int16 // how fast to increase the force towards the positive side LeftCoeff [3]int16 // how fast to increase the force towards the negative side Deadband [3]uint16 // size of the dead zone; max 0xFFFF: whole axis-range when 0-centered Center [3]int16 // position of the dead zone }
HapticCondition contains a template for a condition effect. (https://wiki.libsdl.org/SDL_HapticCondition)
type HapticConstant struct { Type uint16 // HAPTIC_CONSTANT Direction HapticDirection // direction of the effect Length uint32 // duration of the effect Delay uint16 // delay before starting the effect Button uint16 // button that triggers the effect Interval uint16 // how soon it can be triggered again after button Level int16 // strength of the constant effect AttackLength uint16 // duration of the attack AttackLevel uint16 // level at the start of the attack FadeLength uint16 // duration of the fade FadeLevel uint16 // level at the end of the fade }
HapticConstant contains a template for a constant effect. (https://wiki.libsdl.org/SDL_HapticConstant)
type HapticCustom struct { Type uint16 // SDL_HAPTIC_CUSTOM Direction HapticDirection // direction of the effect Length uint32 // duration of the effect Delay uint16 // delay before starting the effect Button uint16 // button that triggers the effect Interval uint16 // how soon it can be triggered again after button Channels uint8 // axes to use, minimum of 1 Period uint16 // sample periods Samples uint16 // amount of samples Data *uint16 // should contain channels*samples items AttackLength uint16 // duration of the attack AttackLevel uint16 // level at the start of the attack FadeLength uint16 // duration of the fade FadeLevel uint16 // level at the end of the fade }
HapticCustom contains a template for a custom effect. (https://wiki.libsdl.org/SDL_HapticCustom)
type HapticDirection struct { Type byte // the type of encoding Dir [3]int32 // the encoded direction }
HapticDirection contains a haptic direction. (https://wiki.libsdl.org/SDL_HapticDirection)
type HapticEffect interface {
// contains filtered or unexported methods
}
HapticEffect union that contains the generic template for any haptic effect. (https://wiki.libsdl.org/SDL_HapticEffect)
type HapticLeftRight struct { Type uint16 // HAPTIC_LEFTRIGHT Length uint32 // duration of the effect LargeMagnitude uint16 // control of the large controller motor SmallMagnitude uint16 // control of the small controller motor }
HapticLeftRight contains a template for a left/right effect. (https://wiki.libsdl.org/SDL_HapticLeftRight)
type HapticPeriodic struct { Type uint16 // HAPTIC_SINE, HAPTIC_LEFTRIGHT, HAPTIC_TRIANGLE, HAPTIC_SAWTOOTHUP, HAPTIC_SAWTOOTHDOWN Direction HapticDirection // direction of the effect Length uint32 // duration of the effect Delay uint16 // delay before starting the effect Button uint16 // button that triggers the effect Interval uint16 // how soon it can be triggered again after button Period uint16 // period of the wave Magnitude int16 // peak value; if negative, equivalent to 180 degrees extra phase shift Offset int16 // mean value of the wave Phase uint16 // positive phase shift given by hundredth of a degree AttackLength uint16 // duration of the attack AttackLevel uint16 // level at the start of the attack FadeLength uint16 // duration of the fade FadeLevel uint16 // level at the end of the fade }
HapticPeriodic contains a template for a periodic effect. (https://wiki.libsdl.org/SDL_HapticPeriodic)
type HapticRamp struct { Type uint16 // HAPTIC_RAMP Direction HapticDirection // direction of the effect Length uint32 // duration of the effect Delay uint16 // delay before starting the effect Button uint16 // button that triggers the effect Interval uint16 // how soon it can be triggered again after button Start int16 // beginning strength level End int16 // ending strength level AttackLength uint16 // duration of the attack AttackLevel uint16 // level at the start of the attack FadeLength uint16 // duration of the fade FadeLevel uint16 // level at the end of the fade }
HapticRamp contains a template for a ramp effect. (https://wiki.libsdl.org/SDL_HapticRamp)
HintCallback is the function to call when the hint value changes.
type HintCallbackAndData struct {
// contains filtered or unexported fields
}
HintCallbackAndData contains a callback function and userdata.
HintPriority is a hint priority used in SetHintWithPriority(). (https://wiki.libsdl.org/SDL_HintPriority)
type JoyAxisEvent struct { Type uint32 // JOYAXISMOTION Timestamp uint32 // timestamp of the event Which JoystickID // the instance id of the joystick that reported the event Axis uint8 // the index of the axis that changed Value int16 // the current position of the axis (range: -32768 to 32767) // contains filtered or unexported fields }
JoyAxisEvent contains joystick axis motion event information. (https://wiki.libsdl.org/SDL_JoyAxisEvent)
func (e *JoyAxisEvent) GetTimestamp() uint32
GetTimestamp returns the timestamp of the event.
func (e *JoyAxisEvent) GetType() uint32
GetType returns the event type.
type JoyBallEvent struct { Type uint32 // JOYBALLMOTION Timestamp uint32 // timestamp of the event Which JoystickID // the instance id of the joystick that reported the event Ball uint8 // the index of the trackball that changed XRel int16 // the relative motion in the X direction YRel int16 // the relative motion in the Y direction // contains filtered or unexported fields }
JoyBallEvent contains joystick trackball motion event information. (https://wiki.libsdl.org/SDL_JoyBallEvent)
func (e *JoyBallEvent) GetTimestamp() uint32
GetTimestamp returns the timestamp of the event.
func (e *JoyBallEvent) GetType() uint32
GetType returns the event type.
type JoyButtonEvent struct { Type uint32 // JOYBUTTONDOWN, JOYBUTTONUP Timestamp uint32 // timestamp of the event Which JoystickID // the instance id of the joystick that reported the event Button uint8 // the index of the button that changed State uint8 // PRESSED, RELEASED // contains filtered or unexported fields }
JoyButtonEvent contains joystick button event information. (https://wiki.libsdl.org/SDL_JoyButtonEvent)
func (e *JoyButtonEvent) GetTimestamp() uint32
GetTimestamp returns the timestamp of the event.
func (e *JoyButtonEvent) GetType() uint32
GetType returns the event type.
type JoyDeviceAddedEvent struct { Type uint32 // JOYDEVICEADDED Timestamp uint32 // the timestamp of the event Which JoystickID // the joystick device index }
JoyDeviceAddedEvent contains joystick device event information. (https://wiki.libsdl.org/SDL_JoyDeviceEvent)
func (e *JoyDeviceAddedEvent) GetTimestamp() uint32
GetTimestamp returns the timestamp of the event.
func (e *JoyDeviceAddedEvent) GetType() uint32
GetType returns the event type.
type JoyDeviceRemovedEvent struct { Type uint32 // JOYDEVICEREMOVED Timestamp uint32 // the timestamp of the event Which JoystickID // the instance id }
JoyDeviceRemovedEvent contains joystick device event information. (https://wiki.libsdl.org/SDL_JoyDeviceEvent)
func (e *JoyDeviceRemovedEvent) GetTimestamp() uint32
GetTimestamp returns the timestamp of the event.
func (e *JoyDeviceRemovedEvent) GetType() uint32
GetType returns the event type.
type JoyHatEvent struct { Type uint32 // JOYHATMOTION Timestamp uint32 // timestamp of the event Which JoystickID // the instance id of the joystick that reported the event Hat uint8 // the index of the hat that changed Value uint8 // HAT_LEFTUP, HAT_UP, HAT_RIGHTUP, HAT_LEFT, HAT_CENTERED, HAT_RIGHT, HAT_LEFTDOWN, HAT_DOWN, HAT_RIGHTDOWN // contains filtered or unexported fields }
JoyHatEvent contains joystick hat position change event information. (https://wiki.libsdl.org/SDL_JoyHatEvent)
func (e *JoyHatEvent) GetTimestamp() uint32
GetTimestamp returns the timestamp of the event.
func (e *JoyHatEvent) GetType() uint32
GetType returns the event type.
Joystick is an SDL joystick.
func JoystickFromInstanceID(joyid JoystickID) *Joystick
JoystickFromInstanceID returns the Joystick associated with an instance id. (https://wiki.libsdl.org/SDL_JoystickFromInstanceID)
JoystickOpen opens a joystick for use. (https://wiki.libsdl.org/SDL_JoystickOpen)
Attached returns the status of a specified joystick. (https://wiki.libsdl.org/SDL_JoystickGetAttached)
Axis returns the current state of an axis control on a joystick. (https://wiki.libsdl.org/SDL_JoystickGetAxis)
AxisInitialState returns the initial state of an axis control on a joystick, ok is true if this axis has any initial value.
Ball returns the ball axis change since the last poll. (https://wiki.libsdl.org/SDL_JoystickGetBall)
Button the current state of a button on a joystick. (https://wiki.libsdl.org/SDL_JoystickGetButton)
Close closes a joystick previously opened with JoystickOpen(). (https://wiki.libsdl.org/SDL_JoystickClose)
func (joy *Joystick) CurrentPowerLevel() JoystickPowerLevel
CurrentPowerLevel returns the battery level of a joystick as JoystickPowerLevel. (https://wiki.libsdl.org/SDL_JoystickCurrentPowerLevel)
func (joy *Joystick) GUID() JoystickGUID
GUID returns the implementation-dependent GUID for the joystick. (https://wiki.libsdl.org/SDL_JoystickGetGUID)
Hat returns the current state of a POV hat on a joystick. (https://wiki.libsdl.org/SDL_JoystickGetHat)
func (joy *Joystick) InstanceID() JoystickID
InstanceID returns the instance ID of an opened joystick. (https://wiki.libsdl.org/SDL_JoystickInstanceID)
Name returns the implementation dependent name of a joystick. (https://wiki.libsdl.org/SDL_JoystickName)
NumAxes returns the number of general axis controls on a joystick. (https://wiki.libsdl.org/SDL_JoystickNumAxes)
NumBalls returns the number of trackballs on a joystick. (https://wiki.libsdl.org/SDL_JoystickNumBalls)
NumButtons returns the number of buttons on a joystick. (https://wiki.libsdl.org/SDL_JoystickNumButtons)
NumHats returns the number of POV hats on a joystick. (https://wiki.libsdl.org/SDL_JoystickNumHats)
PlayerIndex returns the player index of an opened joystick, or -1 if it's not available. (https://wiki.libsdl.org/SDL_JoystickGetPlayerIndex)
Product returns the USB product ID of an opened joystick, if available, 0 otherwise.
ProductVersion returns the product version of an opened joystick, if available, 0 otherwise.
func (joy *Joystick) Rumble(lowFrequencyRumble, highFrequencyRumble uint16, durationMS uint32) error
Rumble triggers a rumble effect Each call to this function cancels any previous rumble effect, and calling it with 0 intensity stops any rumbling.
lowFrequencyRumble - The intensity of the low frequency (left) rumble motor, from 0 to 0xFFFF highFrequencyRumble - The intensity of the high frequency (right) rumble motor, from 0 to 0xFFFF durationMS - The duration of the rumble effect, in milliseconds
Returns error if rumble isn't supported on this joystick.
TODO: (https://wiki.libsdl.org/SDL_JoystickRumble)
func (joy *Joystick) Type() JoystickType
Type returns the the type of an opened joystick.
Vendor returns the USB vendor ID of an opened joystick, if available, 0 otherwise.
JoystickGUID is a stable unique id for a joystick device.
func JoystickGetDeviceGUID(index int) JoystickGUID
JoystickGetDeviceGUID returns the implementation dependent GUID for the joystick at a given device index. (https://wiki.libsdl.org/SDL_JoystickGetDeviceGUID)
func JoystickGetGUIDFromString(pchGUID string) JoystickGUID
JoystickGetGUIDFromString converts a GUID string into a JoystickGUID structure. (https://wiki.libsdl.org/SDL_JoystickGetGUIDFromString)
JoystickID is joystick's instance id.
func JoystickGetDeviceInstanceID(index int) JoystickID
JoystickGetDeviceInstanceID returns the instance ID of a joystick.
JoystickPowerLevel is a battery level of a joystick.
JoystickType is a type of a joystick.
func JoystickGetDeviceType(index int) JoystickType
JoystickGetDeviceType returns the type of a joystick.
type KeyboardEvent struct { Type uint32 // KEYDOWN, KEYUP Timestamp uint32 // timestamp of the event WindowID uint32 // the window with keyboard focus, if any State uint8 // PRESSED, RELEASED Repeat uint8 // non-zero if this is a key repeat Keysym Keysym // Keysym representing the key that was pressed or released // contains filtered or unexported fields }
KeyboardEvent contains keyboard key down event information. (https://wiki.libsdl.org/SDL_KeyboardEvent)
func (e *KeyboardEvent) GetTimestamp() uint32
GetTimestamp returns the timestamp of the event.
func (e *KeyboardEvent) GetType() uint32
GetType returns the event type.
Keycode is the SDL virtual key representation. (https://wiki.libsdl.org/SDL_Keycode)
GetKeyFromName returns a key code from a human-readable name. (https://wiki.libsdl.org/SDL_GetKeyFromName)
GetKeyFromScancode returns the key code corresponding to the given scancode according to the current keyboard layout. (https://wiki.libsdl.org/SDL_GetKeyFromScancode)
Keymod is a key modifier masks. (https://wiki.libsdl.org/SDL_Keymod)
GetModState returns the current key modifier state for the keyboard. (https://wiki.libsdl.org/SDL_GetModState)
type Keysym struct { Scancode Scancode // SDL physical key code Sym Keycode // SDL virtual key code Mod uint16 // current key modifiers // contains filtered or unexported fields }
Keysym contains key information used in key events. (https://wiki.libsdl.org/SDL_Keysym)
type LogOutputFunction func(data interface{}, category int, pri LogPriority, message string)
LogOutputFunction is the function to call instead of the default
func LogGetOutputFunction() (LogOutputFunction, interface{})
LogGetOutputFunction returns the current log output function. (https://wiki.libsdl.org/SDL_LogGetOutputFunction)
LogPriority is a predefined log priority. (https://wiki.libsdl.org/SDL_LogPriority)
func LogGetPriority(category int) LogPriority
LogGetPriority returns the priority of a particular log category. (https://wiki.libsdl.org/SDL_LogGetPriority)
type MessageBoxButtonData struct { Flags uint32 // MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT, MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT ButtonID int32 // user defined button id (value returned via ShowMessageBox()) Text string // the UTF-8 button text }
MessageBoxButtonData contains individual button data for a message box. (https://wiki.libsdl.org/SDL_MessageBoxButtonData)
type MessageBoxColor struct { R uint8 // the red component in the range 0-255 G uint8 // the green component in the range 0-255 B uint8 // the blue component in the range 0-255 }
MessageBoxColor contains RGB value used in an MessageBoxColorScheme. (https://wiki.libsdl.org/SDL_MessageBoxColor)
type MessageBoxColorScheme struct { Colors [5]MessageBoxColor // background, text, button border, button background, button selected }
MessageBoxColorScheme contains a set of colors to use for message box dialogs. (https://wiki.libsdl.org/SDL_MessageBoxColorScheme)
type MessageBoxData struct { Flags uint32 // MESSAGEBOX_ERROR, MESSAGEBOX_WARNING, MESSAGEBOX_INFORMATION Window *Window // parent window or nil Title string Message string Buttons []MessageBoxButtonData ColorScheme *MessageBoxColorScheme // nil to use system settings }
MessageBoxData contains title, text, window and other data for a message box. (https://wiki.libsdl.org/SDL_MessageBoxData)
type MouseButtonEvent struct { Type uint32 // MOUSEBUTTONDOWN, MOUSEBUTTONUP Timestamp uint32 // timestamp of the event WindowID uint32 // the window with mouse focus, if any Which uint32 // the mouse instance id, or TOUCH_MOUSEID Button uint8 // BUTTON_LEFT, BUTTON_MIDDLE, BUTTON_RIGHT, BUTTON_X1, BUTTON_X2 State uint8 // PRESSED, RELEASED Clicks uint8 // 1 for single-click, 2 for double-click, etc. (>= SDL 2.0.2) X int32 // X coordinate, relative to window Y int32 // Y coordinate, relative to window // contains filtered or unexported fields }
MouseButtonEvent contains mouse button event information. (https://wiki.libsdl.org/SDL_MouseButtonEvent)
func (e *MouseButtonEvent) GetTimestamp() uint32
GetTimestamp returns the timestamp of the event.
func (e *MouseButtonEvent) GetType() uint32
GetType returns the event type.
type MouseMotionEvent struct { Type uint32 // MOUSEMOTION Timestamp uint32 // timestamp of the event WindowID uint32 // the window with mouse focus, if any Which uint32 // the mouse instance id, or TOUCH_MOUSEID State uint32 // BUTTON_LEFT, BUTTON_MIDDLE, BUTTON_RIGHT, BUTTON_X1, BUTTON_X2 X int32 // X coordinate, relative to window Y int32 // Y coordinate, relative to window XRel int32 // relative motion in the X direction YRel int32 // relative motion in the Y direction }
MouseMotionEvent contains mouse motion event information. (https://wiki.libsdl.org/SDL_MouseMotionEvent)
func (e *MouseMotionEvent) GetTimestamp() uint32
GetTimestamp returns the timestamp of the event.
func (e *MouseMotionEvent) GetType() uint32
GetType returns the event type.
type MouseWheelEvent struct { Type uint32 // MOUSEWHEEL Timestamp uint32 // timestamp of the event WindowID uint32 // the window with mouse focus, if any Which uint32 // the mouse instance id, or TOUCH_MOUSEID X int32 // the amount scrolled horizontally, positive to the right and negative to the left Y int32 // the amount scrolled vertically, positive away from the user and negative toward the user Direction uint32 // MOUSEWHEEL_NORMAL, MOUSEWHEEL_FLIPPED (>= SDL 2.0.4) }
MouseWheelEvent contains mouse wheel event information. (https://wiki.libsdl.org/SDL_MouseWheelEvent)
func (e *MouseWheelEvent) GetTimestamp() uint32
GetTimestamp returns the timestamp of the event.
func (e *MouseWheelEvent) GetType() uint32
GetType returns the event type.
type MultiGestureEvent struct { Type uint32 // MULTIGESTURE Timestamp uint32 // timestamp of the event TouchID TouchID // the touch device id DTheta float32 // the amount that the fingers rotated during this motion DDist float32 // the amount that the fingers pinched during this motion X float32 // the normalized center of gesture Y float32 // the normalized center of gesture NumFingers uint16 // the number of fingers used in the gesture // contains filtered or unexported fields }
MultiGestureEvent contains multiple finger gesture event information. (https://wiki.libsdl.org/SDL_MultiGestureEvent)
func (e *MultiGestureEvent) GetTimestamp() uint32
GetTimestamp returns the timestamp of the event.
func (e *MultiGestureEvent) GetType() uint32
GetType returns the event type.
Mutex is the SDL mutex structure.
CreateMutex creates a new mutex. (https://wiki.libsdl.org/SDL_CreateMutex)
Destroy destroys a mutex created with CreateMutex(). (https://wiki.libsdl.org/SDL_DestroyMutex)
Lock locks a mutex created with CreateMutex(). (https://wiki.libsdl.org/SDL_LockMutex)
TryLock tries to lock a mutex without blocking. (https://wiki.libsdl.org/SDL_TryLockMutex)
Unlock unlocks a mutex created with CreateMutex(). (https://wiki.libsdl.org/SDL_UnlockMutex)
OSEvent contains OS specific event information.
GetTimestamp returns the timestamp of the event.
GetType returns the event type.
type Palette struct { Ncolors int32 // the number of colors in the palette Colors *Color // an array of Color structures representing the palette (https://wiki.libsdl.org/SDL_Color) // contains filtered or unexported fields }
Palette contains palette information. (https://wiki.libsdl.org/SDL_Palette)
AllocPalette creates a palette structure with the specified number of color entries. (https://wiki.libsdl.org/SDL_AllocPalette)
Free frees the palette created with AllocPalette(). (https://wiki.libsdl.org/SDL_FreePalette)
SetColors sets a range of colors in the palette. (https://wiki.libsdl.org/SDL_SetPaletteColors)
type PixelFormat struct { Format uint32 // one of the PIXELFORMAT values (https://wiki.libsdl.org/SDL_PixelFormatEnum) Palette *Palette // palette structure associated with this pixel format, or nil if the format doesn't have a palette (https://wiki.libsdl.org/SDL_Palette) BitsPerPixel uint8 // the number of significant bits in a pixel value, eg: 8, 15, 16, 24, 32 BytesPerPixel uint8 // the number of bytes required to hold a pixel value, eg: 1, 2, 3, 4 Rmask uint32 // a mask representing the location of the red component of the pixel Gmask uint32 // a mask representing the location of the green component of the pixel Bmask uint32 // a mask representing the location of the blue component of the pixel Amask uint32 // a mask representing the location of the alpha component of the pixel or 0 if the pixel format doesn't have any alpha information // contains filtered or unexported fields }
PixelFormat contains pixel format information. (https://wiki.libsdl.org/SDL_PixelFormat)
func AllocFormat(format uint) (*PixelFormat, error)
AllocFormat creates a PixelFormat structure corresponding to a pixel format. (https://wiki.libsdl.org/SDL_AllocFormat)
func (format *PixelFormat) Free()
Free frees the PixelFormat structure allocated by AllocFormat(). (https://wiki.libsdl.org/SDL_FreeFormat)
func (format *PixelFormat) SetPalette(palette *Palette) error
SetPalette sets the palette for the pixel format structure. (https://wiki.libsdl.org/SDL_SetPixelFormatPalette)
type Point struct { X int32 // the x coordinate of the point Y int32 // the y coordinate of the point }
Point defines a two dimensional point. (https://wiki.libsdl.org/SDL_Point)
InRect reports whether the point resides inside a rectangle. (https://wiki.libsdl.org/SDL_PointInRect)
PowerState is the basic state for the system's power supply. (https://wiki.libsdl.org/SDL_PowerState)
QuitEvent contains the "quit requested" event. (https://wiki.libsdl.org/SDL_QuitEvent)
GetTimestamp returns the timestamp of the event.
GetType returns the event type.
RWops provides an abstract interface to stream I/O. Applications can generally ignore the specifics of this structure's internals and treat them as opaque pointers. The details are important to lower-level code that might need to implement one of these, however. (https://wiki.libsdl.org/SDL_RWops)
AllocRW allocates an empty, unpopulated RWops structure. (https://wiki.libsdl.org/SDL_AllocRW)
RWFromFile creates a new RWops structure for reading from and/or writing to a named file. (https://wiki.libsdl.org/SDL_RWFromFile)
RWFromMem prepares a read-write memory buffer for use with RWops. (https://wiki.libsdl.org/SDL_RWFromMem)
Close closes and frees the allocated RWops structure. (https://wiki.libsdl.org/SDL_RWclose)
Free frees the RWops structure allocated by AllocRW(). (https://wiki.libsdl.org/SDL_FreeRW)
LoadFile_RW loads all the data from an SDL data stream. (https://wiki.libsdl.org/SDL_LoadFile_RW)
Read reads from a data source. (https://wiki.libsdl.org/SDL_RWread)
Read2 reads from a data source (native). (https://wiki.libsdl.org/SDL_RWread)
ReadBE16 read 16 bits of big-endian data from the RWops and returns in native format. (https://wiki.libsdl.org/SDL_ReadBE16)
ReadBE32 reads 32 bits of big-endian data from the RWops and returns in native format. (https://wiki.libsdl.org/SDL_ReadBE32)
ReadBE64 reads 64 bits of big-endian data from the RWops and returns in native format. (https://wiki.libsdl.org/SDL_ReadBE64)
ReadLE16 reads 16 bits of little-endian data from the RWops and returns in native format. (https://wiki.libsdl.org/SDL_ReadLE16)
ReadLE32 reads 32 bits of little-endian data from the RWops and returns in native format. (https://wiki.libsdl.org/SDL_ReadLE32)
ReadLE64 reads 64 bits of little-endian data from the RWops and returns in native format. (https://wiki.libsdl.org/SDL_ReadLE64)
ReadU8 reads a byte from the RWops. (https://wiki.libsdl.org/SDL_ReadU8)
Seek seeks within the RWops data stream. (https://wiki.libsdl.org/SDL_RWseek)
Size returns the size of the data stream in the RWops. (https://wiki.libsdl.org/SDL_RWsize)
Tell returns the current read/write offset in the RWops data stream. (https://wiki.libsdl.org/SDL_RWtell)
Write writes to the RWops data stream. (https://wiki.libsdl.org/SDL_RWwrite)
Write2 writes to the RWops data stream (native). (https://wiki.libsdl.org/SDL_RWwrite)
WriteBE16 writes 16 bits in native format to the RWops as big-endian data. (https://wiki.libsdl.org/SDL_WriteBE16)
WriteBE32 writes 32 bits in native format to the RWops as big-endian data. (https://wiki.libsdl.org/SDL_WriteBE32)
WriteBE64 writes 64 bits in native format to the RWops as big-endian data. (https://wiki.libsdl.org/SDL_WriteBE64)
WriteLE16 writes 16 bits in native format to the RWops as little-endian data. (https://wiki.libsdl.org/SDL_WriteLE16)
WriteLE32 writes 32 bits in native format to the RWops as little-endian data. (https://wiki.libsdl.org/SDL_WriteLE32)
WriteLE64 writes 64 bits in native format to the RWops as little-endian data. (https://wiki.libsdl.org/SDL_WriteLE64)
WriteU8 writes a byte to the RWops. (https://wiki.libsdl.org/SDL_WriteU8)
type Rect struct { X int32 // the x location of the rectangle's upper left corner Y int32 // the y location of the rectangle's upper left corner W int32 // the width of the rectangle H int32 // the height of the rectangle }
Rect contains the definition of a rectangle, with the origin at the upper left. (https://wiki.libsdl.org/SDL_Rect)
EnclosePoints calculates a minimal rectangle that encloses a set of points. (https://wiki.libsdl.org/SDL_EnclosePoints)
GetDisplayBounds returns the desktop area represented by a display, with the primary display located at 0,0. (https://wiki.libsdl.org/SDL_GetDisplayBounds)
GetDisplayUsableBounds returns the usable desktop area represented by a display, with the primary display located at 0,0. (https://wiki.libsdl.org/SDL_GetDisplayUsableBounds)
Empty reports whether a rectangle has no area. (https://wiki.libsdl.org/SDL_RectEmpty)
Equals reports whether two rectangles are equal. (https://wiki.libsdl.org/SDL_RectEquals)
HasIntersection reports whether two rectangles intersect. (https://wiki.libsdl.org/SDL_HasIntersection)
Intersect calculates the intersection of two rectangles. (https://wiki.libsdl.org/SDL_IntersectRect)
IntersectLine calculates the intersection of a rectangle and a line segment. (https://wiki.libsdl.org/SDL_IntersectRectAndLine)
Union calculates the union of two rectangles. (https://wiki.libsdl.org/SDL_UnionRect)
type RenderEvent struct { Type uint32 // the event type Timestamp uint32 // timestamp of the event }
RenderEvent contains render event information. (https://wiki.libsdl.org/SDL_EventType)
func (e *RenderEvent) GetTimestamp() uint32
GetTimestamp returns the timestamp of the event.
func (e *RenderEvent) GetType() uint32
GetType returns the event type.
Renderer contains a rendering state. (https://wiki.libsdl.org/SDL_Renderer)
CreateRenderer returns a new 2D rendering context for a window. (https://wiki.libsdl.org/SDL_CreateRenderer)
CreateSoftwareRenderer returns a new 2D software rendering context for a surface. (https://wiki.libsdl.org/SDL_CreateSoftwareRenderer)
Clear clears the current rendering target with the drawing color. (https://wiki.libsdl.org/SDL_RenderClear)
Copy copies a portion of the texture to the current rendering target. (https://wiki.libsdl.org/SDL_RenderCopy)
func (renderer *Renderer) CopyEx(texture *Texture, src, dst *Rect, angle float64, center *Point, flip RendererFlip) error
CopyEx copies a portion of the texture to the current rendering target, optionally rotating it by angle around the given center and also flipping it top-bottom and/or left-right. (https://wiki.libsdl.org/SDL_RenderCopyEx)
func (renderer *Renderer) CopyExF(texture *Texture, src *Rect, dst *FRect, angle float64, center *FPoint, flip RendererFlip) error
CopyExF copies a portion of the texture to the current rendering target, optionally rotating it by angle around the given center and also flipping it top-bottom and/or left-right. TODO: (https://wiki.libsdl.org/SDL_RenderCopyExF)
CopyF copies a portion of the texture to the current rendering target. TODO: (https://wiki.libsdl.org/SDL_RenderCopyF)
CreateTexture returns a new texture for a rendering context. (https://wiki.libsdl.org/SDL_CreateTexture)
CreateTextureFromSurface returns a new texture from an existing surface. (https://wiki.libsdl.org/SDL_CreateTextureFromSurface)
Destroy destroys the rendering context for a window and free associated textures. (https://wiki.libsdl.org/SDL_DestroyRenderer)
DrawLine draws a line on the current rendering target. (https://wiki.libsdl.org/SDL_RenderDrawLine)
DrawLineF draws a line on the current rendering target. TODO: (https://wiki.libsdl.org/SDL_RenderDrawLineF)
DrawLines draws a series of connected lines on the current rendering target. (https://wiki.libsdl.org/SDL_RenderDrawLines)
DrawLinesF draws a series of connected lines on the current rendering target. TODO: (https://wiki.libsdl.org/SDL_RenderDrawLinesF)
DrawPoint draws a point on the current rendering target. (https://wiki.libsdl.org/SDL_RenderDrawPoint)
DrawPointF draws a point on the current rendering target. TODO: (https://wiki.libsdl.org/SDL_RenderDrawPointF)
DrawPoints draws multiple points on the current rendering target. (https://wiki.libsdl.org/SDL_RenderDrawPoints)
DrawPointsF draws multiple points on the current rendering target. TODO: (https://wiki.libsdl.org/SDL_RenderDrawPointsF)
DrawRect draws a rectangle on the current rendering target. (https://wiki.libsdl.org/SDL_RenderDrawRect)
DrawRectF draws a rectangle on the current rendering target. TODO: (https://wiki.libsdl.org/SDL_RenderDrawRectF)
DrawRects draws some number of rectangles on the current rendering target. (https://wiki.libsdl.org/SDL_RenderDrawRects)
DrawRectsF draws some number of rectangles on the current rendering target. TODO: (https://wiki.libsdl.org/SDL_RenderDrawRectsF)
FillRect fills a rectangle on the current rendering target with the drawing color. (https://wiki.libsdl.org/SDL_RenderFillRect)
FillRectF fills a rectangle on the current rendering target with the drawing color. TODO: (https://wiki.libsdl.org/SDL_RenderFillRectF)
FillRects fills some number of rectangles on the current rendering target with the drawing color. (https://wiki.libsdl.org/SDL_RenderFillRects)
FillRectsF fills some number of rectangles on the current rendering target with the drawing color. TODO: (https://wiki.libsdl.org/SDL_RenderFillRectsF)
Flush forces the rendering context to flush any pending commands to the underlying rendering API. TODO: (https://wiki.libsdl.org/SDL_RenderFlush)
GetClipRect returns the clip rectangle for the current target. (https://wiki.libsdl.org/SDL_RenderGetClipRect)
GetDrawBlendMode returns the blend mode used for drawing operations. (https://wiki.libsdl.org/SDL_GetRenderDrawBlendMode)
GetDrawColor returns the color used for drawing operations (Rect, Line and Clear). (https://wiki.libsdl.org/SDL_GetRenderDrawColor)
func (renderer *Renderer) GetInfo() (RendererInfo, error)
GetInfo returns information about a rendering context. (https://wiki.libsdl.org/SDL_GetRendererInfo)
GetIntegerScale reports whether integer scales are forced for resolution-independent rendering.
(https://wiki.libsdl.org/SDL_RenderGetIntegerScale)
GetLogicalSize returns device independent resolution for rendering. (https://wiki.libsdl.org/SDL_RenderGetLogicalSize)
GetMetalCommandEncoder gets the Metal command encoder for the current frame (https://wiki.libsdl.org/SDL_RenderGetMetalCommandEncoder)
GetMetalLayer gets the CAMetalLayer associated with the given Metal renderer (https://wiki.libsdl.org/SDL_RenderGetMetalLayer)
GetOutputSize returns the output size in pixels of a rendering context. (https://wiki.libsdl.org/SDL_GetRendererOutputSize)
GetRenderTarget returns the current render target. (https://wiki.libsdl.org/SDL_GetRenderTarget)
GetScale returns the drawing scale for the current target. (https://wiki.libsdl.org/SDL_RenderGetScale)
GetViewport returns the drawing area for the current target. (https://wiki.libsdl.org/SDL_RenderGetViewport)
Present updates the screen with any rendering performed since the previous call. (https://wiki.libsdl.org/SDL_RenderPresent)
func (renderer *Renderer) ReadPixels(rect *Rect, format uint32, pixels unsafe.Pointer, pitch int) error
ReadPixels reads pixels from the current rendering target. (https://wiki.libsdl.org/SDL_RenderReadPixels)
RenderTargetSupported reports whether a window supports the use of render targets. (https://wiki.libsdl.org/SDL_RenderTargetSupported)
SetClipRect sets the clip rectangle for rendering on the specified target. (https://wiki.libsdl.org/SDL_RenderSetClipRect)
SetDrawBlendMode sets the blend mode used for drawing operations (Fill and Line). (https://wiki.libsdl.org/SDL_SetRenderDrawBlendMode)
SetDrawColor sets the color used for drawing operations (Rect, Line and Clear). (https://wiki.libsdl.org/SDL_SetRenderDrawColor)
SetDrawColorArray is a custom variant of SetDrawColor.
SetIntegerScale sets whether to force integer scales for resolution-independent rendering.
This function restricts the logical viewport to integer values - that is, when a resolution is between two multiples of a logical size, the viewport size is rounded down to the lower multiple.
(https://wiki.libsdl.org/SDL_RenderSetIntegerScale)
SetLogicalSize sets a device independent resolution for rendering. (https://wiki.libsdl.org/SDL_RenderSetLogicalSize)
SetRenderTarget sets a texture as the current rendering target. (https://wiki.libsdl.org/SDL_SetRenderTarget)
SetScale sets the drawing scale for rendering on the current target. (https://wiki.libsdl.org/SDL_RenderSetScale)
SetViewport sets the drawing area for rendering on the current target. (https://wiki.libsdl.org/SDL_RenderSetViewport)
RendererFlip is an enumeration of flags that can be used in the flip parameter for Renderer.CopyEx(). (https://wiki.libsdl.org/SDL_RendererFlip)
type RendererInfo struct { Name string // the name of the renderer RendererInfoData }
RendererInfo contains information on the capabilities of a render driver or the current render context. (https://wiki.libsdl.org/SDL_RendererInfo)
type RendererInfoData struct { Flags uint32 // a mask of supported renderer flags NumTextureFormats uint32 // the number of available texture formats TextureFormats [16]int32 // the available texture formats MaxTextureWidth int32 // the maximum texture width MaxTextureHeight int32 // the maximum texture height }
RendererInfoData contains information on the capabilities of a render driver or the current render context. (https://wiki.libsdl.org/SDL_RendererInfo)
Scancode is an SDL keyboard scancode representation. (https://wiki.libsdl.org/SDL_Scancode)
GetScancodeFromKey returns the scancode corresponding to the given key code according to the current keyboard layout. (https://wiki.libsdl.org/SDL_GetScancodeFromKey)
GetScancodeFromName returns a scancode from a human-readable name. (https://wiki.libsdl.org/SDL_GetScancodeFromName)
Sem is the SDL semaphore structure.
CreateSemaphore creates a semaphore. (https://wiki.libsdl.org/SDL_CreateSemaphore)
Destroy destroys a semaphore. (https://wiki.libsdl.org/SDL_DestroySemaphore)
Post atomically increments a semaphore's value and wake waiting threads. (https://wiki.libsdl.org/SDL_SemPost)
TryWait sees if a semaphore has a positive value and decrement it if it does. (https://wiki.libsdl.org/SDL_SemTryWait)
Value returns the current value of a semaphore. (https://wiki.libsdl.org/SDL_SemValue)
Wait waits until a semaphore has a positive value and then decrements it. (https://wiki.libsdl.org/SDL_SemWait)
WaitTimeout waits until a semaphore has a positive value and then decrements it. (https://wiki.libsdl.org/SDL_SemWaitTimeout)
SensorFromInstanceID returns the Sensor associated with an instance id. (https://wiki.libsdl.org/SDL_SensorFromInstanceID)
SensorOpen opens a sensor for use.
The index passed as an argument refers to the N'th sensor on the system.
Returns a sensor identifier, or nil if an error occurred. (https://wiki.libsdl.org/SDL_SensorOpen)
Close closes a sensor previously opened with SensorOpen() (https://wiki.libsdl.org/SDL_SensorClose)
GetData gets the current state of an opened sensor.
The number of values and interpretation of the data is sensor dependent. (https://wiki.libsdl.org/SDL_SensorGetData)
GetInstanceID gets the instance ID of a sensor.
This can be called before any sensors are opened.
Returns the sensor instance ID, or -1 if the sensor is nil. (https://wiki.libsdl.org/SDL_SensorGetInstanceID)
GetName gets the implementation dependent name of a sensor.
Returns the sensor name, or empty string if the sensor is nil. (https://wiki.libsdl.org/SDL_SensorGetName)
GetNonPortableType gets the platform dependent type of a sensor.
This can be called before any sensors are opened.
Returns the sensor platform dependent type, or -1 if the sensor is nil. (https://wiki.libsdl.org/SDL_SensorGetNonPortableType)
func (sensor *Sensor) GetType() (typ SensorType)
GetType gets the type of a sensor.
This can be called before any sensors are opened.
Returns the sensor type, or SENSOR_INVALID if the sensor is nil. (https://wiki.libsdl.org/SDL_SensorGetType)
type SensorEvent struct { Type uint32 // SDL_SENSORUPDATE Timestamp uint32 // In milliseconds, populated using SDL_GetTicks() Which int32 // The instance ID of the sensor Data [6]float32 // Up to 6 values from the sensor - additional values can be queried using SDL_SensorGetData() }
SensorEvent contains data from sensors such as accelerometer and gyroscope (https://wiki.libsdl.org/SDL_SensorEvent)
func (e *SensorEvent) GetTimestamp() uint32
GetTimestamp returns the timestamp of the event.
func (e *SensorEvent) GetType() uint32
GetType returns the event type.
SensorGetDeviceInstanceID gets the instance ID of a sensor.
This can be called before any sensors are opened.
Returns the sensor instance ID, or -1 if deviceIndex is out of range. (https://wiki.libsdl.org/SDL_SensorGetDeviceInstanceID)
const ( SENSOR_INVALID SensorType = -1 // Returned for an invalid sensor SENSOR_UNKNOWN // Unknown sensor type SENSOR_ACCEL // Accelerometer SENSOR_GYRO // Gyroscope )
The different sensors defined by SDL
Additional sensors may be available, using platform dependent semantics.
Here are the additional Android sensors: https://developer.android.com/reference/android/hardware/SensorEvent.html#values
func SensorGetDeviceType(deviceIndex int) (typ SensorType)
SensorGetDeviceType gets the type of a sensor. This can be called before any sensors are opened. Returns the sensor type, or SDL_SENSOR_INVALID if deviceIndex is out of range.
(https://wiki.libsdl.org/SDL_SensorGetDeviceType)
SharedObject is a pointer to the object handle.
func LoadObject(sofile string) SharedObject
LoadObject dynamically loads a shared object and returns a pointer to the object handle. (https://wiki.libsdl.org/SDL_LoadObject)
func (handle SharedObject) LoadFunction(name string) unsafe.Pointer
LoadFunction returns a pointer to the named function from the shared object. (https://wiki.libsdl.org/SDL_LoadFunction)
func (handle SharedObject) Unload()
Unload unloads a shared object from memory. (https://wiki.libsdl.org/SDL_UnloadObject)
type Surface struct { Format *PixelFormat // the format of the pixels stored in the surface (read-only) (https://wiki.libsdl.org/SDL_PixelFormat) W int32 // the width in pixels (read-only) H int32 // the height in pixels (read-only) Pitch int32 // the length of a row of pixels in bytes (read-only) UserData unsafe.Pointer // an arbitrary pointer you can set ClipRect Rect // a Rect structure used to clip blits to the surface which can be set by SetClipRect() (read-only) RefCount int32 // reference count that can be incremented by the application // contains filtered or unexported fields }
Surface contains a collection of pixels used in software blitting. (https://wiki.libsdl.org/SDL_Surface)
func CreateRGBSurface(flags uint32, width, height, depth int32, Rmask, Gmask, Bmask, Amask uint32) (*Surface, error)
CreateRGBSurface allocates a new RGB surface. (https://wiki.libsdl.org/SDL_CreateRGBSurface)
func CreateRGBSurfaceFrom(pixels unsafe.Pointer, width, height int32, depth, pitch int, Rmask, Gmask, Bmask, Amask uint32) (*Surface, error)
CreateRGBSurfaceFrom allocate a new RGB surface with existing pixel data. (https://wiki.libsdl.org/SDL_CreateRGBSurfaceFrom)
func CreateRGBSurfaceWithFormat(flags uint32, width, height, depth int32, format uint32) (*Surface, error)
CreateRGBSurfaceWithFormat allocates an RGB surface. (https://wiki.libsdl.org/SDL_CreateRGBSurfaceWithFormat)
func CreateRGBSurfaceWithFormatFrom(pixels unsafe.Pointer, width, height, depth, pitch int32, format uint32) (*Surface, error)
CreateRGBSurfaceWithFormatFrom allocates an RGB surface from provided pixel data. (https://wiki.libsdl.org/SDL_CreateRGBSurfaceWithFormatFrom)
LoadBMP loads a surface from a BMP file. (https://wiki.libsdl.org/SDL_LoadBMP)
LoadBMPRW loads a BMP image from a seekable SDL data stream (memory or file). (https://wiki.libsdl.org/SDL_LoadBMP_RW)
At returns the pixel color at (x, y)
Blit performs a fast surface copy to a destination surface. (https://wiki.libsdl.org/SDL_BlitSurface)
BlitScaled performs a scaled surface copy to a destination surface. (https://wiki.libsdl.org/SDL_BlitScaled)
Bounds return the bounds of this surface. Currently, it always starts at (0,0), but this is not guaranteed in the future so don't rely on it.
BytesPerPixel return the number of significant bits in a pixel values of the surface.
ColorModel returns the color model used by this Surface.
Convert copies the existing surface into a new one that is optimized for blitting to a surface of a specified pixel format. (https://wiki.libsdl.org/SDL_ConvertSurface)
ConvertFormat copies the existing surface to a new surface of the specified format. (https://wiki.libsdl.org/SDL_ConvertSurfaceFormat)
Data returns the pointer to the actual pixel data of the surface.
Duplicate creates a new surface identical to the existing surface
FillRect performs a fast fill of a rectangle with a specific color. (https://wiki.libsdl.org/SDL_FillRect)
FillRects performs a fast fill of a set of rectangles with a specific color. (https://wiki.libsdl.org/SDL_FillRects)
Free frees the RGB surface. (https://wiki.libsdl.org/SDL_FreeSurface)
GetAlphaMod returns the additional alpha value used in blit operations. (https://wiki.libsdl.org/SDL_GetSurfaceAlphaMod)
GetBlendMode returns the blend mode used for blit operations. (https://wiki.libsdl.org/SDL_GetSurfaceBlendMode)
GetClipRect returns the clipping rectangle for a surface. (https://wiki.libsdl.org/SDL_GetClipRect)
GetColorKey returns the color key (transparent pixel) for the surface. (https://wiki.libsdl.org/SDL_GetColorKey)
GetColorMod returns the additional color value multiplied into blit operations. (https://wiki.libsdl.org/SDL_GetSurfaceColorMod)
HasColorKey returns the color key (transparent pixel) for the surface. TODO: (https://wiki.libsdl.org/SDL_HasColorKey)
Lock sets up the surface for directly accessing the pixels. (https://wiki.libsdl.org/SDL_LockSurface)
LowerBlit performs low-level surface blitting only. (https://wiki.libsdl.org/SDL_LowerBlit)
LowerBlitScaled performs low-level surface scaled blitting only. (https://wiki.libsdl.org/SDL_LowerBlitScaled)
MustLock reports whether the surface must be locked for access. (https://wiki.libsdl.org/SDL_MUSTLOCK)
PixelNum returns the number of pixels stored in the surface.
Pixels returns the actual pixel data of the surface.
SaveBMP saves the surface to a BMP file. (https://wiki.libsdl.org/SDL_SaveBMP)
SaveBMPRW save the surface to a seekable SDL data stream (memory or file) in BMP format. (https://wiki.libsdl.org/SDL_SaveBMP_RW)
Set the color of the pixel at (x, y) using this surface's color model to convert c to the appropriate color. This method is required for the draw.Image interface. The surface may require locking before calling Set.
SetAlphaMod sets an additional alpha value used in blit operations. (https://wiki.libsdl.org/SDL_SetSurfaceAlphaMod)
SetBlendMode sets the blend mode used for blit operations. (https://wiki.libsdl.org/SDL_SetSurfaceBlendMode)
SetClipRect sets the clipping rectangle for the surface (https://wiki.libsdl.org/SDL_SetClipRect)
SetColorKey sets the color key (transparent pixel) in the surface. (https://wiki.libsdl.org/SDL_SetColorKey)
SetColorMod sets an additional color value multiplied into blit operations. (https://wiki.libsdl.org/SDL_SetSurfaceColorMod)
SetPalette sets the palette used by the surface. (https://wiki.libsdl.org/SDL_SetSurfacePalette)
SetRLE sets the RLE acceleration hint for the surface. (https://wiki.libsdl.org/SDL_SetSurfaceRLE)
SoftStretch has been replaced by BlitScaled(). (https://wiki.libsdl.org/SDL_SoftStretch)
Unlock releases the surface after directly accessing the pixels. (https://wiki.libsdl.org/SDL_UnlockSurface)
UpperBlit has been replaced by Blit(). (https://wiki.libsdl.org/SDL_UpperBlit)
UpperBlitScaled has been replaced by BlitScaled(). (https://wiki.libsdl.org/SDL_UpperBlitScaled)
type SysWMEvent struct { Type uint32 // SYSWMEVENT Timestamp uint32 // timestamp of the event Msg *SysWMmsg // driver dependent data, defined in SDL_syswm.h }
SysWMEvent contains a video driver dependent system event. (https://wiki.libsdl.org/SDL_SysWMEvent)
func (e *SysWMEvent) GetTimestamp() uint32
GetTimestamp returns the timestamp of the event.
func (e *SysWMEvent) GetType() uint32
GetType returns the event type.
type SysWMInfo struct { Version Version // a Version structure that contains the current SDL version Subsystem uint32 // the windowing system type // contains filtered or unexported fields }
SysWMInfo contains system-dependent information about a window. (https://wiki.libsdl.org/SDL_SysWMinfo)
GetCocoaInfo returns Apple Mac OS X window information.
GetDFBInfo returns DirectFB window information.
GetUIKitInfo returns Apple iOS window information.
func (info *SysWMInfo) GetWindowsInfo() *WindowsInfo
GetWindowsInfo returns Microsoft Windows window information.
GetX11Info returns X Window System window information.
type SysWMmsg struct { Version Version // a Version structure that contains the current SDL version Subsystem uint32 // the windowing system type // contains filtered or unexported fields }
SysWMmsg contains system-dependent window manager messages. (https://wiki.libsdl.org/SDL_SysWMmsg)
SystemCursor is a system cursor created by CreateSystemCursor().
type TextEditingEvent struct { Type uint32 // TEXTEDITING Timestamp uint32 // timestamp of the event WindowID uint32 // the window with keyboard focus, if any Text [C.SDL_TEXTINPUTEVENT_TEXT_SIZE]byte // the null-terminated editing text in UTF-8 encoding Start int32 // the location to begin editing from Length int32 // the number of characters to edit from the start point }
TextEditingEvent contains keyboard text editing event information. (https://wiki.libsdl.org/SDL_TextEditingEvent)
func (e *TextEditingEvent) GetText() string
GetText returns the text as string
func (e *TextEditingEvent) GetTimestamp() uint32
GetTimestamp returns the timestamp of the event.
func (e *TextEditingEvent) GetType() uint32
GetType returns the event type.
type TextInputEvent struct { Type uint32 // TEXTINPUT Timestamp uint32 // timestamp of the event WindowID uint32 // the window with keyboard focus, if any Text [C.SDL_TEXTINPUTEVENT_TEXT_SIZE]byte // the null-terminated input text in UTF-8 encoding }
TextInputEvent contains keyboard text input event information. (https://wiki.libsdl.org/SDL_TextInputEvent)
func (e *TextInputEvent) GetText() string
GetText returns the text as string
func (e *TextInputEvent) GetTimestamp() uint32
GetTimestamp returns the timestamp of the event.
func (e *TextInputEvent) GetType() uint32
GetType returns the event type.
Texture contains an efficient, driver-specific representation of pixel data. (https://wiki.libsdl.org/SDL_Texture)
Destroy destroys the specified texture. (https://wiki.libsdl.org/SDL_DestroyTexture)
GLBind binds an OpenGL/ES/ES2 texture to the current context for use with OpenGL instructions when rendering OpenGL primitives directly. (https://wiki.libsdl.org/SDL_GL_BindTexture)
GLUnbind unbinds an OpenGL/ES/ES2 texture from the current context. (https://wiki.libsdl.org/SDL_GL_UnbindTexture)
GetAlphaMod returns the additional alpha value multiplied into render copy operations. (https://wiki.libsdl.org/SDL_GetTextureAlphaMod)
GetBlendMode returns the blend mode used for texture copy operations. (https://wiki.libsdl.org/SDL_GetTextureBlendMode)
Lock locks a portion of the texture for write-only pixel access. (https://wiki.libsdl.org/SDL_LockTexture)
Query returns the attributes of a texture. (https://wiki.libsdl.org/SDL_QueryTexture)
SetAlphaMod sets an additional alpha value multiplied into render copy operations. (https://wiki.libsdl.org/SDL_SetTextureAlphaMod)
SetBlendMode sets the blend mode for a texture, used by Renderer.Copy(). (https://wiki.libsdl.org/SDL_SetTextureBlendMode)
SetColorMod sets an additional color value multiplied into render copy operations. (https://wiki.libsdl.org/SDL_SetTextureColorMod)
Unlock unlocks a texture, uploading the changes to video memory, if needed. (https://wiki.libsdl.org/SDL_UnlockTexture)
Update updates the given texture rectangle with new pixel data. (https://wiki.libsdl.org/SDL_UpdateTexture)
UpdateRGBA updates the given texture rectangle with new uint32 pixel data. (https://wiki.libsdl.org/SDL_UpdateTexture)
func (texture *Texture) UpdateYUV(rect *Rect, yPlane []byte, yPitch int, uPlane []byte, uPitch int, vPlane []byte, vPitch int) error
UpdateYUV updates a rectangle within a planar YV12 or IYUV texture with new pixel data. (https://wiki.libsdl.org/SDL_UpdateYUVTexture)
ThreadID is the thread identifier for a thread.
TouchDeviceType is a touch device type.
func GetTouchDeviceType(id TouchID) TouchDeviceType
GetTouchDeviceType returns the type of the given touch device. TODO: (https://wiki.libsdl.org/SDL_GetTouchDeviceType)
type TouchFingerEvent struct { Type uint32 // FINGERMOTION, FINGERDOWN, FINGERUP Timestamp uint32 // timestamp of the event TouchID TouchID // the touch device id FingerID FingerID // the finger id X float32 // the x-axis location of the touch event, normalized (0...1) Y float32 // the y-axis location of the touch event, normalized (0...1) DX float32 // the distance moved in the x-axis, normalized (-1...1) DY float32 // the distance moved in the y-axis, normalized (-1...1) Pressure float32 // the quantity of pressure applied, normalized (0...1) }
TouchFingerEvent contains finger touch event information. (https://wiki.libsdl.org/SDL_TouchFingerEvent)
func (e *TouchFingerEvent) GetTimestamp() uint32
GetTimestamp returns the timestamp of the event.
func (e *TouchFingerEvent) GetType() uint32
GetType returns the event type.
TouchID is the ID of a touch device.
GetTouchDevice returns the touch ID with the given index. (https://wiki.libsdl.org/SDL_GetTouchDevice)
UIKitInfo contains Apple iOS window information.
type UserEvent struct { Type uint32 // value obtained from RegisterEvents() Timestamp uint32 // timestamp of the event WindowID uint32 // the associated window, if any Code int32 // user defined event code Data1 unsafe.Pointer // user defined data pointer Data2 unsafe.Pointer // user defined data pointer }
UserEvent contains an application-defined event type. (https://wiki.libsdl.org/SDL_UserEvent)
GetTimestamp returns the timestamp of the event.
GetType returns the event type.
type Version struct { Major uint8 // major version Minor uint8 // minor version Patch uint8 // update version (patchlevel) }
Version contains information about the version of SDL in use. (https://wiki.libsdl.org/SDL_version)
Window is a type used to identify a window.
CreateWindow creates a window with the specified position, dimensions, and flags. (https://wiki.libsdl.org/SDL_CreateWindow)
CreateWindowFrom creates an SDL window from an existing native window. (https://wiki.libsdl.org/SDL_CreateWindowFrom)
GetKeyboardFocus returns the window which currently has keyboard focus. (https://wiki.libsdl.org/SDL_GetKeyboardFocus)
GetMouseFocus returns the window which currently has mouse focus. (https://wiki.libsdl.org/SDL_GetMouseFocus)
GetWindowFromID returns a window from a stored ID. (https://wiki.libsdl.org/SDL_GetWindowFromID)
Destroy destroys the window. (https://wiki.libsdl.org/SDL_DestroyWindow)
GLCreateContext creates an OpenGL context for use with an OpenGL window, and make it current. (https://wiki.libsdl.org/SDL_GL_CreateContext)
GLGetDrawableSize returns the size of a window's underlying drawable in pixels (for use with glViewport). (https://wiki.libsdl.org/SDL_GL_GetDrawableSize)
GLMakeCurrent sets up an OpenGL context for rendering into an OpenGL window. (https://wiki.libsdl.org/SDL_GL_MakeCurrent)
GLSwap updates a window with OpenGL rendering. (https://wiki.libsdl.org/SDL_GL_SwapWindow)
GetBrightness returns the brightness (gamma multiplier) for the display that owns the given window. (https://wiki.libsdl.org/SDL_GetWindowBrightness)
GetData returns the data pointer associated with the window. (https://wiki.libsdl.org/SDL_GetWindowData)
GetDisplayIndex returns the index of the display associated with the window. (https://wiki.libsdl.org/SDL_GetWindowDisplayIndex)
func (window *Window) GetDisplayMode() (mode DisplayMode, err error)
GetDisplayMode fills in information about the display mode to use when the window is visible at fullscreen. (https://wiki.libsdl.org/SDL_GetWindowDisplayMode)
GetFlags returns the window flags. (https://wiki.libsdl.org/SDL_GetWindowFlags)
GetGammaRamp returns the gamma ramp for the display that owns a given window. (https://wiki.libsdl.org/SDL_GetWindowGammaRamp)
GetGrab returns the window's input grab mode. (https://wiki.libsdl.org/SDL_GetWindowGrab)
GetID returns the numeric ID of the window, for logging purposes.
(https://wiki.libsdl.org/SDL_GetWindowID)
GetMaximumSize returns the maximum size of the window's client area. (https://wiki.libsdl.org/SDL_GetWindowMaximumSize)
GetMinimumSize returns the minimum size of the window's client area. (https://wiki.libsdl.org/SDL_GetWindowMinimumSize)
GetPixelFormat returns the pixel format associated with the window. (https://wiki.libsdl.org/SDL_GetWindowPixelFormat)
GetPosition returns the position of the window. (https://wiki.libsdl.org/SDL_GetWindowPosition)
GetRenderer returns the renderer associated with a window. (https://wiki.libsdl.org/SDL_GetRenderer)
GetSize returns the size of the window's client area. (https://wiki.libsdl.org/SDL_GetWindowSize)
GetSurface returns the SDL surface associated with the window. (https://wiki.libsdl.org/SDL_GetWindowSurface)
GetTitle returns the title of the window. (https://wiki.libsdl.org/SDL_GetWindowTitle)
GetWMInfo returns driver specific information about a window. (https://wiki.libsdl.org/SDL_GetWindowWMInfo)
GetWindowOpacity returns the opacity of the window. (https://wiki.libsdl.org/SDL_GetWindowOpacity)
Hide hides the window. (https://wiki.libsdl.org/SDL_HideWindow)
Maximize makes the window as large as possible. (https://wiki.libsdl.org/SDL_MaximizeWindow)
Minimize minimizes the window to an iconic representation. (https://wiki.libsdl.org/SDL_MinimizeWindow)
Raise raises the window above other windows and set the input focus. (https://wiki.libsdl.org/SDL_RaiseWindow)
Restore restores the size and position of a minimized or maximized window. (https://wiki.libsdl.org/SDL_RestoreWindow)
SetBordered sets the border state of the window. (https://wiki.libsdl.org/SDL_SetWindowBordered)
SetBrightness sets the brightness (gamma multiplier) for the display that owns the given window. (https://wiki.libsdl.org/SDL_SetWindowBrightness)
SetData associates an arbitrary named pointer with the window. (https://wiki.libsdl.org/SDL_SetWindowData)
func (window *Window) SetDisplayMode(mode *DisplayMode) error
SetDisplayMode sets the display mode to use when the window is visible at fullscreen. (https://wiki.libsdl.org/SDL_SetWindowDisplayMode)
SetFullscreen sets the window's fullscreen state. (https://wiki.libsdl.org/SDL_SetWindowFullscreen)
SetGammaRamp sets the gamma ramp for the display that owns the given window. (https://wiki.libsdl.org/SDL_SetWindowGammaRamp)
SetGrab sets the window's input grab mode. (https://wiki.libsdl.org/SDL_SetWindowGrab)
SetIcon sets the icon for the window. (https://wiki.libsdl.org/SDL_SetWindowIcon)
SetMaximumSize sets the maximum size of the window's client area. (https://wiki.libsdl.org/SDL_SetWindowMaximumSize)
SetMinimumSize sets the minimum size of the window's client area. (https://wiki.libsdl.org/SDL_SetWindowMinimumSize)
SetPosition sets the position of the window. (https://wiki.libsdl.org/SDL_SetWindowPosition)
SetResizable sets the user-resizable state of the window. (https://wiki.libsdl.org/SDL_SetWindowResizable)
SetSize sets the size of the window's client area. (https://wiki.libsdl.org/SDL_SetWindowSize)
SetTitle sets the title of the window. (https://wiki.libsdl.org/SDL_SetWindowTitle)
SetWindowOpacity sets the opacity of the window. (https://wiki.libsdl.org/SDL_SetWindowOpacity)
Show shows the window. (https://wiki.libsdl.org/SDL_ShowWindow)
UpdateSurface copies the window surface to the screen. (https://wiki.libsdl.org/SDL_UpdateWindowSurface)
UpdateSurfaceRects copies areas of the window surface to the screen. (https://wiki.libsdl.org/SDL_UpdateWindowSurfaceRects)
func (window *Window) VulkanCreateSurface(instance interface{}) (surface unsafe.Pointer, err error)
VulkanCreateSurface creates a Vulkan rendering surface for a window. (https://wiki.libsdl.org/SDL_Vulkan_CreateSurface)
VulkanGetDrawableSize gets the size of a window's underlying drawable in pixels (for use with setting viewport, scissor & etc). (https://wiki.libsdl.org/SDL_Vulkan_GetDrawableSize)
VulkanGetInstanceExtensions gets the names of the Vulkan instance extensions needed to create a surface with VulkanCreateSurface(). (https://wiki.libsdl.org/SDL_Vulkan_GetInstanceExtensions)
WarpMouseInWindow moves the mouse to the given position within the window. (https://wiki.libsdl.org/SDL_WarpMouseInWindow)
type WindowEvent struct { Type uint32 // WINDOWEVENT Timestamp uint32 // timestamp of the event WindowID uint32 // the associated window Event uint8 // (https://wiki.libsdl.org/SDL_WindowEventID) Data1 int32 // event dependent data Data2 int32 // event dependent data // contains filtered or unexported fields }
WindowEvent contains window state change event data. (https://wiki.libsdl.org/SDL_WindowEvent)
func (e *WindowEvent) GetTimestamp() uint32
GetTimestamp returns the timestamp of the event.
func (e *WindowEvent) GetType() uint32
GetType returns the event type.
WindowsInfo contains Microsoft Windows window information.
X11Info contains X Window System window information.
func GetYUVConversionMode() YUV_CONVERSION_MODE
GetYUVConversionMode gets the YUV conversion mode TODO: (https://wiki.libsdl.org/SDL_GetYUVConversionMode)
func GetYUVConversionModeForResolution(width, height int) YUV_CONVERSION_MODE
GetYUVConversionModeForResolution gets the YUV conversion mode TODO: (https://wiki.libsdl.org/SDL_GetYUVConversionModeForResolution)
Package sdl imports 10 packages (graph) and is imported by 664 packages. Updated 2020-05-13. Refresh now. Tools for package owners.