module SDL2

Constants

AUDIO_F32
AUDIO_F32LSB
AUDIO_F32MSB
AUDIO_F32SYS
AUDIO_S16
AUDIO_S16LSB
AUDIO_S16MSB
AUDIO_S16SYS
AUDIO_S32
AUDIO_S32LSB
AUDIO_S32MSB
AUDIO_S32SYS
AUDIO_S8
AUDIO_U16
AUDIO_U16LSB
AUDIO_U16MSB
AUDIO_U16SYS
AUDIO_U8
IMG_INIT_JPG

Enum

IMG_INIT_PNG
IMG_INIT_TIF
IMG_INIT_WEBP
KMOD_ALT
KMOD_CAPS
KMOD_CTRL
KMOD_GUI
KMOD_LALT
KMOD_LCTRL
KMOD_LGUI
KMOD_LSHIFT
KMOD_MODE
KMOD_NONE
KMOD_NUM
KMOD_RALT
KMOD_RCTRL
KMOD_RESERVED
KMOD_RGUI
KMOD_RSHIFT
KMOD_SHIFT
MIX_CHANNELS
MIX_CHANNEL_POST
MIX_DEFAULT_CHANNELS
MIX_DEFAULT_FORMAT
MIX_DEFAULT_FREQUENCY
MIX_EFFECTSMAXSPEED
MIX_FADING_IN
MIX_FADING_OUT
MIX_INIT_FLAC

Enum

MIX_INIT_MID
MIX_INIT_MOD
MIX_INIT_MP3
MIX_INIT_OGG
MIX_INIT_OPUS
MIX_MAJOR_VERSION
MIX_MAX_VOLUME
MIX_MINOR_VERSION
MIX_NO_FADING
MIX_PATCHLEVEL
MUS_CMD
MUS_FLAC
MUS_MID
MUS_MOD
MUS_MODPLUG_UNUSED
MUS_MP3
MUS_MP3_MAD_UNUSED
MUS_NONE
MUS_OGG
MUS_OPUS
MUS_WAV
SDL2_GFXPRIMITIVES_MAJOR

Define/Macro

SDL2_GFXPRIMITIVES_MICRO
SDL2_GFXPRIMITIVES_MINOR
SDLK_0
SDLK_1
SDLK_2
SDLK_3
SDLK_4
SDLK_5
SDLK_6
SDLK_7
SDLK_8
SDLK_9
SDLK_AC_BACK
SDLK_AC_BOOKMARKS
SDLK_AC_FORWARD
SDLK_AC_HOME
SDLK_AC_REFRESH
SDLK_AC_STOP
SDLK_AGAIN
SDLK_ALTERASE
SDLK_AMPERSAND
SDLK_APP1
SDLK_APP2
SDLK_APPLICATION
SDLK_ASTERISK
SDLK_AT
SDLK_AUDIOFASTFORWARD
SDLK_AUDIOMUTE
SDLK_AUDIONEXT
SDLK_AUDIOPLAY
SDLK_AUDIOPREV
SDLK_AUDIOREWIND
SDLK_AUDIOSTOP
SDLK_BACKQUOTE
SDLK_BACKSLASH
SDLK_BACKSPACE
SDLK_BRIGHTNESSDOWN
SDLK_BRIGHTNESSUP
SDLK_CALCULATOR
SDLK_CANCEL
SDLK_CAPSLOCK
SDLK_CARET
SDLK_CLEAR
SDLK_CLEARAGAIN
SDLK_COLON
SDLK_COMMA
SDLK_COMPUTER
SDLK_COPY
SDLK_CRSEL
SDLK_CURRENCYSUBUNIT
SDLK_CURRENCYUNIT
SDLK_CUT
SDLK_DECIMALSEPARATOR
SDLK_DELETE
SDLK_DISPLAYSWITCH
SDLK_DOLLAR
SDLK_DOWN
SDLK_EJECT
SDLK_END
SDLK_EQUALS
SDLK_ESCAPE
SDLK_EXCLAIM
SDLK_EXECUTE
SDLK_EXSEL
SDLK_F1
SDLK_F10
SDLK_F11
SDLK_F12
SDLK_F13
SDLK_F14
SDLK_F15
SDLK_F16
SDLK_F17
SDLK_F18
SDLK_F19
SDLK_F2
SDLK_F20
SDLK_F21
SDLK_F22
SDLK_F23
SDLK_F24
SDLK_F3
SDLK_F4
SDLK_F5
SDLK_F6
SDLK_F7
SDLK_F8
SDLK_F9
SDLK_FIND
SDLK_GREATER
SDLK_HASH
SDLK_HELP
SDLK_HOME
SDLK_INSERT
SDLK_KBDILLUMDOWN
SDLK_KBDILLUMTOGGLE
SDLK_KBDILLUMUP
SDLK_KP_0
SDLK_KP_00
SDLK_KP_000
SDLK_KP_1
SDLK_KP_2
SDLK_KP_3
SDLK_KP_4
SDLK_KP_5
SDLK_KP_6
SDLK_KP_7
SDLK_KP_8
SDLK_KP_9
SDLK_KP_A
SDLK_KP_AMPERSAND
SDLK_KP_AT
SDLK_KP_B
SDLK_KP_BACKSPACE
SDLK_KP_BINARY
SDLK_KP_C
SDLK_KP_CLEAR
SDLK_KP_CLEARENTRY
SDLK_KP_COLON
SDLK_KP_COMMA
SDLK_KP_D
SDLK_KP_DBLAMPERSAND
SDLK_KP_DBLVERTICALBAR
SDLK_KP_DECIMAL
SDLK_KP_DIVIDE
SDLK_KP_E
SDLK_KP_ENTER
SDLK_KP_EQUALS
SDLK_KP_EQUALSAS400
SDLK_KP_EXCLAM
SDLK_KP_F
SDLK_KP_GREATER
SDLK_KP_HASH
SDLK_KP_HEXADECIMAL
SDLK_KP_LEFTBRACE
SDLK_KP_LEFTPAREN
SDLK_KP_LESS
SDLK_KP_MEMADD
SDLK_KP_MEMCLEAR
SDLK_KP_MEMDIVIDE
SDLK_KP_MEMMULTIPLY
SDLK_KP_MEMRECALL
SDLK_KP_MEMSTORE
SDLK_KP_MEMSUBTRACT
SDLK_KP_MINUS
SDLK_KP_MULTIPLY
SDLK_KP_OCTAL
SDLK_KP_PERCENT
SDLK_KP_PERIOD
SDLK_KP_PLUS
SDLK_KP_PLUSMINUS
SDLK_KP_POWER
SDLK_KP_RIGHTBRACE
SDLK_KP_RIGHTPAREN
SDLK_KP_SPACE
SDLK_KP_TAB
SDLK_KP_VERTICALBAR
SDLK_KP_XOR
SDLK_LALT
SDLK_LCTRL
SDLK_LEFT
SDLK_LEFTBRACKET
SDLK_LEFTPAREN
SDLK_LESS
SDLK_LGUI
SDLK_LSHIFT
SDLK_MAIL
SDLK_MEDIASELECT
SDLK_MENU
SDLK_MINUS
SDLK_MODE
SDLK_MUTE
SDLK_NUMLOCKCLEAR
SDLK_OPER
SDLK_OUT
SDLK_PAGEDOWN
SDLK_PAGEUP
SDLK_PASTE
SDLK_PAUSE
SDLK_PERCENT
SDLK_PERIOD
SDLK_PLUS
SDLK_POWER
SDLK_PRINTSCREEN
SDLK_PRIOR
SDLK_QUESTION
SDLK_QUOTE
SDLK_QUOTEDBL
SDLK_RALT
SDLK_RCTRL
SDLK_RETURN
SDLK_RETURN2
SDLK_RGUI
SDLK_RIGHT
SDLK_RIGHTBRACKET
SDLK_RIGHTPAREN
SDLK_RSHIFT
SDLK_SCROLLLOCK
SDLK_SELECT
SDLK_SEMICOLON
SDLK_SEPARATOR
SDLK_SLASH
SDLK_SLEEP
SDLK_SPACE
SDLK_STOP
SDLK_SYSREQ
SDLK_TAB
SDLK_THOUSANDSSEPARATOR
SDLK_UNDERSCORE
SDLK_UNDO
SDLK_UNKNOWN

Enum

SDLK_UP
SDLK_VOLUMEDOWN
SDLK_VOLUMEUP
SDLK_WWW
SDLK_a
SDLK_b
SDLK_c
SDLK_d
SDLK_e
SDLK_f
SDLK_g
SDLK_h
SDLK_i
SDLK_j
SDLK_k
SDLK_l
SDLK_m
SDLK_n
SDLK_o
SDLK_p
SDLK_q
SDLK_r
SDLK_s
SDLK_t
SDLK_u
SDLK_v
SDLK_w
SDLK_x
SDLK_y
SDLK_z
SDL_ADDEVENT
SDL_ALPHA_OPAQUE

Define/Macro

SDL_ALPHA_TRANSPARENT
SDL_APP_DIDENTERBACKGROUND
SDL_APP_DIDENTERFOREGROUND
SDL_APP_LOWMEMORY
SDL_APP_TERMINATING
SDL_APP_WILLENTERBACKGROUND
SDL_APP_WILLENTERFOREGROUND
SDL_ARRAYORDER_ABGR
SDL_ARRAYORDER_ARGB
SDL_ARRAYORDER_BGR
SDL_ARRAYORDER_BGRA
SDL_ARRAYORDER_NONE
SDL_ARRAYORDER_RGB
SDL_ARRAYORDER_RGBA
SDL_AUDIOCVT_MAX_FILTERS
SDL_AUDIODEVICEADDED
SDL_AUDIODEVICEREMOVED
SDL_AUDIO_ALLOW_ANY_CHANGE
SDL_AUDIO_ALLOW_CHANNELS_CHANGE
SDL_AUDIO_ALLOW_FORMAT_CHANGE
SDL_AUDIO_ALLOW_FREQUENCY_CHANGE
SDL_AUDIO_ALLOW_SAMPLES_CHANGE
SDL_AUDIO_MASK_BITSIZE

Define/Macro

SDL_AUDIO_MASK_DATATYPE
SDL_AUDIO_MASK_ENDIAN
SDL_AUDIO_MASK_SIGNED
SDL_AUDIO_PAUSED
SDL_AUDIO_PLAYING
SDL_AUDIO_STOPPED

Enum

SDL_BITMAPORDER_1234
SDL_BITMAPORDER_4321
SDL_BITMAPORDER_NONE
SDL_BLENDFACTOR_DST_ALPHA
SDL_BLENDFACTOR_DST_COLOR
SDL_BLENDFACTOR_ONE
SDL_BLENDFACTOR_ONE_MINUS_DST_ALPHA
SDL_BLENDFACTOR_ONE_MINUS_DST_COLOR
SDL_BLENDFACTOR_ONE_MINUS_SRC_ALPHA
SDL_BLENDFACTOR_ONE_MINUS_SRC_COLOR
SDL_BLENDFACTOR_SRC_ALPHA
SDL_BLENDFACTOR_SRC_COLOR
SDL_BLENDFACTOR_ZERO
SDL_BLENDMODE_ADD
SDL_BLENDMODE_BLEND
SDL_BLENDMODE_INVALID
SDL_BLENDMODE_MOD
SDL_BLENDMODE_MUL
SDL_BLENDMODE_NONE

Enum

SDL_BLENDOPERATION_ADD
SDL_BLENDOPERATION_MAXIMUM
SDL_BLENDOPERATION_MINIMUM
SDL_BLENDOPERATION_REV_SUBTRACT
SDL_BLENDOPERATION_SUBTRACT
SDL_BUTTON_LEFT

Define/Macro

SDL_BUTTON_MIDDLE
SDL_BUTTON_RIGHT
SDL_BUTTON_X1
SDL_BUTTON_X2
SDL_CACHELINE_SIZE

Define/Macro

SDL_CLIPBOARDUPDATE
SDL_CONTROLLERAXISMOTION
SDL_CONTROLLERBUTTONDOWN
SDL_CONTROLLERBUTTONUP
SDL_CONTROLLERDEVICEADDED
SDL_CONTROLLERDEVICEREMAPPED
SDL_CONTROLLERDEVICEREMOVED
SDL_CONTROLLERSENSORUPDATE
SDL_CONTROLLERTOUCHPADDOWN
SDL_CONTROLLERTOUCHPADMOTION
SDL_CONTROLLERTOUCHPADUP
SDL_CONTROLLER_AXIS_INVALID
SDL_CONTROLLER_AXIS_LEFTX
SDL_CONTROLLER_AXIS_LEFTY
SDL_CONTROLLER_AXIS_MAX
SDL_CONTROLLER_AXIS_RIGHTX
SDL_CONTROLLER_AXIS_RIGHTY
SDL_CONTROLLER_AXIS_TRIGGERLEFT
SDL_CONTROLLER_AXIS_TRIGGERRIGHT
SDL_CONTROLLER_BINDTYPE_AXIS
SDL_CONTROLLER_BINDTYPE_BUTTON
SDL_CONTROLLER_BINDTYPE_HAT
SDL_CONTROLLER_BINDTYPE_NONE
SDL_CONTROLLER_BUTTON_A
SDL_CONTROLLER_BUTTON_B
SDL_CONTROLLER_BUTTON_BACK
SDL_CONTROLLER_BUTTON_DPAD_DOWN
SDL_CONTROLLER_BUTTON_DPAD_LEFT
SDL_CONTROLLER_BUTTON_DPAD_RIGHT
SDL_CONTROLLER_BUTTON_DPAD_UP
SDL_CONTROLLER_BUTTON_GUIDE
SDL_CONTROLLER_BUTTON_INVALID
SDL_CONTROLLER_BUTTON_LEFTSHOULDER
SDL_CONTROLLER_BUTTON_LEFTSTICK
SDL_CONTROLLER_BUTTON_MAX
SDL_CONTROLLER_BUTTON_MISC1
SDL_CONTROLLER_BUTTON_PADDLE1
SDL_CONTROLLER_BUTTON_PADDLE2
SDL_CONTROLLER_BUTTON_PADDLE3
SDL_CONTROLLER_BUTTON_PADDLE4
SDL_CONTROLLER_BUTTON_RIGHTSHOULDER
SDL_CONTROLLER_BUTTON_RIGHTSTICK
SDL_CONTROLLER_BUTTON_START
SDL_CONTROLLER_BUTTON_TOUCHPAD
SDL_CONTROLLER_BUTTON_X
SDL_CONTROLLER_BUTTON_Y
SDL_CONTROLLER_TYPE_AMAZON_LUNA
SDL_CONTROLLER_TYPE_GOOGLE_STADIA
SDL_CONTROLLER_TYPE_NINTENDO_SWITCH_PRO
SDL_CONTROLLER_TYPE_PS3
SDL_CONTROLLER_TYPE_PS4
SDL_CONTROLLER_TYPE_PS5
SDL_CONTROLLER_TYPE_UNKNOWN

Enum

SDL_CONTROLLER_TYPE_VIRTUAL
SDL_CONTROLLER_TYPE_XBOX360
SDL_CONTROLLER_TYPE_XBOXONE
SDL_DISABLE
SDL_DISPLAYEVENT
SDL_DISPLAYEVENT_CONNECTED
SDL_DISPLAYEVENT_DISCONNECTED
SDL_DISPLAYEVENT_NONE
SDL_DISPLAYEVENT_ORIENTATION
SDL_DOLLARGESTURE
SDL_DOLLARRECORD
SDL_DONTFREE
SDL_DROPBEGIN
SDL_DROPCOMPLETE
SDL_DROPFILE
SDL_DROPTEXT
SDL_EFREAD
SDL_EFSEEK
SDL_EFWRITE
SDL_ENABLE
SDL_ENOMEM

Enum

SDL_FALSE

Enum

SDL_FINGERDOWN
SDL_FINGERMOTION
SDL_FINGERUP
SDL_FIRSTEVENT

Enum

SDL_FLASH_BRIEFLY
SDL_FLASH_CANCEL
SDL_FLASH_UNTIL_FOCUSED
SDL_FLIP_HORIZONTAL
SDL_FLIP_NONE
SDL_FLIP_VERTICAL
SDL_GETEVENT
SDL_GL_ACCELERATED_VISUAL
SDL_GL_ACCUM_ALPHA_SIZE
SDL_GL_ACCUM_BLUE_SIZE
SDL_GL_ACCUM_GREEN_SIZE
SDL_GL_ACCUM_RED_SIZE
SDL_GL_ALPHA_SIZE
SDL_GL_BLUE_SIZE
SDL_GL_BUFFER_SIZE
SDL_GL_CONTEXT_DEBUG_FLAG
SDL_GL_CONTEXT_EGL
SDL_GL_CONTEXT_FLAGS
SDL_GL_CONTEXT_FORWARD_COMPATIBLE_FLAG
SDL_GL_CONTEXT_MAJOR_VERSION
SDL_GL_CONTEXT_MINOR_VERSION
SDL_GL_CONTEXT_NO_ERROR
SDL_GL_CONTEXT_PROFILE_COMPATIBILITY
SDL_GL_CONTEXT_PROFILE_CORE
SDL_GL_CONTEXT_PROFILE_ES
SDL_GL_CONTEXT_PROFILE_MASK
SDL_GL_CONTEXT_RELEASE_BEHAVIOR
SDL_GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH
SDL_GL_CONTEXT_RELEASE_BEHAVIOR_NONE
SDL_GL_CONTEXT_RESET_ISOLATION_FLAG
SDL_GL_CONTEXT_RESET_LOSE_CONTEXT
SDL_GL_CONTEXT_RESET_NOTIFICATION
SDL_GL_CONTEXT_RESET_NO_NOTIFICATION
SDL_GL_CONTEXT_ROBUST_ACCESS_FLAG
SDL_GL_DEPTH_SIZE
SDL_GL_DOUBLEBUFFER
SDL_GL_FRAMEBUFFER_SRGB_CAPABLE
SDL_GL_GREEN_SIZE
SDL_GL_MULTISAMPLEBUFFERS
SDL_GL_MULTISAMPLESAMPLES
SDL_GL_RED_SIZE
SDL_GL_RETAINED_BACKING
SDL_GL_SHARE_WITH_CURRENT_CONTEXT
SDL_GL_STENCIL_SIZE
SDL_GL_STEREO
SDL_HAPTIC_AUTOCENTER
SDL_HAPTIC_CARTESIAN
SDL_HAPTIC_CONSTANT

Define/Macro

SDL_HAPTIC_CUSTOM
SDL_HAPTIC_DAMPER
SDL_HAPTIC_FRICTION
SDL_HAPTIC_GAIN
SDL_HAPTIC_INERTIA
SDL_HAPTIC_INFINITY
SDL_HAPTIC_LEFTRIGHT
SDL_HAPTIC_PAUSE
SDL_HAPTIC_POLAR
SDL_HAPTIC_RAMP
SDL_HAPTIC_SAWTOOTHDOWN
SDL_HAPTIC_SAWTOOTHUP
SDL_HAPTIC_SINE
SDL_HAPTIC_SPHERICAL
SDL_HAPTIC_SPRING
SDL_HAPTIC_STATUS
SDL_HAPTIC_STEERING_AXIS
SDL_HAPTIC_TRIANGLE
SDL_HAT_CENTERED
SDL_HAT_DOWN
SDL_HAT_LEFT
SDL_HAT_LEFTDOWN
SDL_HAT_LEFTUP
SDL_HAT_RIGHT
SDL_HAT_RIGHTDOWN
SDL_HAT_RIGHTUP
SDL_HAT_UP
SDL_HINT_ACCELEROMETER_AS_JOYSTICK

Define/Macro

SDL_HINT_ALLOW_ALT_TAB_WHILE_GRABBED
SDL_HINT_ALLOW_TOPMOST
SDL_HINT_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION
SDL_HINT_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION
SDL_HINT_ANDROID_BLOCK_ON_PAUSE
SDL_HINT_ANDROID_BLOCK_ON_PAUSE_PAUSEAUDIO
SDL_HINT_ANDROID_TRAP_BACK_BUTTON
SDL_HINT_APPLE_TV_CONTROLLER_UI_EVENTS
SDL_HINT_APPLE_TV_REMOTE_ALLOW_ROTATION
SDL_HINT_AUDIO_CATEGORY
SDL_HINT_AUDIO_DEVICE_APP_NAME
SDL_HINT_AUDIO_DEVICE_STREAM_NAME
SDL_HINT_AUDIO_DEVICE_STREAM_ROLE
SDL_HINT_AUDIO_INCLUDE_MONITORS
SDL_HINT_AUDIO_RESAMPLING_MODE
SDL_HINT_AUTO_UPDATE_JOYSTICKS
SDL_HINT_AUTO_UPDATE_SENSORS
SDL_HINT_BMP_SAVE_LEGACY_FORMAT
SDL_HINT_DEFAULT

Enum

SDL_HINT_DISPLAY_USABLE_BOUNDS
SDL_HINT_EMSCRIPTEN_ASYNCIFY
SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT
SDL_HINT_ENABLE_STEAM_CONTROLLERS
SDL_HINT_EVENT_LOGGING
SDL_HINT_FRAMEBUFFER_ACCELERATION
SDL_HINT_GAMECONTROLLERCONFIG
SDL_HINT_GAMECONTROLLERCONFIG_FILE
SDL_HINT_GAMECONTROLLERTYPE
SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES
SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT
SDL_HINT_GAMECONTROLLER_USE_BUTTON_LABELS
SDL_HINT_GRAB_KEYBOARD
SDL_HINT_IDLE_TIMER_DISABLED
SDL_HINT_IME_INTERNAL_EDITING
SDL_HINT_IOS_HIDE_HOME_INDICATOR
SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS
SDL_HINT_JOYSTICK_HIDAPI
SDL_HINT_JOYSTICK_HIDAPI_GAMECUBE
SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS
SDL_HINT_JOYSTICK_HIDAPI_LUNA
SDL_HINT_JOYSTICK_HIDAPI_PS4
SDL_HINT_JOYSTICK_HIDAPI_PS4_RUMBLE
SDL_HINT_JOYSTICK_HIDAPI_PS5
SDL_HINT_JOYSTICK_HIDAPI_PS5_PLAYER_LED
SDL_HINT_JOYSTICK_HIDAPI_PS5_RUMBLE
SDL_HINT_JOYSTICK_HIDAPI_STADIA
SDL_HINT_JOYSTICK_HIDAPI_STEAM
SDL_HINT_JOYSTICK_HIDAPI_SWITCH
SDL_HINT_JOYSTICK_HIDAPI_SWITCH_HOME_LED
SDL_HINT_JOYSTICK_HIDAPI_XBOX
SDL_HINT_JOYSTICK_RAWINPUT
SDL_HINT_JOYSTICK_RAWINPUT_CORRELATE_XINPUT
SDL_HINT_JOYSTICK_THREAD
SDL_HINT_KMSDRM_REQUIRE_DRM_MASTER
SDL_HINT_LINUX_JOYSTICK_DEADZONES
SDL_HINT_MAC_BACKGROUND_APP
SDL_HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK
SDL_HINT_MOUSE_DOUBLE_CLICK_RADIUS
SDL_HINT_MOUSE_DOUBLE_CLICK_TIME
SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH
SDL_HINT_MOUSE_NORMAL_SPEED_SCALE
SDL_HINT_MOUSE_RELATIVE_MODE_WARP
SDL_HINT_MOUSE_RELATIVE_SCALING
SDL_HINT_MOUSE_RELATIVE_SPEED_SCALE
SDL_HINT_MOUSE_TOUCH_EVENTS
SDL_HINT_NORMAL
SDL_HINT_NO_SIGNAL_HANDLERS
SDL_HINT_OPENGL_ES_DRIVER
SDL_HINT_ORIENTATIONS
SDL_HINT_OVERRIDE
SDL_HINT_PREFERRED_LOCALES
SDL_HINT_QTWAYLAND_CONTENT_ORIENTATION
SDL_HINT_QTWAYLAND_WINDOW_FLAGS
SDL_HINT_RENDER_BATCHING
SDL_HINT_RENDER_DIRECT3D11_DEBUG
SDL_HINT_RENDER_DIRECT3D_THREADSAFE
SDL_HINT_RENDER_DRIVER
SDL_HINT_RENDER_LOGICAL_SIZE_MODE
SDL_HINT_RENDER_OPENGL_SHADERS
SDL_HINT_RENDER_SCALE_QUALITY
SDL_HINT_RENDER_VSYNC
SDL_HINT_RETURN_KEY_HIDES_IME
SDL_HINT_RPI_VIDEO_LAYER
SDL_HINT_THREAD_FORCE_REALTIME_TIME_CRITICAL
SDL_HINT_THREAD_PRIORITY_POLICY
SDL_HINT_THREAD_STACK_SIZE
SDL_HINT_TIMER_RESOLUTION
SDL_HINT_TOUCH_MOUSE_EVENTS
SDL_HINT_TV_REMOTE_AS_JOYSTICK
SDL_HINT_VIDEO_ALLOW_SCREENSAVER
SDL_HINT_VIDEO_DOUBLE_BUFFER
SDL_HINT_VIDEO_EXTERNAL_CONTEXT
SDL_HINT_VIDEO_HIGHDPI_DISABLED
SDL_HINT_VIDEO_MAC_FULLSCREEN_SPACES
SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS
SDL_HINT_VIDEO_WAYLAND_ALLOW_LIBDECOR
SDL_HINT_VIDEO_WINDOW_SHARE_PIXEL_FORMAT
SDL_HINT_VIDEO_WIN_D3DCOMPILER
SDL_HINT_VIDEO_X11_FORCE_EGL
SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR
SDL_HINT_VIDEO_X11_NET_WM_PING
SDL_HINT_VIDEO_X11_WINDOW_VISUALID
SDL_HINT_VIDEO_X11_XINERAMA
SDL_HINT_VIDEO_X11_XRANDR
SDL_HINT_VIDEO_X11_XVIDMODE
SDL_HINT_WAVE_FACT_CHUNK
SDL_HINT_WAVE_RIFF_CHUNK_SIZE
SDL_HINT_WAVE_TRUNCATION
SDL_HINT_WINDOWS_DISABLE_THREAD_NAMING
SDL_HINT_WINDOWS_ENABLE_MESSAGELOOP
SDL_HINT_WINDOWS_FORCE_MUTEX_CRITICAL_SECTIONS
SDL_HINT_WINDOWS_FORCE_SEMAPHORE_KERNEL
SDL_HINT_WINDOWS_INTRESOURCE_ICON
SDL_HINT_WINDOWS_INTRESOURCE_ICON_SMALL
SDL_HINT_WINDOWS_NO_CLOSE_ON_ALT_F4
SDL_HINT_WINDOWS_USE_D3D9EX
SDL_HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN
SDL_HINT_WINRT_HANDLE_BACK_BUTTON
SDL_HINT_WINRT_PRIVACY_POLICY_LABEL
SDL_HINT_WINRT_PRIVACY_POLICY_URL
SDL_HINT_X11_FORCE_OVERRIDE_REDIRECT
SDL_HINT_XINPUT_ENABLED
SDL_HINT_XINPUT_USE_OLD_JOYSTICK_MAPPING
SDL_HITTEST_DRAGGABLE
SDL_HITTEST_NORMAL
SDL_HITTEST_RESIZE_BOTTOM
SDL_HITTEST_RESIZE_BOTTOMLEFT
SDL_HITTEST_RESIZE_BOTTOMRIGHT
SDL_HITTEST_RESIZE_LEFT
SDL_HITTEST_RESIZE_RIGHT
SDL_HITTEST_RESIZE_TOP
SDL_HITTEST_RESIZE_TOPLEFT
SDL_HITTEST_RESIZE_TOPRIGHT
SDL_IGNORE
SDL_IMAGE_MAJOR_VERSION

Define/Macro

SDL_IMAGE_MINOR_VERSION
SDL_IMAGE_PATCHLEVEL
SDL_INIT_AUDIO
SDL_INIT_EVENTS
SDL_INIT_EVERYTHING
SDL_INIT_GAMECONTROLLER
SDL_INIT_HAPTIC
SDL_INIT_JOYSTICK
SDL_INIT_NOPARACHUTE
SDL_INIT_SENSOR
SDL_INIT_TIMER

Define/Macro

SDL_INIT_VIDEO
SDL_INVALID_SHAPE_ARGUMENT
SDL_IPHONE_MAX_GFORCE

Define/Macro

SDL_JOYAXISMOTION
SDL_JOYBALLMOTION
SDL_JOYBUTTONDOWN
SDL_JOYBUTTONUP
SDL_JOYDEVICEADDED
SDL_JOYDEVICEREMOVED
SDL_JOYHATMOTION
SDL_JOYSTICK_AXIS_MAX
SDL_JOYSTICK_AXIS_MIN
SDL_JOYSTICK_POWER_EMPTY
SDL_JOYSTICK_POWER_FULL
SDL_JOYSTICK_POWER_LOW
SDL_JOYSTICK_POWER_MAX
SDL_JOYSTICK_POWER_MEDIUM
SDL_JOYSTICK_POWER_UNKNOWN
SDL_JOYSTICK_POWER_WIRED
SDL_JOYSTICK_TYPE_ARCADE_PAD
SDL_JOYSTICK_TYPE_ARCADE_STICK
SDL_JOYSTICK_TYPE_DANCE_PAD
SDL_JOYSTICK_TYPE_DRUM_KIT
SDL_JOYSTICK_TYPE_FLIGHT_STICK
SDL_JOYSTICK_TYPE_GAMECONTROLLER
SDL_JOYSTICK_TYPE_GUITAR
SDL_JOYSTICK_TYPE_THROTTLE
SDL_JOYSTICK_TYPE_UNKNOWN

Enum

SDL_JOYSTICK_TYPE_WHEEL
SDL_KEYDOWN
SDL_KEYMAPCHANGED
SDL_KEYUP
SDL_LASTERROR
SDL_LASTEVENT
SDL_LOCALECHANGED
SDL_LOG_CATEGORY_APPLICATION

Enum

SDL_LOG_CATEGORY_ASSERT
SDL_LOG_CATEGORY_AUDIO
SDL_LOG_CATEGORY_CUSTOM
SDL_LOG_CATEGORY_ERROR
SDL_LOG_CATEGORY_INPUT
SDL_LOG_CATEGORY_RENDER
SDL_LOG_CATEGORY_RESERVED1
SDL_LOG_CATEGORY_RESERVED10
SDL_LOG_CATEGORY_RESERVED2
SDL_LOG_CATEGORY_RESERVED3
SDL_LOG_CATEGORY_RESERVED4
SDL_LOG_CATEGORY_RESERVED5
SDL_LOG_CATEGORY_RESERVED6
SDL_LOG_CATEGORY_RESERVED7
SDL_LOG_CATEGORY_RESERVED8
SDL_LOG_CATEGORY_RESERVED9
SDL_LOG_CATEGORY_SYSTEM
SDL_LOG_CATEGORY_TEST
SDL_LOG_CATEGORY_VIDEO
SDL_LOG_PRIORITY_CRITICAL
SDL_LOG_PRIORITY_DEBUG
SDL_LOG_PRIORITY_ERROR
SDL_LOG_PRIORITY_INFO
SDL_LOG_PRIORITY_VERBOSE
SDL_LOG_PRIORITY_WARN
SDL_MAJOR_VERSION

Define/Macro

SDL_MAX_LOG_MESSAGE

Define/Macro

SDL_MESSAGEBOX_BUTTONS_LEFT_TO_RIGHT
SDL_MESSAGEBOX_BUTTONS_RIGHT_TO_LEFT
SDL_MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT
SDL_MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT
SDL_MESSAGEBOX_COLOR_BACKGROUND
SDL_MESSAGEBOX_COLOR_BUTTON_BACKGROUND
SDL_MESSAGEBOX_COLOR_BUTTON_BORDER
SDL_MESSAGEBOX_COLOR_BUTTON_SELECTED
SDL_MESSAGEBOX_COLOR_MAX
SDL_MESSAGEBOX_COLOR_TEXT
SDL_MESSAGEBOX_ERROR

Enum

SDL_MESSAGEBOX_INFORMATION
SDL_MESSAGEBOX_WARNING
SDL_MINOR_VERSION
SDL_MIXER_MAJOR_VERSION

Define/Macro

SDL_MIXER_MINOR_VERSION
SDL_MIXER_PATCHLEVEL
SDL_MIX_MAXVOLUME
SDL_MOUSEBUTTONDOWN
SDL_MOUSEBUTTONUP
SDL_MOUSEMOTION
SDL_MOUSEWHEEL
SDL_MOUSEWHEEL_FLIPPED
SDL_MOUSEWHEEL_NORMAL
SDL_MULTIGESTURE
SDL_NONSHAPEABLE_WINDOW

Define/Macro

SDL_NUM_LOG_PRIORITIES
SDL_NUM_SCANCODES
SDL_NUM_SYSTEM_CURSORS
SDL_ORIENTATION_LANDSCAPE
SDL_ORIENTATION_LANDSCAPE_FLIPPED
SDL_ORIENTATION_PORTRAIT
SDL_ORIENTATION_PORTRAIT_FLIPPED
SDL_ORIENTATION_UNKNOWN
SDL_PACKEDLAYOUT_1010102
SDL_PACKEDLAYOUT_1555
SDL_PACKEDLAYOUT_2101010
SDL_PACKEDLAYOUT_332
SDL_PACKEDLAYOUT_4444
SDL_PACKEDLAYOUT_5551
SDL_PACKEDLAYOUT_565
SDL_PACKEDLAYOUT_8888
SDL_PACKEDLAYOUT_NONE
SDL_PACKEDORDER_ABGR
SDL_PACKEDORDER_ARGB
SDL_PACKEDORDER_BGRA
SDL_PACKEDORDER_BGRX
SDL_PACKEDORDER_NONE
SDL_PACKEDORDER_RGBA
SDL_PACKEDORDER_RGBX
SDL_PACKEDORDER_XBGR
SDL_PACKEDORDER_XRGB
SDL_PATCHLEVEL
SDL_PEEKEVENT
SDL_PIXELFORMAT_ABGR1555
SDL_PIXELFORMAT_ABGR32
SDL_PIXELFORMAT_ABGR4444
SDL_PIXELFORMAT_ABGR8888
SDL_PIXELFORMAT_ARGB1555
SDL_PIXELFORMAT_ARGB2101010
SDL_PIXELFORMAT_ARGB32
SDL_PIXELFORMAT_ARGB4444
SDL_PIXELFORMAT_ARGB8888
SDL_PIXELFORMAT_BGR24
SDL_PIXELFORMAT_BGR444
SDL_PIXELFORMAT_BGR555
SDL_PIXELFORMAT_BGR565
SDL_PIXELFORMAT_BGR888
SDL_PIXELFORMAT_BGRA32
SDL_PIXELFORMAT_BGRA4444
SDL_PIXELFORMAT_BGRA5551
SDL_PIXELFORMAT_BGRA8888
SDL_PIXELFORMAT_BGRX8888
SDL_PIXELFORMAT_EXTERNAL_OES
SDL_PIXELFORMAT_INDEX1LSB
SDL_PIXELFORMAT_INDEX1MSB
SDL_PIXELFORMAT_INDEX4LSB
SDL_PIXELFORMAT_INDEX4MSB
SDL_PIXELFORMAT_INDEX8
SDL_PIXELFORMAT_IYUV
SDL_PIXELFORMAT_NV12
SDL_PIXELFORMAT_NV21
SDL_PIXELFORMAT_RGB24
SDL_PIXELFORMAT_RGB332
SDL_PIXELFORMAT_RGB444
SDL_PIXELFORMAT_RGB555
SDL_PIXELFORMAT_RGB565
SDL_PIXELFORMAT_RGB888
SDL_PIXELFORMAT_RGBA32
SDL_PIXELFORMAT_RGBA4444
SDL_PIXELFORMAT_RGBA5551
SDL_PIXELFORMAT_RGBA8888
SDL_PIXELFORMAT_RGBX8888
SDL_PIXELFORMAT_UNKNOWN
SDL_PIXELFORMAT_UYVY
SDL_PIXELFORMAT_XBGR1555
SDL_PIXELFORMAT_XBGR4444
SDL_PIXELFORMAT_XBGR8888
SDL_PIXELFORMAT_XRGB1555
SDL_PIXELFORMAT_XRGB4444
SDL_PIXELFORMAT_XRGB8888
SDL_PIXELFORMAT_YUY2
SDL_PIXELFORMAT_YV12
SDL_PIXELFORMAT_YVYU
SDL_PIXELTYPE_ARRAYF16
SDL_PIXELTYPE_ARRAYF32
SDL_PIXELTYPE_ARRAYU16
SDL_PIXELTYPE_ARRAYU32
SDL_PIXELTYPE_ARRAYU8
SDL_PIXELTYPE_INDEX1
SDL_PIXELTYPE_INDEX4
SDL_PIXELTYPE_INDEX8
SDL_PIXELTYPE_PACKED16
SDL_PIXELTYPE_PACKED32
SDL_PIXELTYPE_PACKED8
SDL_PIXELTYPE_UNKNOWN

Enum

SDL_POWERSTATE_CHARGED
SDL_POWERSTATE_CHARGING
SDL_POWERSTATE_NO_BATTERY
SDL_POWERSTATE_ON_BATTERY
SDL_POWERSTATE_UNKNOWN

Enum

SDL_PREALLOC
SDL_PRESSED
SDL_QUERY
SDL_QUIT
SDL_RELEASED

Define/Macro

SDL_RENDERER_ACCELERATED
SDL_RENDERER_PRESENTVSYNC
SDL_RENDERER_SOFTWARE

Enum

SDL_RENDERER_TARGETTEXTURE
SDL_RENDER_DEVICE_RESET
SDL_RENDER_TARGETS_RESET
SDL_RLEACCEL
SDL_RWOPS_JNIFILE
SDL_RWOPS_MEMORY
SDL_RWOPS_MEMORY_RO
SDL_RWOPS_STDFILE
SDL_RWOPS_UNKNOWN

Define/Macro

SDL_RWOPS_WINFILE
SDL_RWops
SDL_SCANCODE_0
SDL_SCANCODE_1
SDL_SCANCODE_2
SDL_SCANCODE_3
SDL_SCANCODE_4
SDL_SCANCODE_5
SDL_SCANCODE_6
SDL_SCANCODE_7
SDL_SCANCODE_8
SDL_SCANCODE_9
SDL_SCANCODE_A
SDL_SCANCODE_AC_BACK
SDL_SCANCODE_AC_BOOKMARKS
SDL_SCANCODE_AC_FORWARD
SDL_SCANCODE_AC_HOME
SDL_SCANCODE_AC_REFRESH
SDL_SCANCODE_AC_STOP
SDL_SCANCODE_AGAIN
SDL_SCANCODE_ALTERASE
SDL_SCANCODE_APOSTROPHE
SDL_SCANCODE_APP1
SDL_SCANCODE_APP2
SDL_SCANCODE_APPLICATION
SDL_SCANCODE_AUDIOFASTFORWARD
SDL_SCANCODE_AUDIOMUTE
SDL_SCANCODE_AUDIONEXT
SDL_SCANCODE_AUDIOPLAY
SDL_SCANCODE_AUDIOPREV
SDL_SCANCODE_AUDIOREWIND
SDL_SCANCODE_AUDIOSTOP
SDL_SCANCODE_B
SDL_SCANCODE_BACKSLASH
SDL_SCANCODE_BACKSPACE
SDL_SCANCODE_BRIGHTNESSDOWN
SDL_SCANCODE_BRIGHTNESSUP
SDL_SCANCODE_C
SDL_SCANCODE_CALCULATOR
SDL_SCANCODE_CANCEL
SDL_SCANCODE_CAPSLOCK
SDL_SCANCODE_CLEAR
SDL_SCANCODE_CLEARAGAIN
SDL_SCANCODE_COMMA
SDL_SCANCODE_COMPUTER
SDL_SCANCODE_COPY
SDL_SCANCODE_CRSEL
SDL_SCANCODE_CURRENCYSUBUNIT
SDL_SCANCODE_CURRENCYUNIT
SDL_SCANCODE_CUT
SDL_SCANCODE_D
SDL_SCANCODE_DECIMALSEPARATOR
SDL_SCANCODE_DELETE
SDL_SCANCODE_DISPLAYSWITCH
SDL_SCANCODE_DOWN
SDL_SCANCODE_E
SDL_SCANCODE_EJECT
SDL_SCANCODE_END
SDL_SCANCODE_EQUALS
SDL_SCANCODE_ESCAPE
SDL_SCANCODE_EXECUTE
SDL_SCANCODE_EXSEL
SDL_SCANCODE_F
SDL_SCANCODE_F1
SDL_SCANCODE_F10
SDL_SCANCODE_F11
SDL_SCANCODE_F12
SDL_SCANCODE_F13
SDL_SCANCODE_F14
SDL_SCANCODE_F15
SDL_SCANCODE_F16
SDL_SCANCODE_F17
SDL_SCANCODE_F18
SDL_SCANCODE_F19
SDL_SCANCODE_F2
SDL_SCANCODE_F20
SDL_SCANCODE_F21
SDL_SCANCODE_F22
SDL_SCANCODE_F23
SDL_SCANCODE_F24
SDL_SCANCODE_F3
SDL_SCANCODE_F4
SDL_SCANCODE_F5
SDL_SCANCODE_F6
SDL_SCANCODE_F7
SDL_SCANCODE_F8
SDL_SCANCODE_F9
SDL_SCANCODE_FIND
SDL_SCANCODE_G
SDL_SCANCODE_GRAVE
SDL_SCANCODE_H
SDL_SCANCODE_HELP
SDL_SCANCODE_HOME
SDL_SCANCODE_I
SDL_SCANCODE_INSERT
SDL_SCANCODE_INTERNATIONAL1
SDL_SCANCODE_INTERNATIONAL2
SDL_SCANCODE_INTERNATIONAL3
SDL_SCANCODE_INTERNATIONAL4
SDL_SCANCODE_INTERNATIONAL5
SDL_SCANCODE_INTERNATIONAL6
SDL_SCANCODE_INTERNATIONAL7
SDL_SCANCODE_INTERNATIONAL8
SDL_SCANCODE_INTERNATIONAL9
SDL_SCANCODE_J
SDL_SCANCODE_K
SDL_SCANCODE_KBDILLUMDOWN
SDL_SCANCODE_KBDILLUMTOGGLE
SDL_SCANCODE_KBDILLUMUP
SDL_SCANCODE_KP_0
SDL_SCANCODE_KP_00
SDL_SCANCODE_KP_000
SDL_SCANCODE_KP_1
SDL_SCANCODE_KP_2
SDL_SCANCODE_KP_3
SDL_SCANCODE_KP_4
SDL_SCANCODE_KP_5
SDL_SCANCODE_KP_6
SDL_SCANCODE_KP_7
SDL_SCANCODE_KP_8
SDL_SCANCODE_KP_9
SDL_SCANCODE_KP_A
SDL_SCANCODE_KP_AMPERSAND
SDL_SCANCODE_KP_AT
SDL_SCANCODE_KP_B
SDL_SCANCODE_KP_BACKSPACE
SDL_SCANCODE_KP_BINARY
SDL_SCANCODE_KP_C
SDL_SCANCODE_KP_CLEAR
SDL_SCANCODE_KP_CLEARENTRY
SDL_SCANCODE_KP_COLON
SDL_SCANCODE_KP_COMMA
SDL_SCANCODE_KP_D
SDL_SCANCODE_KP_DBLAMPERSAND
SDL_SCANCODE_KP_DBLVERTICALBAR
SDL_SCANCODE_KP_DECIMAL
SDL_SCANCODE_KP_DIVIDE
SDL_SCANCODE_KP_E
SDL_SCANCODE_KP_ENTER
SDL_SCANCODE_KP_EQUALS
SDL_SCANCODE_KP_EQUALSAS400
SDL_SCANCODE_KP_EXCLAM
SDL_SCANCODE_KP_F
SDL_SCANCODE_KP_GREATER
SDL_SCANCODE_KP_HASH
SDL_SCANCODE_KP_HEXADECIMAL
SDL_SCANCODE_KP_LEFTBRACE
SDL_SCANCODE_KP_LEFTPAREN
SDL_SCANCODE_KP_LESS
SDL_SCANCODE_KP_MEMADD
SDL_SCANCODE_KP_MEMCLEAR
SDL_SCANCODE_KP_MEMDIVIDE
SDL_SCANCODE_KP_MEMMULTIPLY
SDL_SCANCODE_KP_MEMRECALL
SDL_SCANCODE_KP_MEMSTORE
SDL_SCANCODE_KP_MEMSUBTRACT
SDL_SCANCODE_KP_MINUS
SDL_SCANCODE_KP_MULTIPLY
SDL_SCANCODE_KP_OCTAL
SDL_SCANCODE_KP_PERCENT
SDL_SCANCODE_KP_PERIOD
SDL_SCANCODE_KP_PLUS
SDL_SCANCODE_KP_PLUSMINUS
SDL_SCANCODE_KP_POWER
SDL_SCANCODE_KP_RIGHTBRACE
SDL_SCANCODE_KP_RIGHTPAREN
SDL_SCANCODE_KP_SPACE
SDL_SCANCODE_KP_TAB
SDL_SCANCODE_KP_VERTICALBAR
SDL_SCANCODE_KP_XOR
SDL_SCANCODE_L
SDL_SCANCODE_LALT
SDL_SCANCODE_LANG1
SDL_SCANCODE_LANG2
SDL_SCANCODE_LANG3
SDL_SCANCODE_LANG4
SDL_SCANCODE_LANG5
SDL_SCANCODE_LANG6
SDL_SCANCODE_LANG7
SDL_SCANCODE_LANG8
SDL_SCANCODE_LANG9
SDL_SCANCODE_LCTRL
SDL_SCANCODE_LEFT
SDL_SCANCODE_LEFTBRACKET
SDL_SCANCODE_LGUI
SDL_SCANCODE_LSHIFT
SDL_SCANCODE_M
SDL_SCANCODE_MAIL
SDL_SCANCODE_MEDIASELECT
SDL_SCANCODE_MENU
SDL_SCANCODE_MINUS
SDL_SCANCODE_MODE
SDL_SCANCODE_MUTE
SDL_SCANCODE_N
SDL_SCANCODE_NONUSBACKSLASH
SDL_SCANCODE_NONUSHASH
SDL_SCANCODE_NUMLOCKCLEAR
SDL_SCANCODE_O
SDL_SCANCODE_OPER
SDL_SCANCODE_OUT
SDL_SCANCODE_P
SDL_SCANCODE_PAGEDOWN
SDL_SCANCODE_PAGEUP
SDL_SCANCODE_PASTE
SDL_SCANCODE_PAUSE
SDL_SCANCODE_PERIOD
SDL_SCANCODE_POWER
SDL_SCANCODE_PRINTSCREEN
SDL_SCANCODE_PRIOR
SDL_SCANCODE_Q
SDL_SCANCODE_R
SDL_SCANCODE_RALT
SDL_SCANCODE_RCTRL
SDL_SCANCODE_RETURN
SDL_SCANCODE_RETURN2
SDL_SCANCODE_RGUI
SDL_SCANCODE_RIGHT
SDL_SCANCODE_RIGHTBRACKET
SDL_SCANCODE_RSHIFT
SDL_SCANCODE_S
SDL_SCANCODE_SCROLLLOCK
SDL_SCANCODE_SELECT
SDL_SCANCODE_SEMICOLON
SDL_SCANCODE_SEPARATOR
SDL_SCANCODE_SLASH
SDL_SCANCODE_SLEEP
SDL_SCANCODE_SPACE
SDL_SCANCODE_STOP
SDL_SCANCODE_SYSREQ
SDL_SCANCODE_T
SDL_SCANCODE_TAB
SDL_SCANCODE_THOUSANDSSEPARATOR
SDL_SCANCODE_U
SDL_SCANCODE_UNDO
SDL_SCANCODE_UNKNOWN

Enum

SDL_SCANCODE_UP
SDL_SCANCODE_V
SDL_SCANCODE_VOLUMEDOWN
SDL_SCANCODE_VOLUMEUP
SDL_SCANCODE_W
SDL_SCANCODE_WWW
SDL_SCANCODE_X
SDL_SCANCODE_Y
SDL_SCANCODE_Z
SDL_SENSORUPDATE
SDL_SENSOR_ACCEL
SDL_SENSOR_GYRO
SDL_SENSOR_INVALID

Enum

SDL_SENSOR_UNKNOWN
SDL_SIMD_ALIGNED
SDL_SWSURFACE

Define/Macro

SDL_SYSTEM_CURSOR_ARROW

Enum

SDL_SYSTEM_CURSOR_CROSSHAIR
SDL_SYSTEM_CURSOR_HAND
SDL_SYSTEM_CURSOR_IBEAM
SDL_SYSTEM_CURSOR_NO
SDL_SYSTEM_CURSOR_SIZEALL
SDL_SYSTEM_CURSOR_SIZENESW
SDL_SYSTEM_CURSOR_SIZENS
SDL_SYSTEM_CURSOR_SIZENWSE
SDL_SYSTEM_CURSOR_SIZEWE
SDL_SYSTEM_CURSOR_WAIT
SDL_SYSTEM_CURSOR_WAITARROW
SDL_SYSWMEVENT
SDL_SYSWM_ANDROID
SDL_SYSWM_COCOA
SDL_SYSWM_DIRECTFB
SDL_SYSWM_HAIKU
SDL_SYSWM_KMSDRM
SDL_SYSWM_MIR
SDL_SYSWM_OS2
SDL_SYSWM_UIKIT
SDL_SYSWM_UNKNOWN

Enum

SDL_SYSWM_VIVANTE
SDL_SYSWM_WAYLAND
SDL_SYSWM_WINDOWS
SDL_SYSWM_WINRT
SDL_SYSWM_X11
SDL_ScaleModeBest
SDL_ScaleModeLinear
SDL_ScaleModeNearest
SDL_TEXTEDITING
SDL_TEXTEDITINGEVENT_TEXT_SIZE
SDL_TEXTINPUT
SDL_TEXTINPUTEVENT_TEXT_SIZE
SDL_TEXTUREACCESS_STATIC
SDL_TEXTUREACCESS_STREAMING
SDL_TEXTUREACCESS_TARGET
SDL_TEXTUREMODULATE_ALPHA
SDL_TEXTUREMODULATE_COLOR
SDL_TEXTUREMODULATE_NONE
SDL_TOUCH_DEVICE_DIRECT
SDL_TOUCH_DEVICE_INDIRECT_ABSOLUTE
SDL_TOUCH_DEVICE_INDIRECT_RELATIVE
SDL_TOUCH_DEVICE_INVALID

Enum

SDL_TRUE
SDL_TTF_MAJOR_VERSION

Define/Macro

SDL_TTF_MINOR_VERSION
SDL_TTF_PATCHLEVEL
SDL_UNSUPPORTED
SDL_USEREVENT
SDL_WINDOWEVENT
SDL_WINDOWEVENT_CLOSE
SDL_WINDOWEVENT_ENTER
SDL_WINDOWEVENT_EXPOSED
SDL_WINDOWEVENT_FOCUS_GAINED
SDL_WINDOWEVENT_FOCUS_LOST
SDL_WINDOWEVENT_HIDDEN
SDL_WINDOWEVENT_HIT_TEST
SDL_WINDOWEVENT_LEAVE
SDL_WINDOWEVENT_MAXIMIZED
SDL_WINDOWEVENT_MINIMIZED
SDL_WINDOWEVENT_MOVED
SDL_WINDOWEVENT_NONE
SDL_WINDOWEVENT_RESIZED
SDL_WINDOWEVENT_RESTORED
SDL_WINDOWEVENT_SHOWN
SDL_WINDOWEVENT_SIZE_CHANGED
SDL_WINDOWEVENT_TAKE_FOCUS
SDL_WINDOWPOS_CENTERED_MASK
SDL_WINDOWPOS_UNDEFINED_MASK

Define/Macro

SDL_WINDOW_ALLOW_HIGHDPI
SDL_WINDOW_ALWAYS_ON_TOP
SDL_WINDOW_BORDERLESS
SDL_WINDOW_FOREIGN
SDL_WINDOW_FULLSCREEN

Enum

SDL_WINDOW_FULLSCREEN_DESKTOP
SDL_WINDOW_HIDDEN
SDL_WINDOW_INPUT_FOCUS
SDL_WINDOW_INPUT_GRABBED
SDL_WINDOW_KEYBOARD_GRABBED
SDL_WINDOW_LACKS_SHAPE
SDL_WINDOW_MAXIMIZED
SDL_WINDOW_METAL
SDL_WINDOW_MINIMIZED
SDL_WINDOW_MOUSE_CAPTURE
SDL_WINDOW_MOUSE_FOCUS
SDL_WINDOW_MOUSE_GRABBED
SDL_WINDOW_OPENGL
SDL_WINDOW_POPUP_MENU
SDL_WINDOW_RESIZABLE
SDL_WINDOW_SHOWN
SDL_WINDOW_SKIP_TASKBAR
SDL_WINDOW_TOOLTIP
SDL_WINDOW_UTILITY
SDL_WINDOW_VULKAN
SDL_YUV_CONVERSION_AUTOMATIC
SDL_YUV_CONVERSION_BT601
SDL_YUV_CONVERSION_BT709
SDL_YUV_CONVERSION_JPEG

Enum

ShapeModeBinarizeAlpha
ShapeModeColorKey
ShapeModeDefault

Enum

ShapeModeReverseBinarizeAlpha
TTF_HINTING_LIGHT
TTF_HINTING_MONO
TTF_HINTING_NONE
TTF_HINTING_NORMAL
TTF_MAJOR_VERSION
TTF_MINOR_VERSION
TTF_PATCHLEVEL
TTF_STYLE_BOLD
TTF_STYLE_ITALIC
TTF_STYLE_NORMAL
TTF_STYLE_STRIKETHROUGH
TTF_STYLE_UNDERLINE

Public Class Methods

load_lib(libpath, image_libpath: nil, ttf_libpath: nil, mixer_libpath: nil, gfx_libpath: nil) click to toggle source
# File lib/sdl2.rb, line 55
def self.load_lib(libpath, image_libpath: nil, ttf_libpath: nil, mixer_libpath: nil, gfx_libpath: nil)

  unless @@sdl2_import_done
    # Ref.: Using Multiple and Alternate Libraries
    # https://github.com/ffi/ffi/wiki/Using-Multiple-and-Alternate-Libraries
    begin
      lib_paths = [libpath, image_libpath, ttf_libpath, mixer_libpath, gfx_libpath].compact

      ffi_lib_flags :now, :global
      ffi_lib *lib_paths
      setup_symbols()

      if image_libpath != nil
        setup_image_symbols()
      end

      if ttf_libpath != nil
        setup_ttf_symbols()
      end

      if mixer_libpath != nil
        setup_mixer_symbols()
      end

      if gfx_libpath != nil
        setup_gfx_framerate_symbols()
        setup_gfx_primitives_symbols()
        setup_gfx_imagefilter_symbols()
        setup_gfx_rotozoom_symbols()
      end
    rescue => error
      puts error
    end
  end

end
setup_audio_symbols() click to toggle source

Function

# File lib/sdl2_audio.rb, line 92
def self.setup_audio_symbols()
  symbols = [
    :SDL_GetNumAudioDrivers,
    :SDL_GetAudioDriver,
    :SDL_AudioInit,
    :SDL_AudioQuit,
    :SDL_GetCurrentAudioDriver,
    :SDL_OpenAudio,
    :SDL_GetNumAudioDevices,
    :SDL_GetAudioDeviceName,
    :SDL_GetAudioDeviceSpec,
    :SDL_OpenAudioDevice,
    :SDL_GetAudioStatus,
    :SDL_GetAudioDeviceStatus,
    :SDL_PauseAudio,
    :SDL_PauseAudioDevice,
    :SDL_LoadWAV_RW,
    :SDL_FreeWAV,
    :SDL_BuildAudioCVT,
    :SDL_ConvertAudio,
    :SDL_NewAudioStream,
    :SDL_AudioStreamPut,
    :SDL_AudioStreamGet,
    :SDL_AudioStreamAvailable,
    :SDL_AudioStreamFlush,
    :SDL_AudioStreamClear,
    :SDL_FreeAudioStream,
    :SDL_MixAudio,
    :SDL_MixAudioFormat,
    :SDL_QueueAudio,
    :SDL_DequeueAudio,
    :SDL_GetQueuedAudioSize,
    :SDL_ClearQueuedAudio,
    :SDL_LockAudio,
    :SDL_LockAudioDevice,
    :SDL_UnlockAudio,
    :SDL_UnlockAudioDevice,
    :SDL_CloseAudio,
    :SDL_CloseAudioDevice,
  ]
  args = {
    :SDL_GetNumAudioDrivers => [],
    :SDL_GetAudioDriver => [:int],
    :SDL_AudioInit => [:pointer],
    :SDL_AudioQuit => [],
    :SDL_GetCurrentAudioDriver => [],
    :SDL_OpenAudio => [:pointer, :pointer],
    :SDL_GetNumAudioDevices => [:int],
    :SDL_GetAudioDeviceName => [:int, :int],
    :SDL_GetAudioDeviceSpec => [:int, :int, :pointer],
    :SDL_OpenAudioDevice => [:pointer, :int, :pointer, :pointer, :int],
    :SDL_GetAudioStatus => [],
    :SDL_GetAudioDeviceStatus => [:uint],
    :SDL_PauseAudio => [:int],
    :SDL_PauseAudioDevice => [:uint, :int],
    :SDL_LoadWAV_RW => [:pointer, :int, :pointer, :pointer, :pointer],
    :SDL_FreeWAV => [:pointer],
    :SDL_BuildAudioCVT => [:pointer, :ushort, :uchar, :int, :ushort, :uchar, :int],
    :SDL_ConvertAudio => [:pointer],
    :SDL_NewAudioStream => [:ushort, :uchar, :int, :ushort, :uchar, :int],
    :SDL_AudioStreamPut => [:pointer, :pointer, :int],
    :SDL_AudioStreamGet => [:pointer, :pointer, :int],
    :SDL_AudioStreamAvailable => [:pointer],
    :SDL_AudioStreamFlush => [:pointer],
    :SDL_AudioStreamClear => [:pointer],
    :SDL_FreeAudioStream => [:pointer],
    :SDL_MixAudio => [:pointer, :pointer, :uint, :int],
    :SDL_MixAudioFormat => [:pointer, :pointer, :ushort, :uint, :int],
    :SDL_QueueAudio => [:uint, :pointer, :uint],
    :SDL_DequeueAudio => [:uint, :pointer, :uint],
    :SDL_GetQueuedAudioSize => [:uint],
    :SDL_ClearQueuedAudio => [:uint],
    :SDL_LockAudio => [],
    :SDL_LockAudioDevice => [:uint],
    :SDL_UnlockAudio => [],
    :SDL_UnlockAudioDevice => [:uint],
    :SDL_CloseAudio => [],
    :SDL_CloseAudioDevice => [:uint],
  }
  retvals = {
    :SDL_GetNumAudioDrivers => :int,
    :SDL_GetAudioDriver => :pointer,
    :SDL_AudioInit => :int,
    :SDL_AudioQuit => :void,
    :SDL_GetCurrentAudioDriver => :pointer,
    :SDL_OpenAudio => :int,
    :SDL_GetNumAudioDevices => :int,
    :SDL_GetAudioDeviceName => :pointer,
    :SDL_GetAudioDeviceSpec => :int,
    :SDL_OpenAudioDevice => :uint,
    :SDL_GetAudioStatus => :int,
    :SDL_GetAudioDeviceStatus => :int,
    :SDL_PauseAudio => :void,
    :SDL_PauseAudioDevice => :void,
    :SDL_LoadWAV_RW => :pointer,
    :SDL_FreeWAV => :void,
    :SDL_BuildAudioCVT => :int,
    :SDL_ConvertAudio => :int,
    :SDL_NewAudioStream => :pointer,
    :SDL_AudioStreamPut => :int,
    :SDL_AudioStreamGet => :int,
    :SDL_AudioStreamAvailable => :int,
    :SDL_AudioStreamFlush => :int,
    :SDL_AudioStreamClear => :void,
    :SDL_FreeAudioStream => :void,
    :SDL_MixAudio => :void,
    :SDL_MixAudioFormat => :void,
    :SDL_QueueAudio => :int,
    :SDL_DequeueAudio => :uint,
    :SDL_GetQueuedAudioSize => :uint,
    :SDL_ClearQueuedAudio => :void,
    :SDL_LockAudio => :void,
    :SDL_LockAudioDevice => :void,
    :SDL_UnlockAudio => :void,
    :SDL_UnlockAudioDevice => :void,
    :SDL_CloseAudio => :void,
    :SDL_CloseAudioDevice => :void,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_blendmode_symbols() click to toggle source

Function

# File lib/sdl2_blendmode.rb, line 49
def self.setup_blendmode_symbols()
  symbols = [
    :SDL_ComposeCustomBlendMode,
  ]
  args = {
    :SDL_ComposeCustomBlendMode => [:int, :int, :int, :int, :int, :int],
  }
  retvals = {
    :SDL_ComposeCustomBlendMode => :int,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_clipboard_symbols() click to toggle source

Function

# File lib/sdl2_clipboard.rb, line 25
def self.setup_clipboard_symbols()
  symbols = [
    :SDL_SetClipboardText,
    :SDL_GetClipboardText,
    :SDL_HasClipboardText,
  ]
  args = {
    :SDL_SetClipboardText => [:pointer],
    :SDL_GetClipboardText => [],
    :SDL_HasClipboardText => [],
  }
  retvals = {
    :SDL_SetClipboardText => :int,
    :SDL_GetClipboardText => :pointer,
    :SDL_HasClipboardText => :int,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_cpuinfo_symbols() click to toggle source

Function

# File lib/sdl2_cpuinfo.rb, line 26
def self.setup_cpuinfo_symbols()
  symbols = [
    :SDL_GetCPUCount,
    :SDL_GetCPUCacheLineSize,
    :SDL_HasRDTSC,
    :SDL_HasAltiVec,
    :SDL_HasMMX,
    :SDL_Has3DNow,
    :SDL_HasSSE,
    :SDL_HasSSE2,
    :SDL_HasSSE3,
    :SDL_HasSSE41,
    :SDL_HasSSE42,
    :SDL_HasAVX,
    :SDL_HasAVX2,
    :SDL_HasAVX512F,
    :SDL_HasARMSIMD,
    :SDL_HasNEON,
    :SDL_GetSystemRAM,
    :SDL_SIMDGetAlignment,
    :SDL_SIMDAlloc,
    :SDL_SIMDRealloc,
    :SDL_SIMDFree,
  ]
  args = {
    :SDL_GetCPUCount => [],
    :SDL_GetCPUCacheLineSize => [],
    :SDL_HasRDTSC => [],
    :SDL_HasAltiVec => [],
    :SDL_HasMMX => [],
    :SDL_Has3DNow => [],
    :SDL_HasSSE => [],
    :SDL_HasSSE2 => [],
    :SDL_HasSSE3 => [],
    :SDL_HasSSE41 => [],
    :SDL_HasSSE42 => [],
    :SDL_HasAVX => [],
    :SDL_HasAVX2 => [],
    :SDL_HasAVX512F => [],
    :SDL_HasARMSIMD => [],
    :SDL_HasNEON => [],
    :SDL_GetSystemRAM => [],
    :SDL_SIMDGetAlignment => [],
    :SDL_SIMDAlloc => [:ulong],
    :SDL_SIMDRealloc => [:pointer, :ulong],
    :SDL_SIMDFree => [:pointer],
  }
  retvals = {
    :SDL_GetCPUCount => :int,
    :SDL_GetCPUCacheLineSize => :int,
    :SDL_HasRDTSC => :int,
    :SDL_HasAltiVec => :int,
    :SDL_HasMMX => :int,
    :SDL_Has3DNow => :int,
    :SDL_HasSSE => :int,
    :SDL_HasSSE2 => :int,
    :SDL_HasSSE3 => :int,
    :SDL_HasSSE41 => :int,
    :SDL_HasSSE42 => :int,
    :SDL_HasAVX => :int,
    :SDL_HasAVX2 => :int,
    :SDL_HasAVX512F => :int,
    :SDL_HasARMSIMD => :int,
    :SDL_HasNEON => :int,
    :SDL_GetSystemRAM => :int,
    :SDL_SIMDGetAlignment => :size_t,
    :SDL_SIMDAlloc => :pointer,
    :SDL_SIMDRealloc => :pointer,
    :SDL_SIMDFree => :void,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_error_symbols() click to toggle source

Function

# File lib/sdl2_error.rb, line 32
def self.setup_error_symbols()
  symbols = [
    :SDL_SetError,
    :SDL_GetError,
    :SDL_GetErrorMsg,
    :SDL_ClearError,
    :SDL_Error,
  ]
  args = {
    :SDL_SetError => [:pointer],
    :SDL_GetError => [],
    :SDL_GetErrorMsg => [:pointer, :int],
    :SDL_ClearError => [],
    :SDL_Error => [:int],
  }
  retvals = {
    :SDL_SetError => :int,
    :SDL_GetError => :pointer,
    :SDL_GetErrorMsg => :pointer,
    :SDL_ClearError => :void,
    :SDL_Error => :int,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_events_symbols() click to toggle source

Function

# File lib/sdl2_events.rb, line 462
def self.setup_events_symbols()
  symbols = [
    :SDL_PumpEvents,
    :SDL_PeepEvents,
    :SDL_HasEvent,
    :SDL_HasEvents,
    :SDL_FlushEvent,
    :SDL_FlushEvents,
    :SDL_PollEvent,
    :SDL_WaitEvent,
    :SDL_WaitEventTimeout,
    :SDL_PushEvent,
    :SDL_SetEventFilter,
    :SDL_GetEventFilter,
    :SDL_AddEventWatch,
    :SDL_DelEventWatch,
    :SDL_FilterEvents,
    :SDL_EventState,
    :SDL_RegisterEvents,
  ]
  args = {
    :SDL_PumpEvents => [],
    :SDL_PeepEvents => [:pointer, :int, :int, :uint, :uint],
    :SDL_HasEvent => [:uint],
    :SDL_HasEvents => [:uint, :uint],
    :SDL_FlushEvent => [:uint],
    :SDL_FlushEvents => [:uint, :uint],
    :SDL_PollEvent => [:pointer],
    :SDL_WaitEvent => [:pointer],
    :SDL_WaitEventTimeout => [:pointer, :int],
    :SDL_PushEvent => [:pointer],
    :SDL_SetEventFilter => [:SDL_EventFilter, :pointer],
    :SDL_GetEventFilter => [:pointer, :pointer],
    :SDL_AddEventWatch => [:SDL_EventFilter, :pointer],
    :SDL_DelEventWatch => [:SDL_EventFilter, :pointer],
    :SDL_FilterEvents => [:SDL_EventFilter, :pointer],
    :SDL_EventState => [:uint, :int],
    :SDL_RegisterEvents => [:int],
  }
  retvals = {
    :SDL_PumpEvents => :void,
    :SDL_PeepEvents => :int,
    :SDL_HasEvent => :int,
    :SDL_HasEvents => :int,
    :SDL_FlushEvent => :void,
    :SDL_FlushEvents => :void,
    :SDL_PollEvent => :int,
    :SDL_WaitEvent => :int,
    :SDL_WaitEventTimeout => :int,
    :SDL_PushEvent => :int,
    :SDL_SetEventFilter => :void,
    :SDL_GetEventFilter => :int,
    :SDL_AddEventWatch => :void,
    :SDL_DelEventWatch => :void,
    :SDL_FilterEvents => :void,
    :SDL_EventState => :uchar,
    :SDL_RegisterEvents => :uint,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_filesystem_symbols() click to toggle source

Function

# File lib/sdl2_filesystem.rb, line 25
def self.setup_filesystem_symbols()
  symbols = [
    :SDL_GetBasePath,
    :SDL_GetPrefPath,
  ]
  args = {
    :SDL_GetBasePath => [],
    :SDL_GetPrefPath => [:pointer, :pointer],
  }
  retvals = {
    :SDL_GetBasePath => :pointer,
    :SDL_GetPrefPath => :pointer,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_gamecontroller_symbols() click to toggle source

Function

# File lib/sdl2_gamecontroller.rb, line 98
def self.setup_gamecontroller_symbols()
  symbols = [
    :SDL_GameControllerAddMappingsFromRW,
    :SDL_GameControllerAddMapping,
    :SDL_GameControllerNumMappings,
    :SDL_GameControllerMappingForIndex,
    :SDL_GameControllerMappingForGUID,
    :SDL_GameControllerMapping,
    :SDL_IsGameController,
    :SDL_GameControllerNameForIndex,
    :SDL_GameControllerTypeForIndex,
    :SDL_GameControllerMappingForDeviceIndex,
    :SDL_GameControllerOpen,
    :SDL_GameControllerFromInstanceID,
    :SDL_GameControllerFromPlayerIndex,
    :SDL_GameControllerName,
    :SDL_GameControllerGetType,
    :SDL_GameControllerGetPlayerIndex,
    :SDL_GameControllerSetPlayerIndex,
    :SDL_GameControllerGetVendor,
    :SDL_GameControllerGetProduct,
    :SDL_GameControllerGetProductVersion,
    :SDL_GameControllerGetSerial,
    :SDL_GameControllerGetAttached,
    :SDL_GameControllerGetJoystick,
    :SDL_GameControllerEventState,
    :SDL_GameControllerUpdate,
    :SDL_GameControllerGetAxisFromString,
    :SDL_GameControllerGetStringForAxis,
    :SDL_GameControllerGetBindForAxis,
    :SDL_GameControllerHasAxis,
    :SDL_GameControllerGetAxis,
    :SDL_GameControllerGetButtonFromString,
    :SDL_GameControllerGetStringForButton,
    :SDL_GameControllerGetBindForButton,
    :SDL_GameControllerHasButton,
    :SDL_GameControllerGetButton,
    :SDL_GameControllerGetNumTouchpads,
    :SDL_GameControllerGetNumTouchpadFingers,
    :SDL_GameControllerGetTouchpadFinger,
    :SDL_GameControllerHasSensor,
    :SDL_GameControllerSetSensorEnabled,
    :SDL_GameControllerIsSensorEnabled,
    :SDL_GameControllerGetSensorDataRate,
    :SDL_GameControllerGetSensorData,
    :SDL_GameControllerRumble,
    :SDL_GameControllerRumbleTriggers,
    :SDL_GameControllerHasLED,
    :SDL_GameControllerSetLED,
    :SDL_GameControllerSendEffect,
    :SDL_GameControllerClose,
  ]
  args = {
    :SDL_GameControllerAddMappingsFromRW => [:pointer, :int],
    :SDL_GameControllerAddMapping => [:pointer],
    :SDL_GameControllerNumMappings => [],
    :SDL_GameControllerMappingForIndex => [:int],
    :SDL_GameControllerMappingForGUID => [SDL_JoystickGUID],
    :SDL_GameControllerMapping => [:pointer],
    :SDL_IsGameController => [:int],
    :SDL_GameControllerNameForIndex => [:int],
    :SDL_GameControllerTypeForIndex => [:int],
    :SDL_GameControllerMappingForDeviceIndex => [:int],
    :SDL_GameControllerOpen => [:int],
    :SDL_GameControllerFromInstanceID => [:int],
    :SDL_GameControllerFromPlayerIndex => [:int],
    :SDL_GameControllerName => [:pointer],
    :SDL_GameControllerGetType => [:pointer],
    :SDL_GameControllerGetPlayerIndex => [:pointer],
    :SDL_GameControllerSetPlayerIndex => [:pointer, :int],
    :SDL_GameControllerGetVendor => [:pointer],
    :SDL_GameControllerGetProduct => [:pointer],
    :SDL_GameControllerGetProductVersion => [:pointer],
    :SDL_GameControllerGetSerial => [:pointer],
    :SDL_GameControllerGetAttached => [:pointer],
    :SDL_GameControllerGetJoystick => [:pointer],
    :SDL_GameControllerEventState => [:int],
    :SDL_GameControllerUpdate => [],
    :SDL_GameControllerGetAxisFromString => [:pointer],
    :SDL_GameControllerGetStringForAxis => [:int],
    :SDL_GameControllerGetBindForAxis => [:pointer, :int],
    :SDL_GameControllerHasAxis => [:pointer, :int],
    :SDL_GameControllerGetAxis => [:pointer, :int],
    :SDL_GameControllerGetButtonFromString => [:pointer],
    :SDL_GameControllerGetStringForButton => [:int],
    :SDL_GameControllerGetBindForButton => [:pointer, :int],
    :SDL_GameControllerHasButton => [:pointer, :int],
    :SDL_GameControllerGetButton => [:pointer, :int],
    :SDL_GameControllerGetNumTouchpads => [:pointer],
    :SDL_GameControllerGetNumTouchpadFingers => [:pointer, :int],
    :SDL_GameControllerGetTouchpadFinger => [:pointer, :int, :int, :pointer, :pointer, :pointer, :pointer],
    :SDL_GameControllerHasSensor => [:pointer, :int],
    :SDL_GameControllerSetSensorEnabled => [:pointer, :int, :int],
    :SDL_GameControllerIsSensorEnabled => [:pointer, :int],
    :SDL_GameControllerGetSensorDataRate => [:pointer, :int],
    :SDL_GameControllerGetSensorData => [:pointer, :int, :pointer, :int],
    :SDL_GameControllerRumble => [:pointer, :ushort, :ushort, :uint],
    :SDL_GameControllerRumbleTriggers => [:pointer, :ushort, :ushort, :uint],
    :SDL_GameControllerHasLED => [:pointer],
    :SDL_GameControllerSetLED => [:pointer, :uchar, :uchar, :uchar],
    :SDL_GameControllerSendEffect => [:pointer, :pointer, :int],
    :SDL_GameControllerClose => [:pointer],
  }
  retvals = {
    :SDL_GameControllerAddMappingsFromRW => :int,
    :SDL_GameControllerAddMapping => :int,
    :SDL_GameControllerNumMappings => :int,
    :SDL_GameControllerMappingForIndex => :pointer,
    :SDL_GameControllerMappingForGUID => :pointer,
    :SDL_GameControllerMapping => :pointer,
    :SDL_IsGameController => :int,
    :SDL_GameControllerNameForIndex => :pointer,
    :SDL_GameControllerTypeForIndex => :int,
    :SDL_GameControllerMappingForDeviceIndex => :pointer,
    :SDL_GameControllerOpen => :pointer,
    :SDL_GameControllerFromInstanceID => :pointer,
    :SDL_GameControllerFromPlayerIndex => :pointer,
    :SDL_GameControllerName => :pointer,
    :SDL_GameControllerGetType => :int,
    :SDL_GameControllerGetPlayerIndex => :int,
    :SDL_GameControllerSetPlayerIndex => :void,
    :SDL_GameControllerGetVendor => :ushort,
    :SDL_GameControllerGetProduct => :ushort,
    :SDL_GameControllerGetProductVersion => :ushort,
    :SDL_GameControllerGetSerial => :pointer,
    :SDL_GameControllerGetAttached => :int,
    :SDL_GameControllerGetJoystick => :pointer,
    :SDL_GameControllerEventState => :int,
    :SDL_GameControllerUpdate => :void,
    :SDL_GameControllerGetAxisFromString => :int,
    :SDL_GameControllerGetStringForAxis => :pointer,
    :SDL_GameControllerGetBindForAxis => SDL_GameControllerButtonBind,
    :SDL_GameControllerHasAxis => :int,
    :SDL_GameControllerGetAxis => :short,
    :SDL_GameControllerGetButtonFromString => :int,
    :SDL_GameControllerGetStringForButton => :pointer,
    :SDL_GameControllerGetBindForButton => SDL_GameControllerButtonBind,
    :SDL_GameControllerHasButton => :int,
    :SDL_GameControllerGetButton => :uchar,
    :SDL_GameControllerGetNumTouchpads => :int,
    :SDL_GameControllerGetNumTouchpadFingers => :int,
    :SDL_GameControllerGetTouchpadFinger => :int,
    :SDL_GameControllerHasSensor => :int,
    :SDL_GameControllerSetSensorEnabled => :int,
    :SDL_GameControllerIsSensorEnabled => :int,
    :SDL_GameControllerGetSensorDataRate => :float,
    :SDL_GameControllerGetSensorData => :int,
    :SDL_GameControllerRumble => :int,
    :SDL_GameControllerRumbleTriggers => :int,
    :SDL_GameControllerHasLED => :int,
    :SDL_GameControllerSetLED => :int,
    :SDL_GameControllerSendEffect => :int,
    :SDL_GameControllerClose => :void,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_gesture_symbols() click to toggle source

Function

# File lib/sdl2_gesture.rb, line 26
def self.setup_gesture_symbols()
  symbols = [
    :SDL_RecordGesture,
    :SDL_SaveAllDollarTemplates,
    :SDL_SaveDollarTemplate,
    :SDL_LoadDollarTemplates,
  ]
  args = {
    :SDL_RecordGesture => [:long_long],
    :SDL_SaveAllDollarTemplates => [:pointer],
    :SDL_SaveDollarTemplate => [:long_long, :pointer],
    :SDL_LoadDollarTemplates => [:long_long, :pointer],
  }
  retvals = {
    :SDL_RecordGesture => :int,
    :SDL_SaveAllDollarTemplates => :int,
    :SDL_SaveDollarTemplate => :int,
    :SDL_LoadDollarTemplates => :int,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_gfx_framerate_symbols() click to toggle source

Function

# File lib/sdl2_framerate.rb, line 35
def self.setup_gfx_framerate_symbols()
  symbols = [
    :SDL_initFramerate,
    :SDL_setFramerate,
    :SDL_getFramerate,
    :SDL_getFramecount,
    :SDL_framerateDelay,
  ]
  args = {
    :SDL_initFramerate => [:pointer],
    :SDL_setFramerate => [:pointer, :uint],
    :SDL_getFramerate => [:pointer],
    :SDL_getFramecount => [:pointer],
    :SDL_framerateDelay => [:pointer],
  }
  retvals = {
    :SDL_initFramerate => :void,
    :SDL_setFramerate => :int,
    :SDL_getFramerate => :int,
    :SDL_getFramecount => :int,
    :SDL_framerateDelay => :uint,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_gfx_imagefilter_symbols() click to toggle source

Function

# File lib/sdl2_imageFilter.rb, line 25
def self.setup_gfx_imagefilter_symbols()
  symbols = [
    :SDL_imageFilterMMXdetect,
    :SDL_imageFilterMMXoff,
    :SDL_imageFilterMMXon,
    :SDL_imageFilterAdd,
    :SDL_imageFilterMean,
    :SDL_imageFilterSub,
    :SDL_imageFilterAbsDiff,
    :SDL_imageFilterMult,
    :SDL_imageFilterMultNor,
    :SDL_imageFilterMultDivby2,
    :SDL_imageFilterMultDivby4,
    :SDL_imageFilterBitAnd,
    :SDL_imageFilterBitOr,
    :SDL_imageFilterDiv,
    :SDL_imageFilterBitNegation,
    :SDL_imageFilterAddByte,
    :SDL_imageFilterAddUint,
    :SDL_imageFilterAddByteToHalf,
    :SDL_imageFilterSubByte,
    :SDL_imageFilterSubUint,
    :SDL_imageFilterShiftRight,
    :SDL_imageFilterShiftRightUint,
    :SDL_imageFilterMultByByte,
    :SDL_imageFilterShiftRightAndMultByByte,
    :SDL_imageFilterShiftLeftByte,
    :SDL_imageFilterShiftLeftUint,
    :SDL_imageFilterShiftLeft,
    :SDL_imageFilterBinarizeUsingThreshold,
    :SDL_imageFilterClipToRange,
    :SDL_imageFilterNormalizeLinear,
  ]
  args = {
    :SDL_imageFilterMMXdetect => [],
    :SDL_imageFilterMMXoff => [],
    :SDL_imageFilterMMXon => [],
    :SDL_imageFilterAdd => [:pointer, :pointer, :pointer, :uint],
    :SDL_imageFilterMean => [:pointer, :pointer, :pointer, :uint],
    :SDL_imageFilterSub => [:pointer, :pointer, :pointer, :uint],
    :SDL_imageFilterAbsDiff => [:pointer, :pointer, :pointer, :uint],
    :SDL_imageFilterMult => [:pointer, :pointer, :pointer, :uint],
    :SDL_imageFilterMultNor => [:pointer, :pointer, :pointer, :uint],
    :SDL_imageFilterMultDivby2 => [:pointer, :pointer, :pointer, :uint],
    :SDL_imageFilterMultDivby4 => [:pointer, :pointer, :pointer, :uint],
    :SDL_imageFilterBitAnd => [:pointer, :pointer, :pointer, :uint],
    :SDL_imageFilterBitOr => [:pointer, :pointer, :pointer, :uint],
    :SDL_imageFilterDiv => [:pointer, :pointer, :pointer, :uint],
    :SDL_imageFilterBitNegation => [:pointer, :pointer, :uint],
    :SDL_imageFilterAddByte => [:pointer, :pointer, :uint, :uchar],
    :SDL_imageFilterAddUint => [:pointer, :pointer, :uint, :uint],
    :SDL_imageFilterAddByteToHalf => [:pointer, :pointer, :uint, :uchar],
    :SDL_imageFilterSubByte => [:pointer, :pointer, :uint, :uchar],
    :SDL_imageFilterSubUint => [:pointer, :pointer, :uint, :uint],
    :SDL_imageFilterShiftRight => [:pointer, :pointer, :uint, :uchar],
    :SDL_imageFilterShiftRightUint => [:pointer, :pointer, :uint, :uchar],
    :SDL_imageFilterMultByByte => [:pointer, :pointer, :uint, :uchar],
    :SDL_imageFilterShiftRightAndMultByByte => [:pointer, :pointer, :uint, :uchar, :uchar],
    :SDL_imageFilterShiftLeftByte => [:pointer, :pointer, :uint, :uchar],
    :SDL_imageFilterShiftLeftUint => [:pointer, :pointer, :uint, :uchar],
    :SDL_imageFilterShiftLeft => [:pointer, :pointer, :uint, :uchar],
    :SDL_imageFilterBinarizeUsingThreshold => [:pointer, :pointer, :uint, :uchar],
    :SDL_imageFilterClipToRange => [:pointer, :pointer, :uint, :uchar, :uchar],
    :SDL_imageFilterNormalizeLinear => [:pointer, :pointer, :uint, :int, :int, :int, :int],
  }
  retvals = {
    :SDL_imageFilterMMXdetect => :int,
    :SDL_imageFilterMMXoff => :void,
    :SDL_imageFilterMMXon => :void,
    :SDL_imageFilterAdd => :int,
    :SDL_imageFilterMean => :int,
    :SDL_imageFilterSub => :int,
    :SDL_imageFilterAbsDiff => :int,
    :SDL_imageFilterMult => :int,
    :SDL_imageFilterMultNor => :int,
    :SDL_imageFilterMultDivby2 => :int,
    :SDL_imageFilterMultDivby4 => :int,
    :SDL_imageFilterBitAnd => :int,
    :SDL_imageFilterBitOr => :int,
    :SDL_imageFilterDiv => :int,
    :SDL_imageFilterBitNegation => :int,
    :SDL_imageFilterAddByte => :int,
    :SDL_imageFilterAddUint => :int,
    :SDL_imageFilterAddByteToHalf => :int,
    :SDL_imageFilterSubByte => :int,
    :SDL_imageFilterSubUint => :int,
    :SDL_imageFilterShiftRight => :int,
    :SDL_imageFilterShiftRightUint => :int,
    :SDL_imageFilterMultByByte => :int,
    :SDL_imageFilterShiftRightAndMultByByte => :int,
    :SDL_imageFilterShiftLeftByte => :int,
    :SDL_imageFilterShiftLeftUint => :int,
    :SDL_imageFilterShiftLeft => :int,
    :SDL_imageFilterBinarizeUsingThreshold => :int,
    :SDL_imageFilterClipToRange => :int,
    :SDL_imageFilterNormalizeLinear => :int,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_gfx_primitives_symbols() click to toggle source

Function

# File lib/sdl2_gfxPrimitives.rb, line 28
def self.setup_gfx_primitives_symbols()
  symbols = [
    :pixelColor,
    :pixelRGBA,
    :hlineColor,
    :hlineRGBA,
    :vlineColor,
    :vlineRGBA,
    :rectangleColor,
    :rectangleRGBA,
    :roundedRectangleColor,
    :roundedRectangleRGBA,
    :boxColor,
    :boxRGBA,
    :roundedBoxColor,
    :roundedBoxRGBA,
    :lineColor,
    :lineRGBA,
    :aalineColor,
    :aalineRGBA,
    :thickLineColor,
    :thickLineRGBA,
    :circleColor,
    :circleRGBA,
    :arcColor,
    :arcRGBA,
    :aacircleColor,
    :aacircleRGBA,
    :filledCircleColor,
    :filledCircleRGBA,
    :ellipseColor,
    :ellipseRGBA,
    :aaellipseColor,
    :aaellipseRGBA,
    :filledEllipseColor,
    :filledEllipseRGBA,
    :pieColor,
    :pieRGBA,
    :filledPieColor,
    :filledPieRGBA,
    :trigonColor,
    :trigonRGBA,
    :aatrigonColor,
    :aatrigonRGBA,
    :filledTrigonColor,
    :filledTrigonRGBA,
    :polygonColor,
    :polygonRGBA,
    :aapolygonColor,
    :aapolygonRGBA,
    :filledPolygonColor,
    :filledPolygonRGBA,
    :texturedPolygon,
    :bezierColor,
    :bezierRGBA,
    :gfxPrimitivesSetFont,
    :gfxPrimitivesSetFontRotation,
    :characterColor,
    :characterRGBA,
    :stringColor,
    :stringRGBA,
  ]
  args = {
    :pixelColor => [:pointer, :short, :short, :uint],
    :pixelRGBA => [:pointer, :short, :short, :uchar, :uchar, :uchar, :uchar],
    :hlineColor => [:pointer, :short, :short, :short, :uint],
    :hlineRGBA => [:pointer, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
    :vlineColor => [:pointer, :short, :short, :short, :uint],
    :vlineRGBA => [:pointer, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
    :rectangleColor => [:pointer, :short, :short, :short, :short, :uint],
    :rectangleRGBA => [:pointer, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
    :roundedRectangleColor => [:pointer, :short, :short, :short, :short, :short, :uint],
    :roundedRectangleRGBA => [:pointer, :short, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
    :boxColor => [:pointer, :short, :short, :short, :short, :uint],
    :boxRGBA => [:pointer, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
    :roundedBoxColor => [:pointer, :short, :short, :short, :short, :short, :uint],
    :roundedBoxRGBA => [:pointer, :short, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
    :lineColor => [:pointer, :short, :short, :short, :short, :uint],
    :lineRGBA => [:pointer, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
    :aalineColor => [:pointer, :short, :short, :short, :short, :uint],
    :aalineRGBA => [:pointer, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
    :thickLineColor => [:pointer, :short, :short, :short, :short, :uchar, :uint],
    :thickLineRGBA => [:pointer, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar, :uchar],
    :circleColor => [:pointer, :short, :short, :short, :uint],
    :circleRGBA => [:pointer, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
    :arcColor => [:pointer, :short, :short, :short, :short, :short, :uint],
    :arcRGBA => [:pointer, :short, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
    :aacircleColor => [:pointer, :short, :short, :short, :uint],
    :aacircleRGBA => [:pointer, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
    :filledCircleColor => [:pointer, :short, :short, :short, :uint],
    :filledCircleRGBA => [:pointer, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
    :ellipseColor => [:pointer, :short, :short, :short, :short, :uint],
    :ellipseRGBA => [:pointer, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
    :aaellipseColor => [:pointer, :short, :short, :short, :short, :uint],
    :aaellipseRGBA => [:pointer, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
    :filledEllipseColor => [:pointer, :short, :short, :short, :short, :uint],
    :filledEllipseRGBA => [:pointer, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
    :pieColor => [:pointer, :short, :short, :short, :short, :short, :uint],
    :pieRGBA => [:pointer, :short, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
    :filledPieColor => [:pointer, :short, :short, :short, :short, :short, :uint],
    :filledPieRGBA => [:pointer, :short, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
    :trigonColor => [:pointer, :short, :short, :short, :short, :short, :short, :uint],
    :trigonRGBA => [:pointer, :short, :short, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
    :aatrigonColor => [:pointer, :short, :short, :short, :short, :short, :short, :uint],
    :aatrigonRGBA => [:pointer, :short, :short, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
    :filledTrigonColor => [:pointer, :short, :short, :short, :short, :short, :short, :uint],
    :filledTrigonRGBA => [:pointer, :short, :short, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
    :polygonColor => [:pointer, :pointer, :pointer, :int, :uint],
    :polygonRGBA => [:pointer, :pointer, :pointer, :int, :uchar, :uchar, :uchar, :uchar],
    :aapolygonColor => [:pointer, :pointer, :pointer, :int, :uint],
    :aapolygonRGBA => [:pointer, :pointer, :pointer, :int, :uchar, :uchar, :uchar, :uchar],
    :filledPolygonColor => [:pointer, :pointer, :pointer, :int, :uint],
    :filledPolygonRGBA => [:pointer, :pointer, :pointer, :int, :uchar, :uchar, :uchar, :uchar],
    :texturedPolygon => [:pointer, :pointer, :pointer, :int, :pointer, :int, :int],
    :bezierColor => [:pointer, :pointer, :pointer, :int, :int, :uint],
    :bezierRGBA => [:pointer, :pointer, :pointer, :int, :int, :uchar, :uchar, :uchar, :uchar],
    :gfxPrimitivesSetFont => [:pointer, :uint, :uint],
    :gfxPrimitivesSetFontRotation => [:uint],
    :characterColor => [:pointer, :short, :short, :char, :uint],
    :characterRGBA => [:pointer, :short, :short, :char, :uchar, :uchar, :uchar, :uchar],
    :stringColor => [:pointer, :short, :short, :pointer, :uint],
    :stringRGBA => [:pointer, :short, :short, :pointer, :uchar, :uchar, :uchar, :uchar],
  }
  retvals = {
    :pixelColor => :int,
    :pixelRGBA => :int,
    :hlineColor => :int,
    :hlineRGBA => :int,
    :vlineColor => :int,
    :vlineRGBA => :int,
    :rectangleColor => :int,
    :rectangleRGBA => :int,
    :roundedRectangleColor => :int,
    :roundedRectangleRGBA => :int,
    :boxColor => :int,
    :boxRGBA => :int,
    :roundedBoxColor => :int,
    :roundedBoxRGBA => :int,
    :lineColor => :int,
    :lineRGBA => :int,
    :aalineColor => :int,
    :aalineRGBA => :int,
    :thickLineColor => :int,
    :thickLineRGBA => :int,
    :circleColor => :int,
    :circleRGBA => :int,
    :arcColor => :int,
    :arcRGBA => :int,
    :aacircleColor => :int,
    :aacircleRGBA => :int,
    :filledCircleColor => :int,
    :filledCircleRGBA => :int,
    :ellipseColor => :int,
    :ellipseRGBA => :int,
    :aaellipseColor => :int,
    :aaellipseRGBA => :int,
    :filledEllipseColor => :int,
    :filledEllipseRGBA => :int,
    :pieColor => :int,
    :pieRGBA => :int,
    :filledPieColor => :int,
    :filledPieRGBA => :int,
    :trigonColor => :int,
    :trigonRGBA => :int,
    :aatrigonColor => :int,
    :aatrigonRGBA => :int,
    :filledTrigonColor => :int,
    :filledTrigonRGBA => :int,
    :polygonColor => :int,
    :polygonRGBA => :int,
    :aapolygonColor => :int,
    :aapolygonRGBA => :int,
    :filledPolygonColor => :int,
    :filledPolygonRGBA => :int,
    :texturedPolygon => :int,
    :bezierColor => :int,
    :bezierRGBA => :int,
    :gfxPrimitivesSetFont => :void,
    :gfxPrimitivesSetFontRotation => :void,
    :characterColor => :int,
    :characterRGBA => :int,
    :stringColor => :int,
    :stringRGBA => :int,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_gfx_rotozoom_symbols() click to toggle source

Function

# File lib/sdl2_rotozoom.rb, line 25
def self.setup_gfx_rotozoom_symbols()
  symbols = [
    :rotozoomSurface,
    :rotozoomSurfaceXY,
    :rotozoomSurfaceSize,
    :rotozoomSurfaceSizeXY,
    :zoomSurface,
    :zoomSurfaceSize,
    :shrinkSurface,
    :rotateSurface90Degrees,
  ]
  args = {
    :rotozoomSurface => [:pointer, :double, :double, :int],
    :rotozoomSurfaceXY => [:pointer, :double, :double, :double, :int],
    :rotozoomSurfaceSize => [:int, :int, :double, :double, :pointer, :pointer],
    :rotozoomSurfaceSizeXY => [:int, :int, :double, :double, :double, :pointer, :pointer],
    :zoomSurface => [:pointer, :double, :double, :int],
    :zoomSurfaceSize => [:int, :int, :double, :double, :pointer, :pointer],
    :shrinkSurface => [:pointer, :int, :int],
    :rotateSurface90Degrees => [:pointer, :int],
  }
  retvals = {
    :rotozoomSurface => :pointer,
    :rotozoomSurfaceXY => :pointer,
    :rotozoomSurfaceSize => :void,
    :rotozoomSurfaceSizeXY => :void,
    :zoomSurface => :pointer,
    :zoomSurfaceSize => :void,
    :shrinkSurface => :pointer,
    :rotateSurface90Degrees => :pointer,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_haptic_symbols() click to toggle source

Function

# File lib/sdl2_haptic.rb, line 162
def self.setup_haptic_symbols()
  symbols = [
    :SDL_NumHaptics,
    :SDL_HapticName,
    :SDL_HapticOpen,
    :SDL_HapticOpened,
    :SDL_HapticIndex,
    :SDL_MouseIsHaptic,
    :SDL_HapticOpenFromMouse,
    :SDL_JoystickIsHaptic,
    :SDL_HapticOpenFromJoystick,
    :SDL_HapticClose,
    :SDL_HapticNumEffects,
    :SDL_HapticNumEffectsPlaying,
    :SDL_HapticQuery,
    :SDL_HapticNumAxes,
    :SDL_HapticEffectSupported,
    :SDL_HapticNewEffect,
    :SDL_HapticUpdateEffect,
    :SDL_HapticRunEffect,
    :SDL_HapticStopEffect,
    :SDL_HapticDestroyEffect,
    :SDL_HapticGetEffectStatus,
    :SDL_HapticSetGain,
    :SDL_HapticSetAutocenter,
    :SDL_HapticPause,
    :SDL_HapticUnpause,
    :SDL_HapticStopAll,
    :SDL_HapticRumbleSupported,
    :SDL_HapticRumbleInit,
    :SDL_HapticRumblePlay,
    :SDL_HapticRumbleStop,
  ]
  args = {
    :SDL_NumHaptics => [],
    :SDL_HapticName => [:int],
    :SDL_HapticOpen => [:int],
    :SDL_HapticOpened => [:int],
    :SDL_HapticIndex => [:pointer],
    :SDL_MouseIsHaptic => [],
    :SDL_HapticOpenFromMouse => [],
    :SDL_JoystickIsHaptic => [:pointer],
    :SDL_HapticOpenFromJoystick => [:pointer],
    :SDL_HapticClose => [:pointer],
    :SDL_HapticNumEffects => [:pointer],
    :SDL_HapticNumEffectsPlaying => [:pointer],
    :SDL_HapticQuery => [:pointer],
    :SDL_HapticNumAxes => [:pointer],
    :SDL_HapticEffectSupported => [:pointer, :pointer],
    :SDL_HapticNewEffect => [:pointer, :pointer],
    :SDL_HapticUpdateEffect => [:pointer, :int, :pointer],
    :SDL_HapticRunEffect => [:pointer, :int, :uint],
    :SDL_HapticStopEffect => [:pointer, :int],
    :SDL_HapticDestroyEffect => [:pointer, :int],
    :SDL_HapticGetEffectStatus => [:pointer, :int],
    :SDL_HapticSetGain => [:pointer, :int],
    :SDL_HapticSetAutocenter => [:pointer, :int],
    :SDL_HapticPause => [:pointer],
    :SDL_HapticUnpause => [:pointer],
    :SDL_HapticStopAll => [:pointer],
    :SDL_HapticRumbleSupported => [:pointer],
    :SDL_HapticRumbleInit => [:pointer],
    :SDL_HapticRumblePlay => [:pointer, :float, :uint],
    :SDL_HapticRumbleStop => [:pointer],
  }
  retvals = {
    :SDL_NumHaptics => :int,
    :SDL_HapticName => :pointer,
    :SDL_HapticOpen => :pointer,
    :SDL_HapticOpened => :int,
    :SDL_HapticIndex => :int,
    :SDL_MouseIsHaptic => :int,
    :SDL_HapticOpenFromMouse => :pointer,
    :SDL_JoystickIsHaptic => :int,
    :SDL_HapticOpenFromJoystick => :pointer,
    :SDL_HapticClose => :void,
    :SDL_HapticNumEffects => :int,
    :SDL_HapticNumEffectsPlaying => :int,
    :SDL_HapticQuery => :uint,
    :SDL_HapticNumAxes => :int,
    :SDL_HapticEffectSupported => :int,
    :SDL_HapticNewEffect => :int,
    :SDL_HapticUpdateEffect => :int,
    :SDL_HapticRunEffect => :int,
    :SDL_HapticStopEffect => :int,
    :SDL_HapticDestroyEffect => :void,
    :SDL_HapticGetEffectStatus => :int,
    :SDL_HapticSetGain => :int,
    :SDL_HapticSetAutocenter => :int,
    :SDL_HapticPause => :int,
    :SDL_HapticUnpause => :int,
    :SDL_HapticStopAll => :int,
    :SDL_HapticRumbleSupported => :int,
    :SDL_HapticRumbleInit => :int,
    :SDL_HapticRumblePlay => :int,
    :SDL_HapticRumbleStop => :int,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_hints_symbols() click to toggle source

Function

# File lib/sdl2_hints.rb, line 151
def self.setup_hints_symbols()
  symbols = [
    :SDL_SetHintWithPriority,
    :SDL_SetHint,
    :SDL_GetHint,
    :SDL_GetHintBoolean,
    :SDL_AddHintCallback,
    :SDL_DelHintCallback,
    :SDL_ClearHints,
  ]
  args = {
    :SDL_SetHintWithPriority => [:pointer, :pointer, :int],
    :SDL_SetHint => [:pointer, :pointer],
    :SDL_GetHint => [:pointer],
    :SDL_GetHintBoolean => [:pointer, :int],
    :SDL_AddHintCallback => [:pointer, :SDL_HintCallback, :pointer],
    :SDL_DelHintCallback => [:pointer, :SDL_HintCallback, :pointer],
    :SDL_ClearHints => [],
  }
  retvals = {
    :SDL_SetHintWithPriority => :int,
    :SDL_SetHint => :int,
    :SDL_GetHint => :pointer,
    :SDL_GetHintBoolean => :int,
    :SDL_AddHintCallback => :void,
    :SDL_DelHintCallback => :void,
    :SDL_ClearHints => :void,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_image_symbols() click to toggle source

Function

# File lib/sdl2_image.rb, line 33
def self.setup_image_symbols()
  symbols = [
    :IMG_Linked_Version,
    :IMG_Init,
    :IMG_Quit,
    :IMG_LoadTyped_RW,
    :IMG_Load,
    :IMG_Load_RW,
    :IMG_LoadTexture,
    :IMG_LoadTexture_RW,
    :IMG_LoadTextureTyped_RW,
    :IMG_isICO,
    :IMG_isCUR,
    :IMG_isBMP,
    :IMG_isGIF,
    :IMG_isJPG,
    :IMG_isLBM,
    :IMG_isPCX,
    :IMG_isPNG,
    :IMG_isPNM,
    :IMG_isSVG,
    :IMG_isTIF,
    :IMG_isXCF,
    :IMG_isXPM,
    :IMG_isXV,
    :IMG_isWEBP,
    :IMG_LoadICO_RW,
    :IMG_LoadCUR_RW,
    :IMG_LoadBMP_RW,
    :IMG_LoadGIF_RW,
    :IMG_LoadJPG_RW,
    :IMG_LoadLBM_RW,
    :IMG_LoadPCX_RW,
    :IMG_LoadPNG_RW,
    :IMG_LoadPNM_RW,
    :IMG_LoadSVG_RW,
    :IMG_LoadTGA_RW,
    :IMG_LoadTIF_RW,
    :IMG_LoadXCF_RW,
    :IMG_LoadXPM_RW,
    :IMG_LoadXV_RW,
    :IMG_LoadWEBP_RW,
    :IMG_ReadXPMFromArray,
    :IMG_SavePNG,
    :IMG_SavePNG_RW,
    :IMG_SaveJPG,
    :IMG_SaveJPG_RW,
  ]
  args = {
    :IMG_Linked_Version => [],
    :IMG_Init => [:int],
    :IMG_Quit => [],
    :IMG_LoadTyped_RW => [:pointer, :int, :pointer],
    :IMG_Load => [:pointer],
    :IMG_Load_RW => [:pointer, :int],
    :IMG_LoadTexture => [:pointer, :pointer],
    :IMG_LoadTexture_RW => [:pointer, :pointer, :int],
    :IMG_LoadTextureTyped_RW => [:pointer, :pointer, :int, :pointer],
    :IMG_isICO => [:pointer],
    :IMG_isCUR => [:pointer],
    :IMG_isBMP => [:pointer],
    :IMG_isGIF => [:pointer],
    :IMG_isJPG => [:pointer],
    :IMG_isLBM => [:pointer],
    :IMG_isPCX => [:pointer],
    :IMG_isPNG => [:pointer],
    :IMG_isPNM => [:pointer],
    :IMG_isSVG => [:pointer],
    :IMG_isTIF => [:pointer],
    :IMG_isXCF => [:pointer],
    :IMG_isXPM => [:pointer],
    :IMG_isXV => [:pointer],
    :IMG_isWEBP => [:pointer],
    :IMG_LoadICO_RW => [:pointer],
    :IMG_LoadCUR_RW => [:pointer],
    :IMG_LoadBMP_RW => [:pointer],
    :IMG_LoadGIF_RW => [:pointer],
    :IMG_LoadJPG_RW => [:pointer],
    :IMG_LoadLBM_RW => [:pointer],
    :IMG_LoadPCX_RW => [:pointer],
    :IMG_LoadPNG_RW => [:pointer],
    :IMG_LoadPNM_RW => [:pointer],
    :IMG_LoadSVG_RW => [:pointer],
    :IMG_LoadTGA_RW => [:pointer],
    :IMG_LoadTIF_RW => [:pointer],
    :IMG_LoadXCF_RW => [:pointer],
    :IMG_LoadXPM_RW => [:pointer],
    :IMG_LoadXV_RW => [:pointer],
    :IMG_LoadWEBP_RW => [:pointer],
    :IMG_ReadXPMFromArray => [:pointer],
    :IMG_SavePNG => [:pointer, :pointer],
    :IMG_SavePNG_RW => [:pointer, :pointer, :int],
    :IMG_SaveJPG => [:pointer, :pointer, :int],
    :IMG_SaveJPG_RW => [:pointer, :pointer, :int, :int],
  }
  retvals = {
    :IMG_Linked_Version => :pointer,
    :IMG_Init => :int,
    :IMG_Quit => :void,
    :IMG_LoadTyped_RW => :pointer,
    :IMG_Load => :pointer,
    :IMG_Load_RW => :pointer,
    :IMG_LoadTexture => :pointer,
    :IMG_LoadTexture_RW => :pointer,
    :IMG_LoadTextureTyped_RW => :pointer,
    :IMG_isICO => :int,
    :IMG_isCUR => :int,
    :IMG_isBMP => :int,
    :IMG_isGIF => :int,
    :IMG_isJPG => :int,
    :IMG_isLBM => :int,
    :IMG_isPCX => :int,
    :IMG_isPNG => :int,
    :IMG_isPNM => :int,
    :IMG_isSVG => :int,
    :IMG_isTIF => :int,
    :IMG_isXCF => :int,
    :IMG_isXPM => :int,
    :IMG_isXV => :int,
    :IMG_isWEBP => :int,
    :IMG_LoadICO_RW => :pointer,
    :IMG_LoadCUR_RW => :pointer,
    :IMG_LoadBMP_RW => :pointer,
    :IMG_LoadGIF_RW => :pointer,
    :IMG_LoadJPG_RW => :pointer,
    :IMG_LoadLBM_RW => :pointer,
    :IMG_LoadPCX_RW => :pointer,
    :IMG_LoadPNG_RW => :pointer,
    :IMG_LoadPNM_RW => :pointer,
    :IMG_LoadSVG_RW => :pointer,
    :IMG_LoadTGA_RW => :pointer,
    :IMG_LoadTIF_RW => :pointer,
    :IMG_LoadXCF_RW => :pointer,
    :IMG_LoadXPM_RW => :pointer,
    :IMG_LoadXV_RW => :pointer,
    :IMG_LoadWEBP_RW => :pointer,
    :IMG_ReadXPMFromArray => :pointer,
    :IMG_SavePNG => :int,
    :IMG_SavePNG_RW => :int,
    :IMG_SaveJPG => :int,
    :IMG_SaveJPG_RW => :int,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_joystick_symbols() click to toggle source

Function

# File lib/sdl2_joystick.rb, line 63
def self.setup_joystick_symbols()
  symbols = [
    :SDL_LockJoysticks,
    :SDL_UnlockJoysticks,
    :SDL_NumJoysticks,
    :SDL_JoystickNameForIndex,
    :SDL_JoystickGetDevicePlayerIndex,
    :SDL_JoystickGetDeviceGUID,
    :SDL_JoystickGetDeviceVendor,
    :SDL_JoystickGetDeviceProduct,
    :SDL_JoystickGetDeviceProductVersion,
    :SDL_JoystickGetDeviceType,
    :SDL_JoystickGetDeviceInstanceID,
    :SDL_JoystickOpen,
    :SDL_JoystickFromInstanceID,
    :SDL_JoystickFromPlayerIndex,
    :SDL_JoystickAttachVirtual,
    :SDL_JoystickDetachVirtual,
    :SDL_JoystickIsVirtual,
    :SDL_JoystickSetVirtualAxis,
    :SDL_JoystickSetVirtualButton,
    :SDL_JoystickSetVirtualHat,
    :SDL_JoystickName,
    :SDL_JoystickGetPlayerIndex,
    :SDL_JoystickSetPlayerIndex,
    :SDL_JoystickGetGUID,
    :SDL_JoystickGetVendor,
    :SDL_JoystickGetProduct,
    :SDL_JoystickGetProductVersion,
    :SDL_JoystickGetSerial,
    :SDL_JoystickGetType,
    :SDL_JoystickGetGUIDString,
    :SDL_JoystickGetGUIDFromString,
    :SDL_JoystickGetAttached,
    :SDL_JoystickInstanceID,
    :SDL_JoystickNumAxes,
    :SDL_JoystickNumBalls,
    :SDL_JoystickNumHats,
    :SDL_JoystickNumButtons,
    :SDL_JoystickUpdate,
    :SDL_JoystickEventState,
    :SDL_JoystickGetAxis,
    :SDL_JoystickGetAxisInitialState,
    :SDL_JoystickGetHat,
    :SDL_JoystickGetBall,
    :SDL_JoystickGetButton,
    :SDL_JoystickRumble,
    :SDL_JoystickRumbleTriggers,
    :SDL_JoystickHasLED,
    :SDL_JoystickSetLED,
    :SDL_JoystickSendEffect,
    :SDL_JoystickClose,
    :SDL_JoystickCurrentPowerLevel,
  ]
  args = {
    :SDL_LockJoysticks => [],
    :SDL_UnlockJoysticks => [],
    :SDL_NumJoysticks => [],
    :SDL_JoystickNameForIndex => [:int],
    :SDL_JoystickGetDevicePlayerIndex => [:int],
    :SDL_JoystickGetDeviceGUID => [:int],
    :SDL_JoystickGetDeviceVendor => [:int],
    :SDL_JoystickGetDeviceProduct => [:int],
    :SDL_JoystickGetDeviceProductVersion => [:int],
    :SDL_JoystickGetDeviceType => [:int],
    :SDL_JoystickGetDeviceInstanceID => [:int],
    :SDL_JoystickOpen => [:int],
    :SDL_JoystickFromInstanceID => [:int],
    :SDL_JoystickFromPlayerIndex => [:int],
    :SDL_JoystickAttachVirtual => [:int, :int, :int, :int],
    :SDL_JoystickDetachVirtual => [:int],
    :SDL_JoystickIsVirtual => [:int],
    :SDL_JoystickSetVirtualAxis => [:pointer, :int, :short],
    :SDL_JoystickSetVirtualButton => [:pointer, :int, :uchar],
    :SDL_JoystickSetVirtualHat => [:pointer, :int, :uchar],
    :SDL_JoystickName => [:pointer],
    :SDL_JoystickGetPlayerIndex => [:pointer],
    :SDL_JoystickSetPlayerIndex => [:pointer, :int],
    :SDL_JoystickGetGUID => [:pointer],
    :SDL_JoystickGetVendor => [:pointer],
    :SDL_JoystickGetProduct => [:pointer],
    :SDL_JoystickGetProductVersion => [:pointer],
    :SDL_JoystickGetSerial => [:pointer],
    :SDL_JoystickGetType => [:pointer],
    :SDL_JoystickGetGUIDString => [SDL_JoystickGUID, :pointer, :int],
    :SDL_JoystickGetGUIDFromString => [:pointer],
    :SDL_JoystickGetAttached => [:pointer],
    :SDL_JoystickInstanceID => [:pointer],
    :SDL_JoystickNumAxes => [:pointer],
    :SDL_JoystickNumBalls => [:pointer],
    :SDL_JoystickNumHats => [:pointer],
    :SDL_JoystickNumButtons => [:pointer],
    :SDL_JoystickUpdate => [],
    :SDL_JoystickEventState => [:int],
    :SDL_JoystickGetAxis => [:pointer, :int],
    :SDL_JoystickGetAxisInitialState => [:pointer, :int, :pointer],
    :SDL_JoystickGetHat => [:pointer, :int],
    :SDL_JoystickGetBall => [:pointer, :int, :pointer, :pointer],
    :SDL_JoystickGetButton => [:pointer, :int],
    :SDL_JoystickRumble => [:pointer, :ushort, :ushort, :uint],
    :SDL_JoystickRumbleTriggers => [:pointer, :ushort, :ushort, :uint],
    :SDL_JoystickHasLED => [:pointer],
    :SDL_JoystickSetLED => [:pointer, :uchar, :uchar, :uchar],
    :SDL_JoystickSendEffect => [:pointer, :pointer, :int],
    :SDL_JoystickClose => [:pointer],
    :SDL_JoystickCurrentPowerLevel => [:pointer],
  }
  retvals = {
    :SDL_LockJoysticks => :void,
    :SDL_UnlockJoysticks => :void,
    :SDL_NumJoysticks => :int,
    :SDL_JoystickNameForIndex => :pointer,
    :SDL_JoystickGetDevicePlayerIndex => :int,
    :SDL_JoystickGetDeviceGUID => SDL_JoystickGUID,
    :SDL_JoystickGetDeviceVendor => :ushort,
    :SDL_JoystickGetDeviceProduct => :ushort,
    :SDL_JoystickGetDeviceProductVersion => :ushort,
    :SDL_JoystickGetDeviceType => :int,
    :SDL_JoystickGetDeviceInstanceID => :int,
    :SDL_JoystickOpen => :pointer,
    :SDL_JoystickFromInstanceID => :pointer,
    :SDL_JoystickFromPlayerIndex => :pointer,
    :SDL_JoystickAttachVirtual => :int,
    :SDL_JoystickDetachVirtual => :int,
    :SDL_JoystickIsVirtual => :int,
    :SDL_JoystickSetVirtualAxis => :int,
    :SDL_JoystickSetVirtualButton => :int,
    :SDL_JoystickSetVirtualHat => :int,
    :SDL_JoystickName => :pointer,
    :SDL_JoystickGetPlayerIndex => :int,
    :SDL_JoystickSetPlayerIndex => :void,
    :SDL_JoystickGetGUID => SDL_JoystickGUID,
    :SDL_JoystickGetVendor => :ushort,
    :SDL_JoystickGetProduct => :ushort,
    :SDL_JoystickGetProductVersion => :ushort,
    :SDL_JoystickGetSerial => :pointer,
    :SDL_JoystickGetType => :int,
    :SDL_JoystickGetGUIDString => :void,
    :SDL_JoystickGetGUIDFromString => SDL_JoystickGUID,
    :SDL_JoystickGetAttached => :int,
    :SDL_JoystickInstanceID => :int,
    :SDL_JoystickNumAxes => :int,
    :SDL_JoystickNumBalls => :int,
    :SDL_JoystickNumHats => :int,
    :SDL_JoystickNumButtons => :int,
    :SDL_JoystickUpdate => :void,
    :SDL_JoystickEventState => :int,
    :SDL_JoystickGetAxis => :short,
    :SDL_JoystickGetAxisInitialState => :int,
    :SDL_JoystickGetHat => :uchar,
    :SDL_JoystickGetBall => :int,
    :SDL_JoystickGetButton => :uchar,
    :SDL_JoystickRumble => :int,
    :SDL_JoystickRumbleTriggers => :int,
    :SDL_JoystickHasLED => :int,
    :SDL_JoystickSetLED => :int,
    :SDL_JoystickSendEffect => :int,
    :SDL_JoystickClose => :void,
    :SDL_JoystickCurrentPowerLevel => :int,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_keyboard_symbols() click to toggle source

Function

# File lib/sdl2_keyboard.rb, line 34
def self.setup_keyboard_symbols()
  symbols = [
    :SDL_GetKeyboardFocus,
    :SDL_GetKeyboardState,
    :SDL_GetModState,
    :SDL_SetModState,
    :SDL_GetKeyFromScancode,
    :SDL_GetScancodeFromKey,
    :SDL_GetScancodeName,
    :SDL_GetScancodeFromName,
    :SDL_GetKeyName,
    :SDL_GetKeyFromName,
    :SDL_StartTextInput,
    :SDL_IsTextInputActive,
    :SDL_StopTextInput,
    :SDL_SetTextInputRect,
    :SDL_HasScreenKeyboardSupport,
    :SDL_IsScreenKeyboardShown,
  ]
  args = {
    :SDL_GetKeyboardFocus => [],
    :SDL_GetKeyboardState => [:pointer],
    :SDL_GetModState => [],
    :SDL_SetModState => [:int],
    :SDL_GetKeyFromScancode => [:int],
    :SDL_GetScancodeFromKey => [:int],
    :SDL_GetScancodeName => [:int],
    :SDL_GetScancodeFromName => [:pointer],
    :SDL_GetKeyName => [:int],
    :SDL_GetKeyFromName => [:pointer],
    :SDL_StartTextInput => [],
    :SDL_IsTextInputActive => [],
    :SDL_StopTextInput => [],
    :SDL_SetTextInputRect => [:pointer],
    :SDL_HasScreenKeyboardSupport => [],
    :SDL_IsScreenKeyboardShown => [:pointer],
  }
  retvals = {
    :SDL_GetKeyboardFocus => :pointer,
    :SDL_GetKeyboardState => :pointer,
    :SDL_GetModState => :int,
    :SDL_SetModState => :void,
    :SDL_GetKeyFromScancode => :int,
    :SDL_GetScancodeFromKey => :int,
    :SDL_GetScancodeName => :pointer,
    :SDL_GetScancodeFromName => :int,
    :SDL_GetKeyName => :pointer,
    :SDL_GetKeyFromName => :int,
    :SDL_StartTextInput => :void,
    :SDL_IsTextInputActive => :int,
    :SDL_StopTextInput => :void,
    :SDL_SetTextInputRect => :void,
    :SDL_HasScreenKeyboardSupport => :int,
    :SDL_IsScreenKeyboardShown => :int,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_keycode_symbols() click to toggle source

Function

# File lib/sdl2_keycode.rb, line 285
def self.setup_keycode_symbols()
  symbols = [
  ]
  args = {
  }
  retvals = {
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_log_symbols() click to toggle source

Function

# File lib/sdl2_log.rb, line 56
def self.setup_log_symbols()
  symbols = [
    :SDL_LogSetAllPriority,
    :SDL_LogSetPriority,
    :SDL_LogGetPriority,
    :SDL_LogResetPriorities,
    :SDL_Log,
    :SDL_LogVerbose,
    :SDL_LogDebug,
    :SDL_LogInfo,
    :SDL_LogWarn,
    :SDL_LogError,
    :SDL_LogCritical,
    :SDL_LogMessage,
    :SDL_LogGetOutputFunction,
    :SDL_LogSetOutputFunction,
  ]
  args = {
    :SDL_LogSetAllPriority => [:int],
    :SDL_LogSetPriority => [:int, :int],
    :SDL_LogGetPriority => [:int],
    :SDL_LogResetPriorities => [],
    :SDL_Log => [:pointer],
    :SDL_LogVerbose => [:int, :pointer],
    :SDL_LogDebug => [:int, :pointer],
    :SDL_LogInfo => [:int, :pointer],
    :SDL_LogWarn => [:int, :pointer],
    :SDL_LogError => [:int, :pointer],
    :SDL_LogCritical => [:int, :pointer],
    :SDL_LogMessage => [:int, :int, :pointer],
    :SDL_LogGetOutputFunction => [:pointer, :pointer],
    :SDL_LogSetOutputFunction => [:SDL_LogOutputFunction, :pointer],
  }
  retvals = {
    :SDL_LogSetAllPriority => :void,
    :SDL_LogSetPriority => :void,
    :SDL_LogGetPriority => :int,
    :SDL_LogResetPriorities => :void,
    :SDL_Log => :void,
    :SDL_LogVerbose => :void,
    :SDL_LogDebug => :void,
    :SDL_LogInfo => :void,
    :SDL_LogWarn => :void,
    :SDL_LogError => :void,
    :SDL_LogCritical => :void,
    :SDL_LogMessage => :void,
    :SDL_LogGetOutputFunction => :void,
    :SDL_LogSetOutputFunction => :void,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_main_symbols() click to toggle source

Function

# File lib/sdl2_main.rb, line 35
def self.setup_main_symbols()
  symbols = [
    :SDL_Init,
    :SDL_InitSubSystem,
    :SDL_QuitSubSystem,
    :SDL_WasInit,
    :SDL_Quit,
  ]
  args = {
    :SDL_Init => [:uint],
    :SDL_InitSubSystem => [:uint],
    :SDL_QuitSubSystem => [:uint],
    :SDL_WasInit => [:uint],
    :SDL_Quit => [],
  }
  retvals = {
    :SDL_Init => :int,
    :SDL_InitSubSystem => :int,
    :SDL_QuitSubSystem => :void,
    :SDL_WasInit => :uint,
    :SDL_Quit => :void,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_messagebox_symbols() click to toggle source

Function

# File lib/sdl2_messagebox.rb, line 75
def self.setup_messagebox_symbols()
  symbols = [
    :SDL_ShowMessageBox,
    :SDL_ShowSimpleMessageBox,
  ]
  args = {
    :SDL_ShowMessageBox => [:pointer, :pointer],
    :SDL_ShowSimpleMessageBox => [:uint, :pointer, :pointer, :pointer],
  }
  retvals = {
    :SDL_ShowMessageBox => :int,
    :SDL_ShowSimpleMessageBox => :int,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_misc_symbols() click to toggle source

Function

# File lib/sdl2_misc.rb, line 25
def self.setup_misc_symbols()
  symbols = [
    :SDL_OpenURL,
  ]
  args = {
    :SDL_OpenURL => [:pointer],
  }
  retvals = {
    :SDL_OpenURL => :int,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_mixer_symbols() click to toggle source

Function

# File lib/sdl2_mixer.rb, line 72
def self.setup_mixer_symbols()
  symbols = [
    :Mix_Linked_Version,
    :Mix_Init,
    :Mix_Quit,
    :Mix_OpenAudio,
    :Mix_OpenAudioDevice,
    :Mix_AllocateChannels,
    :Mix_QuerySpec,
    :Mix_LoadWAV_RW,
    :Mix_LoadMUS,
    :Mix_LoadMUS_RW,
    :Mix_LoadMUSType_RW,
    :Mix_QuickLoad_WAV,
    :Mix_QuickLoad_RAW,
    :Mix_FreeChunk,
    :Mix_FreeMusic,
    :Mix_GetNumChunkDecoders,
    :Mix_GetChunkDecoder,
    :Mix_HasChunkDecoder,
    :Mix_GetNumMusicDecoders,
    :Mix_GetMusicDecoder,
    :Mix_HasMusicDecoder,
    :Mix_GetMusicType,
    :Mix_SetPostMix,
    :Mix_HookMusic,
    :Mix_HookMusicFinished,
    :Mix_GetMusicHookData,
    :Mix_ChannelFinished,
    :Mix_RegisterEffect,
    :Mix_UnregisterEffect,
    :Mix_UnregisterAllEffects,
    :Mix_SetPanning,
    :Mix_SetPosition,
    :Mix_SetDistance,
    :Mix_SetReverseStereo,
    :Mix_ReserveChannels,
    :Mix_GroupChannel,
    :Mix_GroupChannels,
    :Mix_GroupAvailable,
    :Mix_GroupCount,
    :Mix_GroupOldest,
    :Mix_GroupNewer,
    :Mix_PlayChannelTimed,
    :Mix_PlayMusic,
    :Mix_FadeInMusic,
    :Mix_FadeInMusicPos,
    :Mix_FadeInChannelTimed,
    :Mix_Volume,
    :Mix_VolumeChunk,
    :Mix_VolumeMusic,
    :Mix_HaltChannel,
    :Mix_HaltGroup,
    :Mix_HaltMusic,
    :Mix_ExpireChannel,
    :Mix_FadeOutChannel,
    :Mix_FadeOutGroup,
    :Mix_FadeOutMusic,
    :Mix_FadingMusic,
    :Mix_FadingChannel,
    :Mix_Pause,
    :Mix_Resume,
    :Mix_Paused,
    :Mix_PauseMusic,
    :Mix_ResumeMusic,
    :Mix_RewindMusic,
    :Mix_PausedMusic,
    :Mix_SetMusicPosition,
    :Mix_Playing,
    :Mix_PlayingMusic,
    :Mix_SetMusicCMD,
    :Mix_SetSynchroValue,
    :Mix_GetSynchroValue,
    :Mix_SetSoundFonts,
    :Mix_GetSoundFonts,
    :Mix_EachSoundFont,
    :Mix_GetChunk,
    :Mix_CloseAudio,
  ]
  args = {
    :Mix_Linked_Version => [],
    :Mix_Init => [:int],
    :Mix_Quit => [],
    :Mix_OpenAudio => [:int, :ushort, :int, :int],
    :Mix_OpenAudioDevice => [:int, :ushort, :int, :int, :pointer, :int],
    :Mix_AllocateChannels => [:int],
    :Mix_QuerySpec => [:pointer, :pointer, :pointer],
    :Mix_LoadWAV_RW => [:pointer, :int],
    :Mix_LoadMUS => [:pointer],
    :Mix_LoadMUS_RW => [:pointer, :int],
    :Mix_LoadMUSType_RW => [:pointer, :int, :int],
    :Mix_QuickLoad_WAV => [:pointer],
    :Mix_QuickLoad_RAW => [:pointer, :uint],
    :Mix_FreeChunk => [:pointer],
    :Mix_FreeMusic => [:pointer],
    :Mix_GetNumChunkDecoders => [],
    :Mix_GetChunkDecoder => [:int],
    :Mix_HasChunkDecoder => [:pointer],
    :Mix_GetNumMusicDecoders => [],
    :Mix_GetMusicDecoder => [:int],
    :Mix_HasMusicDecoder => [:pointer],
    :Mix_GetMusicType => [:pointer],
    :Mix_SetPostMix => [:pointer, :pointer],
    :Mix_HookMusic => [:pointer, :pointer],
    :Mix_HookMusicFinished => [:pointer],
    :Mix_GetMusicHookData => [],
    :Mix_ChannelFinished => [:pointer],
    :Mix_RegisterEffect => [:int, :Mix_EffectFunc_t, :Mix_EffectDone_t, :pointer],
    :Mix_UnregisterEffect => [:int, :Mix_EffectFunc_t],
    :Mix_UnregisterAllEffects => [:int],
    :Mix_SetPanning => [:int, :uchar, :uchar],
    :Mix_SetPosition => [:int, :short, :uchar],
    :Mix_SetDistance => [:int, :uchar],
    :Mix_SetReverseStereo => [:int, :int],
    :Mix_ReserveChannels => [:int],
    :Mix_GroupChannel => [:int, :int],
    :Mix_GroupChannels => [:int, :int, :int],
    :Mix_GroupAvailable => [:int],
    :Mix_GroupCount => [:int],
    :Mix_GroupOldest => [:int],
    :Mix_GroupNewer => [:int],
    :Mix_PlayChannelTimed => [:int, :pointer, :int, :int],
    :Mix_PlayMusic => [:pointer, :int],
    :Mix_FadeInMusic => [:pointer, :int, :int],
    :Mix_FadeInMusicPos => [:pointer, :int, :int, :double],
    :Mix_FadeInChannelTimed => [:int, :pointer, :int, :int, :int],
    :Mix_Volume => [:int, :int],
    :Mix_VolumeChunk => [:pointer, :int],
    :Mix_VolumeMusic => [:int],
    :Mix_HaltChannel => [:int],
    :Mix_HaltGroup => [:int],
    :Mix_HaltMusic => [],
    :Mix_ExpireChannel => [:int, :int],
    :Mix_FadeOutChannel => [:int, :int],
    :Mix_FadeOutGroup => [:int, :int],
    :Mix_FadeOutMusic => [:int],
    :Mix_FadingMusic => [],
    :Mix_FadingChannel => [:int],
    :Mix_Pause => [:int],
    :Mix_Resume => [:int],
    :Mix_Paused => [:int],
    :Mix_PauseMusic => [],
    :Mix_ResumeMusic => [],
    :Mix_RewindMusic => [],
    :Mix_PausedMusic => [],
    :Mix_SetMusicPosition => [:double],
    :Mix_Playing => [:int],
    :Mix_PlayingMusic => [],
    :Mix_SetMusicCMD => [:pointer],
    :Mix_SetSynchroValue => [:int],
    :Mix_GetSynchroValue => [],
    :Mix_SetSoundFonts => [:pointer],
    :Mix_GetSoundFonts => [],
    :Mix_EachSoundFont => [:pointer, :pointer],
    :Mix_GetChunk => [:int],
    :Mix_CloseAudio => [],
  }
  retvals = {
    :Mix_Linked_Version => :pointer,
    :Mix_Init => :int,
    :Mix_Quit => :void,
    :Mix_OpenAudio => :int,
    :Mix_OpenAudioDevice => :int,
    :Mix_AllocateChannels => :int,
    :Mix_QuerySpec => :int,
    :Mix_LoadWAV_RW => :pointer,
    :Mix_LoadMUS => :pointer,
    :Mix_LoadMUS_RW => :pointer,
    :Mix_LoadMUSType_RW => :pointer,
    :Mix_QuickLoad_WAV => :pointer,
    :Mix_QuickLoad_RAW => :pointer,
    :Mix_FreeChunk => :void,
    :Mix_FreeMusic => :void,
    :Mix_GetNumChunkDecoders => :int,
    :Mix_GetChunkDecoder => :pointer,
    :Mix_HasChunkDecoder => :int,
    :Mix_GetNumMusicDecoders => :int,
    :Mix_GetMusicDecoder => :pointer,
    :Mix_HasMusicDecoder => :int,
    :Mix_GetMusicType => :int,
    :Mix_SetPostMix => :void,
    :Mix_HookMusic => :void,
    :Mix_HookMusicFinished => :void,
    :Mix_GetMusicHookData => :pointer,
    :Mix_ChannelFinished => :void,
    :Mix_RegisterEffect => :int,
    :Mix_UnregisterEffect => :int,
    :Mix_UnregisterAllEffects => :int,
    :Mix_SetPanning => :int,
    :Mix_SetPosition => :int,
    :Mix_SetDistance => :int,
    :Mix_SetReverseStereo => :int,
    :Mix_ReserveChannels => :int,
    :Mix_GroupChannel => :int,
    :Mix_GroupChannels => :int,
    :Mix_GroupAvailable => :int,
    :Mix_GroupCount => :int,
    :Mix_GroupOldest => :int,
    :Mix_GroupNewer => :int,
    :Mix_PlayChannelTimed => :int,
    :Mix_PlayMusic => :int,
    :Mix_FadeInMusic => :int,
    :Mix_FadeInMusicPos => :int,
    :Mix_FadeInChannelTimed => :int,
    :Mix_Volume => :int,
    :Mix_VolumeChunk => :int,
    :Mix_VolumeMusic => :int,
    :Mix_HaltChannel => :int,
    :Mix_HaltGroup => :int,
    :Mix_HaltMusic => :int,
    :Mix_ExpireChannel => :int,
    :Mix_FadeOutChannel => :int,
    :Mix_FadeOutGroup => :int,
    :Mix_FadeOutMusic => :int,
    :Mix_FadingMusic => :int,
    :Mix_FadingChannel => :int,
    :Mix_Pause => :void,
    :Mix_Resume => :void,
    :Mix_Paused => :int,
    :Mix_PauseMusic => :void,
    :Mix_ResumeMusic => :void,
    :Mix_RewindMusic => :void,
    :Mix_PausedMusic => :int,
    :Mix_SetMusicPosition => :int,
    :Mix_Playing => :int,
    :Mix_PlayingMusic => :int,
    :Mix_SetMusicCMD => :int,
    :Mix_SetSynchroValue => :int,
    :Mix_GetSynchroValue => :int,
    :Mix_SetSoundFonts => :int,
    :Mix_GetSoundFonts => :pointer,
    :Mix_EachSoundFont => :int,
    :Mix_GetChunk => :pointer,
    :Mix_CloseAudio => :void,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_mouse_symbols() click to toggle source

Function

# File lib/sdl2_mouse.rb, line 47
def self.setup_mouse_symbols()
  symbols = [
    :SDL_GetMouseFocus,
    :SDL_GetMouseState,
    :SDL_GetGlobalMouseState,
    :SDL_GetRelativeMouseState,
    :SDL_WarpMouseInWindow,
    :SDL_WarpMouseGlobal,
    :SDL_SetRelativeMouseMode,
    :SDL_CaptureMouse,
    :SDL_GetRelativeMouseMode,
    :SDL_CreateCursor,
    :SDL_CreateColorCursor,
    :SDL_CreateSystemCursor,
    :SDL_SetCursor,
    :SDL_GetCursor,
    :SDL_GetDefaultCursor,
    :SDL_FreeCursor,
    :SDL_ShowCursor,
  ]
  args = {
    :SDL_GetMouseFocus => [],
    :SDL_GetMouseState => [:pointer, :pointer],
    :SDL_GetGlobalMouseState => [:pointer, :pointer],
    :SDL_GetRelativeMouseState => [:pointer, :pointer],
    :SDL_WarpMouseInWindow => [:pointer, :int, :int],
    :SDL_WarpMouseGlobal => [:int, :int],
    :SDL_SetRelativeMouseMode => [:int],
    :SDL_CaptureMouse => [:int],
    :SDL_GetRelativeMouseMode => [],
    :SDL_CreateCursor => [:pointer, :pointer, :int, :int, :int, :int],
    :SDL_CreateColorCursor => [:pointer, :int, :int],
    :SDL_CreateSystemCursor => [:int],
    :SDL_SetCursor => [:pointer],
    :SDL_GetCursor => [],
    :SDL_GetDefaultCursor => [],
    :SDL_FreeCursor => [:pointer],
    :SDL_ShowCursor => [:int],
  }
  retvals = {
    :SDL_GetMouseFocus => :pointer,
    :SDL_GetMouseState => :uint,
    :SDL_GetGlobalMouseState => :uint,
    :SDL_GetRelativeMouseState => :uint,
    :SDL_WarpMouseInWindow => :void,
    :SDL_WarpMouseGlobal => :int,
    :SDL_SetRelativeMouseMode => :int,
    :SDL_CaptureMouse => :int,
    :SDL_GetRelativeMouseMode => :int,
    :SDL_CreateCursor => :pointer,
    :SDL_CreateColorCursor => :pointer,
    :SDL_CreateSystemCursor => :pointer,
    :SDL_SetCursor => :void,
    :SDL_GetCursor => :pointer,
    :SDL_GetDefaultCursor => :pointer,
    :SDL_FreeCursor => :void,
    :SDL_ShowCursor => :int,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_pixels_symbols() click to toggle source

Function

# File lib/sdl2_pixels.rb, line 165
def self.setup_pixels_symbols()
  symbols = [
    :SDL_GetPixelFormatName,
    :SDL_PixelFormatEnumToMasks,
    :SDL_MasksToPixelFormatEnum,
    :SDL_AllocFormat,
    :SDL_FreeFormat,
    :SDL_AllocPalette,
    :SDL_SetPixelFormatPalette,
    :SDL_SetPaletteColors,
    :SDL_FreePalette,
    :SDL_MapRGB,
    :SDL_MapRGBA,
    :SDL_GetRGB,
    :SDL_GetRGBA,
    :SDL_CalculateGammaRamp,
  ]
  args = {
    :SDL_GetPixelFormatName => [:uint],
    :SDL_PixelFormatEnumToMasks => [:uint, :pointer, :pointer, :pointer, :pointer, :pointer],
    :SDL_MasksToPixelFormatEnum => [:int, :uint, :uint, :uint, :uint],
    :SDL_AllocFormat => [:uint],
    :SDL_FreeFormat => [:pointer],
    :SDL_AllocPalette => [:int],
    :SDL_SetPixelFormatPalette => [:pointer, :pointer],
    :SDL_SetPaletteColors => [:pointer, :pointer, :int, :int],
    :SDL_FreePalette => [:pointer],
    :SDL_MapRGB => [:pointer, :uchar, :uchar, :uchar],
    :SDL_MapRGBA => [:pointer, :uchar, :uchar, :uchar, :uchar],
    :SDL_GetRGB => [:uint, :pointer, :pointer, :pointer, :pointer],
    :SDL_GetRGBA => [:uint, :pointer, :pointer, :pointer, :pointer, :pointer],
    :SDL_CalculateGammaRamp => [:float, :pointer],
  }
  retvals = {
    :SDL_GetPixelFormatName => :pointer,
    :SDL_PixelFormatEnumToMasks => :int,
    :SDL_MasksToPixelFormatEnum => :uint,
    :SDL_AllocFormat => :pointer,
    :SDL_FreeFormat => :void,
    :SDL_AllocPalette => :pointer,
    :SDL_SetPixelFormatPalette => :int,
    :SDL_SetPaletteColors => :int,
    :SDL_FreePalette => :void,
    :SDL_MapRGB => :uint,
    :SDL_MapRGBA => :uint,
    :SDL_GetRGB => :void,
    :SDL_GetRGBA => :void,
    :SDL_CalculateGammaRamp => :void,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_platform_symbols() click to toggle source

Function

# File lib/sdl2_platform.rb, line 25
def self.setup_platform_symbols()
  symbols = [
    :SDL_GetPlatform,
  ]
  args = {
    :SDL_GetPlatform => [],
  }
  retvals = {
    :SDL_GetPlatform => :pointer,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_power_symbols() click to toggle source

Function

# File lib/sdl2_power.rb, line 31
def self.setup_power_symbols()
  symbols = [
    :SDL_GetPowerInfo,
  ]
  args = {
    :SDL_GetPowerInfo => [:pointer, :pointer],
  }
  retvals = {
    :SDL_GetPowerInfo => :int,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_rect_symbols() click to toggle source

Function

# File lib/sdl2_rect.rb, line 70
def self.setup_rect_symbols()
  symbols = [
    :SDL_HasIntersection,
    :SDL_IntersectRect,
    :SDL_UnionRect,
    :SDL_EnclosePoints,
    :SDL_IntersectRectAndLine,
  ]
  args = {
    :SDL_HasIntersection => [:pointer, :pointer],
    :SDL_IntersectRect => [:pointer, :pointer, :pointer],
    :SDL_UnionRect => [:pointer, :pointer, :pointer],
    :SDL_EnclosePoints => [:pointer, :int, :pointer, :pointer],
    :SDL_IntersectRectAndLine => [:pointer, :pointer, :pointer, :pointer, :pointer],
  }
  retvals = {
    :SDL_HasIntersection => :int,
    :SDL_IntersectRect => :int,
    :SDL_UnionRect => :void,
    :SDL_EnclosePoints => :int,
    :SDL_IntersectRectAndLine => :int,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_render_symbols() click to toggle source

Function

# File lib/sdl2_render.rb, line 57
def self.setup_render_symbols()
  symbols = [
    :SDL_GetNumRenderDrivers,
    :SDL_GetRenderDriverInfo,
    :SDL_CreateWindowAndRenderer,
    :SDL_CreateRenderer,
    :SDL_CreateSoftwareRenderer,
    :SDL_GetRenderer,
    :SDL_GetRendererInfo,
    :SDL_GetRendererOutputSize,
    :SDL_CreateTexture,
    :SDL_CreateTextureFromSurface,
    :SDL_QueryTexture,
    :SDL_SetTextureColorMod,
    :SDL_GetTextureColorMod,
    :SDL_SetTextureAlphaMod,
    :SDL_GetTextureAlphaMod,
    :SDL_SetTextureBlendMode,
    :SDL_GetTextureBlendMode,
    :SDL_SetTextureScaleMode,
    :SDL_GetTextureScaleMode,
    :SDL_UpdateTexture,
    :SDL_UpdateYUVTexture,
    :SDL_UpdateNVTexture,
    :SDL_LockTexture,
    :SDL_LockTextureToSurface,
    :SDL_UnlockTexture,
    :SDL_RenderTargetSupported,
    :SDL_SetRenderTarget,
    :SDL_GetRenderTarget,
    :SDL_RenderSetLogicalSize,
    :SDL_RenderGetLogicalSize,
    :SDL_RenderSetIntegerScale,
    :SDL_RenderGetIntegerScale,
    :SDL_RenderSetViewport,
    :SDL_RenderGetViewport,
    :SDL_RenderSetClipRect,
    :SDL_RenderGetClipRect,
    :SDL_RenderIsClipEnabled,
    :SDL_RenderSetScale,
    :SDL_RenderGetScale,
    :SDL_SetRenderDrawColor,
    :SDL_GetRenderDrawColor,
    :SDL_SetRenderDrawBlendMode,
    :SDL_GetRenderDrawBlendMode,
    :SDL_RenderClear,
    :SDL_RenderDrawPoint,
    :SDL_RenderDrawPoints,
    :SDL_RenderDrawLine,
    :SDL_RenderDrawLines,
    :SDL_RenderDrawRect,
    :SDL_RenderDrawRects,
    :SDL_RenderFillRect,
    :SDL_RenderFillRects,
    :SDL_RenderCopy,
    :SDL_RenderCopyEx,
    :SDL_RenderDrawPointF,
    :SDL_RenderDrawPointsF,
    :SDL_RenderDrawLineF,
    :SDL_RenderDrawLinesF,
    :SDL_RenderDrawRectF,
    :SDL_RenderDrawRectsF,
    :SDL_RenderFillRectF,
    :SDL_RenderFillRectsF,
    :SDL_RenderCopyF,
    :SDL_RenderCopyExF,
    :SDL_RenderReadPixels,
    :SDL_RenderPresent,
    :SDL_DestroyTexture,
    :SDL_DestroyRenderer,
    :SDL_RenderFlush,
    :SDL_GL_BindTexture,
    :SDL_GL_UnbindTexture,
    :SDL_RenderGetMetalLayer,
    :SDL_RenderGetMetalCommandEncoder,
  ]
  args = {
    :SDL_GetNumRenderDrivers => [],
    :SDL_GetRenderDriverInfo => [:int, :pointer],
    :SDL_CreateWindowAndRenderer => [:int, :int, :uint, :pointer, :pointer],
    :SDL_CreateRenderer => [:pointer, :int, :uint],
    :SDL_CreateSoftwareRenderer => [:pointer],
    :SDL_GetRenderer => [:pointer],
    :SDL_GetRendererInfo => [:pointer, :pointer],
    :SDL_GetRendererOutputSize => [:pointer, :pointer, :pointer],
    :SDL_CreateTexture => [:pointer, :uint, :int, :int, :int],
    :SDL_CreateTextureFromSurface => [:pointer, :pointer],
    :SDL_QueryTexture => [:pointer, :pointer, :pointer, :pointer, :pointer],
    :SDL_SetTextureColorMod => [:pointer, :uchar, :uchar, :uchar],
    :SDL_GetTextureColorMod => [:pointer, :pointer, :pointer, :pointer],
    :SDL_SetTextureAlphaMod => [:pointer, :uchar],
    :SDL_GetTextureAlphaMod => [:pointer, :pointer],
    :SDL_SetTextureBlendMode => [:pointer, :int],
    :SDL_GetTextureBlendMode => [:pointer, :pointer],
    :SDL_SetTextureScaleMode => [:pointer, :int],
    :SDL_GetTextureScaleMode => [:pointer, :pointer],
    :SDL_UpdateTexture => [:pointer, :pointer, :pointer, :int],
    :SDL_UpdateYUVTexture => [:pointer, :pointer, :pointer, :int, :pointer, :int, :pointer, :int],
    :SDL_UpdateNVTexture => [:pointer, :pointer, :pointer, :int, :pointer, :int],
    :SDL_LockTexture => [:pointer, :pointer, :pointer, :pointer],
    :SDL_LockTextureToSurface => [:pointer, :pointer, :pointer],
    :SDL_UnlockTexture => [:pointer],
    :SDL_RenderTargetSupported => [:pointer],
    :SDL_SetRenderTarget => [:pointer, :pointer],
    :SDL_GetRenderTarget => [:pointer],
    :SDL_RenderSetLogicalSize => [:pointer, :int, :int],
    :SDL_RenderGetLogicalSize => [:pointer, :pointer, :pointer],
    :SDL_RenderSetIntegerScale => [:pointer, :int],
    :SDL_RenderGetIntegerScale => [:pointer],
    :SDL_RenderSetViewport => [:pointer, :pointer],
    :SDL_RenderGetViewport => [:pointer, :pointer],
    :SDL_RenderSetClipRect => [:pointer, :pointer],
    :SDL_RenderGetClipRect => [:pointer, :pointer],
    :SDL_RenderIsClipEnabled => [:pointer],
    :SDL_RenderSetScale => [:pointer, :float, :float],
    :SDL_RenderGetScale => [:pointer, :pointer, :pointer],
    :SDL_SetRenderDrawColor => [:pointer, :uchar, :uchar, :uchar, :uchar],
    :SDL_GetRenderDrawColor => [:pointer, :pointer, :pointer, :pointer, :pointer],
    :SDL_SetRenderDrawBlendMode => [:pointer, :int],
    :SDL_GetRenderDrawBlendMode => [:pointer, :pointer],
    :SDL_RenderClear => [:pointer],
    :SDL_RenderDrawPoint => [:pointer, :int, :int],
    :SDL_RenderDrawPoints => [:pointer, :pointer, :int],
    :SDL_RenderDrawLine => [:pointer, :int, :int, :int, :int],
    :SDL_RenderDrawLines => [:pointer, :pointer, :int],
    :SDL_RenderDrawRect => [:pointer, :pointer],
    :SDL_RenderDrawRects => [:pointer, :pointer, :int],
    :SDL_RenderFillRect => [:pointer, :pointer],
    :SDL_RenderFillRects => [:pointer, :pointer, :int],
    :SDL_RenderCopy => [:pointer, :pointer, :pointer, :pointer],
    :SDL_RenderCopyEx => [:pointer, :pointer, :pointer, :pointer, :double, :pointer, :int],
    :SDL_RenderDrawPointF => [:pointer, :float, :float],
    :SDL_RenderDrawPointsF => [:pointer, :pointer, :int],
    :SDL_RenderDrawLineF => [:pointer, :float, :float, :float, :float],
    :SDL_RenderDrawLinesF => [:pointer, :pointer, :int],
    :SDL_RenderDrawRectF => [:pointer, :pointer],
    :SDL_RenderDrawRectsF => [:pointer, :pointer, :int],
    :SDL_RenderFillRectF => [:pointer, :pointer],
    :SDL_RenderFillRectsF => [:pointer, :pointer, :int],
    :SDL_RenderCopyF => [:pointer, :pointer, :pointer, :pointer],
    :SDL_RenderCopyExF => [:pointer, :pointer, :pointer, :pointer, :double, :pointer, :int],
    :SDL_RenderReadPixels => [:pointer, :pointer, :uint, :pointer, :int],
    :SDL_RenderPresent => [:pointer],
    :SDL_DestroyTexture => [:pointer],
    :SDL_DestroyRenderer => [:pointer],
    :SDL_RenderFlush => [:pointer],
    :SDL_GL_BindTexture => [:pointer, :pointer, :pointer],
    :SDL_GL_UnbindTexture => [:pointer],
    :SDL_RenderGetMetalLayer => [:pointer],
    :SDL_RenderGetMetalCommandEncoder => [:pointer],
  }
  retvals = {
    :SDL_GetNumRenderDrivers => :int,
    :SDL_GetRenderDriverInfo => :int,
    :SDL_CreateWindowAndRenderer => :int,
    :SDL_CreateRenderer => :pointer,
    :SDL_CreateSoftwareRenderer => :pointer,
    :SDL_GetRenderer => :pointer,
    :SDL_GetRendererInfo => :int,
    :SDL_GetRendererOutputSize => :int,
    :SDL_CreateTexture => :pointer,
    :SDL_CreateTextureFromSurface => :pointer,
    :SDL_QueryTexture => :int,
    :SDL_SetTextureColorMod => :int,
    :SDL_GetTextureColorMod => :int,
    :SDL_SetTextureAlphaMod => :int,
    :SDL_GetTextureAlphaMod => :int,
    :SDL_SetTextureBlendMode => :int,
    :SDL_GetTextureBlendMode => :int,
    :SDL_SetTextureScaleMode => :int,
    :SDL_GetTextureScaleMode => :int,
    :SDL_UpdateTexture => :int,
    :SDL_UpdateYUVTexture => :int,
    :SDL_UpdateNVTexture => :int,
    :SDL_LockTexture => :int,
    :SDL_LockTextureToSurface => :int,
    :SDL_UnlockTexture => :void,
    :SDL_RenderTargetSupported => :int,
    :SDL_SetRenderTarget => :int,
    :SDL_GetRenderTarget => :pointer,
    :SDL_RenderSetLogicalSize => :int,
    :SDL_RenderGetLogicalSize => :void,
    :SDL_RenderSetIntegerScale => :int,
    :SDL_RenderGetIntegerScale => :int,
    :SDL_RenderSetViewport => :int,
    :SDL_RenderGetViewport => :void,
    :SDL_RenderSetClipRect => :int,
    :SDL_RenderGetClipRect => :void,
    :SDL_RenderIsClipEnabled => :int,
    :SDL_RenderSetScale => :int,
    :SDL_RenderGetScale => :void,
    :SDL_SetRenderDrawColor => :int,
    :SDL_GetRenderDrawColor => :int,
    :SDL_SetRenderDrawBlendMode => :int,
    :SDL_GetRenderDrawBlendMode => :int,
    :SDL_RenderClear => :int,
    :SDL_RenderDrawPoint => :int,
    :SDL_RenderDrawPoints => :int,
    :SDL_RenderDrawLine => :int,
    :SDL_RenderDrawLines => :int,
    :SDL_RenderDrawRect => :int,
    :SDL_RenderDrawRects => :int,
    :SDL_RenderFillRect => :int,
    :SDL_RenderFillRects => :int,
    :SDL_RenderCopy => :int,
    :SDL_RenderCopyEx => :int,
    :SDL_RenderDrawPointF => :int,
    :SDL_RenderDrawPointsF => :int,
    :SDL_RenderDrawLineF => :int,
    :SDL_RenderDrawLinesF => :int,
    :SDL_RenderDrawRectF => :int,
    :SDL_RenderDrawRectsF => :int,
    :SDL_RenderFillRectF => :int,
    :SDL_RenderFillRectsF => :int,
    :SDL_RenderCopyF => :int,
    :SDL_RenderCopyExF => :int,
    :SDL_RenderReadPixels => :int,
    :SDL_RenderPresent => :void,
    :SDL_DestroyTexture => :void,
    :SDL_DestroyRenderer => :void,
    :SDL_RenderFlush => :int,
    :SDL_GL_BindTexture => :int,
    :SDL_GL_UnbindTexture => :int,
    :SDL_RenderGetMetalLayer => :pointer,
    :SDL_RenderGetMetalCommandEncoder => :pointer,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_rwops_symbols() click to toggle source

Function

# File lib/sdl2_rwops.rb, line 107
def self.setup_rwops_symbols()
  symbols = [
    :SDL_RWFromFile,
    :SDL_RWFromFP,
    :SDL_RWFromMem,
    :SDL_RWFromConstMem,
    :SDL_AllocRW,
    :SDL_FreeRW,
    :SDL_RWsize,
    :SDL_RWseek,
    :SDL_RWtell,
    :SDL_RWread,
    :SDL_RWwrite,
    :SDL_RWclose,
    :SDL_LoadFile_RW,
    :SDL_LoadFile,
    :SDL_ReadU8,
    :SDL_ReadLE16,
    :SDL_ReadBE16,
    :SDL_ReadLE32,
    :SDL_ReadBE32,
    :SDL_ReadLE64,
    :SDL_ReadBE64,
    :SDL_WriteU8,
    :SDL_WriteLE16,
    :SDL_WriteBE16,
    :SDL_WriteLE32,
    :SDL_WriteBE32,
    :SDL_WriteLE64,
    :SDL_WriteBE64,
  ]
  args = {
    :SDL_RWFromFile => [:pointer, :pointer],
    :SDL_RWFromFP => [:pointer, :int],
    :SDL_RWFromMem => [:pointer, :int],
    :SDL_RWFromConstMem => [:pointer, :int],
    :SDL_AllocRW => [],
    :SDL_FreeRW => [:pointer],
    :SDL_RWsize => [:pointer],
    :SDL_RWseek => [:pointer, :long_long, :int],
    :SDL_RWtell => [:pointer],
    :SDL_RWread => [:pointer, :pointer, :ulong, :ulong],
    :SDL_RWwrite => [:pointer, :pointer, :ulong, :ulong],
    :SDL_RWclose => [:pointer],
    :SDL_LoadFile_RW => [:pointer, :pointer, :int],
    :SDL_LoadFile => [:pointer, :pointer],
    :SDL_ReadU8 => [:pointer],
    :SDL_ReadLE16 => [:pointer],
    :SDL_ReadBE16 => [:pointer],
    :SDL_ReadLE32 => [:pointer],
    :SDL_ReadBE32 => [:pointer],
    :SDL_ReadLE64 => [:pointer],
    :SDL_ReadBE64 => [:pointer],
    :SDL_WriteU8 => [:pointer, :uchar],
    :SDL_WriteLE16 => [:pointer, :ushort],
    :SDL_WriteBE16 => [:pointer, :ushort],
    :SDL_WriteLE32 => [:pointer, :uint],
    :SDL_WriteBE32 => [:pointer, :uint],
    :SDL_WriteLE64 => [:pointer, :ulong_long],
    :SDL_WriteBE64 => [:pointer, :ulong_long],
  }
  retvals = {
    :SDL_RWFromFile => :pointer,
    :SDL_RWFromFP => :pointer,
    :SDL_RWFromMem => :pointer,
    :SDL_RWFromConstMem => :pointer,
    :SDL_AllocRW => :pointer,
    :SDL_FreeRW => :void,
    :SDL_RWsize => :long_long,
    :SDL_RWseek => :long_long,
    :SDL_RWtell => :long_long,
    :SDL_RWread => :size_t,
    :SDL_RWwrite => :size_t,
    :SDL_RWclose => :int,
    :SDL_LoadFile_RW => :pointer,
    :SDL_LoadFile => :pointer,
    :SDL_ReadU8 => :uchar,
    :SDL_ReadLE16 => :ushort,
    :SDL_ReadBE16 => :ushort,
    :SDL_ReadLE32 => :uint,
    :SDL_ReadBE32 => :uint,
    :SDL_ReadLE64 => :ulong_long,
    :SDL_ReadBE64 => :ulong_long,
    :SDL_WriteU8 => :size_t,
    :SDL_WriteLE16 => :size_t,
    :SDL_WriteBE16 => :size_t,
    :SDL_WriteLE32 => :size_t,
    :SDL_WriteBE32 => :size_t,
    :SDL_WriteLE64 => :size_t,
    :SDL_WriteBE64 => :size_t,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_scancode_symbols() click to toggle source

Function

# File lib/sdl2_scancode.rb, line 270
def self.setup_scancode_symbols()
  symbols = [
  ]
  args = {
  }
  retvals = {
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_sensor_symbols() click to toggle source

Function

# File lib/sdl2_sensor.rb, line 31
def self.setup_sensor_symbols()
  symbols = [
    :SDL_LockSensors,
    :SDL_UnlockSensors,
    :SDL_NumSensors,
    :SDL_SensorGetDeviceName,
    :SDL_SensorGetDeviceType,
    :SDL_SensorGetDeviceNonPortableType,
    :SDL_SensorGetDeviceInstanceID,
    :SDL_SensorOpen,
    :SDL_SensorFromInstanceID,
    :SDL_SensorGetName,
    :SDL_SensorGetType,
    :SDL_SensorGetNonPortableType,
    :SDL_SensorGetInstanceID,
    :SDL_SensorGetData,
    :SDL_SensorClose,
    :SDL_SensorUpdate,
  ]
  args = {
    :SDL_LockSensors => [],
    :SDL_UnlockSensors => [],
    :SDL_NumSensors => [],
    :SDL_SensorGetDeviceName => [:int],
    :SDL_SensorGetDeviceType => [:int],
    :SDL_SensorGetDeviceNonPortableType => [:int],
    :SDL_SensorGetDeviceInstanceID => [:int],
    :SDL_SensorOpen => [:int],
    :SDL_SensorFromInstanceID => [:int],
    :SDL_SensorGetName => [:pointer],
    :SDL_SensorGetType => [:pointer],
    :SDL_SensorGetNonPortableType => [:pointer],
    :SDL_SensorGetInstanceID => [:pointer],
    :SDL_SensorGetData => [:pointer, :pointer, :int],
    :SDL_SensorClose => [:pointer],
    :SDL_SensorUpdate => [],
  }
  retvals = {
    :SDL_LockSensors => :void,
    :SDL_UnlockSensors => :void,
    :SDL_NumSensors => :int,
    :SDL_SensorGetDeviceName => :pointer,
    :SDL_SensorGetDeviceType => :int,
    :SDL_SensorGetDeviceNonPortableType => :int,
    :SDL_SensorGetDeviceInstanceID => :int,
    :SDL_SensorOpen => :pointer,
    :SDL_SensorFromInstanceID => :pointer,
    :SDL_SensorGetName => :pointer,
    :SDL_SensorGetType => :int,
    :SDL_SensorGetNonPortableType => :int,
    :SDL_SensorGetInstanceID => :int,
    :SDL_SensorGetData => :int,
    :SDL_SensorClose => :void,
    :SDL_SensorUpdate => :void,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_shape_symbols() click to toggle source

Function

# File lib/sdl2_shape.rb, line 48
def self.setup_shape_symbols()
  symbols = [
    :SDL_CreateShapedWindow,
    :SDL_IsShapedWindow,
    :SDL_SetWindowShape,
    :SDL_GetShapedWindowMode,
  ]
  args = {
    :SDL_CreateShapedWindow => [:pointer, :uint, :uint, :uint, :uint, :uint],
    :SDL_IsShapedWindow => [:pointer],
    :SDL_SetWindowShape => [:pointer, :pointer, :pointer],
    :SDL_GetShapedWindowMode => [:pointer, :pointer],
  }
  retvals = {
    :SDL_CreateShapedWindow => :pointer,
    :SDL_IsShapedWindow => :int,
    :SDL_SetWindowShape => :int,
    :SDL_GetShapedWindowMode => :int,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_stdinc_symbols() click to toggle source

Function

# File lib/sdl2_stdinc.rb, line 49
def self.setup_stdinc_symbols()
  symbols = [
    :SDL_malloc,
    :SDL_calloc,
    :SDL_realloc,
    :SDL_free,
    :SDL_GetMemoryFunctions,
    :SDL_SetMemoryFunctions,
    :SDL_GetNumAllocations,
    :SDL_getenv,
    :SDL_setenv,
    :SDL_qsort,
    :SDL_abs,
    :SDL_isalpha,
    :SDL_isalnum,
    :SDL_isblank,
    :SDL_iscntrl,
    :SDL_isdigit,
    :SDL_isxdigit,
    :SDL_ispunct,
    :SDL_isspace,
    :SDL_isupper,
    :SDL_islower,
    :SDL_isprint,
    :SDL_isgraph,
    :SDL_toupper,
    :SDL_tolower,
    :SDL_crc32,
    :SDL_memset,
    :SDL_memset4,
    :SDL_memcpy,
    :SDL_memmove,
    :SDL_memcmp,
    :SDL_wcslen,
    :SDL_wcslcpy,
    :SDL_wcslcat,
    :SDL_wcsdup,
    :SDL_wcsstr,
    :SDL_wcscmp,
    :SDL_wcsncmp,
    :SDL_wcscasecmp,
    :SDL_wcsncasecmp,
    :SDL_strlen,
    :SDL_strlcpy,
    :SDL_utf8strlcpy,
    :SDL_strlcat,
    :SDL_strdup,
    :SDL_strrev,
    :SDL_strupr,
    :SDL_strlwr,
    :SDL_strchr,
    :SDL_strrchr,
    :SDL_strstr,
    :SDL_strtokr,
    :SDL_utf8strlen,
    :SDL_itoa,
    :SDL_uitoa,
    :SDL_ltoa,
    :SDL_ultoa,
    :SDL_lltoa,
    :SDL_ulltoa,
    :SDL_atoi,
    :SDL_atof,
    :SDL_strtol,
    :SDL_strtoul,
    :SDL_strtoll,
    :SDL_strtoull,
    :SDL_strtod,
    :SDL_strcmp,
    :SDL_strncmp,
    :SDL_strcasecmp,
    :SDL_strncasecmp,
    :SDL_sscanf,
    :SDL_vsscanf,
    :SDL_snprintf,
    :SDL_vsnprintf,
    :SDL_acos,
    :SDL_acosf,
    :SDL_asin,
    :SDL_asinf,
    :SDL_atan,
    :SDL_atanf,
    :SDL_atan2,
    :SDL_atan2f,
    :SDL_ceil,
    :SDL_ceilf,
    :SDL_copysign,
    :SDL_copysignf,
    :SDL_cos,
    :SDL_cosf,
    :SDL_exp,
    :SDL_expf,
    :SDL_fabs,
    :SDL_fabsf,
    :SDL_floor,
    :SDL_floorf,
    :SDL_trunc,
    :SDL_truncf,
    :SDL_fmod,
    :SDL_fmodf,
    :SDL_log,
    :SDL_logf,
    :SDL_log10,
    :SDL_log10f,
    :SDL_pow,
    :SDL_powf,
    :SDL_round,
    :SDL_roundf,
    :SDL_lround,
    :SDL_lroundf,
    :SDL_scalbn,
    :SDL_scalbnf,
    :SDL_sin,
    :SDL_sinf,
    :SDL_sqrt,
    :SDL_sqrtf,
    :SDL_tan,
    :SDL_tanf,
    :SDL_iconv_open,
    :SDL_iconv_close,
    :SDL_iconv,
    :SDL_iconv_string,
    :SDL_memcpy4,
  ]
  args = {
    :SDL_malloc => [:ulong],
    :SDL_calloc => [:ulong, :ulong],
    :SDL_realloc => [:pointer, :ulong],
    :SDL_free => [:pointer],
    :SDL_GetMemoryFunctions => [:pointer, :pointer, :pointer, :pointer],
    :SDL_SetMemoryFunctions => [:SDL_malloc_func, :SDL_calloc_func, :SDL_realloc_func, :SDL_free_func],
    :SDL_GetNumAllocations => [],
    :SDL_getenv => [:pointer],
    :SDL_setenv => [:pointer, :pointer, :int],
    :SDL_qsort => [:pointer, :ulong, :ulong, :pointer],
    :SDL_abs => [:int],
    :SDL_isalpha => [:int],
    :SDL_isalnum => [:int],
    :SDL_isblank => [:int],
    :SDL_iscntrl => [:int],
    :SDL_isdigit => [:int],
    :SDL_isxdigit => [:int],
    :SDL_ispunct => [:int],
    :SDL_isspace => [:int],
    :SDL_isupper => [:int],
    :SDL_islower => [:int],
    :SDL_isprint => [:int],
    :SDL_isgraph => [:int],
    :SDL_toupper => [:int],
    :SDL_tolower => [:int],
    :SDL_crc32 => [:uint, :pointer, :ulong],
    :SDL_memset => [:pointer, :int, :ulong],
    :SDL_memset4 => [:pointer, :uint, :ulong],
    :SDL_memcpy => [:pointer, :pointer, :ulong],
    :SDL_memmove => [:pointer, :pointer, :ulong],
    :SDL_memcmp => [:pointer, :pointer, :ulong],
    :SDL_wcslen => [:pointer],
    :SDL_wcslcpy => [:pointer, :pointer, :ulong],
    :SDL_wcslcat => [:pointer, :pointer, :ulong],
    :SDL_wcsdup => [:pointer],
    :SDL_wcsstr => [:pointer, :pointer],
    :SDL_wcscmp => [:pointer, :pointer],
    :SDL_wcsncmp => [:pointer, :pointer, :ulong],
    :SDL_wcscasecmp => [:pointer, :pointer],
    :SDL_wcsncasecmp => [:pointer, :pointer, :ulong],
    :SDL_strlen => [:pointer],
    :SDL_strlcpy => [:pointer, :pointer, :ulong],
    :SDL_utf8strlcpy => [:pointer, :pointer, :ulong],
    :SDL_strlcat => [:pointer, :pointer, :ulong],
    :SDL_strdup => [:pointer],
    :SDL_strrev => [:pointer],
    :SDL_strupr => [:pointer],
    :SDL_strlwr => [:pointer],
    :SDL_strchr => [:pointer, :int],
    :SDL_strrchr => [:pointer, :int],
    :SDL_strstr => [:pointer, :pointer],
    :SDL_strtokr => [:pointer, :pointer, :pointer],
    :SDL_utf8strlen => [:pointer],
    :SDL_itoa => [:int, :pointer, :int],
    :SDL_uitoa => [:uint, :pointer, :int],
    :SDL_ltoa => [:long, :pointer, :int],
    :SDL_ultoa => [:ulong, :pointer, :int],
    :SDL_lltoa => [:long_long, :pointer, :int],
    :SDL_ulltoa => [:ulong_long, :pointer, :int],
    :SDL_atoi => [:pointer],
    :SDL_atof => [:pointer],
    :SDL_strtol => [:pointer, :pointer, :int],
    :SDL_strtoul => [:pointer, :pointer, :int],
    :SDL_strtoll => [:pointer, :pointer, :int],
    :SDL_strtoull => [:pointer, :pointer, :int],
    :SDL_strtod => [:pointer, :pointer],
    :SDL_strcmp => [:pointer, :pointer],
    :SDL_strncmp => [:pointer, :pointer, :ulong],
    :SDL_strcasecmp => [:pointer, :pointer],
    :SDL_strncasecmp => [:pointer, :pointer, :ulong],
    :SDL_sscanf => [:pointer, :pointer],
    :SDL_vsscanf => [:pointer, :pointer, :pointer],
    :SDL_snprintf => [:pointer, :ulong, :pointer],
    :SDL_vsnprintf => [:pointer, :ulong, :pointer, :pointer],
    :SDL_acos => [:double],
    :SDL_acosf => [:float],
    :SDL_asin => [:double],
    :SDL_asinf => [:float],
    :SDL_atan => [:double],
    :SDL_atanf => [:float],
    :SDL_atan2 => [:double, :double],
    :SDL_atan2f => [:float, :float],
    :SDL_ceil => [:double],
    :SDL_ceilf => [:float],
    :SDL_copysign => [:double, :double],
    :SDL_copysignf => [:float, :float],
    :SDL_cos => [:double],
    :SDL_cosf => [:float],
    :SDL_exp => [:double],
    :SDL_expf => [:float],
    :SDL_fabs => [:double],
    :SDL_fabsf => [:float],
    :SDL_floor => [:double],
    :SDL_floorf => [:float],
    :SDL_trunc => [:double],
    :SDL_truncf => [:float],
    :SDL_fmod => [:double, :double],
    :SDL_fmodf => [:float, :float],
    :SDL_log => [:double],
    :SDL_logf => [:float],
    :SDL_log10 => [:double],
    :SDL_log10f => [:float],
    :SDL_pow => [:double, :double],
    :SDL_powf => [:float, :float],
    :SDL_round => [:double],
    :SDL_roundf => [:float],
    :SDL_lround => [:double],
    :SDL_lroundf => [:float],
    :SDL_scalbn => [:double, :int],
    :SDL_scalbnf => [:float, :int],
    :SDL_sin => [:double],
    :SDL_sinf => [:float],
    :SDL_sqrt => [:double],
    :SDL_sqrtf => [:float],
    :SDL_tan => [:double],
    :SDL_tanf => [:float],
    :SDL_iconv_open => [:pointer, :pointer],
    :SDL_iconv_close => [:pointer],
    :SDL_iconv => [:pointer, :pointer, :pointer, :pointer, :pointer],
    :SDL_iconv_string => [:pointer, :pointer, :pointer, :ulong],
    :SDL_memcpy4 => [:pointer, :pointer, :ulong],
  }
  retvals = {
    :SDL_malloc => :pointer,
    :SDL_calloc => :pointer,
    :SDL_realloc => :pointer,
    :SDL_free => :void,
    :SDL_GetMemoryFunctions => :void,
    :SDL_SetMemoryFunctions => :int,
    :SDL_GetNumAllocations => :int,
    :SDL_getenv => :pointer,
    :SDL_setenv => :int,
    :SDL_qsort => :void,
    :SDL_abs => :int,
    :SDL_isalpha => :int,
    :SDL_isalnum => :int,
    :SDL_isblank => :int,
    :SDL_iscntrl => :int,
    :SDL_isdigit => :int,
    :SDL_isxdigit => :int,
    :SDL_ispunct => :int,
    :SDL_isspace => :int,
    :SDL_isupper => :int,
    :SDL_islower => :int,
    :SDL_isprint => :int,
    :SDL_isgraph => :int,
    :SDL_toupper => :int,
    :SDL_tolower => :int,
    :SDL_crc32 => :uint,
    :SDL_memset => :pointer,
    :SDL_memset4 => :void,
    :SDL_memcpy => :pointer,
    :SDL_memmove => :pointer,
    :SDL_memcmp => :int,
    :SDL_wcslen => :size_t,
    :SDL_wcslcpy => :size_t,
    :SDL_wcslcat => :size_t,
    :SDL_wcsdup => :pointer,
    :SDL_wcsstr => :pointer,
    :SDL_wcscmp => :int,
    :SDL_wcsncmp => :int,
    :SDL_wcscasecmp => :int,
    :SDL_wcsncasecmp => :int,
    :SDL_strlen => :size_t,
    :SDL_strlcpy => :size_t,
    :SDL_utf8strlcpy => :size_t,
    :SDL_strlcat => :size_t,
    :SDL_strdup => :pointer,
    :SDL_strrev => :pointer,
    :SDL_strupr => :pointer,
    :SDL_strlwr => :pointer,
    :SDL_strchr => :pointer,
    :SDL_strrchr => :pointer,
    :SDL_strstr => :pointer,
    :SDL_strtokr => :pointer,
    :SDL_utf8strlen => :size_t,
    :SDL_itoa => :pointer,
    :SDL_uitoa => :pointer,
    :SDL_ltoa => :pointer,
    :SDL_ultoa => :pointer,
    :SDL_lltoa => :pointer,
    :SDL_ulltoa => :pointer,
    :SDL_atoi => :int,
    :SDL_atof => :double,
    :SDL_strtol => :long,
    :SDL_strtoul => :ulong,
    :SDL_strtoll => :long_long,
    :SDL_strtoull => :ulong_long,
    :SDL_strtod => :double,
    :SDL_strcmp => :int,
    :SDL_strncmp => :int,
    :SDL_strcasecmp => :int,
    :SDL_strncasecmp => :int,
    :SDL_sscanf => :int,
    :SDL_vsscanf => :int,
    :SDL_snprintf => :int,
    :SDL_vsnprintf => :int,
    :SDL_acos => :double,
    :SDL_acosf => :float,
    :SDL_asin => :double,
    :SDL_asinf => :float,
    :SDL_atan => :double,
    :SDL_atanf => :float,
    :SDL_atan2 => :double,
    :SDL_atan2f => :float,
    :SDL_ceil => :double,
    :SDL_ceilf => :float,
    :SDL_copysign => :double,
    :SDL_copysignf => :float,
    :SDL_cos => :double,
    :SDL_cosf => :float,
    :SDL_exp => :double,
    :SDL_expf => :float,
    :SDL_fabs => :double,
    :SDL_fabsf => :float,
    :SDL_floor => :double,
    :SDL_floorf => :float,
    :SDL_trunc => :double,
    :SDL_truncf => :float,
    :SDL_fmod => :double,
    :SDL_fmodf => :float,
    :SDL_log => :double,
    :SDL_logf => :float,
    :SDL_log10 => :double,
    :SDL_log10f => :float,
    :SDL_pow => :double,
    :SDL_powf => :float,
    :SDL_round => :double,
    :SDL_roundf => :float,
    :SDL_lround => :long,
    :SDL_lroundf => :long,
    :SDL_scalbn => :double,
    :SDL_scalbnf => :float,
    :SDL_sin => :double,
    :SDL_sinf => :float,
    :SDL_sqrt => :double,
    :SDL_sqrtf => :float,
    :SDL_tan => :double,
    :SDL_tanf => :float,
    :SDL_iconv_open => :pointer,
    :SDL_iconv_close => :int,
    :SDL_iconv => :size_t,
    :SDL_iconv_string => :pointer,
    :SDL_memcpy4 => :pointer,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_surface_symbols() click to toggle source

Function

# File lib/sdl2_surface.rb, line 54
def self.setup_surface_symbols()
  symbols = [
    :SDL_CreateRGBSurface,
    :SDL_CreateRGBSurfaceWithFormat,
    :SDL_CreateRGBSurfaceFrom,
    :SDL_CreateRGBSurfaceWithFormatFrom,
    :SDL_FreeSurface,
    :SDL_SetSurfacePalette,
    :SDL_LockSurface,
    :SDL_UnlockSurface,
    :SDL_LoadBMP_RW,
    :SDL_SaveBMP_RW,
    :SDL_SetSurfaceRLE,
    :SDL_HasSurfaceRLE,
    :SDL_SetColorKey,
    :SDL_HasColorKey,
    :SDL_GetColorKey,
    :SDL_SetSurfaceColorMod,
    :SDL_GetSurfaceColorMod,
    :SDL_SetSurfaceAlphaMod,
    :SDL_GetSurfaceAlphaMod,
    :SDL_SetSurfaceBlendMode,
    :SDL_GetSurfaceBlendMode,
    :SDL_SetClipRect,
    :SDL_GetClipRect,
    :SDL_DuplicateSurface,
    :SDL_ConvertSurface,
    :SDL_ConvertSurfaceFormat,
    :SDL_ConvertPixels,
    :SDL_FillRect,
    :SDL_FillRects,
    :SDL_UpperBlit,
    :SDL_LowerBlit,
    :SDL_SoftStretch,
    :SDL_SoftStretchLinear,
    :SDL_UpperBlitScaled,
    :SDL_LowerBlitScaled,
    :SDL_SetYUVConversionMode,
    :SDL_GetYUVConversionMode,
    :SDL_GetYUVConversionModeForResolution,
  ]
  args = {
    :SDL_CreateRGBSurface => [:uint, :int, :int, :int, :uint, :uint, :uint, :uint],
    :SDL_CreateRGBSurfaceWithFormat => [:uint, :int, :int, :int, :uint],
    :SDL_CreateRGBSurfaceFrom => [:pointer, :int, :int, :int, :int, :uint, :uint, :uint, :uint],
    :SDL_CreateRGBSurfaceWithFormatFrom => [:pointer, :int, :int, :int, :int, :uint],
    :SDL_FreeSurface => [:pointer],
    :SDL_SetSurfacePalette => [:pointer, :pointer],
    :SDL_LockSurface => [:pointer],
    :SDL_UnlockSurface => [:pointer],
    :SDL_LoadBMP_RW => [:pointer, :int],
    :SDL_SaveBMP_RW => [:pointer, :pointer, :int],
    :SDL_SetSurfaceRLE => [:pointer, :int],
    :SDL_HasSurfaceRLE => [:pointer],
    :SDL_SetColorKey => [:pointer, :int, :uint],
    :SDL_HasColorKey => [:pointer],
    :SDL_GetColorKey => [:pointer, :pointer],
    :SDL_SetSurfaceColorMod => [:pointer, :uchar, :uchar, :uchar],
    :SDL_GetSurfaceColorMod => [:pointer, :pointer, :pointer, :pointer],
    :SDL_SetSurfaceAlphaMod => [:pointer, :uchar],
    :SDL_GetSurfaceAlphaMod => [:pointer, :pointer],
    :SDL_SetSurfaceBlendMode => [:pointer, :int],
    :SDL_GetSurfaceBlendMode => [:pointer, :pointer],
    :SDL_SetClipRect => [:pointer, :pointer],
    :SDL_GetClipRect => [:pointer, :pointer],
    :SDL_DuplicateSurface => [:pointer],
    :SDL_ConvertSurface => [:pointer, :pointer, :uint],
    :SDL_ConvertSurfaceFormat => [:pointer, :uint, :uint],
    :SDL_ConvertPixels => [:int, :int, :uint, :pointer, :int, :uint, :pointer, :int],
    :SDL_FillRect => [:pointer, :pointer, :uint],
    :SDL_FillRects => [:pointer, :pointer, :int, :uint],
    :SDL_UpperBlit => [:pointer, :pointer, :pointer, :pointer],
    :SDL_LowerBlit => [:pointer, :pointer, :pointer, :pointer],
    :SDL_SoftStretch => [:pointer, :pointer, :pointer, :pointer],
    :SDL_SoftStretchLinear => [:pointer, :pointer, :pointer, :pointer],
    :SDL_UpperBlitScaled => [:pointer, :pointer, :pointer, :pointer],
    :SDL_LowerBlitScaled => [:pointer, :pointer, :pointer, :pointer],
    :SDL_SetYUVConversionMode => [:int],
    :SDL_GetYUVConversionMode => [],
    :SDL_GetYUVConversionModeForResolution => [:int, :int],
  }
  retvals = {
    :SDL_CreateRGBSurface => :pointer,
    :SDL_CreateRGBSurfaceWithFormat => :pointer,
    :SDL_CreateRGBSurfaceFrom => :pointer,
    :SDL_CreateRGBSurfaceWithFormatFrom => :pointer,
    :SDL_FreeSurface => :void,
    :SDL_SetSurfacePalette => :int,
    :SDL_LockSurface => :int,
    :SDL_UnlockSurface => :void,
    :SDL_LoadBMP_RW => :pointer,
    :SDL_SaveBMP_RW => :int,
    :SDL_SetSurfaceRLE => :int,
    :SDL_HasSurfaceRLE => :int,
    :SDL_SetColorKey => :int,
    :SDL_HasColorKey => :int,
    :SDL_GetColorKey => :int,
    :SDL_SetSurfaceColorMod => :int,
    :SDL_GetSurfaceColorMod => :int,
    :SDL_SetSurfaceAlphaMod => :int,
    :SDL_GetSurfaceAlphaMod => :int,
    :SDL_SetSurfaceBlendMode => :int,
    :SDL_GetSurfaceBlendMode => :int,
    :SDL_SetClipRect => :int,
    :SDL_GetClipRect => :void,
    :SDL_DuplicateSurface => :pointer,
    :SDL_ConvertSurface => :pointer,
    :SDL_ConvertSurfaceFormat => :pointer,
    :SDL_ConvertPixels => :int,
    :SDL_FillRect => :int,
    :SDL_FillRects => :int,
    :SDL_UpperBlit => :int,
    :SDL_LowerBlit => :int,
    :SDL_SoftStretch => :int,
    :SDL_SoftStretchLinear => :int,
    :SDL_UpperBlitScaled => :int,
    :SDL_LowerBlitScaled => :int,
    :SDL_SetYUVConversionMode => :void,
    :SDL_GetYUVConversionMode => :int,
    :SDL_GetYUVConversionModeForResolution => :int,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_symbols() click to toggle source
# File lib/sdl2.rb, line 92
def self.setup_symbols()
  setup_main_symbols()
  setup_audio_symbols()
  setup_blendmode_symbols()
  setup_clipboard_symbols()
  setup_cpuinfo_symbols()
  setup_error_symbols()
  setup_events_symbols()
  setup_filesystem_symbols()
  setup_gamecontroller_symbols()
  setup_gesture_symbols()
  setup_haptic_symbols()
  setup_hints_symbols()
  setup_joystick_symbols()
  setup_keyboard_symbols()
  setup_keycode_symbols()
  setup_log_symbols()
  setup_messagebox_symbols()
  setup_misc_symbols()
  setup_mouse_symbols()
  setup_pixels_symbols()
  setup_platform_symbols()
  setup_power_symbols()
  setup_rect_symbols()
  setup_render_symbols()
  setup_rwops_symbols()
  setup_scancode_symbols()
  setup_sensor_symbols()
  setup_shape_symbols()
  setup_surface_symbols()
  setup_syswm_symbols()
  setup_stdinc_symbols()
  setup_timer_symbols()
  setup_touch_symbols()
  setup_version_symbols()
  setup_video_symbols()
  setup_vulkan_symbols()
end
setup_syswm_symbols() click to toggle source

Function

# File lib/sdl2_syswm.rb, line 135
def self.setup_syswm_symbols()
  symbols = [
    :SDL_GetWindowWMInfo,
  ]
  args = {
    :SDL_GetWindowWMInfo => [:pointer, :pointer],
  }
  retvals = {
    :SDL_GetWindowWMInfo => :int,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_timer_symbols() click to toggle source

Function

# File lib/sdl2_timer.rb, line 27
def self.setup_timer_symbols()
  symbols = [
    :SDL_GetTicks,
    :SDL_GetPerformanceCounter,
    :SDL_GetPerformanceFrequency,
    :SDL_Delay,
    :SDL_AddTimer,
    :SDL_RemoveTimer,
  ]
  args = {
    :SDL_GetTicks => [],
    :SDL_GetPerformanceCounter => [],
    :SDL_GetPerformanceFrequency => [],
    :SDL_Delay => [:uint],
    :SDL_AddTimer => [:uint, :SDL_TimerCallback, :pointer],
    :SDL_RemoveTimer => [:int],
  }
  retvals = {
    :SDL_GetTicks => :uint,
    :SDL_GetPerformanceCounter => :ulong_long,
    :SDL_GetPerformanceFrequency => :ulong_long,
    :SDL_Delay => :void,
    :SDL_AddTimer => :int,
    :SDL_RemoveTimer => :int,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_touch_symbols() click to toggle source

Function

# File lib/sdl2_touch.rb, line 41
def self.setup_touch_symbols()
  symbols = [
    :SDL_GetNumTouchDevices,
    :SDL_GetTouchDevice,
    :SDL_GetTouchDeviceType,
    :SDL_GetNumTouchFingers,
    :SDL_GetTouchFinger,
  ]
  args = {
    :SDL_GetNumTouchDevices => [],
    :SDL_GetTouchDevice => [:int],
    :SDL_GetTouchDeviceType => [:long_long],
    :SDL_GetNumTouchFingers => [:long_long],
    :SDL_GetTouchFinger => [:long_long, :int],
  }
  retvals = {
    :SDL_GetNumTouchDevices => :int,
    :SDL_GetTouchDevice => :long_long,
    :SDL_GetTouchDeviceType => :int,
    :SDL_GetNumTouchFingers => :int,
    :SDL_GetTouchFinger => :pointer,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_ttf_symbols() click to toggle source

Function

# File lib/sdl2_ttf.rb, line 41
def self.setup_ttf_symbols()
  symbols = [
    :TTF_Linked_Version,
    :TTF_ByteSwappedUNICODE,
    :TTF_Init,
    :TTF_OpenFont,
    :TTF_OpenFontIndex,
    :TTF_OpenFontRW,
    :TTF_OpenFontIndexRW,
    :TTF_GetFontStyle,
    :TTF_SetFontStyle,
    :TTF_GetFontOutline,
    :TTF_SetFontOutline,
    :TTF_GetFontHinting,
    :TTF_SetFontHinting,
    :TTF_FontHeight,
    :TTF_FontAscent,
    :TTF_FontDescent,
    :TTF_FontLineSkip,
    :TTF_GetFontKerning,
    :TTF_SetFontKerning,
    :TTF_FontFaces,
    :TTF_FontFaceIsFixedWidth,
    :TTF_FontFaceFamilyName,
    :TTF_FontFaceStyleName,
    :TTF_GlyphIsProvided,
    :TTF_GlyphMetrics,
    :TTF_SizeText,
    :TTF_SizeUTF8,
    :TTF_SizeUNICODE,
    :TTF_RenderText_Solid,
    :TTF_RenderUTF8_Solid,
    :TTF_RenderUNICODE_Solid,
    :TTF_RenderGlyph_Solid,
    :TTF_RenderText_Shaded,
    :TTF_RenderUTF8_Shaded,
    :TTF_RenderUNICODE_Shaded,
    :TTF_RenderGlyph_Shaded,
    :TTF_RenderText_Blended,
    :TTF_RenderUTF8_Blended,
    :TTF_RenderUNICODE_Blended,
    :TTF_RenderText_Blended_Wrapped,
    :TTF_RenderUTF8_Blended_Wrapped,
    :TTF_RenderUNICODE_Blended_Wrapped,
    :TTF_RenderGlyph_Blended,
    :TTF_CloseFont,
    :TTF_Quit,
    :TTF_WasInit,
    :TTF_GetFontKerningSize,
    :TTF_GetFontKerningSizeGlyphs,
  ]
  args = {
    :TTF_Linked_Version => [],
    :TTF_ByteSwappedUNICODE => [:int],
    :TTF_Init => [],
    :TTF_OpenFont => [:pointer, :int],
    :TTF_OpenFontIndex => [:pointer, :int, :long],
    :TTF_OpenFontRW => [:pointer, :int, :int],
    :TTF_OpenFontIndexRW => [:pointer, :int, :int, :long],
    :TTF_GetFontStyle => [:pointer],
    :TTF_SetFontStyle => [:pointer, :int],
    :TTF_GetFontOutline => [:pointer],
    :TTF_SetFontOutline => [:pointer, :int],
    :TTF_GetFontHinting => [:pointer],
    :TTF_SetFontHinting => [:pointer, :int],
    :TTF_FontHeight => [:pointer],
    :TTF_FontAscent => [:pointer],
    :TTF_FontDescent => [:pointer],
    :TTF_FontLineSkip => [:pointer],
    :TTF_GetFontKerning => [:pointer],
    :TTF_SetFontKerning => [:pointer, :int],
    :TTF_FontFaces => [:pointer],
    :TTF_FontFaceIsFixedWidth => [:pointer],
    :TTF_FontFaceFamilyName => [:pointer],
    :TTF_FontFaceStyleName => [:pointer],
    :TTF_GlyphIsProvided => [:pointer, :ushort],
    :TTF_GlyphMetrics => [:pointer, :ushort, :pointer, :pointer, :pointer, :pointer, :pointer],
    :TTF_SizeText => [:pointer, :pointer, :pointer, :pointer],
    :TTF_SizeUTF8 => [:pointer, :pointer, :pointer, :pointer],
    :TTF_SizeUNICODE => [:pointer, :pointer, :pointer, :pointer],
    :TTF_RenderText_Solid => [:pointer, :pointer, SDL_Color],
    :TTF_RenderUTF8_Solid => [:pointer, :pointer, SDL_Color],
    :TTF_RenderUNICODE_Solid => [:pointer, :pointer, SDL_Color],
    :TTF_RenderGlyph_Solid => [:pointer, :ushort, SDL_Color],
    :TTF_RenderText_Shaded => [:pointer, :pointer, SDL_Color, SDL_Color],
    :TTF_RenderUTF8_Shaded => [:pointer, :pointer, SDL_Color, SDL_Color],
    :TTF_RenderUNICODE_Shaded => [:pointer, :pointer, SDL_Color, SDL_Color],
    :TTF_RenderGlyph_Shaded => [:pointer, :ushort, SDL_Color, SDL_Color],
    :TTF_RenderText_Blended => [:pointer, :pointer, SDL_Color],
    :TTF_RenderUTF8_Blended => [:pointer, :pointer, SDL_Color],
    :TTF_RenderUNICODE_Blended => [:pointer, :pointer, SDL_Color],
    :TTF_RenderText_Blended_Wrapped => [:pointer, :pointer, SDL_Color, :uint],
    :TTF_RenderUTF8_Blended_Wrapped => [:pointer, :pointer, SDL_Color, :uint],
    :TTF_RenderUNICODE_Blended_Wrapped => [:pointer, :pointer, SDL_Color, :uint],
    :TTF_RenderGlyph_Blended => [:pointer, :ushort, SDL_Color],
    :TTF_CloseFont => [:pointer],
    :TTF_Quit => [],
    :TTF_WasInit => [],
    :TTF_GetFontKerningSize => [:pointer, :int, :int],
    :TTF_GetFontKerningSizeGlyphs => [:pointer, :ushort, :ushort],
  }
  retvals = {
    :TTF_Linked_Version => :pointer,
    :TTF_ByteSwappedUNICODE => :void,
    :TTF_Init => :int,
    :TTF_OpenFont => :pointer,
    :TTF_OpenFontIndex => :pointer,
    :TTF_OpenFontRW => :pointer,
    :TTF_OpenFontIndexRW => :pointer,
    :TTF_GetFontStyle => :int,
    :TTF_SetFontStyle => :void,
    :TTF_GetFontOutline => :int,
    :TTF_SetFontOutline => :void,
    :TTF_GetFontHinting => :int,
    :TTF_SetFontHinting => :void,
    :TTF_FontHeight => :int,
    :TTF_FontAscent => :int,
    :TTF_FontDescent => :int,
    :TTF_FontLineSkip => :int,
    :TTF_GetFontKerning => :int,
    :TTF_SetFontKerning => :void,
    :TTF_FontFaces => :long,
    :TTF_FontFaceIsFixedWidth => :int,
    :TTF_FontFaceFamilyName => :pointer,
    :TTF_FontFaceStyleName => :pointer,
    :TTF_GlyphIsProvided => :int,
    :TTF_GlyphMetrics => :int,
    :TTF_SizeText => :int,
    :TTF_SizeUTF8 => :int,
    :TTF_SizeUNICODE => :int,
    :TTF_RenderText_Solid => :pointer,
    :TTF_RenderUTF8_Solid => :pointer,
    :TTF_RenderUNICODE_Solid => :pointer,
    :TTF_RenderGlyph_Solid => :pointer,
    :TTF_RenderText_Shaded => :pointer,
    :TTF_RenderUTF8_Shaded => :pointer,
    :TTF_RenderUNICODE_Shaded => :pointer,
    :TTF_RenderGlyph_Shaded => :pointer,
    :TTF_RenderText_Blended => :pointer,
    :TTF_RenderUTF8_Blended => :pointer,
    :TTF_RenderUNICODE_Blended => :pointer,
    :TTF_RenderText_Blended_Wrapped => :pointer,
    :TTF_RenderUTF8_Blended_Wrapped => :pointer,
    :TTF_RenderUNICODE_Blended_Wrapped => :pointer,
    :TTF_RenderGlyph_Blended => :pointer,
    :TTF_CloseFont => :void,
    :TTF_Quit => :void,
    :TTF_WasInit => :int,
    :TTF_GetFontKerningSize => :int,
    :TTF_GetFontKerningSizeGlyphs => :int,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_version_symbols() click to toggle source

Function

# File lib/sdl2_version.rb, line 36
def self.setup_version_symbols()
  symbols = [
    :SDL_GetVersion,
    :SDL_GetRevision,
    :SDL_GetRevisionNumber,
  ]
  args = {
    :SDL_GetVersion => [:pointer],
    :SDL_GetRevision => [],
    :SDL_GetRevisionNumber => [],
  }
  retvals = {
    :SDL_GetVersion => :void,
    :SDL_GetRevision => :pointer,
    :SDL_GetRevisionNumber => :int,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_video_symbols() click to toggle source

Function

# File lib/sdl2_video.rb, line 151
def self.setup_video_symbols()
  symbols = [
    :SDL_GetNumVideoDrivers,
    :SDL_GetVideoDriver,
    :SDL_VideoInit,
    :SDL_VideoQuit,
    :SDL_GetCurrentVideoDriver,
    :SDL_GetNumVideoDisplays,
    :SDL_GetDisplayName,
    :SDL_GetDisplayBounds,
    :SDL_GetDisplayUsableBounds,
    :SDL_GetDisplayDPI,
    :SDL_GetDisplayOrientation,
    :SDL_GetNumDisplayModes,
    :SDL_GetDisplayMode,
    :SDL_GetDesktopDisplayMode,
    :SDL_GetCurrentDisplayMode,
    :SDL_GetClosestDisplayMode,
    :SDL_GetWindowDisplayIndex,
    :SDL_SetWindowDisplayMode,
    :SDL_GetWindowDisplayMode,
    :SDL_GetWindowPixelFormat,
    :SDL_CreateWindow,
    :SDL_CreateWindowFrom,
    :SDL_GetWindowID,
    :SDL_GetWindowFromID,
    :SDL_GetWindowFlags,
    :SDL_SetWindowTitle,
    :SDL_GetWindowTitle,
    :SDL_SetWindowIcon,
    :SDL_SetWindowData,
    :SDL_GetWindowData,
    :SDL_SetWindowPosition,
    :SDL_GetWindowPosition,
    :SDL_SetWindowSize,
    :SDL_GetWindowSize,
    :SDL_GetWindowBordersSize,
    :SDL_SetWindowMinimumSize,
    :SDL_GetWindowMinimumSize,
    :SDL_SetWindowMaximumSize,
    :SDL_GetWindowMaximumSize,
    :SDL_SetWindowBordered,
    :SDL_SetWindowResizable,
    :SDL_SetWindowAlwaysOnTop,
    :SDL_ShowWindow,
    :SDL_HideWindow,
    :SDL_RaiseWindow,
    :SDL_MaximizeWindow,
    :SDL_MinimizeWindow,
    :SDL_RestoreWindow,
    :SDL_SetWindowFullscreen,
    :SDL_GetWindowSurface,
    :SDL_UpdateWindowSurface,
    :SDL_UpdateWindowSurfaceRects,
    :SDL_SetWindowGrab,
    :SDL_SetWindowKeyboardGrab,
    :SDL_SetWindowMouseGrab,
    :SDL_GetWindowGrab,
    :SDL_GetWindowKeyboardGrab,
    :SDL_GetWindowMouseGrab,
    :SDL_GetGrabbedWindow,
    :SDL_SetWindowBrightness,
    :SDL_GetWindowBrightness,
    :SDL_SetWindowOpacity,
    :SDL_GetWindowOpacity,
    :SDL_SetWindowModalFor,
    :SDL_SetWindowInputFocus,
    :SDL_SetWindowGammaRamp,
    :SDL_GetWindowGammaRamp,
    :SDL_SetWindowHitTest,
    :SDL_FlashWindow,
    :SDL_DestroyWindow,
    :SDL_IsScreenSaverEnabled,
    :SDL_EnableScreenSaver,
    :SDL_DisableScreenSaver,
    :SDL_GL_LoadLibrary,
    :SDL_GL_GetProcAddress,
    :SDL_GL_UnloadLibrary,
    :SDL_GL_ExtensionSupported,
    :SDL_GL_ResetAttributes,
    :SDL_GL_SetAttribute,
    :SDL_GL_GetAttribute,
    :SDL_GL_CreateContext,
    :SDL_GL_MakeCurrent,
    :SDL_GL_GetCurrentWindow,
    :SDL_GL_GetCurrentContext,
    :SDL_GL_GetDrawableSize,
    :SDL_GL_SetSwapInterval,
    :SDL_GL_GetSwapInterval,
    :SDL_GL_SwapWindow,
    :SDL_GL_DeleteContext,
  ]
  args = {
    :SDL_GetNumVideoDrivers => [],
    :SDL_GetVideoDriver => [:int],
    :SDL_VideoInit => [:pointer],
    :SDL_VideoQuit => [],
    :SDL_GetCurrentVideoDriver => [],
    :SDL_GetNumVideoDisplays => [],
    :SDL_GetDisplayName => [:int],
    :SDL_GetDisplayBounds => [:int, :pointer],
    :SDL_GetDisplayUsableBounds => [:int, :pointer],
    :SDL_GetDisplayDPI => [:int, :pointer, :pointer, :pointer],
    :SDL_GetDisplayOrientation => [:int],
    :SDL_GetNumDisplayModes => [:int],
    :SDL_GetDisplayMode => [:int, :int, :pointer],
    :SDL_GetDesktopDisplayMode => [:int, :pointer],
    :SDL_GetCurrentDisplayMode => [:int, :pointer],
    :SDL_GetClosestDisplayMode => [:int, :pointer, :pointer],
    :SDL_GetWindowDisplayIndex => [:pointer],
    :SDL_SetWindowDisplayMode => [:pointer, :pointer],
    :SDL_GetWindowDisplayMode => [:pointer, :pointer],
    :SDL_GetWindowPixelFormat => [:pointer],
    :SDL_CreateWindow => [:pointer, :int, :int, :int, :int, :uint],
    :SDL_CreateWindowFrom => [:pointer],
    :SDL_GetWindowID => [:pointer],
    :SDL_GetWindowFromID => [:uint],
    :SDL_GetWindowFlags => [:pointer],
    :SDL_SetWindowTitle => [:pointer, :pointer],
    :SDL_GetWindowTitle => [:pointer],
    :SDL_SetWindowIcon => [:pointer, :pointer],
    :SDL_SetWindowData => [:pointer, :pointer, :pointer],
    :SDL_GetWindowData => [:pointer, :pointer],
    :SDL_SetWindowPosition => [:pointer, :int, :int],
    :SDL_GetWindowPosition => [:pointer, :pointer, :pointer],
    :SDL_SetWindowSize => [:pointer, :int, :int],
    :SDL_GetWindowSize => [:pointer, :pointer, :pointer],
    :SDL_GetWindowBordersSize => [:pointer, :pointer, :pointer, :pointer, :pointer],
    :SDL_SetWindowMinimumSize => [:pointer, :int, :int],
    :SDL_GetWindowMinimumSize => [:pointer, :pointer, :pointer],
    :SDL_SetWindowMaximumSize => [:pointer, :int, :int],
    :SDL_GetWindowMaximumSize => [:pointer, :pointer, :pointer],
    :SDL_SetWindowBordered => [:pointer, :int],
    :SDL_SetWindowResizable => [:pointer, :int],
    :SDL_SetWindowAlwaysOnTop => [:pointer, :int],
    :SDL_ShowWindow => [:pointer],
    :SDL_HideWindow => [:pointer],
    :SDL_RaiseWindow => [:pointer],
    :SDL_MaximizeWindow => [:pointer],
    :SDL_MinimizeWindow => [:pointer],
    :SDL_RestoreWindow => [:pointer],
    :SDL_SetWindowFullscreen => [:pointer, :uint],
    :SDL_GetWindowSurface => [:pointer],
    :SDL_UpdateWindowSurface => [:pointer],
    :SDL_UpdateWindowSurfaceRects => [:pointer, :pointer, :int],
    :SDL_SetWindowGrab => [:pointer, :int],
    :SDL_SetWindowKeyboardGrab => [:pointer, :int],
    :SDL_SetWindowMouseGrab => [:pointer, :int],
    :SDL_GetWindowGrab => [:pointer],
    :SDL_GetWindowKeyboardGrab => [:pointer],
    :SDL_GetWindowMouseGrab => [:pointer],
    :SDL_GetGrabbedWindow => [],
    :SDL_SetWindowBrightness => [:pointer, :float],
    :SDL_GetWindowBrightness => [:pointer],
    :SDL_SetWindowOpacity => [:pointer, :float],
    :SDL_GetWindowOpacity => [:pointer, :pointer],
    :SDL_SetWindowModalFor => [:pointer, :pointer],
    :SDL_SetWindowInputFocus => [:pointer],
    :SDL_SetWindowGammaRamp => [:pointer, :pointer, :pointer, :pointer],
    :SDL_GetWindowGammaRamp => [:pointer, :pointer, :pointer, :pointer],
    :SDL_SetWindowHitTest => [:pointer, :SDL_HitTest, :pointer],
    :SDL_FlashWindow => [:pointer, :int],
    :SDL_DestroyWindow => [:pointer],
    :SDL_IsScreenSaverEnabled => [],
    :SDL_EnableScreenSaver => [],
    :SDL_DisableScreenSaver => [],
    :SDL_GL_LoadLibrary => [:pointer],
    :SDL_GL_GetProcAddress => [:pointer],
    :SDL_GL_UnloadLibrary => [],
    :SDL_GL_ExtensionSupported => [:pointer],
    :SDL_GL_ResetAttributes => [],
    :SDL_GL_SetAttribute => [:int, :int],
    :SDL_GL_GetAttribute => [:int, :pointer],
    :SDL_GL_CreateContext => [:pointer],
    :SDL_GL_MakeCurrent => [:pointer, :pointer],
    :SDL_GL_GetCurrentWindow => [],
    :SDL_GL_GetCurrentContext => [],
    :SDL_GL_GetDrawableSize => [:pointer, :pointer, :pointer],
    :SDL_GL_SetSwapInterval => [:int],
    :SDL_GL_GetSwapInterval => [],
    :SDL_GL_SwapWindow => [:pointer],
    :SDL_GL_DeleteContext => [:pointer],
  }
  retvals = {
    :SDL_GetNumVideoDrivers => :int,
    :SDL_GetVideoDriver => :pointer,
    :SDL_VideoInit => :int,
    :SDL_VideoQuit => :void,
    :SDL_GetCurrentVideoDriver => :pointer,
    :SDL_GetNumVideoDisplays => :int,
    :SDL_GetDisplayName => :pointer,
    :SDL_GetDisplayBounds => :int,
    :SDL_GetDisplayUsableBounds => :int,
    :SDL_GetDisplayDPI => :int,
    :SDL_GetDisplayOrientation => :int,
    :SDL_GetNumDisplayModes => :int,
    :SDL_GetDisplayMode => :int,
    :SDL_GetDesktopDisplayMode => :int,
    :SDL_GetCurrentDisplayMode => :int,
    :SDL_GetClosestDisplayMode => :pointer,
    :SDL_GetWindowDisplayIndex => :int,
    :SDL_SetWindowDisplayMode => :int,
    :SDL_GetWindowDisplayMode => :int,
    :SDL_GetWindowPixelFormat => :uint,
    :SDL_CreateWindow => :pointer,
    :SDL_CreateWindowFrom => :pointer,
    :SDL_GetWindowID => :uint,
    :SDL_GetWindowFromID => :pointer,
    :SDL_GetWindowFlags => :uint,
    :SDL_SetWindowTitle => :void,
    :SDL_GetWindowTitle => :pointer,
    :SDL_SetWindowIcon => :void,
    :SDL_SetWindowData => :pointer,
    :SDL_GetWindowData => :pointer,
    :SDL_SetWindowPosition => :void,
    :SDL_GetWindowPosition => :void,
    :SDL_SetWindowSize => :void,
    :SDL_GetWindowSize => :void,
    :SDL_GetWindowBordersSize => :int,
    :SDL_SetWindowMinimumSize => :void,
    :SDL_GetWindowMinimumSize => :void,
    :SDL_SetWindowMaximumSize => :void,
    :SDL_GetWindowMaximumSize => :void,
    :SDL_SetWindowBordered => :void,
    :SDL_SetWindowResizable => :void,
    :SDL_SetWindowAlwaysOnTop => :void,
    :SDL_ShowWindow => :void,
    :SDL_HideWindow => :void,
    :SDL_RaiseWindow => :void,
    :SDL_MaximizeWindow => :void,
    :SDL_MinimizeWindow => :void,
    :SDL_RestoreWindow => :void,
    :SDL_SetWindowFullscreen => :int,
    :SDL_GetWindowSurface => :pointer,
    :SDL_UpdateWindowSurface => :int,
    :SDL_UpdateWindowSurfaceRects => :int,
    :SDL_SetWindowGrab => :void,
    :SDL_SetWindowKeyboardGrab => :void,
    :SDL_SetWindowMouseGrab => :void,
    :SDL_GetWindowGrab => :int,
    :SDL_GetWindowKeyboardGrab => :int,
    :SDL_GetWindowMouseGrab => :int,
    :SDL_GetGrabbedWindow => :pointer,
    :SDL_SetWindowBrightness => :int,
    :SDL_GetWindowBrightness => :float,
    :SDL_SetWindowOpacity => :int,
    :SDL_GetWindowOpacity => :int,
    :SDL_SetWindowModalFor => :int,
    :SDL_SetWindowInputFocus => :int,
    :SDL_SetWindowGammaRamp => :int,
    :SDL_GetWindowGammaRamp => :int,
    :SDL_SetWindowHitTest => :int,
    :SDL_FlashWindow => :int,
    :SDL_DestroyWindow => :void,
    :SDL_IsScreenSaverEnabled => :int,
    :SDL_EnableScreenSaver => :void,
    :SDL_DisableScreenSaver => :void,
    :SDL_GL_LoadLibrary => :int,
    :SDL_GL_GetProcAddress => :pointer,
    :SDL_GL_UnloadLibrary => :void,
    :SDL_GL_ExtensionSupported => :int,
    :SDL_GL_ResetAttributes => :void,
    :SDL_GL_SetAttribute => :int,
    :SDL_GL_GetAttribute => :int,
    :SDL_GL_CreateContext => :pointer,
    :SDL_GL_MakeCurrent => :int,
    :SDL_GL_GetCurrentWindow => :pointer,
    :SDL_GL_GetCurrentContext => :pointer,
    :SDL_GL_GetDrawableSize => :void,
    :SDL_GL_SetSwapInterval => :int,
    :SDL_GL_GetSwapInterval => :int,
    :SDL_GL_SwapWindow => :void,
    :SDL_GL_DeleteContext => :void,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end
setup_vulkan_symbols() click to toggle source

Function

# File lib/sdl2_vulkan.rb, line 29
def self.setup_vulkan_symbols()
  symbols = [
    :SDL_Vulkan_LoadLibrary,
    :SDL_Vulkan_GetVkGetInstanceProcAddr,
    :SDL_Vulkan_UnloadLibrary,
    :SDL_Vulkan_GetInstanceExtensions,
    :SDL_Vulkan_CreateSurface,
    :SDL_Vulkan_GetDrawableSize,
  ]
  args = {
    :SDL_Vulkan_LoadLibrary => [:pointer],
    :SDL_Vulkan_GetVkGetInstanceProcAddr => [],
    :SDL_Vulkan_UnloadLibrary => [],
    :SDL_Vulkan_GetInstanceExtensions => [:pointer, :pointer, :pointer],
    :SDL_Vulkan_CreateSurface => [:pointer, :pointer, :pointer],
    :SDL_Vulkan_GetDrawableSize => [:pointer, :pointer, :pointer],
  }
  retvals = {
    :SDL_Vulkan_LoadLibrary => :int,
    :SDL_Vulkan_GetVkGetInstanceProcAddr => :pointer,
    :SDL_Vulkan_UnloadLibrary => :void,
    :SDL_Vulkan_GetInstanceExtensions => :int,
    :SDL_Vulkan_CreateSurface => :int,
    :SDL_Vulkan_GetDrawableSize => :void,
  }
  symbols.each do |sym|
    begin
      attach_function sym, args[sym], retvals[sym]
    rescue FFI::NotFoundError => error
      $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
    end
  end
end

Public Instance Methods

SDL_PointInRect(p, r) click to toggle source

Typedef

# File lib/sdl2_rect.rb, line 20
def SDL_PointInRect(p, r)
  return ( (p.x >= r.x) && (p.x < (r.x + r.w)) && (p.y >= r.y) && (p.y < (r.y + r.h)) ) ? 1 : 0;
end
SDL_RectEmpty(r) click to toggle source
# File lib/sdl2_rect.rb, line 24
def SDL_RectEmpty(r)
  return (!r.null? || (r.w <= 0) || (r.h <= 0)) ? 1 : 0
end
SDL_RectEquals(a, b) click to toggle source
# File lib/sdl2_rect.rb, line 28
def SDL_RectEquals(a, b)
  return (!a.null? && !b.null? && (a.x == b.x) && (a.y == b.y) && (a.w == b.w) && (a.h == b.h)) ? 1 : 0
end