SDL3pp
A slim C++ wrapper for SDL3
Loading...
Searching...
No Matches
Classes | Concepts | Typedefs | Functions | Variables
SDL Namespace Reference

Main include header for the SDL3pp library. More...

Classes

class  Animation
 Animated image support. More...
 
struct  AnimationParam
 Safely wrap Animation for non owning parameters. More...
 
struct  AnimationRef
 Semi-safe reference for Animation. More...
 
class  AsyncIO
 The asynchronous I/O operation structure. More...
 
struct  AsyncIOParam
 Safely wrap AsyncIO for non owning parameters. More...
 
class  AsyncIOQueue
 A queue of completed asynchronous I/O tasks. More...
 
struct  AsyncIOQueueParam
 Safely wrap AsyncIOQueue for non owning parameters. More...
 
struct  AsyncIOQueueRef
 Semi-safe reference for AsyncIOQueue. More...
 
struct  AsyncIORef
 Semi-safe reference for AsyncIO. More...
 
struct  AtomicInt
 A type representing an atomic integer value. More...
 
class  AtomicPointer
 
struct  AtomicU32
 A type representing an atomic unsigned 32-bit value. More...
 
class  AudioDevice
 SDL Audio Device instance IDs. More...
 
struct  AudioDeviceParam
 Safely wrap AudioDevice for non owning parameters. More...
 
struct  AudioDeviceRef
 Semi-safe reference for AudioDevice. More...
 
class  AudioFormat
 Audio format. More...
 
class  AudioStream
 The opaque handle that represents an audio stream. More...
 
struct  AudioStreamParam
 Safely wrap AudioStream for non owning parameters. More...
 
struct  AudioStreamRef
 Semi-safe reference for AudioStream. More...
 
class  CallbackHandle
 A typesafe handle for callback. More...
 
struct  CallbackWrapper
 
struct  CallbackWrapper< std::function< Result(Args...)> >
 Wrapper result callbacks. More...
 
struct  CallbackWrapperBase
 Base class for callback wrappers. More...
 
class  Camera
 The opaque structure used to identify an opened SDL camera. More...
 
struct  CameraParam
 Safely wrap Camera for non owning parameters. More...
 
struct  CameraRef
 Semi-safe reference for Camera. More...
 
struct  Color
 A structure that represents a color as RGBA components. More...
 
class  Colorspace
 Colorspace definitions. More...
 
class  Condition
 A means to block multiple threads until a condition is satisfied. More...
 
struct  ConditionParam
 Safely wrap Condition for non owning parameters. More...
 
struct  ConditionRef
 Semi-safe reference for Condition. More...
 
class  Cursor
 The structure used to identify an SDL cursor. More...
 
struct  CursorParam
 Safely wrap Cursor for non owning parameters. More...
 
struct  CursorRef
 Semi-safe reference for Cursor. More...
 
struct  DateTime
 A structure holding a calendar date and time broken down into its components. More...
 
class  Display
 This is a unique ID for a display for the time it is connected to the system, and is never reused for the lifetime of the application. More...
 
class  Environment
 A thread-safe set of environment variables. More...
 
struct  EnvironmentParam
 Safely wrap Environment for non owning parameters. More...
 
struct  EnvironmentRef
 Semi-safe reference for Environment. More...
 
class  Error
 An exception that returns GetError() More...
 
struct  EventWatchHandle
 Handle returned by AddEventWatch(EventFilterCB) More...
 
struct  FColor
 The bits of this structure can be directly reinterpreted as a float-packed color which uses the PIXELFORMAT_RGBA128_FLOAT format. More...
 
struct  Finger
 Data about a single finger in a multitouch event. More...
 
class  Font
 The internal structure containing font information. More...
 
struct  FontParam
 Safely wrap Font for non owning parameters. More...
 
struct  FontRef
 Semi-safe reference for Font. More...
 
struct  FPoint
 The structure that defines a point (using floating point values). More...
 
struct  FRect
 A rectangle, with the origin at the upper left (using floating point values). More...
 
class  Gamepad
 The structure used to identify an SDL gamepad. More...
 
struct  GamepadParam
 Safely wrap Gamepad for non owning parameters. More...
 
struct  GamepadRef
 Semi-safe reference for Gamepad. More...
 
class  GLContext
 An opaque handle to an OpenGL context. More...
 
struct  GLContextParam
 Safely wrap GLContext for non owning parameters. More...
 
struct  GLContextScoped
 RAII owning version GLContext. More...
 
class  GPUBuffer
 An opaque handle representing a buffer. More...
 
class  GPUCommandBuffer
 An opaque handle representing a command buffer. More...
 
class  GPUComputePass
 An opaque handle representing a compute pass. More...
 
class  GPUComputePipeline
 An opaque handle representing a compute pipeline. More...
 
class  GPUCopyPass
 An opaque handle representing a copy pass. More...
 
class  GPUDevice
 An opaque handle representing the SDL_GPU context. More...
 
struct  GPUDeviceParam
 Safely wrap GPUDevice for non owning parameters. More...
 
struct  GPUDeviceRef
 Semi-safe reference for GPUDevice. More...
 
class  GPUGraphicsPipeline
 An opaque handle representing a graphics pipeline. More...
 
class  GPURenderPass
 An opaque handle representing a render pass. More...
 
class  GPUSampler
 An opaque handle representing a sampler. More...
 
class  GPUShader
 An opaque handle representing a compiled shader object. More...
 
struct  GPUTextEngine
 A GPU based text engine. More...
 
class  GPUTexture
 An opaque handle representing a texture. More...
 
class  GPUTransferBuffer
 An opaque handle representing a transfer buffer. More...
 
struct  GUID
 An GUID is a 128-bit identifier for an input device that identifies that device across runs of SDL programs on the same platform. More...
 
class  Haptic
 The haptic structure used to identify an SDL haptic. More...
 
struct  HapticParam
 Safely wrap Haptic for non owning parameters. More...
 
struct  HapticRef
 Semi-safe reference for Haptic. More...
 
class  HidDevice
 An opaque handle representing an open HID device. More...
 
struct  HidDeviceParam
 Safely wrap HidDevice for non owning parameters. More...
 
struct  HidDeviceRef
 Semi-safe reference for HidDevice. More...
 
struct  HintCallbackHandle
 Handle returned by AddHintCallback() More...
 
class  IConv
 An opaque handle representing string encoding conversion state. More...
 
struct  IConvParam
 Safely wrap IConv for non owning parameters. More...
 
struct  IConvRef
 Semi-safe reference for IConv. More...
 
struct  InitState
 A structure used for thread-safe initialization and shutdown. More...
 
class  IOStream
 The read/write operation structure. More...
 
struct  IOStreamParam
 Safely wrap IOStream for non owning parameters. More...
 
struct  IOStreamRef
 Semi-safe reference for IOStream. More...
 
class  Joystick
 The joystick structure used to identify an SDL joystick. More...
 
class  JoystickID
 This is a unique ID for a joystick for the time it is connected to the system, and is never reused for the lifetime of the application. More...
 
struct  JoystickParam
 Safely wrap Joystick for non owning parameters. More...
 
struct  JoystickRef
 Semi-safe reference for Joystick. More...
 
class  Keycode
 The SDL virtual key representation. More...
 
struct  KeyValueCallbackWrapper
 Store callbacks by key. More...
 
struct  KeyValueCallbackWrapper< KEY, std::function< Result(Args...)>, VARIANT >
 Store callbacks by key. More...
 
struct  KeyValueWrapper
 Wrapper key to value result callbacks. More...
 
class  LogCategory
 The predefined log categories. More...
 
struct  MessageBox
 MessageBox structure containing title, text, window, etc. More...
 
class  MetalView
 A handle to a CAMetalLayer-backed NSView (macOS) or UIView (iOS/tvOS). More...
 
struct  MetalViewParam
 Safely wrap MetalView for non owning parameters. More...
 
struct  MetalViewRef
 Semi-safe reference for MetalView. More...
 
class  Mutex
 A means to serialize access to a resource between threads. More...
 
struct  MutexParam
 Safely wrap Mutex for non owning parameters. More...
 
struct  MutexRef
 Semi-safe reference for Mutex. More...
 
class  OptionalRef
 Optional-like shim for references. More...
 
class  OwnArray
 Base class for SDL memory allocated array wrap. More...
 
class  Palette
 A set of indexed colors representing a palette. More...
 
struct  PaletteConstParam
 Safely wrap Palette for non owning const parameters. More...
 
struct  PaletteParam
 Safely wrap Palette for non owning parameters. More...
 
struct  Path
 Convenience representation of a path under SDL. More...
 
struct  PathInfo
 Information about a path on the filesystem. More...
 
class  PixelFormat
 Pixel format. More...
 
struct  Point
 The structure that defines a point (using integers). More...
 
class  Process
 An opaque handle representing a system process. More...
 
struct  ProcessParam
 Safely wrap Process for non owning parameters. More...
 
struct  ProcessRef
 Semi-safe reference for Process. More...
 
class  Properties
 SDL properties ID. More...
 
struct  PropertiesParam
 Safely wrap Properties for non owning parameters. More...
 
struct  PropertiesRef
 Semi-safe reference for Properties. More...
 
struct  PtrDeleter
 Calls SDL_free() More...
 
class  Random
 A independent pseudo random state. More...
 
struct  Rect
 A rectangle, with the origin at the upper left (using integers). More...
 
class  Renderer
 A structure representing rendering state. More...
 
struct  RendererParam
 Safely wrap Renderer for non owning parameters. More...
 
struct  RendererRef
 Semi-safe reference for Renderer. More...
 
struct  RendererTextEngine
 A renderer based text engine. More...
 
class  RWLock
 A mutex that allows read-only threads to run in parallel. More...
 
struct  RWLockParam
 Safely wrap RWLock for non owning parameters. More...
 
struct  RWLockRef
 Semi-safe reference for RWLock. More...
 
class  Scancode
 The SDL keyboard scancode representation. More...
 
class  Semaphore
 A means to manage access to a resource, by count, between threads. More...
 
struct  SemaphoreParam
 Safely wrap Semaphore for non owning parameters. More...
 
struct  SemaphoreRef
 Semi-safe reference for Semaphore. More...
 
class  Sensor
 The opaque structure used to identify an opened SDL sensor. More...
 
struct  SensorParam
 Safely wrap Sensor for non owning parameters. More...
 
struct  SensorRef
 Semi-safe reference for Sensor. More...
 
class  SharedObject
 An opaque datatype that represents a loaded shared object. More...
 
struct  SharedObjectParam
 Safely wrap SharedObject for non owning parameters. More...
 
struct  SharedObjectRef
 Semi-safe reference for SharedObject. More...
 
class  SourceBytes
 Source byte stream. More...
 
class  SpanRef
 span-like for empty-derived structs More...
 
class  Storage
 An abstract interface for filesystem access. More...
 
struct  StorageParam
 Safely wrap Storage for non owning parameters. More...
 
struct  StorageRef
 Semi-safe reference for Storage. More...
 
class  StringParam
 Helpers to use C++ strings parameters. More...
 
struct  StringResult
 A simple std::string-like interface for SDL allocated strings. More...
 
class  SubStringIterator
 Iterator for substrings. More...
 
class  Surface
 A collection of pixels used in software blitting. More...
 
struct  SurfaceConstParam
 Safely wrap Surface for non owning const parameters. More...
 
struct  SurfaceParam
 Safely wrap Surface for non owning parameters. More...
 
struct  SurfaceTextEngine
 A surface based text engine. More...
 
class  TargetBytes
 Target byte stream. More...
 
class  Text
 Text created with Text.Text() More...
 
class  TextEngine
 A resource engine. More...
 
struct  TextEngineParam
 Safely wrap TextEngine for non owning parameters. More...
 
struct  TextParam
 Safely wrap Text for non owning parameters. More...
 
struct  TextRef
 Semi-safe reference for Text. More...
 
class  Texture
 An efficient driver-specific representation of pixel data. More...
 
struct  TextureParam
 Safely wrap Texture for non owning parameters. More...
 
class  Thread
 The SDL thread object. More...
 
struct  ThreadParam
 Safely wrap Thread for non owning parameters. More...
 
struct  ThreadRef
 Semi-safe reference for Thread. More...
 
class  Time
 SDL times are signed, 64-bit integers representing nanoseconds since the Unix epoch (Jan 1, 1970). More...
 
class  Tray
 An opaque handle representing a toplevel system tray object. More...
 
class  TrayEntry
 An opaque handle representing an entry on a system tray object. More...
 
struct  TrayEntryParam
 Safely wrap TrayEntry for non owning parameters. More...
 
struct  TrayEntryScoped
 RAII owning version TrayEntry. More...
 
class  TrayMenu
 An opaque handle representing a menu/submenu on a system tray object. More...
 
struct  TrayParam
 Safely wrap Tray for non owning parameters. More...
 
struct  TrayRef
 Semi-safe reference for Tray. More...
 
struct  UniqueCallbackWrapper
 Stored Wrapper unique by type result callbacks. More...
 
struct  UniqueCallbackWrapper< std::function< Result(Args...)> >
 Stored Wrapper unique by type result callbacks. More...
 
class  Window
 The struct used as an opaque handle to a window. More...
 
struct  WindowParam
 Safely wrap Window for non owning parameters. More...
 
struct  WindowRef
 Semi-safe reference for Window. More...
 

Typedefs

using AssertState = SDL_AssertState
 Possible outcomes from a triggered assertion. More...
 
using AssertData = SDL_AssertData
 Information about an assertion failure. More...
 
using AssertionHandler = SDL_AssertionHandler
 A callback that fires when an SDL assertion fails. More...
 
using AssertionHandlerCB = std::function< SDL_AssertState(const SDL_AssertData *)>
 A callback that fires when an SDL assertion fails. More...
 
using AsyncIORaw = SDL_AsyncIO *
 Alias to raw representation for AsyncIO.
 
using AsyncIOQueueRaw = SDL_AsyncIOQueue *
 Alias to raw representation for AsyncIOQueue.
 
using AsyncIOTaskType = SDL_AsyncIOTaskType
 Types of asynchronous I/O tasks. More...
 
using AsyncIOResult = SDL_AsyncIOResult
 Possible outcomes of an asynchronous I/O task. More...
 
using AsyncIOOutcome = SDL_AsyncIOOutcome
 Information about a completed asynchronous I/O request. More...
 
using AtomicIntRaw = SDL_AtomicInt
 Alias to raw representation for AtomicInt.
 
using AtomicU32Raw = SDL_AtomicU32
 Alias to raw representation for AtomicU32.
 
using AudioFormatRaw = SDL_AudioFormat
 Alias to raw representation for AudioFormat.
 
using AudioDeviceID = SDL_AudioDeviceID
 Alias to raw representation for AudioDevice.
 
using AudioStreamRaw = SDL_AudioStream *
 Alias to raw representation for AudioStream.
 
using AudioSpec = SDL_AudioSpec
 Format specifier for audio data. More...
 
using AudioPostmixCallback = SDL_AudioPostmixCallback
 A callback that fires when data is about to be fed to an audio device. More...
 
using AudioPostmixCB = std::function< void(const AudioSpec &spec, std::span< float > buffer)>
 A callback that fires when data is about to be fed to an audio device. More...
 
using AudioStreamCallback = SDL_AudioStreamCallback
 A callback that fires when data passes through an AudioStream. More...
 
using AudioStreamCB = std::function< void(AudioStreamRef stream, int additional_amount, int total_amount)>
 A callback that fires when data passes through an AudioStream. More...
 
using BlendOperation = SDL_BlendOperation
 The blend operation used when combining source and destination pixel components. More...
 
using BlendFactor = SDL_BlendFactor
 The normalized factor used to multiply pixel components. More...
 
using CameraRaw = SDL_Camera *
 Alias to raw representation for Camera.
 
using CameraID = SDL_CameraID
 This is a unique ID for a camera device for the time it is connected to the system, and is never reused for the lifetime of the application. More...
 
using CameraSpec = SDL_CameraSpec
 The details of an output format for a camera device. More...
 
using CameraPosition = SDL_CameraPosition
 The position of camera in relation to system device. More...
 
using ClipboardDataCallback = SDL_ClipboardDataCallback
 Callback function that will be called when data for the specified mime-type is requested by the OS. More...
 
using ClipboardDataCB = std::function< SourceBytes(const char *mime_type)>
 Callback function that will be called when data for the specified mime-type is requested by the OS. More...
 
using ClipboardCleanupCallback = SDL_ClipboardCleanupCallback
 Callback function that will be called when the clipboard is cleared, or when new data is set. More...
 
using ClipboardCleanupCB = std::function< void()>
 Callback function that will be called when the clipboard is cleared, or when new data is set. More...
 
using DialogFileFilter = SDL_DialogFileFilter
 An entry for filters for file dialogs. More...
 
using DialogFileCallback = SDL_DialogFileCallback
 Callback used by file dialog functions. More...
 
using DialogFileCB = std::function< void(const char *const *, int)>
 Callback used by file dialog functions. More...
 
using FileDialogType = SDL_FileDialogType
 Various types of file dialogs. More...
 
using EventType = SDL_EventType
 The types of events that can be delivered. More...
 
using CommonEvent = SDL_CommonEvent
 Fields shared by every event. More...
 
using DisplayEvent = SDL_DisplayEvent
 Display state change event data (event.display. More...
 
using WindowEvent = SDL_WindowEvent
 Window state change event data (event.window. More...
 
using KeyboardDeviceEvent = SDL_KeyboardDeviceEvent
 Keyboard device event structure (event.kdevice. More...
 
using KeyboardEvent = SDL_KeyboardEvent
 Keyboard button event structure (event.key. More...
 
using TextEditingEvent = SDL_TextEditingEvent
 Keyboard text editing event structure (event.edit. More...
 
using TextEditingCandidatesEvent = SDL_TextEditingCandidatesEvent
 Keyboard IME candidates event structure (event.edit_candidates. More...
 
using TextInputEvent = SDL_TextInputEvent
 Keyboard text input event structure (event.text. More...
 
using MouseDeviceEvent = SDL_MouseDeviceEvent
 Mouse device event structure (event.mdevice. More...
 
using MouseMotionEvent = SDL_MouseMotionEvent
 Mouse motion event structure (event.motion. More...
 
using MouseButtonEvent = SDL_MouseButtonEvent
 Mouse button event structure (event.button. More...
 
using MouseWheelEvent = SDL_MouseWheelEvent
 Mouse wheel event structure (event.wheel. More...
 
using JoyAxisEvent = SDL_JoyAxisEvent
 Joystick axis motion event structure (event.jaxis. More...
 
using JoyBallEvent = SDL_JoyBallEvent
 Joystick trackball motion event structure (event.jball. More...
 
using JoyHatEvent = SDL_JoyHatEvent
 Joystick hat position change event structure (event.jhat. More...
 
using JoyButtonEvent = SDL_JoyButtonEvent
 Joystick button event structure (event.jbutton. More...
 
using JoyDeviceEvent = SDL_JoyDeviceEvent
 Joystick device event structure (event.jdevice. More...
 
using JoyBatteryEvent = SDL_JoyBatteryEvent
 Joystick battery level change event structure (event.jbattery. More...
 
using GamepadAxisEvent = SDL_GamepadAxisEvent
 Gamepad axis motion event structure (event.gaxis. More...
 
using GamepadButtonEvent = SDL_GamepadButtonEvent
 Gamepad button event structure (event.gbutton. More...
 
using GamepadDeviceEvent = SDL_GamepadDeviceEvent
 Gamepad device event structure (event.gdevice. More...
 
using GamepadTouchpadEvent = SDL_GamepadTouchpadEvent
 Gamepad touchpad event structure (event.gtouchpad. More...
 
using GamepadSensorEvent = SDL_GamepadSensorEvent
 Gamepad sensor event structure (event.gsensor. More...
 
using AudioDeviceEvent = SDL_AudioDeviceEvent
 Audio device event structure (event.adevice. More...
 
using CameraDeviceEvent = SDL_CameraDeviceEvent
 Camera device event structure (event.cdevice. More...
 
using RenderEvent = SDL_RenderEvent
 Renderer event structure (event.render. More...
 
using TouchFingerEvent = SDL_TouchFingerEvent
 Touch finger event structure (event.tfinger. More...
 
using PenProximityEvent = SDL_PenProximityEvent
 Pressure-sensitive pen proximity event structure (event.pmotion. More...
 
using PenMotionEvent = SDL_PenMotionEvent
 Pressure-sensitive pen motion event structure (event.pmotion. More...
 
using PenTouchEvent = SDL_PenTouchEvent
 Pressure-sensitive pen touched event structure (event.ptouch. More...
 
using PenButtonEvent = SDL_PenButtonEvent
 Pressure-sensitive pen button event structure (event.pbutton. More...
 
using PenAxisEvent = SDL_PenAxisEvent
 Pressure-sensitive pen pressure / angle event structure (event.paxis. More...
 
using DropEvent = SDL_DropEvent
 An event used to drop text or request a file open by the system (event.drop. More...
 
using ClipboardEvent = SDL_ClipboardEvent
 An event triggered when the clipboard contents have changed (event.clipboard. More...
 
using SensorEvent = SDL_SensorEvent
 Sensor event structure (event.sensor. More...
 
using QuitEvent = SDL_QuitEvent
 The "quit requested" event. More...
 
using UserEvent = SDL_UserEvent
 A user-defined event type (event.user. More...
 
using Event = SDL_Event
 The structure for all events in SDL. More...
 
using EventFilter = SDL_EventFilter
 A function pointer used for callbacks that watch the event queue. More...
 
using EventFilterCB = std::function< bool(const Event &)>
 A std::function used for callbacks that watch the event queue. More...
 
using PathInfoRaw = SDL_PathInfo
 Alias to raw representation for PathInfo.
 
using Folder = SDL_Folder
 The type of the OS-provided default folder for a specific purpose. More...
 
using PathType = SDL_PathType
 Types of filesystem entries. More...
 
using GlobFlags = Uint32
 Flags for path matching. More...
 
using EnumerationResult = SDL_EnumerationResult
 Possible results from an enumeration callback. More...
 
using EnumerateDirectoryCallback = SDL_EnumerateDirectoryCallback
 Callback for directory enumeration. More...
 
using EnumerateDirectoryCB = std::function< EnumerationResult(const char *dirname, const char *fname)>
 Callback for directory enumeration. More...
 
using GamepadRaw = SDL_Gamepad *
 Alias to raw representation for Gamepad.
 
using GamepadType = SDL_GamepadType
 Standard gamepad types. More...
 
using GamepadButton = SDL_GamepadButton
 The list of buttons available on a gamepad. More...
 
using GamepadButtonLabel = SDL_GamepadButtonLabel
 The set of gamepad button labels. More...
 
using GamepadAxis = SDL_GamepadAxis
 The list of axes available on a gamepad. More...
 
using GamepadBindingType = SDL_GamepadBindingType
 Types of gamepad control bindings. More...
 
using GamepadBinding = SDL_GamepadBinding
 A mapping between one joystick input to a gamepad control. More...
 
using GPUDeviceRaw = SDL_GPUDevice *
 Alias to raw representation for GPUDevice.
 
using GPUBufferRaw = SDL_GPUBuffer *
 Alias to raw representation for GPUBuffer.
 
using GPUTransferBufferRaw = SDL_GPUTransferBuffer *
 Alias to raw representation for GPUTransferBuffer.
 
using GPUTextureRaw = SDL_GPUTexture *
 Alias to raw representation for GPUTexture.
 
using GPUSamplerRaw = SDL_GPUSampler *
 Alias to raw representation for GPUSampler.
 
using GPUShaderRaw = SDL_GPUShader *
 Alias to raw representation for GPUShader.
 
using GPUComputePipelineRaw = SDL_GPUComputePipeline *
 Alias to raw representation for GPUComputePipeline.
 
using GPUGraphicsPipelineRaw = SDL_GPUGraphicsPipeline *
 Alias to raw representation for GPUGraphicsPipeline.
 
using GPUCommandBufferRaw = SDL_GPUCommandBuffer *
 Alias to raw representation for GPUCommandBuffer.
 
using GPURenderPassRaw = SDL_GPURenderPass *
 Alias to raw representation for GPURenderPass.
 
using GPUComputePassRaw = SDL_GPUComputePass *
 Alias to raw representation for GPUComputePass.
 
using GPUCopyPassRaw = SDL_GPUCopyPass *
 Alias to raw representation for GPUCopyPass.
 
using GPUBufferCreateInfo = SDL_GPUBufferCreateInfo
 A structure specifying the parameters of a buffer. More...
 
using GPUTransferBufferCreateInfo = SDL_GPUTransferBufferCreateInfo
 A structure specifying the parameters of a transfer buffer. More...
 
using GPUTextureCreateInfo = SDL_GPUTextureCreateInfo
 A structure specifying the parameters of a texture. More...
 
using GPUSamplerCreateInfo = SDL_GPUSamplerCreateInfo
 A structure specifying the parameters of a sampler. More...
 
using GPUShaderCreateInfo = SDL_GPUShaderCreateInfo
 A structure specifying code and metadata for creating a shader object. More...
 
using GPUComputePipelineCreateInfo = SDL_GPUComputePipelineCreateInfo
 A structure specifying the parameters of a compute pipeline state. More...
 
using GPUGraphicsPipelineCreateInfo = SDL_GPUGraphicsPipelineCreateInfo
 A structure specifying the parameters of a graphics pipeline state. More...
 
using GPUViewport = SDL_GPUViewport
 A structure specifying a viewport. More...
 
using GPUBufferBinding = SDL_GPUBufferBinding
 A structure specifying parameters in a buffer binding call. More...
 
using GPUIndexElementSize = SDL_GPUIndexElementSize
 Specifies the size of elements in an index buffer. More...
 
using GPUTextureSamplerBinding = SDL_GPUTextureSamplerBinding
 A structure specifying parameters in a sampler binding call. More...
 
using GPUBufferRegion = SDL_GPUBufferRegion
 A structure specifying a region of a buffer. More...
 
using GPUTextureLocation = SDL_GPUTextureLocation
 A structure specifying a location in a texture. More...
 
using GPUBufferLocation = SDL_GPUBufferLocation
 A structure specifying a location in a buffer. More...
 
using GPUTextureRegion = SDL_GPUTextureRegion
 A structure specifying a region of a texture. More...
 
using GPUTextureTransferInfo = SDL_GPUTextureTransferInfo
 A structure specifying parameters related to transferring data to or from a texture. More...
 
using GPUTransferBufferLocation = SDL_GPUTransferBufferLocation
 A structure specifying a location in a transfer buffer. More...
 
using GPUColorTargetInfo = SDL_GPUColorTargetInfo
 A structure specifying the parameters of a color target used by a render pass. More...
 
using GPUDepthStencilTargetInfo = SDL_GPUDepthStencilTargetInfo
 A structure specifying the parameters of a depth-stencil target used by a render pass. More...
 
using GPUStorageTextureReadWriteBinding = SDL_GPUStorageTextureReadWriteBinding
 A structure specifying parameters related to binding textures in a compute pass. More...
 
using GPUStorageBufferReadWriteBinding = SDL_GPUStorageBufferReadWriteBinding
 A structure specifying parameters related to binding buffers in a compute pass. More...
 
using GPUBlitInfo = SDL_GPUBlitInfo
 A structure containing parameters for a blit command. More...
 
using GPUFence = SDL_GPUFence
 An opaque handle representing a fence. More...
 
using GPUShaderFormat = Uint32
 Specifies the format of shader code. More...
 
using GPUSwapchainComposition = SDL_GPUSwapchainComposition
 Specifies the texture format and colorspace of the swapchain textures. More...
 
using GPUPresentMode = SDL_GPUPresentMode
 Specifies the timing that will be used to present swapchain textures to the OS. More...
 
using GPUTextureFormat = SDL_GPUTextureFormat
 Specifies the pixel format of a texture. More...
 
using GPUTextureType = SDL_GPUTextureType
 Specifies the type of a texture. More...
 
using GPUTextureUsageFlags = Uint32
 Specifies how a texture is intended to be used by the client. More...
 
using GPUSampleCount = SDL_GPUSampleCount
 Specifies the sample count of a texture. More...
 
using GPUPrimitiveType = SDL_GPUPrimitiveType
 Specifies the primitive topology of a graphics pipeline. More...
 
using GPULoadOp = SDL_GPULoadOp
 Specifies how the contents of a texture attached to a render pass are treated at the beginning of the render pass. More...
 
using GPUStoreOp = SDL_GPUStoreOp
 Specifies how the contents of a texture attached to a render pass are treated at the end of the render pass. More...
 
using GPUCubeMapFace = SDL_GPUCubeMapFace
 Specifies the face of a cube map. More...
 
using GPUBufferUsageFlags = Uint32
 Specifies how a buffer is intended to be used by the client. More...
 
using GPUTransferBufferUsage = SDL_GPUTransferBufferUsage
 Specifies how a transfer buffer is intended to be used by the client. More...
 
using GPUShaderStage = SDL_GPUShaderStage
 Specifies which stage a shader program corresponds to. More...
 
using GPUVertexElementFormat = SDL_GPUVertexElementFormat
 Specifies the format of a vertex attribute. More...
 
using GPUVertexInputRate = SDL_GPUVertexInputRate
 Specifies the rate at which vertex attributes are pulled from buffers. More...
 
using GPUFillMode = SDL_GPUFillMode
 Specifies the fill mode of the graphics pipeline. More...
 
using GPUCullMode = SDL_GPUCullMode
 Specifies the facing direction in which triangle faces will be culled. More...
 
using GPUFrontFace = SDL_GPUFrontFace
 Specifies the vertex winding that will cause a triangle to be determined to be front-facing. More...
 
using GPUCompareOp = SDL_GPUCompareOp
 Specifies a comparison operator for depth, stencil and sampler operations. More...
 
using GPUStencilOp = SDL_GPUStencilOp
 Specifies what happens to a stored stencil value if stencil tests fail or pass. More...
 
using GPUBlendOp = SDL_GPUBlendOp
 Specifies the operator to be used when pixels in a render target are blended with existing pixels in the texture. More...
 
using GPUBlendFactor = SDL_GPUBlendFactor
 Specifies a blending factor to be used when pixels in a render target are blended with existing pixels in the texture. More...
 
using GPUColorComponentFlags = Uint8
 Specifies which color components are written in a graphics pipeline. More...
 
using GPUFilter = SDL_GPUFilter
 Specifies a filter operation used by a sampler. More...
 
using GPUSamplerMipmapMode = SDL_GPUSamplerMipmapMode
 Specifies a mipmap mode used by a sampler. More...
 
using GPUSamplerAddressMode = SDL_GPUSamplerAddressMode
 Specifies behavior of texture sampling when the coordinates exceed the 0-1 range. More...
 
using GPUBlitRegion = SDL_GPUBlitRegion
 A structure specifying a region of a texture used in the blit operation. More...
 
using GPUIndirectDrawCommand = SDL_GPUIndirectDrawCommand
 A structure specifying the parameters of an indirect draw command. More...
 
using GPUIndexedIndirectDrawCommand = SDL_GPUIndexedIndirectDrawCommand
 A structure specifying the parameters of an indexed indirect draw command. More...
 
using GPUIndirectDispatchCommand = SDL_GPUIndirectDispatchCommand
 A structure specifying the parameters of an indexed dispatch command. More...
 
using GPUVertexBufferDescription = SDL_GPUVertexBufferDescription
 A structure specifying the parameters of vertex buffers used in a graphics pipeline. More...
 
using GPUVertexAttribute = SDL_GPUVertexAttribute
 A structure specifying a vertex attribute. More...
 
using GPUVertexInputState = SDL_GPUVertexInputState
 A structure specifying the parameters of a graphics pipeline vertex input state. More...
 
using GPUStencilOpState = SDL_GPUStencilOpState
 A structure specifying the stencil operation state of a graphics pipeline. More...
 
using GPUColorTargetBlendState = SDL_GPUColorTargetBlendState
 A structure specifying the blend state of a color target. More...
 
using GPURasterizerState = SDL_GPURasterizerState
 A structure specifying the parameters of the graphics pipeline rasterizer state. More...
 
using GPUMultisampleState = SDL_GPUMultisampleState
 A structure specifying the parameters of the graphics pipeline multisample state. More...
 
using GPUDepthStencilState = SDL_GPUDepthStencilState
 A structure specifying the parameters of the graphics pipeline depth stencil state. More...
 
using GPUColorTargetDescription = SDL_GPUColorTargetDescription
 A structure specifying the parameters of color targets used in a graphics pipeline. More...
 
using GPUGraphicsPipelineTargetInfo = SDL_GPUGraphicsPipelineTargetInfo
 A structure specifying the descriptions of render targets used in a graphics pipeline. More...
 
using GUIDRaw = SDL_GUID
 Alias to raw representation for GUID.
 
using HapticRaw = SDL_Haptic *
 Alias to raw representation for Haptic.
 
using HapticDirection = SDL_HapticDirection
 Structure that represents a haptic direction. More...
 
using HapticConstant = SDL_HapticConstant
 A structure containing a template for a Constant effect. More...
 
using HapticPeriodic = SDL_HapticPeriodic
 A structure containing a template for a Periodic effect. More...
 
using HapticCondition = SDL_HapticCondition
 A structure containing a template for a Condition effect. More...
 
using HapticRamp = SDL_HapticRamp
 A structure containing a template for a Ramp effect. More...
 
using HapticLeftRight = SDL_HapticLeftRight
 A structure containing a template for a Left/Right effect. More...
 
using HapticCustom = SDL_HapticCustom
 A structure containing a template for the HAPTIC_CUSTOM effect. More...
 
using HapticEffect = SDL_HapticEffect
 The generic template for any haptic effect. More...
 
using HapticID = SDL_HapticID
 This is a unique ID for a haptic device for the time it is connected to the system, and is never reused for the lifetime of the application. More...
 
using HidDeviceRaw = SDL_hid_device *
 Alias to raw representation for HidDevice.
 
using hid_bus_type = SDL_hid_bus_type
 HID underlying bus types. More...
 
using hid_device_info = SDL_hid_device_info
 Information about a connected HID device. More...
 
using HintPriority = SDL_HintPriority
 An enumeration of hint priorities. More...
 
using HintCallback = SDL_HintCallback
 A callback used to send notifications of hint value changes. More...
 
using HintCB = std::function< void(const char *, const char *, const char *)>
 A callback used to send notifications of hint value changes. More...
 
using AnimationRaw = IMG_Animation *
 Alias to raw representation for Animation.
 
using InitFlags = Uint32
 Initialization flags for Init and/or InitSubSystem. More...
 
using AppArgs = std::span< char const *const >
 Represents application parameters.
 
using IOStreamRaw = SDL_IOStream *
 Alias to raw representation for IOStream.
 
using IOStatus = SDL_IOStatus
 IOStream status, set by a read or write operation. More...
 
using IOWhence = SDL_IOWhence
 Possible whence values for IOStream seeking. More...
 
using IOStreamInterface = SDL_IOStreamInterface
 The function pointers that drive an IOStream. More...
 
using JoystickRaw = SDL_Joystick *
 Alias to raw representation for Joystick.
 
using JoystickIDRaw = SDL_JoystickID
 Alias to raw representation for JoystickID.
 
using JoystickType = SDL_JoystickType
 An enum of some common joystick types. More...
 
using JoystickConnectionState = SDL_JoystickConnectionState
 Possible connection states for a joystick device. More...
 
using HatState = Uint8
 Represents tbe HatState for a Joystick.
 
using VirtualJoystickTouchpadDesc = SDL_VirtualJoystickTouchpadDesc
 The structure that describes a virtual joystick touchpad. More...
 
using VirtualJoystickSensorDesc = SDL_VirtualJoystickSensorDesc
 The structure that describes a virtual joystick sensor. More...
 
using VirtualJoystickDesc = SDL_VirtualJoystickDesc
 The structure that describes a virtual joystick. More...
 
using KeyboardID = SDL_KeyboardID
 This is a unique ID for a keyboard for the time it is connected to the system, and is never reused for the lifetime of the application. More...
 
using TextInputType = SDL_TextInputType
 Text input type. More...
 
using Capitalization = SDL_Capitalization
 Auto capitalization type. More...
 
using KeycodeRaw = SDL_Keycode
 Alias to raw representation for Keycode.
 
using Keymod = Uint16
 Valid key modifiers (possibly OR'd together). More...
 
using SharedObjectRaw = SDL_SharedObject *
 Alias to raw representation for SharedObject.
 
using Locale = SDL_Locale
 A struct to provide locale data. More...
 
using LogCategoryRaw = SDL_LogCategory
 Alias to raw representation for LogCategory.
 
using main_func = SDL_main_func
 The prototype for the application's main() function. More...
 
using MessageBoxRaw = SDL_MessageBoxData
 Alias to raw representation for MessageBox.
 
using MessageBoxButtonData = SDL_MessageBoxButtonData
 Individual button data. More...
 
using MessageBoxColor = SDL_MessageBoxColor
 RGB value used in a message box color scheme. More...
 
using MessageBoxColorScheme = SDL_MessageBoxColorScheme
 A set of colors to use for message box dialogs. More...
 
using MetalViewRaw = SDL_MetalView
 Alias to raw representation for MetalView.
 
using CursorRaw = SDL_Cursor *
 Alias to raw representation for Cursor.
 
using SystemCursor = SDL_SystemCursor
 Cursor types for Cursor.Cursor(). More...
 
using MouseID = SDL_MouseID
 This is a unique ID for a mouse for the time it is connected to the system, and is never reused for the lifetime of the application. More...
 
using MouseWheelDirection = SDL_MouseWheelDirection
 Scroll direction types for the Scroll event. More...
 
using MouseButton = Uint8
 Represents a button index.
 
using MouseButtonFlags = Uint32
 A bitmask of pressed mouse buttons, as reported by GetMouseState, etc. More...
 
using MutexRaw = SDL_Mutex *
 Alias to raw representation for Mutex.
 
using RWLockRaw = SDL_RWLock *
 Alias to raw representation for RWLock.
 
using SemaphoreRaw = SDL_Semaphore *
 Alias to raw representation for Semaphore.
 
using ConditionRaw = SDL_Condition *
 Alias to raw representation for Condition.
 
using InitStateRaw = SDL_InitState
 Alias to raw representation for InitState.
 
using InitStatus = SDL_InitStatus
 The current status of an InitState structure. More...
 
template<class T >
using OwnPtr = std::unique_ptr< T, PtrDeleter >
 Handle to an owned SDL memory allocated pointer. More...
 
template<class T >
using RefArray = std::span< T >
 Handle to an owned SDL memory allocated array. More...
 
using PenID = SDL_PenID
 SDL pen instance IDs. More...
 
using PenInputFlags = Uint32
 Pen input flags, as reported by various pen events' pen_state field. More...
 
using PenAxis = SDL_PenAxis
 Pen axis indices. More...
 
using PixelFormatRaw = SDL_PixelFormat
 Alias to raw representation for PixelFormat.
 
using ColorspaceRaw = SDL_Colorspace
 Alias to raw representation for Colorspace.
 
using ColorRaw = SDL_Color
 Alias to raw representation for Color.
 
using FColorRaw = SDL_FColor
 Alias to raw representation for FColor.
 
using PaletteRaw = SDL_Palette *
 Alias to raw representation for Palette.
 
using PixelFormatDetails = SDL_PixelFormatDetails
 Details about the format of a pixel. More...
 
using ProcessRaw = SDL_Process *
 Alias to raw representation for Process.
 
using ProcessIO = SDL_ProcessIO
 Description of where standard I/O should be directed when creating a process. More...
 
using PropertiesID = SDL_PropertiesID
 Alias to raw representation for Properties.
 
using PropertyType = SDL_PropertyType
 SDL property type. More...
 
using EnumeratePropertiesCallback = SDL_EnumeratePropertiesCallback
 A callback used to enumerate all the properties in a group of properties. More...
 
using EnumeratePropertiesCB = std::function< void(PropertiesID props, const char *name)>
 A callback used to enumerate all the properties in a group of properties. More...
 
using CleanupPropertyCallback = SDL_CleanupPropertyCallback
 A callback used to free resources when a property is deleted. More...
 
using CleanupPropertyCB = std::function< void(void *)>
 A callback used to free resources when a property is deleted. More...
 
using PointRaw = SDL_Point
 Alias to raw representation for Point.
 
using FPointRaw = SDL_FPoint
 Alias to raw representation for FPoint.
 
using RectRaw = SDL_Rect
 Alias to raw representation for Rect.
 
using FRectRaw = SDL_FRect
 Alias to raw representation for FRect.
 
using RendererRaw = SDL_Renderer *
 Alias to raw representation for Renderer.
 
using TextureRaw = SDL_Texture *
 Alias to raw representation for Texture.
 
using Vertex = SDL_Vertex
 Vertex structure. More...
 
using TextureAccess = SDL_TextureAccess
 The access pattern allowed for a texture. More...
 
using RendererLogicalPresentation = SDL_RendererLogicalPresentation
 How the logical size is mapped to the output. More...
 
using ScancodeRaw = SDL_Scancode
 Alias to raw representation for Scancode.
 
using SensorRaw = SDL_Sensor *
 Alias to raw representation for Sensor.
 
using SensorID = Uint32
 This is a unique ID for a sensor for the time it is connected to the system, and is never reused for the lifetime of the application. More...
 
using SensorType = SDL_SensorType
 The different sensors defined by SDL. More...
 
using TimeRaw = SDL_Time
 Alias to raw representation for Time.
 
using EnvironmentRaw = SDL_Environment *
 Alias to raw representation for Environment.
 
using IConvRaw = SDL_iconv_t
 Alias to raw representation for IConv.
 
using Sint8 = Sint8
 A signed 8-bit integer type. More...
 
using Uint8 = Uint8
 An unsigned 8-bit integer type. More...
 
using Sint16 = Sint16
 A signed 16-bit integer type. More...
 
using Uint16 = Uint16
 An unsigned 16-bit integer type. More...
 
using Sint32 = Sint32
 A signed 32-bit integer type. More...
 
using Uint32 = Uint32
 An unsigned 32-bit integer type. More...
 
using Sint64 = Sint64
 A signed 64-bit integer type. More...
 
using Uint64 = Uint64
 An unsigned 64-bit integer type. More...
 
using Seconds = std::chrono::duration< float >
 Duration in seconds (float).
 
using Nanoseconds = std::chrono::nanoseconds
 Duration in Nanoseconds (Uint64).
 
using Milliseconds = std::chrono::milliseconds
 Duration in Miliseconds (Uint32).
 
using malloc_func = SDL_malloc_func
 A callback used to implement malloc(). More...
 
using calloc_func = SDL_calloc_func
 A callback used to implement calloc(). More...
 
using realloc_func = SDL_realloc_func
 A callback used to implement realloc(). More...
 
using free_func = SDL_free_func
 A callback used to implement free(). More...
 
using CompareCallback = SDL_CompareCallback
 A callback used with SDL sorting and binary search functions. More...
 
using CompareCallback_r = SDL_CompareCallback_r
 A callback used with SDL sorting and binary search functions. More...
 
using CompareCB = std::function< int(const void *, const void *)>
 A callback used with SDL sorting and binary search functions. More...
 
using FunctionPointer = SDL_FunctionPointer
 A generic function pointer. More...
 
using StorageRaw = SDL_Storage *
 Alias to raw representation for Storage.
 
using StorageInterface = SDL_StorageInterface
 Function interface for Storage. More...
 
using SurfaceRaw = SDL_Surface *
 Alias to raw representation for Surface.
 
using SurfaceFlags = Uint32
 The flags on an Surface. More...
 
using ScaleMode = SDL_ScaleMode
 The scaling mode. More...
 
using FlipMode = SDL_FlipMode
 The flip mode. More...
 
using WindowsMessageHook = SDL_WindowsMessageHook
 A callback to be used with SetWindowsMessageHook. More...
 
using WindowsMessageHookCB = std::function< bool(MSG *msg)>
 A callback to be used with SetWindowsMessageHook. More...
 
using X11EventHook = SDL_X11EventHook
 A callback to be used with SetX11EventHook. More...
 
using X11EventHookCB = std::function< bool(XEvent *)>
 A callback to be used with SetX11EventHook. More...
 
using iOSAnimationCallback = SDL_iOSAnimationCallback
 The prototype for an Apple iOS animation callback. More...
 
using iOSAnimationCB = std::function< void()>
 The prototype for an Apple iOS animation callback. More...
 
using RequestAndroidPermissionCallback = SDL_RequestAndroidPermissionCallback
 Callback that presents a response from a RequestAndroidPermission call. More...
 
using RequestAndroidPermissionCB = std::function< void(const char *permission, bool granted)>
 Callback that presents a response from a RequestAndroidPermission call. More...
 
using Sandbox = SDL_Sandbox
 Application sandbox environment. More...
 
using ThreadRaw = SDL_Thread *
 Alias to raw representation for Thread.
 
using ThreadPriority = SDL_ThreadPriority
 The SDL thread priority. More...
 
using ThreadState = SDL_ThreadState
 The SDL thread state. More...
 
using ThreadID = SDL_ThreadID
 A unique numeric ID that identifies a thread. More...
 
using ThreadFunction = SDL_ThreadFunction
 The function passed to Thread.Thread() as the new thread's entry point. More...
 
using ThreadCB = std::function< int()>
 The function passed to Thread.Thread() as the new thread's entry point. More...
 
using TLSDestructorCallback = SDL_TLSDestructorCallback
 The callback used to cleanup data passed to SetTLS. More...
 
using TLSID = AtomicInt
 Thread local storage ID. More...
 
using DateTimeRaw = SDL_DateTime
 Alias to raw representation for DateTime.
 
using DateFormat = SDL_DateFormat
 The preferred date format of the current system locale. More...
 
using TimeFormat = SDL_TimeFormat
 The preferred time format of the current system locale. More...
 
using TimerID = SDL_TimerID
 Definition of the timer ID type. More...
 
using TimerCallback = SDL_NSTimerCallback
 Function prototype for the nanosecond timer callback function. More...
 
using TimerCB = std::function< std::chrono::nanoseconds(TimerID, std::chrono::nanoseconds)>
 Function prototype for the nanosecond timer callback function. More...
 
using FingerRaw = SDL_Finger
 Alias to raw representation for Finger.
 
using TouchID = SDL_TouchID
 A unique ID for a touch device. More...
 
using FingerID = SDL_FingerID
 A unique ID for a single finger on a touch device. More...
 
using TouchDeviceType = SDL_TouchDeviceType
 An enum that describes the type of a touch device. More...
 
using TrayRaw = SDL_Tray *
 Alias to raw representation for Tray.
 
using TrayMenuRaw = SDL_TrayMenu *
 Alias to raw representation for TrayMenu.
 
using TrayEntryRaw = SDL_TrayEntry *
 Alias to raw representation for TrayEntry.
 
using TrayEntryFlags = Uint32
 Flags that control the creation of system tray entries. More...
 
using TrayCallback = SDL_TrayCallback
 A callback that is invoked when a tray entry is selected. More...
 
using TrayCB = std::function< void(TrayEntryRaw)>
 A callback that is invoked when a tray entry is selected. More...
 
using FontRaw = TTF_Font *
 Alias to raw representation for Font.
 
using TextEngineRaw = TTF_TextEngine *
 Alias to raw representation for TextEngine.
 
using TextRaw = TTF_Text *
 Alias to raw representation for Text.
 
using TextData = TTF_TextData
 Internal data for Text.
 
using FontStyleFlags = Uint32
 Font style flags for Font. More...
 
using HintingFlags = TTF_HintingFlags
 Hinting flags for TTF (TrueType Fonts) More...
 
using HorizontalAlignment = TTF_HorizontalAlignment
 The horizontal alignment used when rendering wrapped text. More...
 
using Direction = TTF_Direction
 Direction flags. More...
 
using ImageType = TTF_ImageType
 The type of data in a glyph image. More...
 
using SubStringFlags = Uint32
 Flags for SubString. More...
 
using GPUTextEngineWinding = TTF_GPUTextEngineWinding
 The winding order of the vertices returned by Text.GetGPUDrawData. More...
 
using GPUAtlasDrawSequence = TTF_GPUAtlasDrawSequence
 Draw sequence returned by Text.GetGPUDrawData. More...
 
using SubString = TTF_SubString
 The representation of a substring within text. More...
 
using DisplayID = SDL_DisplayID
 Alias to raw representation for Display.
 
using WindowRaw = SDL_Window *
 Alias to raw representation for Window.
 
using GLContextRaw = SDL_GLContext
 Alias to raw representation for GLContext.
 
using DisplayOrientation = SDL_DisplayOrientation
 Display orientation values; the way a display is rotated. More...
 
using DisplayMode = SDL_DisplayMode
 The structure that defines a display mode. More...
 
using WindowID = SDL_WindowID
 This is a unique ID for a window. More...
 
using SystemTheme = SDL_SystemTheme
 System theme. More...
 
using DisplayModeData = SDL_DisplayModeData
 Internal display mode data. More...
 
using WindowFlags = Uint64
 The flags on a window. More...
 
using FlashOperation = SDL_FlashOperation
 Window flash operation. More...
 
using HitTestResult = SDL_HitTestResult
 Possible return values from the HitTest callback. More...
 
using HitTest = SDL_HitTest
 Callback used for hit-testing. More...
 
using HitTestCB = std::function< HitTestResult(WindowRaw window, const Point &area)>
 Callback used for hit-testing. More...
 
using EGLDisplay = SDL_EGLDisplay
 Opaque type for an EGL display. More...
 
using EGLConfig = SDL_EGLConfig
 Opaque type for an EGL config. More...
 
using EGLSurface = SDL_EGLSurface
 Opaque type for an EGL surface. More...
 
using EGLAttrib = SDL_EGLAttrib
 An EGL attribute, used when creating an EGL context. More...
 
using EGLint = SDL_EGLint
 An EGL integer attribute, used when creating an EGL surface. More...
 
using EGLAttribArrayCallback = SDL_EGLAttribArrayCallback
 EGL platform attribute initialization callback. More...
 
using EGLAttribArrayCB = std::function< SDL_EGLAttrib *()>
 EGL platform attribute initialization callback. More...
 
using EGLIntArrayCallback = SDL_EGLIntArrayCallback
 EGL surface/context attribute initialization callback types. More...
 
using EGLIntArrayCB = std::function< SDL_EGLint *(SDL_EGLDisplay, SDL_EGLConfig)>
 EGL surface/context attribute initialization callback types. More...
 
using GLAttr = SDL_GLAttr
 An enumeration of OpenGL configuration attributes. More...
 
using GLProfile = Uint32
 Possible values to be set for the GL_CONTEXT_PROFILE_MASK attribute. More...
 
using GLContextFlag = Uint32
 Possible flags to be set for the GL_CONTEXT_FLAGS attribute. More...
 
using GLContextReleaseFlag = Uint32
 Possible values to be set for the GL_CONTEXT_RELEASE_BEHAVIOR attribute. More...
 
using GLContextResetNotification = Uint32
 Possible values to be set GL_CONTEXT_RESET_NOTIFICATION attribute. More...
 
Callbacks for EnterAppMainCallbacks()
using AppInit_func = SDL_AppInit_func
 Function pointer typedef for SDL_AppInit. More...
 
using AppIterate_func = SDL_AppIterate_func
 Function pointer typedef for SDL_AppIterate. More...
 
using AppEvent_func = SDL_AppEvent_func
 Function pointer typedef for SDL_AppEvent. More...
 
using AppQuit_func = SDL_AppQuit_func
 Function pointer typedef for SDL_AppQuit. More...
 
Callbacks for RunOnMainThread()
using MainThreadCallback = SDL_MainThreadCallback
 Callback run on the main thread. More...
 
using MainThreadCB = std::function< void()>
 Callback run on the main thread. More...
 

Functions

AssertState ReportAssertion (AssertData *data, StringParam func, StringParam file, int line)
 Never call this directly. More...
 
void SetAssertionHandler (AssertionHandler handler, void *userdata)
 Set an application-defined assertion handler. More...
 
void SetAssertionHandler (AssertionHandlerCB handler)
 Set an application-defined assertion handler. More...
 
AssertionHandler GetDefaultAssertionHandler ()
 Get the default assertion handler. More...
 
AssertionHandler GetAssertionHandler (void **puserdata)
 Get the current assertion handler. More...
 
AssertionHandlerCB GetAssertionHandler ()
 Get the current assertion handler. More...
 
const AssertDataGetAssertionReport ()
 Get a list of all assertion failures. More...
 
void ResetAssertionReport ()
 Clear the list of all assertion failures. More...
 
AsyncIO AsyncIOFromFile (StringParam file, StringParam mode)
 Use this function to create a new AsyncIO object for reading from and/or writing to a named file. More...
 
Sint64 GetAsyncIOSize (AsyncIOParam asyncio)
 Use this function to get the size of the data stream in an AsyncIO. More...
 
void ReadAsyncIO (AsyncIOParam asyncio, void *ptr, Uint64 offset, Uint64 size, AsyncIOQueueParam queue, void *userdata)
 Start an async read. More...
 
void WriteAsyncIO (AsyncIOParam asyncio, void *ptr, Uint64 offset, Uint64 size, AsyncIOQueueParam queue, void *userdata)
 Start an async write. More...
 
bool CloseAsyncIO (AsyncIORaw asyncio, bool flush, AsyncIOQueueParam queue, void *userdata)
 Close and free any allocated resources for an async I/O object. More...
 
AsyncIOQueue CreateAsyncIOQueue ()
 Create a task queue for tracking multiple I/O operations. More...
 
void DestroyAsyncIOQueue (AsyncIOQueueRaw queue)
 Destroy a previously-created async I/O task queue. More...
 
std::optional< AsyncIOOutcomeGetAsyncIOResult (AsyncIOQueueParam queue)
 Query an async I/O task queue for completed tasks. More...
 
std::optional< AsyncIOOutcomeWaitAsyncIOResult (AsyncIOQueueParam queue, Milliseconds timeout)
 Block until an async I/O task queue has a completed task. More...
 
std::optional< AsyncIOOutcomeWaitAsyncIOResult (AsyncIOQueueParam queue)
 Block until an async I/O task queue has a completed task. More...
 
void SignalAsyncIOQueue (AsyncIOQueueParam queue)
 Wake up any threads that are blocking in AsyncIOQueue.WaitResult(). More...
 
void LoadFileAsync (StringParam file, AsyncIOQueueParam queue, void *userdata)
 Load all the data from a file path, asynchronously. More...
 
void MemoryBarrierRelease ()
 Insert a memory release barrier (function version). More...
 
void MemoryBarrierAcquire ()
 Insert a memory acquire barrier (function version). More...
 
bool CompareAndSwapAtomicInt (AtomicIntRaw *a, int oldval, int newval)
 Set an atomic variable to a new value if it is currently an old value. More...
 
int SetAtomicInt (AtomicIntRaw *a, int v)
 Set an atomic variable to a value. More...
 
int GetAtomicInt (AtomicIntRaw *a)
 Get the value of an atomic variable. More...
 
int AddAtomicInt (AtomicIntRaw *a, int v)
 Add to an atomic variable. More...
 
bool AtomicIncRef (AtomicIntRaw *a)
 Increment an atomic variable used as a reference count. More...
 
bool AtomicDecRef (AtomicIntRaw *a)
 Decrement an atomic variable used as a reference count. More...
 
bool CompareAndSwapAtomicU32 (AtomicU32Raw *a, Uint32 oldval, Uint32 newval)
 Set an atomic variable to a new value if it is currently an old value. More...
 
Uint32 SetAtomicU32 (AtomicU32Raw *a, Uint32 v)
 Set an atomic variable to a value. More...
 
Uint32 GetAtomicU32 (AtomicU32Raw *a)
 Get the value of an atomic variable. More...
 
constexpr AudioFormat DEFINE_AUDIO_FORMAT (bool sign, bool bigendian, bool flt, Uint16 size)
 Define an AudioFormat value. More...
 
constexpr Uint16 AUDIO_BITSIZE (AudioFormatRaw x)
 Retrieve the size, in bits, from an AudioFormat. More...
 
constexpr Uint16 AUDIO_BYTESIZE (AudioFormatRaw x)
 Retrieve the size, in bytes, from an AudioFormat. More...
 
constexpr bool AUDIO_ISFLOAT (AudioFormatRaw x)
 Determine if an AudioFormat represents floating point data. More...
 
constexpr bool AUDIO_ISBIGENDIAN (AudioFormatRaw x)
 Determine if an AudioFormat represents bigendian data. More...
 
constexpr bool AUDIO_ISLITTLEENDIAN (AudioFormatRaw x)
 Determine if an AudioFormat represents littleendian data. More...
 
constexpr bool AUDIO_ISSIGNED (AudioFormatRaw x)
 Determine if an AudioFormat represents signed data. More...
 
constexpr bool AUDIO_ISINT (AudioFormatRaw x)
 Determine if an AudioFormat represents integer data. More...
 
constexpr bool AUDIO_ISUNSIGNED (AudioFormatRaw x)
 Determine if an AudioFormat represents unsigned data. More...
 
constexpr int AudioFrameSize (const AudioSpec &x)
 Calculate the size of each audio frame (in bytes) from an AudioSpec. More...
 
int GetNumAudioDrivers ()
 Use this function to get the number of built-in audio drivers. More...
 
const char * GetAudioDriver (int index)
 Use this function to get the name of a built in audio driver. More...
 
const char * GetCurrentAudioDriver ()
 Get the name of the current audio driver. More...
 
OwnArray< AudioDeviceRefGetAudioPlaybackDevices ()
 Get a list of currently-connected audio playback devices. More...
 
OwnArray< AudioDeviceRefGetAudioRecordingDevices ()
 Get a list of currently-connected audio recording devices. More...
 
const char * GetAudioDeviceName (AudioDeviceParam devid)
 Get the human-readable name of a specific audio device. More...
 
AudioSpec GetAudioDeviceFormat (AudioDeviceParam devid, int *sample_frames=nullptr)
 Get the current audio format of a specific audio device. More...
 
OwnArray< int > GetAudioDeviceChannelMap (AudioDeviceParam devid)
 Get the current channel map of an audio device. More...
 
AudioDevice OpenAudioDevice (AudioDeviceParam devid, OptionalRef< const AudioSpec > spec)
 Open a specific audio device. More...
 
bool IsAudioDevicePhysical (AudioDeviceParam devid)
 Determine if an audio device is physical (instead of logical). More...
 
bool IsAudioDevicePlayback (AudioDeviceParam devid)
 Determine if an audio device is a playback device (instead of recording). More...
 
void PauseAudioDevice (AudioDeviceParam devid)
 Use this function to pause audio playback on a specified device. More...
 
void ResumeAudioDevice (AudioDeviceParam devid)
 Use this function to unpause audio playback on a specified device. More...
 
bool AudioDevicePaused (AudioDeviceParam devid)
 Use this function to query if an audio device is paused. More...
 
float GetAudioDeviceGain (AudioDeviceParam devid)
 Get the gain of an audio device. More...
 
void SetAudioDeviceGain (AudioDeviceParam devid, float gain)
 Change the gain of an audio device. More...
 
void CloseAudioDevice (AudioDeviceID devid)
 Close a previously-opened audio device. More...
 
void BindAudioStreams (AudioDeviceParam devid, std::span< AudioStreamRef > streams)
 Bind a list of audio streams to an audio device. More...
 
void BindAudioStream (AudioDeviceParam devid, AudioStreamParam stream)
 Bind a single audio stream to an audio device. More...
 
void UnbindAudioStreams (std::span< AudioStreamRef > streams)
 Unbind a list of audio streams from their audio devices. More...
 
void UnbindAudioStream (AudioStreamParam stream)
 Unbind a single audio stream from its audio device. More...
 
AudioDeviceRef GetAudioStreamDevice (AudioStreamParam stream)
 Query an audio stream for its currently-bound device. More...
 
AudioStream CreateAudioStream (OptionalRef< const AudioSpec > src_spec, OptionalRef< const AudioSpec > dst_spec)
 Create a new audio stream. More...
 
PropertiesRef GetAudioStreamProperties (AudioStreamParam stream)
 Get the properties associated with an audio stream. More...
 
void GetAudioStreamFormat (AudioStreamParam stream, AudioSpec *src_spec, AudioSpec *dst_spec)
 Query the current format of an audio stream. More...
 
void SetAudioStreamFormat (AudioStreamParam stream, OptionalRef< const AudioSpec > src_spec, OptionalRef< const AudioSpec > dst_spec)
 Change the input and output formats of an audio stream. More...
 
float GetAudioStreamFrequencyRatio (AudioStreamParam stream)
 Get the frequency ratio of an audio stream. More...
 
void SetAudioStreamFrequencyRatio (AudioStreamParam stream, float ratio)
 Change the frequency ratio of an audio stream. More...
 
float GetAudioStreamGain (AudioStreamParam stream)
 Get the gain of an audio stream. More...
 
void SetAudioStreamGain (AudioStreamParam stream, float gain)
 Change the gain of an audio stream. More...
 
OwnArray< int > GetAudioStreamInputChannelMap (AudioStreamParam stream)
 Get the current input channel map of an audio stream. More...
 
OwnArray< int > GetAudioStreamOutputChannelMap (AudioStreamParam stream)
 Get the current output channel map of an audio stream. More...
 
void SetAudioStreamInputChannelMap (AudioStreamParam stream, std::span< int > chmap)
 Set the current input channel map of an audio stream. More...
 
void SetAudioStreamOutputChannelMap (AudioStreamParam stream, std::span< int > chmap)
 Set the current output channel map of an audio stream. More...
 
void PutAudioStreamData (AudioStreamParam stream, SourceBytes buf)
 Add data to the stream. More...
 
int GetAudioStreamData (AudioStreamParam stream, TargetBytes buf)
 Get converted/resampled data from the stream. More...
 
int GetAudioStreamAvailable (AudioStreamParam stream)
 Get the number of converted/resampled bytes available. More...
 
int GetAudioStreamQueued (AudioStreamParam stream)
 Get the number of bytes currently queued. More...
 
void FlushAudioStream (AudioStreamParam stream)
 Tell the stream that you're done sending data, and anything being buffered should be converted/resampled and made available immediately. More...
 
void ClearAudioStream (AudioStreamParam stream)
 Clear any pending data in the stream. More...
 
void PauseAudioStreamDevice (AudioStreamParam stream)
 Use this function to pause audio playback on the audio device associated with an audio stream. More...
 
void ResumeAudioStreamDevice (AudioStreamParam stream)
 Use this function to unpause audio playback on the audio device associated with an audio stream. More...
 
bool AudioStreamDevicePaused (AudioStreamParam stream)
 Use this function to query if an audio device associated with a stream is paused. More...
 
void LockAudioStream (AudioStreamParam stream)
 Lock an audio stream for serialized access. More...
 
void UnlockAudioStream (AudioStreamParam stream)
 Unlock an audio stream for serialized access. More...
 
void SetAudioStreamGetCallback (AudioStreamParam stream, AudioStreamCallback callback, void *userdata)
 Set a callback that runs when data is requested from an audio stream. More...
 
void SetAudioStreamPutCallback (AudioStreamParam stream, AudioStreamCallback callback, void *userdata)
 Set a callback that runs when data is added to an audio stream. More...
 
void DestroyAudioStream (AudioStreamRaw stream)
 Free an audio stream. More...
 
AudioStream OpenAudioDeviceStream (AudioDeviceParam devid, OptionalRef< const AudioSpec > spec, AudioStreamCallback callback=nullptr, void *userdata=nullptr)
 Convenience function for straightforward audio init for the common case. More...
 
AudioStream OpenAudioDeviceStream (AudioDeviceParam devid, OptionalRef< const AudioSpec > spec, AudioStreamCB callback)
 Convenience function for straightforward audio init for the common case. More...
 
void SetAudioPostmixCallback (AudioDeviceParam devid, AudioPostmixCallback callback, void *userdata)
 Set a callback that fires when data is about to be fed to an audio device. More...
 
OwnArray< Uint8LoadWAV (IOStreamParam src, AudioSpec *spec, bool closeio=false)
 Load the audio data of a WAVE file into memory. More...
 
OwnArray< Uint8LoadWAV (StringParam path, AudioSpec *spec)
 Loads a WAV from a file path. More...
 
void MixAudio (Uint8 *dst, SourceBytes src, AudioFormat format, float volume)
 Mix audio data in a specified format. More...
 
void MixAudio (TargetBytes dst, SourceBytes src, AudioFormat format, float volume)
 Mix audio data in a specified format. More...
 
OwnArray< Uint8ConvertAudioSamples (const AudioSpec &src_spec, SourceBytes src_data, const AudioSpec &dst_spec)
 Convert some audio data of one format to another format. More...
 
const char * GetAudioFormatName (AudioFormatRaw format)
 Get the human readable name of an audio format. More...
 
int GetSilenceValueForFormat (AudioFormatRaw format)
 Get the appropriate memset value for silencing an audio format. More...
 
constexpr int MostSignificantBitIndex32 (Uint32 x)
 Get the index of the most significant (set) bit in a 32-bit number. More...
 
constexpr bool HasExactlyOneBitSet32 (Uint32 x)
 Determine if a unsigned 32-bit value has exactly one bit set. More...
 
BlendMode ComposeCustomBlendMode (BlendFactor srcColorFactor, BlendFactor dstColorFactor, BlendOperation colorOperation, BlendFactor srcAlphaFactor, BlendFactor dstAlphaFactor, BlendOperation alphaOperation)
 Compose a custom blend mode for renderers. More...
 
int GetNumCameraDrivers ()
 Use this function to get the number of built-in camera drivers. More...
 
const char * GetCameraDriver (int index)
 Use this function to get the name of a built in camera driver. More...
 
const char * GetCurrentCameraDriver ()
 Get the name of the current camera driver. More...
 
OwnArray< CameraIDGetCameras ()
 Get a list of currently connected camera devices. More...
 
SDL_CameraSpec ** GetCameraSupportedFormats (CameraID instance_id, int *count)
 Get the list of native formats/sizes a camera supports. More...
 
const char * GetCameraName (CameraID instance_id)
 Get the human-readable device name for a camera. More...
 
CameraPosition GetCameraPosition (CameraID instance_id)
 Get the position of the camera in relation to the system. More...
 
Camera OpenCamera (CameraID instance_id, OptionalRef< const CameraSpec > spec={})
 Open a video recording device (a "camera"). More...
 
int GetCameraPermissionState (CameraParam camera)
 Query if camera access has been approved by the user. More...
 
CameraID GetCameraID (CameraParam camera)
 Get the instance ID of an opened camera. More...
 
PropertiesRef GetCameraProperties (CameraParam camera)
 Get the properties associated with an opened camera. More...
 
std::optional< CameraSpecGetCameraFormat (CameraParam camera)
 Get the spec that a camera is using when generating images. More...
 
Surface AcquireCameraFrame (CameraParam camera, Uint64 *timestampNS=nullptr)
 Acquire a frame. More...
 
void ReleaseCameraFrame (CameraParam camera, SurfaceParam frame)
 Release a frame of video acquired from a camera. More...
 
void CloseCamera (CameraRaw camera)
 Use this function to shut down camera processing and close the camera device. More...
 
void SetClipboardText (StringParam text)
 Put UTF-8 text into the clipboard. More...
 
StringResult GetClipboardText ()
 Get UTF-8 text from the clipboard. More...
 
bool HasClipboardText ()
 Query whether the clipboard exists and contains a non-empty text string. More...
 
void SetPrimarySelectionText (StringParam text)
 Put UTF-8 text into the primary selection. More...
 
StringResult GetPrimarySelectionText ()
 Get UTF-8 text from the primary selection. More...
 
bool HasPrimarySelectionText ()
 Query whether the primary selection exists and contains a non-empty text string. More...
 
void SetClipboardData (ClipboardDataCallback callback, ClipboardCleanupCallback cleanup, void *userdata, std::span< const char * > mime_types)
 Offer clipboard data to the OS. More...
 
void SetClipboardData (ClipboardDataCB callback, ClipboardCleanupCB cleanup, std::span< const char * > mime_types)
 Offer clipboard data to the OS. More...
 
void ClearClipboardData ()
 Clear the clipboard data. More...
 
StringResult GetClipboardData (StringParam mime_type)
 Get the data from the clipboard for a given mime type. More...
 
template<class T >
OwnArray< T > GetClipboardDataAs (StringParam mime_type)
 Get the data from the clipboard for a given mime type. More...
 
bool HasClipboardData (StringParam mime_type)
 Query whether there is data in the clipboard for the provided mime type. More...
 
OwnArray< char * > GetClipboardMimeTypes ()
 Retrieve the list of mime types available in the clipboard. More...
 
int GetNumLogicalCPUCores ()
 Get the number of logical CPU cores available. More...
 
int GetCPUCacheLineSize ()
 Determine the L1 cache line size of the CPU. More...
 
bool HasAltiVec ()
 Determine whether the CPU has AltiVec features. More...
 
bool HasMMX ()
 Determine whether the CPU has MMX features. More...
 
bool HasSSE ()
 Determine whether the CPU has SSE features. More...
 
bool HasSSE2 ()
 Determine whether the CPU has SSE2 features. More...
 
bool HasSSE3 ()
 Determine whether the CPU has SSE3 features. More...
 
bool HasSSE41 ()
 Determine whether the CPU has SSE4.1 features. More...
 
bool HasSSE42 ()
 Determine whether the CPU has SSE4.2 features. More...
 
bool HasAVX ()
 Determine whether the CPU has AVX features. More...
 
bool HasAVX2 ()
 Determine whether the CPU has AVX2 features. More...
 
bool HasAVX512F ()
 Determine whether the CPU has AVX-512F (foundation) features. More...
 
bool HasARMSIMD ()
 Determine whether the CPU has ARM SIMD (ARMv6) features. More...
 
bool HasNEON ()
 Determine whether the CPU has NEON (ARM SIMD) features. More...
 
bool HasLSX ()
 Determine whether the CPU has LSX (LOONGARCH SIMD) features. More...
 
bool HasLASX ()
 Determine whether the CPU has LASX (LOONGARCH SIMD) features. More...
 
int GetSystemRAM ()
 Get the amount of RAM configured in the system. More...
 
size_t GetSIMDAlignment ()
 Report the alignment this system needs for SIMD allocations. More...
 
void ShowOpenFileDialog (DialogFileCallback callback, void *userdata, WindowParam window, std::span< const DialogFileFilter > filters={}, StringParam default_location={}, bool allow_many=false)
 Displays a dialog that lets the user select a file on their filesystem. More...
 
void ShowOpenFileDialog (DialogFileCB callback, WindowParam window, std::span< const DialogFileFilter > filters={}, StringParam default_location={}, bool allow_many=false)
 Displays a dialog that lets the user select a file on their filesystem. More...
 
void ShowSaveFileDialog (DialogFileCallback callback, void *userdata, WindowParam window={}, std::span< const DialogFileFilter > filters={}, StringParam default_location={})
 Displays a dialog that lets the user choose a new or existing file on their filesystem. More...
 
void ShowSaveFileDialog (DialogFileCB callback, WindowParam window={}, std::span< const DialogFileFilter > filters={}, StringParam default_location={})
 Displays a dialog that lets the user choose a new or existing file on their filesystem. More...
 
void ShowOpenFolderDialog (DialogFileCallback callback, void *userdata, WindowParam window={}, StringParam default_location={}, bool allow_many=false)
 Displays a dialog that lets the user select a folder on their filesystem. More...
 
void ShowOpenFolderDialog (DialogFileCB callback, WindowParam window={}, StringParam default_location={}, bool allow_many=false)
 Displays a dialog that lets the user select a folder on their filesystem. More...
 
void ShowFileDialogWithProperties (FileDialogType type, DialogFileCallback callback, void *userdata, PropertiesParam props)
 Create and launch a file dialog with the specified properties. More...
 
void ShowFileDialogWithProperties (FileDialogType type, DialogFileCB callback, PropertiesID props)
 Create and launch a file dialog with the specified properties. More...
 
constexpr float SwapFloat (float x)
 Byte-swap a floating point number. More...
 
constexpr Uint16 Swap16 (Uint16 x)
 Byte-swap an unsigned 16-bit number. More...
 
constexpr Uint32 Swap32 (Uint32 x)
 Byte-swap an unsigned 32-bit number. More...
 
constexpr Uint64 Swap64 (Uint64 x)
 Byte-swap an unsigned 64-bit number. More...
 
constexpr Uint16 Swap16LE (Uint16 x)
 Swap a 16-bit value from littleendian to native byte order. More...
 
constexpr Uint32 Swap32LE (Uint32 x)
 Swap a 32-bit value from littleendian to native byte order. More...
 
constexpr Uint64 Swap64LE (Uint64 x)
 Swap a 64-bit value from littleendian to native byte order. More...
 
constexpr float SwapFloatLE (float x)
 Swap a floating point value from littleendian to native byte order. More...
 
constexpr Uint16 Swap16BE (Uint16 x)
 Swap a 16-bit value from bigendian to native byte order. More...
 
constexpr Uint32 Swap32BE (Uint32 x)
 Swap a 32-bit value from bigendian to native byte order. More...
 
constexpr Uint64 Swap64BE (Uint64 x)
 Swap a 64-bit value from bigendian to native byte order. More...
 
constexpr float SwapFloatBE (float x)
 Swap a floating point value from bigendian to native byte order. More...
 
bool SetErrorUnformatted (StringParam message)
 Set the SDL error message for the current thread. More...
 
template<class... ARGS>
bool SetError (std::string_view fmt, ARGS... args)
 Set the SDL error message for the current thread. More...
 
bool OutOfMemory ()
 Set an error indicating that memory allocation failed. More...
 
const char * GetError ()
 Retrieve a message about the last error that occurred on the current thread. More...
 
constexpr void CheckError (bool result)
 Check and throw if returned value from SDL is an error. More...
 
template<class T >
constexpr T CheckError (T result)
 Check and throw if returned value from SDL is an error. More...
 
template<class T >
constexpr T CheckError (T result, T invalidValue)
 Check and throw if returned value from SDL is an error. More...
 
template<class T >
constexpr void CheckErrorIfNot (T result, T validValue)
 Check and throw if returned value from SDL is an error. More...
 
bool ClearError ()
 Clear any previous error message for this thread. More...
 
void PumpEvents ()
 Pump the event loop, gathering events from the input devices. More...
 
int PeepEvents (Event *events, int numevents, EventAction action, Uint32 minType=EVENT_FIRST, Uint32 maxType=EVENT_LAST)
 Check the event queue for messages and optionally return them. More...
 
bool HasEvent (Uint32 type)
 Check for the existence of a certain event type in the event queue. More...
 
bool HasEvents (Uint32 minType=EVENT_FIRST, Uint32 maxType=EVENT_LAST)
 Check for the existence of certain event types in the event queue. More...
 
void FlushEvent (Uint32 type)
 Clear events of a specific type from the event queue. More...
 
void FlushEvents (Uint32 minType=EVENT_FIRST, Uint32 maxType=EVENT_LAST)
 Clear events of a range of types from the event queue. More...
 
bool PollEvent (Event *event)
 Poll for currently pending events. More...
 
std::optional< EventPollEvent ()
 Poll for currently pending events. More...
 
void WaitEvent (Event *event)
 Wait indefinitely for the next available event. More...
 
Event WaitEvent ()
 Wait indefinitely for the next available event. More...
 
bool WaitEventTimeout (Event *event, Sint32 timeoutMS)
 Wait until the specified timeout (in milliseconds) for the next available event. More...
 
std::optional< EventWaitEventTimeout (Sint32 timeoutMS)
 Wait until the specified timeout (in milliseconds) for the next available event. More...
 
bool WaitEventTimeout (Event *event, std::chrono::milliseconds timeoutDuration)
 Wait until the specified timeout (in milliseconds) for the next available event. More...
 
std::optional< EventWaitEventTimeout (std::chrono::milliseconds timeoutDuration)
 Wait until the specified timeout (with milliseconds precision) for the next available event. More...
 
void PushEvent (Event *event)
 Add an event to the event queue. More...
 
void PushEvent (const Event &event)
 Add an event to the event queue. More...
 
void SetEventFilter (EventFilter filter, void *userdata)
 Set up a filter to process all events before they are added to the internal event queue. More...
 
void SetEventFilter (EventFilterCB filter={})
 Set up a filter to process all events before they are added to the internal event queue. More...
 
void GetEventFilter (EventFilter *filter, void **userdata)
 Query the current event filter. More...
 
EventFilterCB GetEventFilter ()
 Query the current event filter. More...
 
void AddEventWatch (EventFilter filter, void *userdata)
 Add a callback to be triggered when an event is added to the event queue. More...
 
EventWatchHandle AddEventWatch (EventFilterCB filter)
 Add a callback to be triggered when an event is added to the event queue. More...
 
void RemoveEventWatch (EventFilter filter, void *userdata)
 Remove an event watch callback added with AddEventWatch(). More...
 
void RemoveEventWatch (EventWatchHandle handle)
 Remove an event watch callback added with AddEventWatch(). More...
 
void FilterEvents (EventFilter filter, void *userdata)
 Run a specific filter function on the current event queue, removing any events for which the filter returns false. More...
 
void FilterEvents (EventFilterCB filter)
 Run a specific filter function on the current event queue, removing any events for which the filter returns false. More...
 
void SetEventEnabled (Uint32 type, bool enabled)
 Set the state of processing events by type. More...
 
bool EventEnabled (Uint32 type)
 Query the state of processing events by type. More...
 
Uint32 RegisterEvents (int numevents)
 Allocate a set of user-defined events, and return the beginning event number for that set of events. More...
 
WindowRef GetWindowFromEvent (const Event &event)
 Get window associated with an event. More...
 
const char * GetBasePath ()
 Get the directory where the application was run from. More...
 
Path GetPrefPath (StringParam org, StringParam app)
 Get the user-and-app-specific path where files can be written. More...
 
const char * GetUserFolder (Folder folder)
 Finds the most suitable user folder for a specific purpose. More...
 
void CreateDirectory (StringParam path)
 Create a directory, and any missing parent directories. More...
 
void EnumerateDirectory (StringParam path, EnumerateDirectoryCallback callback, void *userdata)
 Enumerate a directory through a callback function. More...
 
void EnumerateDirectory (StringParam path, EnumerateDirectoryCB callback)
 Enumerate a directory through a callback function. More...
 
std::vector< PathEnumerateDirectory (StringParam path)
 Enumerate a directory. More...
 
void RemovePath (StringParam path)
 Remove a file or an empty directory. More...
 
void RenamePath (StringParam oldpath, StringParam newpath)
 Rename a file or directory. More...
 
void CopyFile (StringParam oldpath, StringParam newpath)
 Copy a file. More...
 
PathInfo GetPathInfo (StringParam path)
 Get information about a filesystem path. More...
 
OwnArray< char * > GlobDirectory (StringParam path, StringParam pattern, GlobFlags flags=0)
 Enumerate a directory tree, filtered by pattern, and return a list. More...
 
Path GetCurrentDirectory ()
 Get what the system believes is the "current working directory.". More...
 
int AddGamepadMapping (StringParam mapping)
 Add support for gamepads that SDL is unaware of or change the binding of an existing gamepad. More...
 
int AddGamepadMappingsFromIO (IOStreamParam src, bool closeio)
 Load a set of gamepad mappings from an IOStream. More...
 
int AddGamepadMappingsFromFile (StringParam file)
 Load a set of gamepad mappings from a file. More...
 
void ReloadGamepadMappings ()
 Reinitialize the SDL mapping database to its initial state. More...
 
char ** GetGamepadMappings (int *count)
 Get the current gamepad mappings. More...
 
char * GetGamepadMappingForGUID (GUID guid)
 Get the gamepad mapping string for a given GUID. More...
 
char * GetGamepadMapping (GamepadParam gamepad)
 Get the current mapping of a gamepad. More...
 
void SetGamepadMapping (JoystickID instance_id, StringParam mapping)
 Set the current mapping of a joystick or gamepad. More...
 
bool HasGamepad ()
 Return whether a gamepad is currently connected. More...
 
OwnArray< JoystickIDGetGamepads ()
 Get a list of currently connected gamepads. More...
 
bool IsGamepad (JoystickID instance_id)
 Check if the given joystick is supported by the gamepad interface. More...
 
const char * GetGamepadNameForID (JoystickID instance_id)
 Get the implementation dependent name of a gamepad. More...
 
const char * GetGamepadPathForID (JoystickID instance_id)
 Get the implementation dependent path of a gamepad. More...
 
int GetGamepadPlayerIndexForID (JoystickID instance_id)
 Get the player index of a gamepad. More...
 
GUID GetGamepadGUIDForID (JoystickID instance_id)
 Get the implementation-dependent GUID of a gamepad. More...
 
Uint16 GetGamepadVendorForID (JoystickID instance_id)
 Get the USB vendor ID of a gamepad, if available. More...
 
Uint16 GetGamepadProductForID (JoystickID instance_id)
 Get the USB product ID of a gamepad, if available. More...
 
Uint16 GetGamepadProductVersionForID (JoystickID instance_id)
 Get the product version of a gamepad, if available. More...
 
GamepadType GetGamepadTypeForID (JoystickID instance_id)
 Get the type of a gamepad. More...
 
GamepadType GetRealGamepadTypeForID (JoystickID instance_id)
 Get the type of a gamepad, ignoring any mapping override. More...
 
char * GetGamepadMappingForID (JoystickID instance_id)
 Get the mapping of a gamepad. More...
 
Gamepad OpenGamepad (JoystickID instance_id)
 Open a gamepad for use. More...
 
GamepadRef GetGamepadFromID (JoystickID instance_id)
 Get the Gamepad associated with a joystick instance ID, if it has been opened. More...
 
GamepadRef GetGamepadFromPlayerIndex (int player_index)
 Get the Gamepad associated with a player index. More...
 
PropertiesRef GetGamepadProperties (GamepadParam gamepad)
 Get the properties associated with an opened gamepad. More...
 
JoystickID GetGamepadID (GamepadParam gamepad)
 Get the instance ID of an opened gamepad. More...
 
const char * GetGamepadName (GamepadParam gamepad)
 Get the implementation-dependent name for an opened gamepad. More...
 
const char * GetGamepadPath (GamepadParam gamepad)
 Get the implementation-dependent path for an opened gamepad. More...
 
GamepadType GetGamepadType (GamepadParam gamepad)
 Get the type of an opened gamepad. More...
 
GamepadType GetRealGamepadType (GamepadParam gamepad)
 Get the type of an opened gamepad, ignoring any mapping override. More...
 
int GetGamepadPlayerIndex (GamepadParam gamepad)
 Get the player index of an opened gamepad. More...
 
void SetGamepadPlayerIndex (GamepadParam gamepad, int player_index)
 Set the player index of an opened gamepad. More...
 
Uint16 GetGamepadVendor (GamepadParam gamepad)
 Get the USB vendor ID of an opened gamepad, if available. More...
 
Uint16 GetGamepadProduct (GamepadParam gamepad)
 Get the USB product ID of an opened gamepad, if available. More...
 
Uint16 GetGamepadProductVersion (GamepadParam gamepad)
 Get the product version of an opened gamepad, if available. More...
 
Uint16 GetGamepadFirmwareVersion (GamepadParam gamepad)
 Get the firmware version of an opened gamepad, if available. More...
 
const char * GetGamepadSerial (GamepadParam gamepad)
 Get the serial number of an opened gamepad, if available. More...
 
Uint64 GetGamepadSteamHandle (GamepadParam gamepad)
 Get the Steam Input handle of an opened gamepad, if available. More...
 
JoystickConnectionState GetGamepadConnectionState (GamepadParam gamepad)
 Get the connection state of a gamepad. More...
 
PowerState GetGamepadPowerInfo (GamepadParam gamepad, int *percent)
 Get the battery state of a gamepad. More...
 
bool GamepadConnected (GamepadParam gamepad)
 Check if a gamepad has been opened and is currently connected. More...
 
JoystickRef GetGamepadJoystick (GamepadParam gamepad)
 Get the underlying joystick from a gamepad. More...
 
void SetGamepadEventsEnabled (bool enabled)
 Set the state of gamepad event processing. More...
 
bool GamepadEventsEnabled ()
 Query the state of gamepad event processing. More...
 
SDL_GamepadBinding ** GetGamepadBindings (GamepadParam gamepad, int *count)
 Get the SDL joystick layer bindings for a gamepad. More...
 
void UpdateGamepads ()
 Manually pump gamepad updates if not using the loop. More...
 
GamepadType GetGamepadTypeFromString (StringParam str)
 Convert a string into GamepadType enum. More...
 
const char * GetGamepadStringForType (GamepadType type)
 Convert from an GamepadType enum to a string. More...
 
GamepadAxis GetGamepadAxisFromString (StringParam str)
 Convert a string into GamepadAxis enum. More...
 
const char * GetGamepadStringForAxis (GamepadAxis axis)
 Convert from an GamepadAxis enum to a string. More...
 
bool GamepadHasAxis (GamepadParam gamepad, GamepadAxis axis)
 Query whether a gamepad has a given axis. More...
 
Sint16 GetGamepadAxis (GamepadParam gamepad, GamepadAxis axis)
 Get the current state of an axis control on a gamepad. More...
 
GamepadButton GetGamepadButtonFromString (StringParam str)
 Convert a string into an GamepadButton enum. More...
 
const char * GetGamepadStringForButton (GamepadButton button)
 Convert from an GamepadButton enum to a string. More...
 
bool GamepadHasButton (GamepadParam gamepad, GamepadButton button)
 Query whether a gamepad has a given button. More...
 
bool GetGamepadButton (GamepadParam gamepad, GamepadButton button)
 Get the current state of a button on a gamepad. More...
 
GamepadButtonLabel GetGamepadButtonLabelForType (GamepadType type, GamepadButton button)
 Get the label of a button on a gamepad. More...
 
GamepadButtonLabel GetGamepadButtonLabel (GamepadParam gamepad, GamepadButton button)
 Get the label of a button on a gamepad. More...
 
int GetNumGamepadTouchpads (GamepadParam gamepad)
 Get the number of touchpads on a gamepad. More...
 
int GetNumGamepadTouchpadFingers (GamepadParam gamepad, int touchpad)
 Get the number of supported simultaneous fingers on a touchpad on a game gamepad. More...
 
void GetGamepadTouchpadFinger (GamepadParam gamepad, int touchpad, int finger, bool *down, float *x, float *y, float *pressure)
 Get the current state of a finger on a touchpad on a gamepad. More...
 
bool GamepadHasSensor (GamepadParam gamepad, SensorType type)
 Return whether a gamepad has a particular sensor. More...
 
void SetGamepadSensorEnabled (GamepadParam gamepad, SensorType type, bool enabled)
 Set whether data reporting for a gamepad sensor is enabled. More...
 
bool GamepadSensorEnabled (GamepadParam gamepad, SensorType type)
 Query whether sensor data reporting is enabled for a gamepad. More...
 
float GetGamepadSensorDataRate (GamepadParam gamepad, SensorType type)
 Get the data rate (number of events per second) of a gamepad sensor. More...
 
void GetGamepadSensorData (GamepadParam gamepad, SensorType type, float *data, int num_values)
 Get the current state of a gamepad sensor. More...
 
void RumbleGamepad (GamepadParam gamepad, Uint16 low_frequency_rumble, Uint16 high_frequency_rumble, Uint32 duration_ms)
 Start a rumble effect on a gamepad. More...
 
void RumbleGamepadTriggers (GamepadParam gamepad, Uint16 left_rumble, Uint16 right_rumble, Uint32 duration_ms)
 Start a rumble effect in the gamepad's triggers. More...
 
void SetGamepadLED (GamepadParam gamepad, Uint8 red, Uint8 green, Uint8 blue)
 Update a gamepad's LED color. More...
 
void SendGamepadEffect (GamepadParam gamepad, const void *data, int size)
 Send a gamepad specific effect packet. More...
 
void CloseGamepad (GamepadRaw gamepad)
 Close a gamepad previously opened with Gamepad.Gamepad(). More...
 
const char * GetGamepadAppleSFSymbolsNameForButton (GamepadParam gamepad, GamepadButton button)
 Return the sfSymbolsName for a given button on a gamepad on Apple platforms. More...
 
const char * GetGamepadAppleSFSymbolsNameForAxis (GamepadParam gamepad, GamepadAxis axis)
 Return the sfSymbolsName for a given axis on a gamepad on Apple platforms. More...
 
bool GPUSupportsShaderFormats (GPUShaderFormat format_flags, StringParam name)
 Checks for GPU runtime support. More...
 
bool GPUSupportsProperties (PropertiesParam props)
 Checks for GPU runtime support. More...
 
GPUDevice CreateGPUDevice (GPUShaderFormat format_flags, bool debug_mode, StringParam name)
 Creates a GPU context. More...
 
GPUDevice CreateGPUDeviceWithProperties (PropertiesParam props)
 Creates a GPU context. More...
 
void DestroyGPUDevice (GPUDeviceRaw device)
 Destroys a GPU context previously returned by GPUDevice.GPUDevice. More...
 
int GetNumGPUDrivers ()
 Get the number of GPU drivers compiled into SDL. More...
 
const char * GetGPUDriver (int index)
 Get the name of a built in GPU driver. More...
 
const char * GetGPUDeviceDriver (GPUDeviceParam device)
 Returns the name of the backend used to create this GPU context. More...
 
GPUShaderFormat GetGPUShaderFormats (GPUDeviceParam device)
 Returns the supported shader formats for this GPU context. More...
 
GPUComputePipeline CreateGPUComputePipeline (GPUDeviceParam device, const GPUComputePipelineCreateInfo &createinfo)
 Creates a pipeline object to be used in a compute workflow. More...
 
GPUGraphicsPipeline CreateGPUGraphicsPipeline (GPUDeviceParam device, const GPUGraphicsPipelineCreateInfo &createinfo)
 Creates a pipeline object to be used in a graphics workflow. More...
 
GPUSampler CreateGPUSampler (GPUDeviceParam device, const GPUSamplerCreateInfo &createinfo)
 Creates a sampler object to be used when binding textures in a graphics workflow. More...
 
GPUShader CreateGPUShader (GPUDeviceParam device, const GPUShaderCreateInfo &createinfo)
 Creates a shader to be used when creating a graphics pipeline. More...
 
GPUTexture CreateGPUTexture (GPUDeviceParam device, const GPUTextureCreateInfo &createinfo)
 Creates a texture object to be used in graphics or compute workflows. More...
 
GPUBuffer CreateGPUBuffer (GPUDeviceParam device, const GPUBufferCreateInfo &createinfo)
 Creates a buffer object to be used in graphics or compute workflows. More...
 
GPUTransferBuffer CreateGPUTransferBuffer (GPUDeviceParam device, const GPUTransferBufferCreateInfo &createinfo)
 Creates a transfer buffer to be used when uploading to or downloading from graphics resources. More...
 
void SetGPUBufferName (GPUDeviceParam device, GPUBuffer buffer, StringParam text)
 Sets an arbitrary string constant to label a buffer. More...
 
void SetGPUTextureName (GPUDeviceParam device, GPUTexture texture, StringParam text)
 Sets an arbitrary string constant to label a texture. More...
 
void InsertGPUDebugLabel (GPUCommandBuffer command_buffer, StringParam text)
 Inserts an arbitrary string label into the command buffer callstream. More...
 
void PushGPUDebugGroup (GPUCommandBuffer command_buffer, StringParam name)
 Begins a debug group with an arbitrary name. More...
 
void PopGPUDebugGroup (GPUCommandBuffer command_buffer)
 Ends the most-recently pushed debug group. More...
 
void ReleaseGPUTexture (GPUDeviceParam device, GPUTexture texture)
 Frees the given texture as soon as it is safe to do so. More...
 
void ReleaseGPUSampler (GPUDeviceParam device, GPUSampler sampler)
 Frees the given sampler as soon as it is safe to do so. More...
 
void ReleaseGPUBuffer (GPUDeviceParam device, GPUBuffer buffer)
 Frees the given buffer as soon as it is safe to do so. More...
 
void ReleaseGPUTransferBuffer (GPUDeviceParam device, GPUTransferBuffer transfer_buffer)
 Frees the given transfer buffer as soon as it is safe to do so. More...
 
void ReleaseGPUComputePipeline (GPUDeviceParam device, GPUComputePipeline compute_pipeline)
 Frees the given compute pipeline as soon as it is safe to do so. More...
 
void ReleaseGPUShader (GPUDeviceParam device, GPUShader shader)
 Frees the given shader as soon as it is safe to do so. More...
 
void ReleaseGPUGraphicsPipeline (GPUDeviceParam device, GPUGraphicsPipeline graphics_pipeline)
 Frees the given graphics pipeline as soon as it is safe to do so. More...
 
GPUCommandBuffer AcquireGPUCommandBuffer (GPUDeviceParam device)
 Acquire a command buffer. More...
 
void PushGPUVertexUniformData (GPUCommandBuffer command_buffer, Uint32 slot_index, SourceBytes data)
 Pushes data to a vertex uniform slot on the command buffer. More...
 
void PushGPUFragmentUniformData (GPUCommandBuffer command_buffer, Uint32 slot_index, SourceBytes data)
 Pushes data to a fragment uniform slot on the command buffer. More...
 
void PushGPUComputeUniformData (GPUCommandBuffer command_buffer, Uint32 slot_index, SourceBytes data)
 Pushes data to a uniform slot on the command buffer. More...
 
GPURenderPass BeginGPURenderPass (GPUCommandBuffer command_buffer, std::span< const GPUColorTargetInfo > color_target_infos, OptionalRef< const GPUDepthStencilTargetInfo > depth_stencil_target_info)
 Begins a render pass on a command buffer. More...
 
void BindGPUGraphicsPipeline (GPURenderPass render_pass, GPUGraphicsPipeline graphics_pipeline)
 Binds a graphics pipeline on a render pass to be used in rendering. More...
 
void SetGPUViewport (GPURenderPass render_pass, const GPUViewport &viewport)
 Sets the current viewport state on a command buffer. More...
 
void SetGPUScissor (GPURenderPass render_pass, const RectRaw &scissor)
 Sets the current scissor state on a command buffer. More...
 
void SetGPUBlendConstants (GPURenderPass render_pass, FColorRaw blend_constants)
 Sets the current blend constants on a command buffer. More...
 
void SetGPUStencilReference (GPURenderPass render_pass, Uint8 reference)
 Sets the current stencil reference value on a command buffer. More...
 
void BindGPUVertexBuffers (GPURenderPass render_pass, Uint32 first_slot, std::span< const GPUBufferBinding > bindings)
 Binds vertex buffers on a command buffer for use with subsequent draw calls. More...
 
void BindGPUIndexBuffer (GPURenderPass render_pass, const GPUBufferBinding &binding, GPUIndexElementSize index_element_size)
 Binds an index buffer on a command buffer for use with subsequent draw calls. More...
 
void BindGPUVertexSamplers (GPURenderPass render_pass, Uint32 first_slot, std::span< const GPUTextureSamplerBinding > texture_sampler_bindings)
 Binds texture-sampler pairs for use on the vertex shader. More...
 
void BindGPUVertexStorageTextures (GPURenderPass render_pass, Uint32 first_slot, SpanRef< const GPUTextureRaw > storage_textures)
 Binds storage textures for use on the vertex shader. More...
 
void BindGPUVertexStorageBuffers (GPURenderPass render_pass, Uint32 first_slot, SpanRef< const GPUBufferRaw > storage_buffers)
 Binds storage buffers for use on the vertex shader. More...
 
void BindGPUFragmentSamplers (GPURenderPass render_pass, Uint32 first_slot, std::span< const GPUTextureSamplerBinding > texture_sampler_bindings)
 Binds texture-sampler pairs for use on the fragment shader. More...
 
void BindGPUFragmentStorageTextures (GPURenderPass render_pass, Uint32 first_slot, SpanRef< const GPUTextureRaw > storage_textures)
 Binds storage textures for use on the fragment shader. More...
 
void BindGPUFragmentStorageBuffers (GPURenderPass render_pass, Uint32 first_slot, SpanRef< const GPUBufferRaw > storage_buffers)
 Binds storage buffers for use on the fragment shader. More...
 
void DrawGPUIndexedPrimitives (GPURenderPass render_pass, Uint32 num_indices, Uint32 num_instances, Uint32 first_index, Sint32 vertex_offset, Uint32 first_instance)
 Draws data using bound graphics state with an index buffer and instancing enabled. More...
 
void DrawGPUPrimitives (GPURenderPass render_pass, Uint32 num_vertices, Uint32 num_instances, Uint32 first_vertex, Uint32 first_instance)
 Draws data using bound graphics state. More...
 
void DrawGPUPrimitivesIndirect (GPURenderPass render_pass, GPUBuffer buffer, Uint32 offset, Uint32 draw_count)
 Draws data using bound graphics state and with draw parameters set from a buffer. More...
 
void DrawGPUIndexedPrimitivesIndirect (GPURenderPass render_pass, GPUBuffer buffer, Uint32 offset, Uint32 draw_count)
 Draws data using bound graphics state with an index buffer enabled and with draw parameters set from a buffer. More...
 
void EndGPURenderPass (GPURenderPass render_pass)
 Ends the given render pass. More...
 
GPUComputePass BeginGPUComputePass (GPUCommandBuffer command_buffer, std::span< const GPUStorageTextureReadWriteBinding > storage_texture_bindings, std::span< const GPUStorageBufferReadWriteBinding > storage_buffer_bindings)
 Begins a compute pass on a command buffer. More...
 
void BindGPUComputePipeline (GPUComputePass compute_pass, GPUComputePipeline compute_pipeline)
 Binds a compute pipeline on a command buffer for use in compute dispatch. More...
 
void BindGPUComputeSamplers (GPUComputePass compute_pass, Uint32 first_slot, std::span< const GPUTextureSamplerBinding > texture_sampler_bindings)
 Binds texture-sampler pairs for use on the compute shader. More...
 
void BindGPUComputeStorageTextures (GPUComputePass compute_pass, Uint32 first_slot, SpanRef< const GPUTextureRaw > storage_textures)
 Binds storage textures as readonly for use on the compute pipeline. More...
 
void BindGPUComputeStorageBuffers (GPUComputePass compute_pass, Uint32 first_slot, SpanRef< const GPUBufferRaw > storage_buffers)
 Binds storage buffers as readonly for use on the compute pipeline. More...
 
void DispatchGPUCompute (GPUComputePass compute_pass, Uint32 groupcount_x, Uint32 groupcount_y, Uint32 groupcount_z)
 Dispatches compute work. More...
 
void DispatchGPUComputeIndirect (GPUComputePass compute_pass, GPUBuffer buffer, Uint32 offset)
 Dispatches compute work with parameters set from a buffer. More...
 
void EndGPUComputePass (GPUComputePass compute_pass)
 Ends the current compute pass. More...
 
void * MapGPUTransferBuffer (GPUDeviceParam device, GPUTransferBuffer transfer_buffer, bool cycle)
 Maps a transfer buffer into application address space. More...
 
void UnmapGPUTransferBuffer (GPUDeviceParam device, GPUTransferBuffer transfer_buffer)
 Unmaps a previously mapped transfer buffer. More...
 
GPUCopyPass BeginGPUCopyPass (GPUCommandBuffer command_buffer)
 Begins a copy pass on a command buffer. More...
 
void UploadToGPUTexture (GPUCopyPass copy_pass, const GPUTextureTransferInfo &source, const GPUTextureRegion &destination, bool cycle)
 Uploads data from a transfer buffer to a texture. More...
 
void UploadToGPUBuffer (GPUCopyPass copy_pass, const GPUTransferBufferLocation &source, const GPUBufferRegion &destination, bool cycle)
 Uploads data from a transfer buffer to a buffer. More...
 
void CopyGPUTextureToTexture (GPUCopyPass copy_pass, const GPUTextureLocation &source, const GPUTextureLocation &destination, Uint32 w, Uint32 h, Uint32 d, bool cycle)
 Performs a texture-to-texture copy. More...
 
void CopyGPUBufferToBuffer (GPUCopyPass copy_pass, const GPUBufferLocation &source, const GPUBufferLocation &destination, Uint32 size, bool cycle)
 Performs a buffer-to-buffer copy. More...
 
void DownloadFromGPUTexture (GPUCopyPass copy_pass, const GPUTextureRegion &source, const GPUTextureTransferInfo &destination)
 Copies data from a texture to a transfer buffer on the GPU timeline. More...
 
void DownloadFromGPUBuffer (GPUCopyPass copy_pass, const GPUBufferRegion &source, const GPUTransferBufferLocation &destination)
 Copies data from a buffer to a transfer buffer on the GPU timeline. More...
 
void EndGPUCopyPass (GPUCopyPass copy_pass)
 Ends the current copy pass. More...
 
void GenerateMipmapsForGPUTexture (GPUCommandBuffer command_buffer, GPUTexture texture)
 Generates mipmaps for the given texture. More...
 
void BlitGPUTexture (GPUCommandBuffer command_buffer, const GPUBlitInfo &info)
 Blits from a source texture region to a destination texture region. More...
 
bool WindowSupportsGPUSwapchainComposition (GPUDeviceParam device, WindowParam window, GPUSwapchainComposition swapchain_composition)
 Determines whether a swapchain composition is supported by the window. More...
 
bool WindowSupportsGPUPresentMode (GPUDeviceParam device, WindowParam window, GPUPresentMode present_mode)
 Determines whether a presentation mode is supported by the window. More...
 
void ClaimWindowForGPUDevice (GPUDeviceParam device, WindowParam window)
 Claims a window, creating a swapchain structure for it. More...
 
void ReleaseWindowFromGPUDevice (GPUDeviceParam device, WindowParam window)
 Unclaims a window, destroying its swapchain structure. More...
 
bool SetGPUSwapchainParameters (GPUDeviceParam device, WindowParam window, GPUSwapchainComposition swapchain_composition, GPUPresentMode present_mode)
 Changes the swapchain parameters for the given claimed window. More...
 
bool SetGPUAllowedFramesInFlight (GPUDeviceParam device, Uint32 allowed_frames_in_flight)
 Configures the maximum allowed number of frames in flight. More...
 
GPUTextureFormat GetGPUSwapchainTextureFormat (GPUDeviceParam device, WindowParam window)
 Obtains the texture format of the swapchain for the given window. More...
 
GPUTexture AcquireGPUSwapchainTexture (GPUCommandBuffer command_buffer, WindowParam window, Uint32 *swapchain_texture_width=nullptr, Uint32 *swapchain_texture_height=nullptr)
 Acquire a texture to use in presentation. More...
 
void WaitForGPUSwapchain (GPUDeviceParam device, WindowParam window)
 Blocks the thread until a swapchain texture is available to be acquired. More...
 
GPUTexture WaitAndAcquireGPUSwapchainTexture (GPUCommandBuffer command_buffer, WindowParam window, Uint32 *swapchain_texture_width=nullptr, Uint32 *swapchain_texture_height=nullptr)
 Blocks the thread until a swapchain texture is available to be acquired, and then acquires it. More...
 
void SubmitGPUCommandBuffer (GPUCommandBuffer command_buffer)
 Submits a command buffer so its commands can be processed on the GPU. More...
 
GPUFenceSubmitGPUCommandBufferAndAcquireFence (GPUCommandBuffer command_buffer)
 Submits a command buffer so its commands can be processed on the GPU, and acquires a fence associated with the command buffer. More...
 
void CancelGPUCommandBuffer (GPUCommandBuffer command_buffer)
 Cancels a command buffer. More...
 
void WaitForGPUIdle (GPUDeviceParam device)
 Blocks the thread until the GPU is completely idle. More...
 
void WaitForGPUFences (GPUDeviceParam device, bool wait_all, std::span< GPUFence *const > fences)
 Blocks the thread until the given fences are signaled. More...
 
bool QueryGPUFence (GPUDeviceParam device, GPUFence *fence)
 Checks the status of a fence. More...
 
void ReleaseGPUFence (GPUDeviceParam device, GPUFence *fence)
 Releases a fence obtained from GPUCommandBuffer.SubmitAndAcquireFence. More...
 
Uint32 GPUTextureFormatTexelBlockSize (GPUTextureFormat format)
 Obtains the texel block size for a texture format. More...
 
bool GPUTextureSupportsFormat (GPUDeviceParam device, GPUTextureFormat format, GPUTextureType type, GPUTextureUsageFlags usage)
 Determines whether a texture format is supported for a given type and usage. More...
 
bool GPUTextureSupportsSampleCount (GPUDeviceParam device, GPUTextureFormat format, GPUSampleCount sample_count)
 Determines if a sample count for a texture format is supported. More...
 
Uint32 CalculateGPUTextureFormatSize (GPUTextureFormat format, Uint32 width, Uint32 height, Uint32 depth_or_layer_count)
 Calculate the size in bytes of a texture format with dimensions. More...
 
std::string GUIDToString (const GUIDRaw &guid)
 Get an ASCII string representation for a given GUID. More...
 
GUID StringToGUID (StringParam pchGUID)
 Convert a GUID string into a GUID structure. More...
 
OwnArray< HapticIDGetHaptics ()
 Get a list of currently connected haptic devices. More...
 
const char * GetHapticNameForID (HapticID instance_id)
 Get the implementation dependent name of a haptic device. More...
 
Haptic OpenHaptic (HapticID instance_id)
 Open a haptic device for use. More...
 
HapticRef GetHapticFromID (HapticID instance_id)
 Get the Haptic associated with an instance ID, if it has been opened. More...
 
HapticID GetHapticID (HapticParam haptic)
 Get the instance ID of an opened haptic device. More...
 
const char * GetHapticName (HapticParam haptic)
 Get the implementation dependent name of a haptic device. More...
 
bool IsMouseHaptic ()
 Query whether or not the current mouse has haptic capabilities. More...
 
Haptic OpenHapticFromMouse ()
 Try to open a haptic device from the current mouse. More...
 
bool IsJoystickHaptic (JoystickParam joystick)
 Query if a joystick has haptic features. More...
 
Haptic OpenHapticFromJoystick (JoystickParam joystick)
 Open a haptic device for use from a joystick device. More...
 
void CloseHaptic (HapticRaw haptic)
 Close a haptic device previously opened with Haptic.Haptic(). More...
 
int GetMaxHapticEffects (HapticParam haptic)
 Get the number of effects a haptic device can store. More...
 
int GetMaxHapticEffectsPlaying (HapticParam haptic)
 Get the number of effects a haptic device can play at the same time. More...
 
Uint32 GetHapticFeatures (HapticParam haptic)
 Get the haptic device's supported features in bitwise manner. More...
 
int GetNumHapticAxes (HapticParam haptic)
 Get the number of haptic axes the device has. More...
 
bool HapticEffectSupported (HapticParam haptic, const HapticEffect &effect)
 Check to see if an effect is supported by a haptic device. More...
 
int CreateHapticEffect (HapticParam haptic, const HapticEffect &effect)
 Create a new haptic effect on a specified device. More...
 
void UpdateHapticEffect (HapticParam haptic, int effect, const HapticEffect &data)
 Update the properties of an effect. More...
 
void RunHapticEffect (HapticParam haptic, int effect, Uint32 iterations)
 Run the haptic effect on its associated haptic device. More...
 
void StopHapticEffect (HapticParam haptic, int effect)
 Stop the haptic effect on its associated haptic device. More...
 
void DestroyHapticEffect (HapticParam haptic, int effect)
 Destroy a haptic effect on the device. More...
 
bool GetHapticEffectStatus (HapticParam haptic, int effect)
 Get the status of the current effect on the specified haptic device. More...
 
void SetHapticGain (HapticParam haptic, int gain)
 Set the global gain of the specified haptic device. More...
 
void SetHapticAutocenter (HapticParam haptic, int autocenter)
 Set the global autocenter of the device. More...
 
void PauseHaptic (HapticParam haptic)
 Pause a haptic device. More...
 
void ResumeHaptic (HapticParam haptic)
 Resume a haptic device. More...
 
void StopHapticEffects (HapticParam haptic)
 Stop all the currently playing effects on a haptic device. More...
 
bool HapticRumbleSupported (HapticParam haptic)
 Check whether rumble is supported on a haptic device. More...
 
void InitHapticRumble (HapticParam haptic)
 Initialize a haptic device for simple rumble playback. More...
 
void PlayHapticRumble (HapticParam haptic, float strength, Uint32 length)
 Run a simple rumble effect on a haptic device. More...
 
void StopHapticRumble (HapticParam haptic)
 Stop the simple rumble on a haptic device. More...
 
void hid_init ()
 Initialize the HIDAPI library. More...
 
void hid_exit ()
 Finalize the HIDAPI library. More...
 
Uint32 hid_device_change_count ()
 Check to see if devices may have been added or removed. More...
 
hid_device_infohid_enumerate (unsigned short vendor_id, unsigned short product_id)
 Enumerate the HID Devices. More...
 
void hid_free_enumeration (hid_device_info *devs)
 Free an enumeration linked list. More...
 
HidDevice hid_open (unsigned short vendor_id, unsigned short product_id, const wchar_t *serial_number)
 Open a HID device using a Vendor ID (VID), Product ID (PID) and optionally a serial number. More...
 
HidDevice hid_open_path (StringParam path)
 Open a HID device by its path name. More...
 
int hid_write (HidDeviceParam dev, SourceBytes data)
 Write an Output report to a HID device. More...
 
int hid_read_timeout (HidDeviceParam dev, TargetBytes data, Milliseconds timeout)
 Read an Input report from a HID device with timeout. More...
 
int hid_read (HidDeviceParam dev, TargetBytes data)
 Read an Input report from a HID device. More...
 
void hid_set_nonblocking (HidDeviceParam dev, bool nonblock)
 Set the device handle to be non-blocking. More...
 
int hid_send_feature_report (HidDeviceParam dev, SourceBytes data)
 Send a Feature report to the device. More...
 
int hid_get_feature_report (HidDeviceParam dev, TargetBytes data)
 Get a feature report from a HID device. More...
 
int hid_get_input_report (HidDeviceParam dev, TargetBytes data)
 Get an input report from a HID device. More...
 
void hid_close (HidDeviceRaw dev)
 Close a HID device. More...
 
void hid_get_manufacturer_string (HidDeviceParam dev, wchar_t *string, size_t maxlen)
 Get The Manufacturer String from a HID device. More...
 
void hid_get_product_string (HidDeviceParam dev, wchar_t *string, size_t maxlen)
 Get The Product String from a HID device. More...
 
void hid_get_serial_number_string (HidDeviceParam dev, wchar_t *string, size_t maxlen)
 Get The Serial Number String from a HID device. More...
 
void hid_get_indexed_string (HidDeviceParam dev, int string_index, wchar_t *string, size_t maxlen)
 Get a string from a HID device, based on its string index. More...
 
hid_device_infohid_get_device_info (HidDeviceParam dev)
 Get the device info from a HID device. More...
 
int hid_get_report_descriptor (HidDeviceParam dev, TargetBytes buf)
 Get a report descriptor from a HID device. More...
 
void hid_ble_scan (bool active)
 Start or stop a BLE scan on iOS and tvOS to pair Steam Controllers. More...
 
void SetHintWithPriority (StringParam name, StringParam value, HintPriority priority)
 Set a hint with a specific priority. More...
 
void SetHint (StringParam name, StringParam value)
 Set a hint with normal priority. More...
 
void ResetHint (StringParam name)
 Reset a hint to the default value. More...
 
void ResetHints ()
 Reset all hints to the default values. More...
 
const char * GetHint (StringParam name)
 Get the value of a hint. More...
 
bool GetHintBoolean (StringParam name, bool default_value)
 Get the boolean value of a hint variable. More...
 
void AddHintCallback (StringParam name, HintCallback callback, void *userdata)
 Add a function to watch a particular hint. More...
 
HintCallbackHandle AddHintCallback (StringParam name, HintCB callback)
 Add a function to watch a particular hint. More...
 
void RemoveHintCallback (StringParam name, HintCallback callback, void *userdata)
 Remove a function watching a particular hint. More...
 
void RemoveHintCallback (StringParam name, HintCallbackHandle handle)
 Remove a function watching a particular hint. More...
 
Surface LoadSurfaceTyped (IOStreamParam src, StringParam type, bool closeio=false)
 Load an image from an SDL data source into a software surface. More...
 
Surface LoadSurface (StringParam file)
 Load an image from a filesystem path into a software surface. More...
 
Surface LoadSurface (IOStreamParam src, bool closeio=false)
 Load an image from an SDL data source into a software surface. More...
 
Texture LoadTexture (RendererParam renderer, StringParam file)
 Load an image from a filesystem path into a GPU texture. More...
 
Texture LoadTexture (RendererParam renderer, IOStreamParam src, bool closeio=false)
 Load an image from an SDL data source into a GPU texture. More...
 
Texture LoadTextureTyped (RendererParam renderer, IOStreamParam src, StringParam type, bool closeio=false)
 Load an image from an SDL data source into a GPU texture. More...
 
bool isAVIF (IOStreamParam src)
 Detect AVIF image data on a readable/seekable IOStream. More...
 
bool isICO (IOStreamParam src)
 Detect ICO image data on a readable/seekable IOStream. More...
 
bool isCUR (IOStreamParam src)
 Detect CUR image data on a readable/seekable IOStream. More...
 
bool isBMP (IOStreamParam src)
 Detect BMP image data on a readable/seekable IOStream. More...
 
bool isGIF (IOStreamParam src)
 Detect GIF image data on a readable/seekable IOStream. More...
 
bool isJPG (IOStreamParam src)
 Detect JPG image data on a readable/seekable IOStream. More...
 
bool isJXL (IOStreamParam src)
 Detect JXL image data on a readable/seekable IOStream. More...
 
bool isLBM (IOStreamParam src)
 Detect LBM image data on a readable/seekable IOStream. More...
 
bool isPCX (IOStreamParam src)
 Detect PCX image data on a readable/seekable IOStream. More...
 
bool isPNG (IOStreamParam src)
 Detect PNG image data on a readable/seekable IOStream. More...
 
bool isPNM (IOStreamParam src)
 Detect PNM image data on a readable/seekable IOStream. More...
 
bool isSVG (IOStreamParam src)
 Detect SVG image data on a readable/seekable IOStream. More...
 
bool isQOI (IOStreamParam src)
 Detect QOI image data on a readable/seekable IOStream. More...
 
bool isTIF (IOStreamParam src)
 Detect TIFF image data on a readable/seekable IOStream. More...
 
bool isXCF (IOStreamParam src)
 Detect XCF image data on a readable/seekable IOStream. More...
 
bool isXPM (IOStreamParam src)
 Detect XPM image data on a readable/seekable IOStream. More...
 
bool isXV (IOStreamParam src)
 Detect XV image data on a readable/seekable IOStream. More...
 
bool isWEBP (IOStreamParam src)
 Detect WEBP image data on a readable/seekable IOStream. More...
 
Surface LoadAVIF (IOStreamParam src)
 Load a AVIF image directly. More...
 
Surface LoadICO (IOStreamParam src)
 Load a ICO image directly. More...
 
Surface LoadCUR (IOStreamParam src)
 Load a CUR image directly. More...
 
Surface LoadBMP (IOStreamParam src)
 Load a BMP image directly. More...
 
Surface LoadGIF (IOStreamParam src)
 Load a GIF image directly. More...
 
Surface LoadJPG (IOStreamParam src)
 Load a JPG image directly. More...
 
Surface LoadJXL (IOStreamParam src)
 Load a JXL image directly. More...
 
Surface LoadLBM (IOStreamParam src)
 Load a LBM image directly. More...
 
Surface LoadPCX (IOStreamParam src)
 Load a PCX image directly. More...
 
Surface LoadPNG (IOStreamParam src)
 Load a PNG image directly. More...
 
Surface LoadPNM (IOStreamParam src)
 Load a PNM image directly. More...
 
Surface LoadSVG (IOStreamParam src)
 Load a SVG image directly. More...
 
Surface LoadQOI (IOStreamParam src)
 Load a QOI image directly. More...
 
Surface LoadTGA (IOStreamParam src)
 Load a TGA image directly. More...
 
Surface LoadTIF (IOStreamParam src)
 Load a TIFF image directly. More...
 
Surface LoadXCF (IOStreamParam src)
 Load a XCF image directly. More...
 
Surface LoadXPM (IOStreamParam src)
 Load a XPM image directly. More...
 
Surface LoadXV (IOStreamParam src)
 Load a XV image directly. More...
 
Surface LoadWEBP (IOStreamParam src)
 Load a WEBP image directly. More...
 
Surface LoadSizedSVG (IOStreamParam src, const PointRaw &size)
 Load an SVG image, scaled to a specific size. More...
 
Surface ReadXPMFromArray (char **xpm)
 Load an XPM image from a memory array. More...
 
Surface ReadXPMFromArrayToRGB888 (char **xpm)
 Load an XPM image from a memory array. More...
 
void SaveAVIF (SurfaceParam surface, StringParam file, int quality)
 Save an Surface into a AVIF image file. More...
 
void SaveAVIF (SurfaceParam surface, IOStreamParam dst, int quality, bool closeio=false)
 Save an Surface into AVIF image data, via an IOStream. More...
 
void SavePNG (SurfaceParam surface, StringParam file)
 Save an Surface into a PNG image file. More...
 
void SavePNG (SurfaceParam surface, IOStreamParam dst, bool closeio=false)
 Save an Surface into PNG image data, via an IOStream. More...
 
void SaveJPG (SurfaceParam surface, StringParam file, int quality)
 Save an Surface into a JPEG image file. More...
 
void SaveJPG (SurfaceParam surface, IOStreamParam dst, int quality, bool closeio=false)
 Save an Surface into JPEG image data, via an IOStream. More...
 
Animation LoadAnimation (StringParam file)
 Load an animation from a file. More...
 
Animation LoadAnimation (IOStreamParam src, bool closeio=false)
 Load an animation from an IOStream. More...
 
Animation LoadAnimationTyped (IOStreamParam src, StringParam type, bool closeio=false)
 Load an animation from an SDL datasource. More...
 
void FreeAnimation (AnimationRaw anim)
 Dispose of an Animation and free its resources. More...
 
Animation LoadGIFAnimation (IOStreamParam src)
 Load a GIF animation directly. More...
 
Animation LoadWEBPAnimation (IOStreamParam src)
 Load a WEBP animation directly. More...
 
void Init (InitFlags flags)
 Initialize the SDL library. More...
 
void InitSubSystem (InitFlags flags)
 Compatibility function to initialize the SDL library. More...
 
void QuitSubSystem (InitFlags flags)
 Shut down specific SDL subsystems. More...
 
InitFlags WasInit (InitFlags flags)
 Get a mask of the specified subsystems which are currently initialized. More...
 
void Quit ()
 Clean up all initialized subsystems. More...
 
bool IsMainThread ()
 Return whether this is the main thread. More...
 
void RunOnMainThread (MainThreadCallback callback, void *userdata, bool wait_complete)
 Call a function on the main thread during event processing. More...
 
void RunOnMainThread (MainThreadCB callback, bool wait_complete)
 Call a function on the main thread during event processing. More...
 
void SetAppMetadata (StringParam appname, StringParam appversion, StringParam appidentifier)
 Specify basic metadata about your app. More...
 
void SetAppMetadataProperty (StringParam name, StringParam value)
 Specify metadata about your app through a set of properties. More...
 
const char * GetAppMetadataProperty (StringParam name)
 Get metadata about your app. More...
 
template<HasIterateFunction T>
AppResult IterateClass (T *state)
 Iterate the state. More...
 
template<class T >
AppResult DefaultEventClass (T *state, const SDL_Event &event)
 Default handle by finishing if QUIT is requested. More...
 
template<class T >
void DefaultClassDestroy (T *state)
 Destroy state with delete;. More...
 
IOStream IOFromFile (StringParam file, StringParam mode)
 Use this function to create a new IOStream structure for reading from and/or writing to a named file. More...
 
IOStream IOFromMem (TargetBytes mem)
 Use this function to prepare a read-write memory buffer for use with IOStream. More...
 
IOStream IOFromConstMem (SourceBytes mem)
 Use this function to prepare a read-only memory buffer for use with IOStream. More...
 
IOStream IOFromDynamicMem ()
 Use this function to create an IOStream that is backed by dynamically allocated memory. More...
 
IOStream OpenIO (const IOStreamInterface &iface, void *userdata)
 Create a custom IOStream. More...
 
void CloseIO (IOStreamRaw context)
 Close and free an allocated IOStream structure. More...
 
PropertiesRef GetIOProperties (IOStreamParam context)
 Get the properties associated with an IOStream. More...
 
IOStatus GetIOStatus (IOStreamParam context)
 Query the stream status of an IOStream. More...
 
Sint64 GetIOSize (IOStreamParam context)
 Use this function to get the size of the data stream in an IOStream. More...
 
Sint64 SeekIO (IOStreamParam context, Sint64 offset, IOWhence whence)
 Seek within an IOStream data stream. More...
 
Sint64 TellIO (IOStreamParam context)
 Determine the current read/write offset in an IOStream data stream. More...
 
size_t ReadIO (IOStreamParam context, TargetBytes buf)
 Read from a data source. More...
 
size_t WriteIO (IOStreamParam context, SourceBytes buf)
 Write to an IOStream data stream. More...
 
size_t IOprintf (IOStreamParam context, SDL_PRINTF_FORMAT_STRING const char *fmt,...)
 Print to an IOStream data stream. More...
 
size_t IOvprintf (IOStreamParam context, SDL_PRINTF_FORMAT_STRING const char *fmt, va_list ap)
 Print to an IOStream data stream. More...
 
void FlushIO (IOStreamParam context)
 Flush any buffered data in the stream. More...
 
StringResult LoadFile (IOStreamParam src, bool closeio=true)
 Load all the data from an SDL data stream. More...
 
StringResult LoadFile (StringParam file)
 Load all the data from a file path. More...
 
template<class T >
OwnArray< T > LoadFileAs (StringParam file)
 Load all the data from a file path. More...
 
void SaveFile (IOStreamParam src, SourceBytes data, bool closeio=false)
 Save all the data into an SDL data stream. More...
 
void SaveFile (StringParam file, SourceBytes data)
 Save all the data into a file path. More...
 
Uint8 ReadU8 (IOStreamParam src)
 Use this function to read a byte from an IOStream. More...
 
Sint8 ReadS8 (IOStreamParam src)
 Use this function to read a signed byte from an IOStream. More...
 
Uint16 ReadU16LE (IOStreamParam src)
 Use this function to read 16 bits of little-endian data from an IOStream and return in native format. More...
 
Sint16 ReadS16LE (IOStreamParam src)
 Use this function to read 16 bits of little-endian data from an IOStream and return in native format. More...
 
Uint16 ReadU16BE (IOStreamParam src)
 Use this function to read 16 bits of big-endian data from an IOStream and return in native format. More...
 
Sint16 ReadS16BE (IOStreamParam src)
 Use this function to read 16 bits of big-endian data from an IOStream and return in native format. More...
 
Uint32 ReadU32LE (IOStreamParam src)
 Use this function to read 32 bits of little-endian data from an IOStream and return in native format. More...
 
Sint32 ReadS32LE (IOStreamParam src)
 Use this function to read 32 bits of little-endian data from an IOStream and return in native format. More...
 
Uint32 ReadU32BE (IOStreamParam src)
 Use this function to read 32 bits of big-endian data from an IOStream and return in native format. More...
 
Sint32 ReadS32BE (IOStreamParam src)
 Use this function to read 32 bits of big-endian data from an IOStream and return in native format. More...
 
Uint64 ReadU64LE (IOStreamParam src)
 Use this function to read 64 bits of little-endian data from an IOStream and return in native format. More...
 
Sint64 ReadS64LE (IOStreamParam src)
 Use this function to read 64 bits of little-endian data from an IOStream and return in native format. More...
 
Uint64 ReadU64BE (IOStreamParam src)
 Use this function to read 64 bits of big-endian data from an IOStream and return in native format. More...
 
Sint64 ReadS64BE (IOStreamParam src)
 Use this function to read 64 bits of big-endian data from an IOStream and return in native format. More...
 
void WriteU8 (IOStreamParam dst, Uint8 value)
 Use this function to write a byte to an IOStream. More...
 
void WriteS8 (IOStreamParam dst, Sint8 value)
 Use this function to write a signed byte to an IOStream. More...
 
void WriteU16LE (IOStreamParam dst, Uint16 value)
 Use this function to write 16 bits in native format to an IOStream as little-endian data. More...
 
void WriteS16LE (IOStreamParam dst, Sint16 value)
 Use this function to write 16 bits in native format to an IOStream as little-endian data. More...
 
void WriteU16BE (IOStreamParam dst, Uint16 value)
 Use this function to write 16 bits in native format to an IOStream as big-endian data. More...
 
void WriteS16BE (IOStreamParam dst, Sint16 value)
 Use this function to write 16 bits in native format to an IOStream as big-endian data. More...
 
void WriteU32LE (IOStreamParam dst, Uint32 value)
 Use this function to write 32 bits in native format to an IOStream as little-endian data. More...
 
void WriteS32LE (IOStreamParam dst, Sint32 value)
 Use this function to write 32 bits in native format to an IOStream as little-endian data. More...
 
void WriteU32BE (IOStreamParam dst, Uint32 value)
 Use this function to write 32 bits in native format to an IOStream as big-endian data. More...
 
void WriteS32BE (IOStreamParam dst, Sint32 value)
 Use this function to write 32 bits in native format to an IOStream as big-endian data. More...
 
void WriteU64LE (IOStreamParam dst, Uint64 value)
 Use this function to write 64 bits in native format to an IOStream as little-endian data. More...
 
void WriteS64LE (IOStreamParam dst, Sint64 value)
 Use this function to write 64 bits in native format to an IOStream as little-endian data. More...
 
void WriteU64BE (IOStreamParam dst, Uint64 value)
 Use this function to write 64 bits in native format to an IOStream as big-endian data. More...
 
void WriteS64BE (IOStreamParam dst, Sint64 value)
 Use this function to write 64 bits in native format to an IOStream as big-endian data. More...
 
void LockJoysticks (void)
 Locking for atomic access to the joystick API. More...
 
void UnlockJoysticks (void)
 Unlocking for atomic access to the joystick API. More...
 
bool HasJoystick ()
 Return whether a joystick is currently connected. More...
 
OwnArray< JoystickIDGetJoysticks ()
 Get a list of currently connected joysticks. More...
 
const char * GetJoystickNameForID (JoystickID instance_id)
 Get the implementation dependent name of a joystick. More...
 
const char * GetJoystickPathForID (JoystickID instance_id)
 Get the implementation dependent path of a joystick. More...
 
int GetJoystickPlayerIndexForID (JoystickID instance_id)
 Get the player index of a joystick. More...
 
GUID GetJoystickGUIDForID (JoystickID instance_id)
 Get the implementation-dependent GUID of a joystick. More...
 
Uint16 GetJoystickVendorForID (JoystickID instance_id)
 Get the USB vendor ID of a joystick, if available. More...
 
Uint16 GetJoystickProductForID (JoystickID instance_id)
 Get the USB product ID of a joystick, if available. More...
 
Uint16 GetJoystickProductVersionForID (JoystickID instance_id)
 Get the product version of a joystick, if available. More...
 
JoystickType GetJoystickTypeForID (JoystickID instance_id)
 Get the type of a joystick, if available. More...
 
Joystick OpenJoystick (JoystickID instance_id)
 Open a joystick for use. More...
 
JoystickRef GetJoystickFromID (JoystickID instance_id)
 Get the Joystick associated with an instance ID, if it has been opened. More...
 
JoystickRef GetJoystickFromPlayerIndex (int player_index)
 Get the Joystick associated with a player index. More...
 
JoystickID AttachVirtualJoystick (const VirtualJoystickDesc &desc)
 Attach a new virtual joystick. More...
 
void DetachVirtualJoystick (JoystickID instance_id)
 Detach a virtual joystick. More...
 
bool IsJoystickVirtual (JoystickID instance_id)
 Query whether or not a joystick is virtual. More...
 
void SetJoystickVirtualAxis (JoystickParam joystick, int axis, Sint16 value)
 Set the state of an axis on an opened virtual joystick. More...
 
void SetJoystickVirtualBall (JoystickParam joystick, int ball, Sint16 xrel, Sint16 yrel)
 Generate ball motion on an opened virtual joystick. More...
 
void SetJoystickVirtualButton (JoystickParam joystick, int button, bool down)
 Set the state of a button on an opened virtual joystick. More...
 
void SetJoystickVirtualHat (JoystickParam joystick, int hat, Uint8 value)
 Set the state of a hat on an opened virtual joystick. More...
 
void SetJoystickVirtualTouchpad (JoystickParam joystick, int touchpad, int finger, bool down, const FPointRaw &p, float pressure)
 Set touchpad finger state on an opened virtual joystick. More...
 
void SendJoystickVirtualSensorData (JoystickParam joystick, SensorType type, Uint64 sensor_timestamp, const float *data, int num_values)
 Send a sensor update for an opened virtual joystick. More...
 
PropertiesRef GetJoystickProperties (JoystickParam joystick)
 Get the properties associated with a joystick. More...
 
const char * GetJoystickName (JoystickParam joystick)
 Get the implementation dependent name of a joystick. More...
 
const char * GetJoystickPath (JoystickParam joystick)
 Get the implementation dependent path of a joystick. More...
 
int GetJoystickPlayerIndex (JoystickParam joystick)
 Get the player index of an opened joystick. More...
 
void SetJoystickPlayerIndex (JoystickParam joystick, int player_index)
 Set the player index of an opened joystick. More...
 
GUID GetJoystickGUID (JoystickParam joystick)
 Get the implementation-dependent GUID for the joystick. More...
 
Uint16 GetJoystickVendor (JoystickParam joystick)
 Get the USB vendor ID of an opened joystick, if available. More...
 
Uint16 GetJoystickProduct (JoystickParam joystick)
 Get the USB product ID of an opened joystick, if available. More...
 
Uint16 GetJoystickProductVersion (JoystickParam joystick)
 Get the product version of an opened joystick, if available. More...
 
Uint16 GetJoystickFirmwareVersion (JoystickParam joystick)
 Get the firmware version of an opened joystick, if available. More...
 
const char * GetJoystickSerial (JoystickParam joystick)
 Get the serial number of an opened joystick, if available. More...
 
JoystickType GetJoystickType (JoystickParam joystick)
 Get the type of an opened joystick. More...
 
void GetJoystickGUIDInfo (GUID guid, Uint16 *vendor, Uint16 *product, Uint16 *version, Uint16 *crc16)
 Get the device information encoded in a GUID structure. More...
 
bool JoystickConnected (JoystickParam joystick)
 Get the status of a specified joystick. More...
 
JoystickID GetJoystickID (JoystickParam joystick)
 Get the instance ID of an opened joystick. More...
 
int GetNumJoystickAxes (JoystickParam joystick)
 Get the number of general axis controls on a joystick. More...
 
int GetNumJoystickBalls (JoystickParam joystick)
 Get the number of trackballs on a joystick. More...
 
int GetNumJoystickHats (JoystickParam joystick)
 Get the number of POV hats on a joystick. More...
 
int GetNumJoystickButtons (JoystickParam joystick)
 Get the number of buttons on a joystick. More...
 
void SetJoystickEventsEnabled (bool enabled)
 Set the state of joystick event processing. More...
 
bool JoystickEventsEnabled ()
 Query the state of joystick event processing. More...
 
void UpdateJoysticks ()
 Update the current state of the open joysticks. More...
 
Sint16 GetJoystickAxis (JoystickParam joystick, int axis)
 Get the current state of an axis control on a joystick. More...
 
bool GetJoystickAxisInitialState (JoystickParam joystick, int axis, Sint16 *state)
 Get the initial state of an axis control on a joystick. More...
 
void GetJoystickBall (JoystickParam joystick, int ball, int *dx, int *dy)
 Get the ball axis change since the last poll. More...
 
Uint8 GetJoystickHat (JoystickParam joystick, int hat)
 Get the current state of a POV hat on a joystick. More...
 
bool GetJoystickButton (JoystickParam joystick, int button)
 Get the current state of a button on a joystick. More...
 
bool RumbleJoystick (JoystickParam joystick, Uint16 low_frequency_rumble, Uint16 high_frequency_rumble, Uint32 duration_ms)
 Start a rumble effect. More...
 
void RumbleJoystickTriggers (JoystickParam joystick, Uint16 left_rumble, Uint16 right_rumble, Uint32 duration_ms)
 Start a rumble effect in the joystick's triggers. More...
 
void SetJoystickLED (JoystickParam joystick, Uint8 red, Uint8 green, Uint8 blue)
 Update a joystick's LED color. More...
 
void SendJoystickEffect (JoystickParam joystick, const void *data, int size)
 Send a joystick specific effect packet. More...
 
void CloseJoystick (JoystickRaw joystick)
 Close a joystick previously opened with JoystickID.OpenJoystick(). More...
 
JoystickConnectionState GetJoystickConnectionState (JoystickParam joystick)
 Get the connection state of a joystick. More...
 
PowerState GetJoystickPowerInfo (JoystickParam joystick, int *percent)
 Get the battery state of a joystick. More...
 
bool HasKeyboard ()
 Return whether a keyboard is currently connected. More...
 
OwnArray< KeyboardIDGetKeyboards ()
 Get a list of currently connected keyboards. More...
 
const char * GetKeyboardNameForID (KeyboardID instance_id)
 Get the name of a keyboard. More...
 
WindowRef GetKeyboardFocus ()
 Query the window which currently has keyboard focus. More...
 
std::span< const bool > GetKeyboardState ()
 Get a snapshot of the current state of the keyboard. More...
 
void ResetKeyboard ()
 Clear the state of the keyboard. More...
 
Keymod GetModState ()
 Get the current key modifier state for the keyboard. More...
 
void SetModState (Keymod modstate)
 Set the current key modifier state for the keyboard. More...
 
bool HasScreenKeyboardSupport ()
 Check whether the platform has screen keyboard support. More...
 
constexpr Keycode ScancodeToKeycode (Scancode x)
 Transform scancode to keycode. More...
 
SharedObject LoadObject (StringParam sofile)
 Dynamically load a shared object. More...
 
FunctionPointer LoadFunction (SharedObjectParam handle, StringParam name)
 Look up the address of the named function in a shared object. More...
 
void UnloadObject (SharedObjectRaw handle)
 Unload a shared object from memory. More...
 
OwnArray< Locale * > GetPreferredLocales ()
 Report the user's preferred locale. More...
 
void SetMainReady ()
 Circumvent failure of Init() when not using SDL_main() as an entry point. More...
 
int RunApp (int argc, char *argv[], main_func mainFunction, void *reserved)
 Initializes and launches an SDL application, by doing platform-specific initialization before calling your mainFunction and cleanups after it returns, if that is needed for a specific platform, otherwise it just calls mainFunction. More...
 
int EnterAppMainCallbacks (int argc, char *argv[], AppInit_func appinit, AppIterate_func appiter, AppEvent_func appevent, AppQuit_func appquit)
 An entry point for SDL's use in SDL3PP_MAIN_USE_CALLBACKS. More...
 
void GDKSuspendComplete ()
 Callback from the application to let the suspend continue. More...
 
void ShowMessageBox (const MessageBoxRaw &messageboxdata, int *buttonid)
 Create a modal message box. More...
 
void ShowSimpleMessageBox (MessageBoxFlags flags, StringParam title, StringParam message, WindowParam window)
 Display a simple modal message box. More...
 
MetalView Metal_CreateView (WindowParam window)
 Create a CAMetalLayer-backed NSView/UIView and attach it to the specified window. More...
 
void Metal_DestroyView (MetalViewRaw view)
 Destroy an existing MetalView object. More...
 
void * Metal_GetLayer (MetalViewParam view)
 Get a pointer to the backing CAMetalLayer for the given view. More...
 
void OpenURL (StringParam url)
 Open a URL/URI in the browser or other appropriate external application. More...
 
constexpr MouseButtonFlags ButtonMask (MouseButton button)
 Returns mask for button.
 
bool HasMouse ()
 Return whether a mouse is currently connected. More...
 
OwnArray< MouseIDGetMice ()
 Get a list of currently connected mice. More...
 
const char * GetMouseNameForID (MouseID instance_id)
 Get the name of a mouse. More...
 
WindowRef GetMouseFocus ()
 Get the window which currently has mouse focus. More...
 
MouseButtonFlags GetMouseState (float *x, float *y)
 Query SDL's cache for the synchronous mouse button state and the window-relative SDL-cursor position. More...
 
MouseButtonFlags GetGlobalMouseState (float *x, float *y)
 Query the platform for the asynchronous mouse button state and the desktop-relative platform-cursor position. More...
 
MouseButtonFlags GetRelativeMouseState (float *x, float *y)
 Query SDL's cache for the synchronous mouse button state and accumulated mouse delta since last call. More...
 
void WarpMouse (const FPointRaw &p)
 Move the mouse to the given position in global screen space. More...
 
void CaptureMouse (bool enabled)
 Capture the mouse and to track input outside an SDL window. More...
 
Cursor CreateCursor (const Uint8 *data, const Uint8 *mask, const PointRaw &size, const PointRaw &hot)
 Create a cursor using the specified bitmap data and mask (in MSB format). More...
 
Cursor CreateColorCursor (SurfaceParam surface, const PointRaw &hot)
 Create a color cursor. More...
 
Cursor CreateSystemCursor (SystemCursor id)
 Create a system cursor. More...
 
void SetCursor (CursorParam cursor)
 Set the active cursor. More...
 
CursorRef GetCursor ()
 Get the active cursor. More...
 
CursorRef GetDefaultCursor ()
 Get the default cursor. More...
 
void DestroyCursor (CursorRaw cursor)
 Free a previously-created cursor. More...
 
void ShowCursor ()
 Show the cursor. More...
 
void HideCursor ()
 Hide the cursor. More...
 
bool CursorVisible ()
 Return whether the cursor is currently being shown. More...
 
Mutex CreateMutex ()
 Create a new mutex. More...
 
void LockMutex (MutexParam mutex)
 Lock the mutex. More...
 
void TryLockMutex (MutexParam mutex)
 Try to lock a mutex without blocking. More...
 
void UnlockMutex (MutexParam mutex)
 Unlock the mutex. More...
 
void DestroyMutex (MutexRaw mutex)
 Destroy a mutex created with Mutex.Mutex(). More...
 
RWLock CreateRWLock ()
 Create a new read/write lock. More...
 
void LockRWLockForReading (RWLockParam rwlock)
 Lock the read/write lock for read only operations. More...
 
void LockRWLockForWriting (RWLockParam rwlock)
 Lock the read/write lock for write operations. More...
 
void TryLockRWLockForReading (RWLockParam rwlock)
 Try to lock a read/write lock for reading without blocking. More...
 
void TryLockRWLockForWriting (RWLockParam rwlock)
 Try to lock a read/write lock for writing without blocking. More...
 
void UnlockRWLock (RWLockParam rwlock)
 Unlock the read/write lock. More...
 
void DestroyRWLock (RWLockRaw rwlock)
 Destroy a read/write lock created with RWLock.RWLock(). More...
 
Semaphore CreateSemaphore (Uint32 initial_value)
 Create a semaphore. More...
 
void DestroySemaphore (SemaphoreRaw sem)
 Destroy a semaphore. More...
 
void WaitSemaphore (SemaphoreParam sem)
 Wait until a semaphore has a positive value and then decrements it. More...
 
bool TryWaitSemaphore (SemaphoreParam sem)
 See if a semaphore has a positive value and decrement it if it does. More...
 
bool WaitSemaphoreTimeout (SemaphoreParam sem, std::chrono::milliseconds timeout)
 Wait until a semaphore has a positive value and then decrements it. More...
 
void SignalSemaphore (SemaphoreParam sem)
 Atomically increment a semaphore's value and wake waiting threads. More...
 
Uint32 GetSemaphoreValue (SemaphoreParam sem)
 Get the current value of a semaphore. More...
 
Condition CreateCondition ()
 Create a condition variable. More...
 
void DestroyCondition (ConditionRaw cond)
 Destroy a condition variable. More...
 
void SignalCondition (ConditionParam cond)
 Restart one of the threads that are waiting on the condition variable. More...
 
void BroadcastCondition (ConditionParam cond)
 Restart all threads that are waiting on the condition variable. More...
 
void WaitCondition (ConditionParam cond, MutexParam mutex)
 Wait until a condition variable is signaled. More...
 
bool WaitConditionTimeout (ConditionParam cond, MutexParam mutex, std::chrono::milliseconds timeout)
 Wait until a condition variable is signaled or a certain time has passed. More...
 
bool ShouldInit (InitStateRaw *state)
 Return whether initialization should be done. More...
 
bool ShouldQuit (InitStateRaw *state)
 Return whether cleanup should be done. More...
 
void SetInitialized (InitStateRaw *state, bool initialized)
 Finish an initialization state transition. More...
 
template<class T >
constexpr OptionalRef< T > fromNullable (T *ptr)
 Create OptionalRef from a nullable pointer.
 
constexpr Uint32 DefinePixelFourCC (Uint8 A, Uint8 B, Uint8 C, Uint8 D)
 A function for defining custom FourCC pixel formats. More...
 
constexpr PixelFormat DefinePixelFormat (PixelType type, int order, PackedLayout layout, int bits, int bytes)
 A macro for defining custom non-FourCC pixel formats. More...
 
constexpr Uint8 PixelFormatFlags (PixelFormatRaw format)
 Retrieve the flags of an PixelFormat. More...
 
constexpr PixelType PixelFormatType (PixelFormatRaw format)
 A macro to retrieve the type of an PixelFormat. More...
 
constexpr int PixelFormatOrder (PixelFormatRaw format)
 A macro to retrieve the order of an PixelFormat. More...
 
constexpr PackedLayout PixelFormatLayout (PixelFormatRaw format)
 A macro to retrieve the layout of an PixelFormat. More...
 
constexpr int PixelFormatBitsPerPixel (PixelFormatRaw format)
 A macro to determine an PixelFormat's bits per pixel. More...
 
constexpr int PixelFormatBytesPerPixel (PixelFormatRaw format)
 A macro to determine an PixelFormat's bytes per pixel. More...
 
constexpr bool IsPixelFormatIndexed (PixelFormatRaw format)
 A macro to determine if an PixelFormat is an indexed format. More...
 
constexpr bool IsPixelFormatPacked (PixelFormatRaw format)
 A macro to determine if an PixelFormat is a packed format. More...
 
constexpr bool IsPixelFormatArray (PixelFormatRaw format)
 A macro to determine if an PixelFormat is an array format. More...
 
constexpr bool IsPixelFormat10Bit (PixelFormatRaw format)
 A macro to determine if an PixelFormat is a 10-bit format. More...
 
constexpr bool IsPixelFormatFloat (PixelFormatRaw format)
 A macro to determine if an PixelFormat is a floating point format. More...
 
constexpr Colorspace DefineColorspace (ColorType type, ColorRange range, ColorPrimaries primaries, TransferCharacteristics transfer, MatrixCoefficients matrix, ChromaLocation chroma)
 A macro for defining custom Colorspace formats. More...
 
constexpr ColorType ColorspaceType (ColorspaceRaw cspace)
 A macro to retrieve the type of an Colorspace. More...
 
constexpr ColorRange ColorspaceRange (ColorspaceRaw cspace)
 A macro to retrieve the range of an Colorspace. More...
 
constexpr ChromaLocation ColorspaceChroma (ColorspaceRaw cspace)
 A macro to retrieve the chroma sample location of an Colorspace. More...
 
constexpr ColorPrimaries ColorspacePrimaries (ColorspaceRaw cspace)
 A macro to retrieve the primaries of an Colorspace. More...
 
constexpr TransferCharacteristics ColorspaceTransfer (ColorspaceRaw cspace)
 A macro to retrieve the transfer characteristics of an Colorspace. More...
 
constexpr MatrixCoefficients ColorspaceMatrix (ColorspaceRaw cspace)
 A macro to retrieve the matrix coefficients of an Colorspace. More...
 
constexpr bool IsColorspaceMatrixBT601 (ColorspaceRaw cspace)
 A macro to determine if an Colorspace uses BT601 (or BT470BG) matrix coefficients. More...
 
constexpr bool IsColorspaceMatrixBT709 (ColorspaceRaw cspace)
 A macro to determine if an Colorspace uses BT709 matrix coefficients. More...
 
constexpr bool IsColorspaceMatrixBT2020_NCL (ColorspaceRaw cspace)
 A macro to determine if an Colorspace uses BT2020_NCL matrix coefficients. More...
 
constexpr bool IsColorspaceLimitedRange (ColorspaceRaw cspace)
 A macro to determine if an Colorspace has a limited range. More...
 
constexpr bool IsColorspaceFullRange (ColorspaceRaw cspace)
 A macro to determine if an Colorspace has a full range. More...
 
const char * GetPixelFormatName (PixelFormatRaw format)
 Get the human readable name of a pixel format. More...
 
void GetMasksForPixelFormat (PixelFormatRaw format, int *bpp, Uint32 *Rmask, Uint32 *Gmask, Uint32 *Bmask, Uint32 *Amask)
 Convert one of the enumerated pixel formats to a bpp value and RGBA masks. More...
 
PixelFormat GetPixelFormatForMasks (int bpp, Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask)
 Convert a bpp value and RGBA masks to an enumerated pixel format. More...
 
const PixelFormatDetailsGetPixelFormatDetails (PixelFormatRaw format)
 Create an PixelFormatDetails structure corresponding to a pixel format. More...
 
Palette CreatePalette (int ncolors)
 Create a palette structure with the specified number of color entries. More...
 
void SetPaletteColors (PaletteParam palette, SpanRef< const ColorRaw > colors, int firstcolor=0)
 Set a range of colors in a palette. More...
 
void DestroyPalette (PaletteRaw palette)
 Free a palette created with Palette.Palette(). More...
 
Uint32 MapRGB (const PixelFormatDetails &format, PaletteConstParam palette, Uint8 r, Uint8 g, Uint8 b)
 Map an RGB triple to an opaque pixel value for a given pixel format. More...
 
Uint32 MapRGBA (const PixelFormatDetails &format, PaletteConstParam palette, ColorRaw c)
 Map an RGBA quadruple to a pixel value for a given pixel format. More...
 
void GetRGB (Uint32 pixel, const PixelFormatDetails &format, PaletteConstParam palette, Uint8 *r, Uint8 *g, Uint8 *b)
 Get RGB values from a pixel in the specified format. More...
 
void GetRGBA (Uint32 pixel, const PixelFormatDetails &format, PaletteConstParam palette, Uint8 *r, Uint8 *g, Uint8 *b, Uint8 *a)
 Get RGBA values from a pixel in the specified format. More...
 
const char * GetPlatform ()
 Get the name of the platform. More...
 
PowerState GetPowerInfo (int *seconds, int *percent)
 Get the current power supply details. More...
 
Process CreateProcess (const char *const *args, bool pipe_stdio)
 Create a new process. More...
 
Process CreateProcessWithProperties (PropertiesParam props)
 Create a new process with the specified properties. More...
 
PropertiesRef GetProcessProperties (ProcessParam process)
 Get the properties associated with a process. More...
 
StringResult ReadProcess (ProcessParam process, int *exitcode=nullptr)
 Read all the output from a process. More...
 
IOStreamRef GetProcessInput (ProcessParam process)
 Get the IOStream associated with process standard input. More...
 
IOStreamRef GetProcessOutput (ProcessParam process)
 Get the IOStream associated with process standard output. More...
 
void KillProcess (ProcessParam process, bool force)
 Stop a process. More...
 
bool WaitProcess (ProcessParam process, bool block, int *exitcode)
 Wait for a process to finish. More...
 
void DestroyProcess (ProcessRaw process)
 Destroy a previously created process object. More...
 
PropertiesRef GetGlobalProperties ()
 Get the global SDL properties. More...
 
Properties CreateProperties ()
 Create a group of properties. More...
 
void CopyProperties (PropertiesParam src, PropertiesParam dst)
 Copy a group of properties. More...
 
void LockProperties (PropertiesParam props)
 Lock a group of properties. More...
 
void UnlockProperties (PropertiesParam props)
 Unlock a group of properties. More...
 
void SetPointerPropertyWithCleanup (PropertiesParam props, StringParam name, void *value, CleanupPropertyCallback cleanup, void *userdata)
 Set a pointer property in a group of properties with a cleanup function that is called when the property is deleted. More...
 
void SetPointerPropertyWithCleanup (PropertiesParam props, StringParam name, void *value, CleanupPropertyCB cleanup)
 Set a pointer property in a group of properties with a cleanup function that is called when the property is deleted. More...
 
void SetPointerProperty (PropertiesParam props, StringParam name, void *value)
 Set a pointer property in a group of properties. More...
 
void SetStringProperty (PropertiesParam props, StringParam name, StringParam value)
 Set a string property in a group of properties. More...
 
void SetNumberProperty (PropertiesParam props, StringParam name, Sint64 value)
 Set an integer property in a group of properties. More...
 
void SetFloatProperty (PropertiesParam props, StringParam name, float value)
 Set a floating point property in a group of properties. More...
 
void SetBooleanProperty (PropertiesParam props, StringParam name, bool value)
 Set a boolean property in a group of properties. More...
 
bool HasProperty (PropertiesParam props, StringParam name)
 Return whether a property exists in a group of properties. More...
 
PropertyType GetPropertyType (PropertiesParam props, StringParam name)
 Get the type of a property in a group of properties. More...
 
void * GetPointerProperty (PropertiesParam props, StringParam name, void *default_value)
 Get a pointer property from a group of properties. More...
 
const char * GetStringProperty (PropertiesParam props, StringParam name, StringParam default_value)
 Get a string property from a group of properties. More...
 
Sint64 GetNumberProperty (PropertiesParam props, StringParam name, Sint64 default_value)
 Get a number property from a group of properties. More...
 
float GetFloatProperty (PropertiesParam props, StringParam name, float default_value)
 Get a floating point property from a group of properties. More...
 
bool GetBooleanProperty (PropertiesParam props, StringParam name, bool default_value)
 Get a boolean property from a group of properties. More...
 
void ClearProperty (PropertiesParam props, StringParam name)
 Clear a property from a group of properties. More...
 
void EnumerateProperties (PropertiesParam props, EnumeratePropertiesCallback callback, void *userdata)
 Enumerate the properties contained in a group of properties. More...
 
void EnumerateProperties (PropertiesParam props, EnumeratePropertiesCB callback)
 Enumerate the properties contained in a group of properties. More...
 
Uint64 CountProperties (PropertiesParam props)
 Returns the number of properties this has. More...
 
void DestroyProperties (PropertiesID props)
 Destroy a group of properties. More...
 
constexpr FRect RectToFRect (const RectRaw &rect)
 Convert an Rect to FRect. More...
 
constexpr bool PointInRect (const PointRaw &p, const RectRaw &r)
 Determine whether a point resides inside a rectangle. More...
 
constexpr bool RectEmpty (const RectRaw &r)
 Determine whether a rectangle has no area. More...
 
constexpr bool RectsEqual (const RectRaw &a, const RectRaw &b)
 Determine whether two rectangles are equal. More...
 
constexpr bool HasRectIntersection (const RectRaw &A, const RectRaw &B)
 Determine whether two rectangles intersect. More...
 
constexpr std::optional< RectGetRectIntersection (const RectRaw &A, const RectRaw &B)
 Calculate the intersection of two rectangles. More...
 
constexpr Rect GetRectUnion (const RectRaw &A, const RectRaw &B)
 Calculate the union of two rectangles. More...
 
Rect GetRectEnclosingPoints (SpanRef< const PointRaw > points, OptionalRef< const RectRaw > clip)
 Calculate a minimal rectangle enclosing a set of points. More...
 
bool GetRectAndLineIntersection (const RectRaw &rect, int *X1, int *Y1, int *X2, int *Y2)
 Calculate the intersection of a rectangle and line segment. More...
 
constexpr bool PointInRectFloat (const FPointRaw &p, const FRectRaw &r)
 Determine whether a point resides inside a floating point rectangle. More...
 
constexpr bool RectEmptyFloat (const FRectRaw &r)
 Determine whether a floating point rectangle can contain any point. More...
 
constexpr bool RectsEqualEpsilon (const FRectRaw &a, const FRectRaw &b, const float epsilon)
 Determine whether two floating point rectangles are equal, within some given epsilon. More...
 
constexpr bool RectsEqualFloat (const FRectRaw &a, const FRectRaw &b)
 Determine whether two floating point rectangles are equal, within a default epsilon. More...
 
constexpr bool HasRectIntersectionFloat (const FRectRaw &A, const FRectRaw &B)
 Determine whether two rectangles intersect with float precision. More...
 
constexpr FRect GetRectIntersectionFloat (const FRectRaw &A, const FRectRaw &B)
 Calculate the intersection of two rectangles with float precision. More...
 
constexpr FRect GetRectUnionFloat (const FRectRaw &A, const FRectRaw &B)
 Calculate the union of two rectangles with float precision. More...
 
FRect GetRectEnclosingPointsFloat (SpanRef< const FPointRaw > points, OptionalRef< const FRectRaw > clip)
 Calculate a minimal rectangle enclosing a set of points with float precision. More...
 
bool GetRectAndLineIntersectionFloat (const FRectRaw &rect, float *X1, float *Y1, float *X2, float *Y2)
 Calculate the intersection of a rectangle and line segment with float precision. More...
 
int GetNumRenderDrivers ()
 Get the number of 2D rendering drivers available for the current display. More...
 
const char * GetRenderDriver (int index)
 Use this function to get the name of a built in 2D rendering driver. More...
 
std::pair< Window, RendererCreateWindowAndRenderer (StringParam title, const PointRaw &size, WindowFlags window_flags=0)
 Create a window and default renderer. More...
 
Renderer CreateRenderer (WindowParam window, StringParam name)
 Create a 2D rendering context for a window. More...
 
Renderer CreateRendererWithProperties (PropertiesParam props)
 Create a 2D rendering context for a window, with the specified properties. More...
 
Renderer CreateSoftwareRenderer (SurfaceParam surface)
 Create a 2D software rendering context for a surface. More...
 
WindowRef GetRenderWindow (RendererParam renderer)
 Get the window associated with a renderer. More...
 
const char * GetRendererName (RendererParam renderer)
 Get the name of a renderer. More...
 
PropertiesRef GetRendererProperties (RendererParam renderer)
 Get the properties associated with a renderer. More...
 
void GetRenderOutputSize (RendererParam renderer, int *w, int *h)
 Get the output size in pixels of a rendering context. More...
 
void GetCurrentRenderOutputSize (RendererParam renderer, int *w, int *h)
 Get the current output size in pixels of a rendering context. More...
 
Texture CreateTexture (RendererParam renderer, PixelFormat format, TextureAccess access, const PointRaw &size)
 Create a texture for a rendering context. More...
 
Texture CreateTextureFromSurface (RendererParam renderer, SurfaceParam surface)
 Create a texture from an existing surface. More...
 
Texture CreateTextureWithProperties (RendererParam renderer, PropertiesParam props)
 Create a texture for a rendering context with the specified properties. More...
 
PropertiesRef GetTextureProperties (TextureParam texture)
 Get the properties associated with a texture. More...
 
RendererRef GetRendererFromTexture (TextureParam texture)
 Get the renderer that created an Texture. More...
 
void GetTextureSize (TextureParam texture, float *w, float *h)
 Get the size of a texture, as floating point values. More...
 
void SetTextureColorMod (TextureParam texture, Uint8 r, Uint8 g, Uint8 b)
 Set an additional color value multiplied into render copy operations. More...
 
void SetTextureColorModFloat (TextureParam texture, float r, float g, float b)
 Set an additional color value multiplied into render copy operations. More...
 
void GetTextureColorMod (TextureParam texture, Uint8 *r, Uint8 *g, Uint8 *b)
 Get the additional color value multiplied into render copy operations. More...
 
void GetTextureColorModFloat (TextureParam texture, float *r, float *g, float *b)
 Get the additional color value multiplied into render copy operations. More...
 
void SetTextureAlphaMod (TextureParam texture, Uint8 alpha)
 Set an additional alpha value multiplied into render copy operations. More...
 
void SetTextureAlphaModFloat (TextureParam texture, float alpha)
 Set an additional alpha value multiplied into render copy operations. More...
 
Uint8 GetTextureAlphaMod (TextureParam texture)
 Get the additional alpha value multiplied into render copy operations. More...
 
float GetTextureAlphaModFloat (TextureParam texture)
 Get the additional alpha value multiplied into render copy operations. More...
 
void SetTextureBlendMode (TextureParam texture, BlendMode blendMode)
 Set the blend mode for a texture, used by Renderer.RenderTexture(). More...
 
BlendMode GetTextureBlendMode (TextureParam texture)
 Get the blend mode used for texture copy operations. More...
 
void SetTextureScaleMode (TextureParam texture, ScaleMode scaleMode)
 Set the scale mode used for texture scale operations. More...
 
ScaleMode GetTextureScaleMode (TextureParam texture)
 Get the scale mode used for texture scale operations. More...
 
void UpdateTexture (TextureParam texture, OptionalRef< const RectRaw > rect, const void *pixels, int pitch)
 Update the given texture rectangle with new pixel data. More...
 
void UpdateYUVTexture (TextureParam texture, OptionalRef< const RectRaw > rect, const Uint8 *Yplane, int Ypitch, const Uint8 *Uplane, int Upitch, const Uint8 *Vplane, int Vpitch)
 Update a rectangle within a planar YV12 or IYUV texture with new pixel data. More...
 
void UpdateNVTexture (TextureParam texture, OptionalRef< const RectRaw > rect, const Uint8 *Yplane, int Ypitch, const Uint8 *UVplane, int UVpitch)
 Update a rectangle within a planar NV12 or NV21 texture with new pixels. More...
 
void LockTexture (TextureParam texture, OptionalRef< const SDL_Rect > rect, void **pixels, int *pitch)
 Lock a portion of the texture for write-only pixel access. More...
 
Surface LockTextureToSurface (TextureParam texture, OptionalRef< const SDL_Rect > rect=std::nullopt)
 Lock a portion of the texture for write-only pixel access, and expose it as a SDL surface. More...
 
void UnlockTexture (TextureParam texture)
 Unlock a texture, uploading the changes to video memory, if needed. More...
 
void SetRenderTarget (RendererParam renderer, TextureParam texture)
 Set a texture as the current rendering target. More...
 
Texture GetRenderTarget (RendererParam renderer)
 Get the current render target. More...
 
void SetRenderLogicalPresentation (RendererParam renderer, const PointRaw &size, RendererLogicalPresentation mode)
 Set a device-independent resolution and presentation mode for rendering. More...
 
void GetRenderLogicalPresentation (RendererParam renderer, int *w, int *h, RendererLogicalPresentation *mode)
 Get device independent resolution and presentation mode for rendering. More...
 
FRect GetRenderLogicalPresentationRect (RendererParam renderer)
 Get the final presentation rectangle for rendering. More...
 
FPoint RenderCoordinatesFromWindow (RendererParam renderer, const FPointRaw &window_coord)
 Get a point in render coordinates when given a point in window coordinates. More...
 
FPoint RenderCoordinatesToWindow (RendererParam renderer, const FPointRaw &coord)
 Get a point in window coordinates when given a point in render coordinates. More...
 
void ConvertEventToRenderCoordinates (RendererParam renderer, Event *event)
 Convert the coordinates in an event to render coordinates. More...
 
void SetRenderViewport (RendererParam renderer, OptionalRef< const RectRaw > rect)
 Set the drawing area for rendering on the current target. More...
 
Rect GetRenderViewport (RendererParam renderer)
 Get the drawing area for the current target. More...
 
bool RenderViewportSet (RendererParam renderer)
 Return whether an explicit rectangle was set as the viewport. More...
 
Rect GetRenderSafeArea (RendererParam renderer)
 Get the safe area for rendering within the current viewport. More...
 
void SetRenderClipRect (RendererParam renderer, OptionalRef< const RectRaw > rect)
 Set the clip rectangle for rendering on the specified target. More...
 
Rect GetRenderClipRect (RendererParam renderer)
 Get the clip rectangle for the current target. More...
 
bool RenderClipEnabled (RendererParam renderer)
 Get whether clipping is enabled on the given render target. More...
 
void SetRenderScale (RendererParam renderer, const FPointRaw &scale)
 Set the drawing scale for rendering on the current target. More...
 
void GetRenderScale (RendererParam renderer, float *scaleX, float *scaleY)
 Get the drawing scale for the current target. More...
 
void SetRenderDrawColor (RendererParam renderer, ColorRaw c)
 Set the color used for drawing operations. More...
 
void SetRenderDrawColorFloat (RendererParam renderer, const FColorRaw &c)
 Set the color used for drawing operations (Rect, Line and Clear). More...
 
void GetRenderDrawColor (RendererParam renderer, Uint8 *r, Uint8 *g, Uint8 *b, Uint8 *a)
 Get the color used for drawing operations (Rect, Line and Clear). More...
 
void GetRenderDrawColorFloat (RendererParam renderer, float *r, float *g, float *b, float *a)
 Get the color used for drawing operations (Rect, Line and Clear). More...
 
void SetRenderColorScale (RendererParam renderer, float scale)
 Set the color scale used for render operations. More...
 
float GetRenderColorScale (RendererParam renderer)
 Get the color scale used for render operations. More...
 
void SetRenderDrawBlendMode (RendererParam renderer, BlendMode blendMode)
 Set the blend mode used for drawing operations (Fill and Line). More...
 
BlendMode GetRenderDrawBlendMode (RendererParam renderer)
 Get the blend mode used for drawing operations. More...
 
void RenderClear (RendererParam renderer)
 Clear the current rendering target with the drawing color. More...
 
void RenderPoint (RendererParam renderer, const FPointRaw &p)
 Draw a point on the current rendering target at subpixel precision. More...
 
void RenderPoints (RendererParam renderer, SpanRef< const FPointRaw > points)
 Draw multiple points on the current rendering target at subpixel precision. More...
 
void RenderLine (RendererParam renderer, const FPointRaw &p1, const FPointRaw &p2)
 Draw a line on the current rendering target at subpixel precision. More...
 
void RenderLines (RendererParam renderer, SpanRef< const FPointRaw > points)
 Draw a series of connected lines on the current rendering target at subpixel precision. More...
 
void RenderRect (RendererParam renderer, OptionalRef< const FRectRaw > rect)
 Draw a rectangle on the current rendering target at subpixel precision. More...
 
void RenderRects (RendererParam renderer, SpanRef< const FRectRaw > rects)
 Draw some number of rectangles on the current rendering target at subpixel precision. More...
 
void RenderFillRect (RendererParam renderer, OptionalRef< const FRectRaw > rect)
 Fill a rectangle on the current rendering target with the drawing color at subpixel precision. More...
 
void RenderFillRects (RendererParam renderer, SpanRef< const FRectRaw > rects)
 Fill some number of rectangles on the current rendering target with the drawing color at subpixel precision. More...
 
void RenderTexture (RendererParam renderer, TextureParam texture, OptionalRef< const FRectRaw > srcrect, OptionalRef< const FRectRaw > dstrect)
 Copy a portion of the texture to the current rendering target at subpixel precision. More...
 
void RenderTextureRotated (RendererParam renderer, TextureParam texture, OptionalRef< const FRectRaw > srcrect, OptionalRef< const FRectRaw > dstrect, double angle, OptionalRef< const FPointRaw > center, FlipMode flip=FlipMode::SDL_FLIP_NONE)
 Copy a portion of the source texture to the current rendering target, with rotation and flipping, at subpixel precision. More...
 
void RenderTextureAffine (RendererParam renderer, TextureParam texture, OptionalRef< const FRectRaw > srcrect, OptionalRef< const FPointRaw > origin, OptionalRef< const FPointRaw > right, OptionalRef< const FPointRaw > down)
 Copy a portion of the source texture to the current rendering target, with affine transform, at subpixel precision. More...
 
void RenderTextureTiled (RendererParam renderer, TextureParam texture, OptionalRef< const FRectRaw > srcrect, float scale, OptionalRef< const FRectRaw > dstrect)
 Tile a portion of the texture to the current rendering target at subpixel precision. More...
 
void RenderTexture9Grid (RendererParam renderer, TextureParam texture, OptionalRef< const FRectRaw > srcrect, float left_width, float right_width, float top_height, float bottom_height, float scale, OptionalRef< const FRectRaw > dstrect)
 Perform a scaled copy using the 9-grid algorithm to the current rendering target at subpixel precision. More...
 
void RenderGeometry (RendererParam renderer, TextureParam texture, std::span< const Vertex > vertices, std::span< const int > indices={})
 Render a list of triangles, optionally using a texture and indices into the vertex array Color and alpha modulation is done per vertex (Texture.SetColorMod and Texture.SetAlphaMod are ignored). More...
 
void RenderGeometryRaw (RendererParam renderer, TextureParam texture, const float *xy, int xy_stride, const FColor *color, int color_stride, const float *uv, int uv_stride, int num_vertices, const void *indices, int num_indices, int size_indices)
 Render a list of triangles, optionally using a texture and indices into the vertex arrays Color and alpha modulation is done per vertex (Texture.SetColorMod and Texture.SetAlphaMod are ignored). More...
 
Surface RenderReadPixels (RendererParam renderer, OptionalRef< const RectRaw > rect={})
 Read pixels from the current rendering target. More...
 
void RenderPresent (RendererParam renderer)
 Update the screen with any rendering performed since the previous call. More...
 
void DestroyTexture (TextureRaw texture)
 Destroy the specified texture. More...
 
void DestroyRenderer (RendererRaw renderer)
 Destroy the rendering context for a window and free all associated textures. More...
 
void FlushRenderer (RendererParam renderer)
 Force the rendering context to flush any pending commands and state. More...
 
void * GetRenderMetalLayer (RendererParam renderer)
 Get the CAMetalLayer associated with the given Metal renderer. More...
 
void * GetRenderMetalCommandEncoder (RendererParam renderer)
 Get the Metal command encoder for the current frame. More...
 
void AddVulkanRenderSemaphores (RendererParam renderer, Uint32 wait_stage_mask, Sint64 wait_semaphore, Sint64 signal_semaphore)
 Add a set of synchronization semaphores for the current frame. More...
 
void SetRenderVSync (RendererParam renderer, int vsync)
 Toggle VSync of the given renderer. More...
 
int GetRenderVSync (RendererParam renderer)
 Get VSync of the given renderer. More...
 
void RenderDebugText (RendererParam renderer, const FPointRaw &p, StringParam str)
 Draw debug text to an Renderer. More...
 
template<class... ARGS>
void RenderDebugTextFormat (RendererParam renderer, const FPointRaw &p, std::string_view fmt, ARGS... args)
 Draw debug text to an Renderer. More...
 
OwnArray< SensorIDGetSensors ()
 Get a list of currently connected sensors. More...
 
const char * GetSensorNameForID (SensorID instance_id)
 Get the implementation dependent name of a sensor. More...
 
SensorType GetSensorTypeForID (SensorID instance_id)
 Get the type of a sensor. More...
 
int GetSensorNonPortableTypeForID (SensorID instance_id)
 Get the platform dependent type of a sensor. More...
 
Sensor OpenSensor (SensorID instance_id)
 Open a sensor for use. More...
 
SensorRef GetSensorFromID (SensorID instance_id)
 Return the Sensor associated with an instance ID. More...
 
PropertiesRef GetSensorProperties (SensorParam sensor)
 Get the properties associated with a sensor. More...
 
const char * GetSensorName (SensorParam sensor)
 Get the implementation dependent name of a sensor. More...
 
SensorType GetSensorType (SensorParam sensor)
 Get the type of a sensor. More...
 
int GetSensorNonPortableType (SensorParam sensor)
 Get the platform dependent type of a sensor. More...
 
SensorID GetSensorID (SensorParam sensor)
 Get the instance ID of a sensor. More...
 
void GetSensorData (SensorParam sensor, float *data, int num_values)
 Get the current state of an opened sensor. More...
 
void CloseSensor (SensorRaw sensor)
 Close a sensor previously opened with Sensor.Sensor(). More...
 
void UpdateSensors ()
 Update the current state of the open sensors. More...
 
template<class T , std::size_t N>
constexpr std::size_t arraysize (const T(&array)[N])
 The number of elements in a static array. More...
 
constexpr Uint32 FourCC (Uint8 a, Uint8 b, Uint8 c, Uint8 d)
 Define a four character code as a Uint32. More...
 
constexpr float ToSeconds (Seconds duration)
 Converts a time duration to seconds (float).
 
constexpr Seconds FromSeconds (float duration)
 Converts a float to seconds representation.
 
constexpr Sint64 ToNS (Nanoseconds duration)
 Converts a time duration to nanoseconds (Sint64);.
 
constexpr Nanoseconds FromNS (Sint64 duration)
 Converts a Sint64 to nanoseconds representation.
 
void * malloc (size_t size)
 Allocate uninitialized memory. More...
 
void * calloc (size_t nmemb, size_t size)
 Allocate a zero-initialized array. More...
 
void * realloc (void *mem, size_t size)
 Change the size of allocated memory. More...
 
void free (void *mem)
 Free allocated memory. More...
 
void GetOriginalMemoryFunctions (malloc_func *malloc_func, calloc_func *calloc_func, realloc_func *realloc_func, free_func *free_func)
 Get the original set of SDL memory functions. More...
 
void GetMemoryFunctions (malloc_func *malloc_func, calloc_func *calloc_func, realloc_func *realloc_func, free_func *free_func)
 Get the current set of SDL memory functions. More...
 
void SetMemoryFunctions (malloc_func malloc_func, calloc_func calloc_func, realloc_func realloc_func, free_func free_func)
 Replace SDL's memory allocation functions with a custom set. More...
 
void * aligned_alloc (size_t alignment, size_t size)
 Allocate memory aligned to a specific alignment. More...
 
void aligned_free (void *mem)
 Free memory allocated by aligned_alloc(). More...
 
int GetNumAllocations ()
 Get the number of outstanding (unfreed) allocations. More...
 
EnvironmentRaw GetEnvironment ()
 Get the process environment. More...
 
Environment CreateEnvironment (bool populated)
 Create a set of environment variables. More...
 
const char * GetEnvironmentVariable (EnvironmentParam env, StringParam name)
 Get the value of a variable in the environment. More...
 
OwnArray< char * > GetEnvironmentVariables (EnvironmentParam env)
 Get all variables in the environment. More...
 
void SetEnvironmentVariable (EnvironmentParam env, StringParam name, StringParam value, bool overwrite)
 Set the value of a variable in the environment. More...
 
void UnsetEnvironmentVariable (EnvironmentParam env, StringParam name)
 Clear a variable from the environment. More...
 
void DestroyEnvironment (EnvironmentRaw env)
 Destroy a set of environment variables. More...
 
const char * getenv (StringParam name)
 Get the value of a variable in the environment. More...
 
const char * getenv_unsafe (StringParam name)
 Get the value of a variable in the environment. More...
 
int setenv_unsafe (StringParam name, StringParam value, int overwrite)
 Set the value of a variable in the environment. More...
 
int unsetenv_unsafe (StringParam name)
 Clear a variable from the environment. More...
 
void qsort (void *base, size_t nmemb, size_t size, CompareCallback compare)
 Sort an array. More...
 
void * bsearch (const void *key, const void *base, size_t nmemb, size_t size, CompareCallback compare)
 Perform a binary search on a previously sorted array. More...
 
void qsort_r (void *base, size_t nmemb, size_t size, CompareCallback_r compare, void *userdata)
 Sort an array, passing a userdata pointer to the compare function. More...
 
void qsort_r (void *base, size_t nmemb, size_t size, CompareCB compare)
 Sort an array, passing a userdata pointer to the compare function. More...
 
void * bsearch_r (const void *key, const void *base, size_t nmemb, size_t size, CompareCallback_r compare, void *userdata)
 Perform a binary search on a previously sorted array, passing a userdata pointer to the compare function. More...
 
void * bsearch_r (const void *key, const void *base, size_t nmemb, size_t size, CompareCB compare)
 Perform a binary search on a previously sorted array, passing a userdata pointer to the compare function. More...
 
int abs (int x)
 Compute the absolute value of x. More...
 
double abs (double x)
 Compute the absolute value of x More...
 
float abs (float x)
 Compute the absolute value of x More...
 
template<class T , class U >
constexpr T min (T x, U y)
 Return the lesser of two values. More...
 
template<class T , class U >
constexpr T max (T x, U y)
 Return the greater of two values. More...
 
template<class T , class U , class V >
constexpr T clamp (T x, U a, V b)
 Return a value clamped to a range. More...
 
int isalpha (int x)
 Query if a character is alphabetic (a letter). More...
 
int isalnum (int x)
 Query if a character is alphabetic (a letter) or a number. More...
 
int isblank (int x)
 Report if a character is blank (a space or tab). More...
 
int iscntrl (int x)
 Report if a character is a control character. More...
 
int isdigit (int x)
 Report if a character is a numeric digit. More...
 
int isxdigit (int x)
 Report if a character is a hexadecimal digit. More...
 
int ispunct (int x)
 Report if a character is a punctuation mark. More...
 
int isspace (int x)
 Report if a character is whitespace. More...
 
int isupper (int x)
 Report if a character is upper case. More...
 
int islower (int x)
 Report if a character is lower case. More...
 
int isprint (int x)
 Report if a character is "printable". More...
 
int isgraph (int x)
 Report if a character is any "printable" except space. More...
 
int toupper (int x)
 Convert low-ASCII English letters to uppercase. More...
 
int tolower (int x)
 Convert low-ASCII English letters to lowercase. More...
 
Uint16 crc16 (Uint16 crc, const void *data, size_t len)
 Calculate a CRC-16 value. More...
 
Uint32 crc32 (Uint32 crc, const void *data, size_t len)
 Calculate a CRC-32 value. More...
 
Uint32 murmur3_32 (const void *data, size_t len, Uint32 seed)
 Calculate a 32-bit MurmurHash3 value for a block of data. More...
 
void * memcpy (void *dst, const void *src, size_t len)
 Copy non-overlapping memory. More...
 
void * memmove (void *dst, const void *src, size_t len)
 Copy memory ranges that might overlap. More...
 
void * memset (void *dst, int c, size_t len)
 Initialize all bytes of buffer of memory to a specific value. More...
 
void * memset4 (void *dst, Uint32 val, size_t dwords)
 Initialize all 32-bit words of buffer of memory to a specific value. More...
 
template<class T >
void zero (T &x)
 Clear an object's memory to zero. More...
 
template<class T >
void zerop (T *x)
 Clear an object's memory to zero, using a pointer. More...
 
template<class T , std::size_t N>
void zeroa (T(&x)[N])
 Clear an array's memory to zero. More...
 
int memcmp (const void *s1, const void *s2, size_t len)
 Compare two buffers of memory. More...
 
size_t wcslen (const wchar_t *wstr)
 This works exactly like wcslen() but doesn't require access to a C runtime. More...
 
size_t wcsnlen (const wchar_t *wstr, size_t maxlen)
 This works exactly like wcsnlen() but doesn't require access to a C runtime. More...
 
size_t wcslcpy (wchar_t *dst, const wchar_t *src, size_t maxlen)
 Copy a wide string. More...
 
size_t wcslcat (wchar_t *dst, const wchar_t *src, size_t maxlen)
 Concatenate wide strings. More...
 
wchar_t * wcsdup (const wchar_t *wstr)
 Allocate a copy of a wide string. More...
 
wchar_t * wcsstr (const wchar_t *haystack, const wchar_t *needle)
 Search a wide string for the first instance of a specific substring. More...
 
wchar_t * wcsnstr (const wchar_t *haystack, const wchar_t *needle, size_t maxlen)
 Search a wide string, up to n wide chars, for the first instance of a specific substring. More...
 
int wcscmp (const wchar_t *str1, const wchar_t *str2)
 Compare two null-terminated wide strings. More...
 
int wcsncmp (const wchar_t *str1, const wchar_t *str2, size_t maxlen)
 Compare two wide strings up to a number of wchar_t values. More...
 
int wcscasecmp (const wchar_t *str1, const wchar_t *str2)
 Compare two null-terminated wide strings, case-insensitively. More...
 
int wcsncasecmp (const wchar_t *str1, const wchar_t *str2, size_t maxlen)
 Compare two wide strings, case-insensitively, up to a number of wchar_t. More...
 
long wcstol (const wchar_t *str, wchar_t **endp, int base)
 Parse a long from a wide string. More...
 
size_t strlen (StringParam str)
 This works exactly like strlen() but doesn't require access to a C runtime. More...
 
size_t strnlen (StringParam str, size_t maxlen)
 This works exactly like strnlen() but doesn't require access to a C runtime. More...
 
size_t strlcpy (char *dst, StringParam src, size_t maxlen)
 Copy a string. More...
 
size_t utf8strlcpy (char *dst, StringParam src, size_t dst_bytes)
 Copy an UTF-8 string. More...
 
size_t strlcat (char *dst, StringParam src, size_t maxlen)
 Concatenate strings. More...
 
char * strdup (StringParam str)
 Allocate a copy of a string. More...
 
char * strndup (StringParam str, size_t maxlen)
 Allocate a copy of a string, up to n characters. More...
 
char * strrev (char *str)
 Reverse a string's contents. More...
 
char * strupr (char *str)
 Convert a string to uppercase. More...
 
char * strlwr (char *str)
 Convert a string to lowercase. More...
 
char * strchr (StringParam str, int c)
 Search a string for the first instance of a specific byte. More...
 
char * strrchr (StringParam str, int c)
 Search a string for the last instance of a specific byte. More...
 
char * strstr (StringParam haystack, StringParam needle)
 Search a string for the first instance of a specific substring. More...
 
char * strnstr (StringParam haystack, StringParam needle, size_t maxlen)
 Search a string, up to n bytes, for the first instance of a specific substring. More...
 
char * strcasestr (StringParam haystack, StringParam needle)
 Search a UTF-8 string for the first instance of a specific substring, case-insensitively. More...
 
char * strtok_r (char *str, StringParam delim, char **saveptr)
 This works exactly like strtok_r() but doesn't require access to a C runtime. More...
 
size_t utf8strlen (StringParam str)
 Count the number of codepoints in a UTF-8 string. More...
 
size_t utf8strnlen (StringParam str, size_t bytes)
 Count the number of codepoints in a UTF-8 string, up to n bytes. More...
 
char * itoa (int value, char *str, int radix)
 Convert an integer into a string. More...
 
char * uitoa (unsigned int value, char *str, int radix)
 Convert an unsigned integer into a string. More...
 
char * ltoa (long value, char *str, int radix)
 Convert a long integer into a string. More...
 
char * ultoa (unsigned long value, char *str, int radix)
 Convert an unsigned long integer into a string. More...
 
int atoi (StringParam str)
 Parse an int from a string. More...
 
double atof (StringParam str)
 Parse a double from a string. More...
 
long strtol (StringParam str, char **endp, int base)
 Parse a long from a string. More...
 
unsigned long strtoul (StringParam str, char **endp, int base)
 Parse an unsigned long from a string. More...
 
double strtod (StringParam str, char **endp)
 Parse a double from a string. More...
 
int strcmp (StringParam str1, StringParam str2)
 Compare two null-terminated UTF-8 strings. More...
 
int strncmp (StringParam str1, StringParam str2, size_t maxlen)
 Compare two UTF-8 strings up to a number of bytes. More...
 
int strcasecmp (StringParam str1, StringParam str2)
 Compare two null-terminated UTF-8 strings, case-insensitively. More...
 
int strncasecmp (StringParam str1, StringParam str2, size_t maxlen)
 Compare two UTF-8 strings, case-insensitively, up to a number of bytes. More...
 
char * strpbrk (StringParam str, StringParam breakset)
 Searches a string for the first occurrence of any character contained in a breakset, and returns a pointer from the string to that character. More...
 
Uint32 StepUTF8 (const char **pstr, size_t *pslen)
 Decode a UTF-8 string, one Unicode codepoint at a time. More...
 
Uint32 StepBackUTF8 (StringParam start, const char **pstr)
 Decode a UTF-8 string in reverse, one Unicode codepoint at a time. More...
 
char * UCS4ToUTF8 (Uint32 codepoint, char *dst)
 Convert a single Unicode codepoint to UTF-8. More...
 
int sscanf (StringParam text, SDL_SCANF_FORMAT_STRING const char *fmt,...)
 This works exactly like sscanf() but doesn't require access to a C runtime. More...
 
int vsscanf (StringParam text, SDL_SCANF_FORMAT_STRING const char *fmt, va_list ap)
 This works exactly like vsscanf() but doesn't require access to a C runtime. More...
 
int snprintf (char *text, size_t maxlen, SDL_PRINTF_FORMAT_STRING const char *fmt,...)
 This works exactly like snprintf() but doesn't require access to a C runtime. More...
 
int swprintf (wchar_t *text, size_t maxlen, SDL_PRINTF_FORMAT_STRING const wchar_t *fmt,...)
 This works exactly like swprintf() but doesn't require access to a C runtime. More...
 
int vsnprintf (char *text, size_t maxlen, SDL_PRINTF_FORMAT_STRING const char *fmt, va_list ap)
 This works exactly like vsnprintf() but doesn't require access to a C runtime. More...
 
int vswprintf (wchar_t *text, size_t maxlen, SDL_PRINTF_FORMAT_STRING const wchar_t *fmt, va_list ap)
 This works exactly like vswprintf() but doesn't require access to a C runtime. More...
 
int asprintf (char **strp, SDL_PRINTF_FORMAT_STRING const char *fmt,...)
 This works exactly like asprintf() but doesn't require access to a C runtime. More...
 
int vasprintf (char **strp, SDL_PRINTF_FORMAT_STRING const char *fmt, va_list ap)
 This works exactly like vasprintf() but doesn't require access to a C runtime. More...
 
void srand (Uint64 seed)
 Seeds the pseudo-random number generator. More...
 
Sint32 rand (Sint32 n)
 Generate a pseudo-random number less than n for positive n. More...
 
float randf ()
 Generate a uniform pseudo-random floating point number less than 1.0. More...
 
Uint32 rand_bits ()
 Generate 32 pseudo-random bits. More...
 
Sint32 rand_r (Uint64 *state, Sint32 n)
 Generate a pseudo-random number less than n for positive n. More...
 
float randf_r (Uint64 *state)
 Generate a uniform pseudo-random floating point number less than 1.0. More...
 
Uint32 rand_bits_r (Uint64 *state)
 Generate 32 pseudo-random bits. More...
 
double acos (double x)
 Compute the arc cosine of x. More...
 
float acos (float x)
 Compute the arc cosine of x. More...
 
double asin (double x)
 Compute the arc sine of x. More...
 
float asin (float x)
 Compute the arc sine of x. More...
 
double atan (double x)
 Compute the arc tangent of x. More...
 
float atan (float x)
 Compute the arc tangent of x. More...
 
double atan2 (double y, double x)
 Compute the arc tangent of y / x, using the signs of x and y to adjust the result's quadrant. More...
 
float atan2 (float y, float x)
 Compute the arc tangent of y / x, using the signs of x and y to adjust the result's quadrant. More...
 
double ceil (double x)
 Compute the ceiling of x. More...
 
float ceil (float x)
 Compute the ceiling of x. More...
 
double copysign (double x, double y)
 Copy the sign of one floating-point value to another. More...
 
float copysign (float x, float y)
 Copy the sign of one floating-point value to another. More...
 
double cos (double x)
 Compute the cosine of x. More...
 
float cos (float x)
 Compute the cosine of x. More...
 
double exp (double x)
 Compute the exponential of x. More...
 
float exp (float x)
 Compute the exponential of x. More...
 
double floor (double x)
 Compute the floor of x. More...
 
float floor (float x)
 Compute the floor of x. More...
 
double trunc (double x)
 Truncate x to an integer. More...
 
float trunc (float x)
 Truncate x to an integer. More...
 
double fmod (double x, double y)
 Return the floating-point remainder of x / y More...
 
float fmod (float x, float y)
 Return the floating-point remainder of x / y More...
 
int isinf (double x)
 Return whether the value is infinity. More...
 
int isinf (float x)
 Return whether the value is infinity. More...
 
int isnan (double x)
 Return whether the value is NaN. More...
 
int isnan (float x)
 Return whether the value is NaN. More...
 
double log (double x)
 Compute the natural logarithm of x. More...
 
float log (float x)
 Compute the natural logarithm of x. More...
 
double log10 (double x)
 Compute the base-10 logarithm of x. More...
 
float log10 (float x)
 Compute the base-10 logarithm of x. More...
 
double modf (double x, double *y)
 Split x into integer and fractional parts. More...
 
float modf (float x, float *y)
 Split x into integer and fractional parts. More...
 
double pow (double x, double y)
 Raise x to the power y More...
 
float pow (float x, float y)
 Raise x to the power y More...
 
double round (double x)
 Round x to the nearest integer. More...
 
float round (float x)
 Round x to the nearest integer. More...
 
long lround (double x)
 Round x to the nearest integer representable as a long. More...
 
long lround (float x)
 Round x to the nearest integer representable as a long. More...
 
double scalbn (double x, int n)
 Scale x by an integer power of two. More...
 
float scalbn (float x, int n)
 Scale x by an integer power of two. More...
 
double sin (double x)
 Compute the sine of x. More...
 
float sin (float x)
 Compute the sine of x. More...
 
double sqrt (double x)
 Compute the square root of x. More...
 
float sqrt (float x)
 Compute the square root of x. More...
 
double tan (double x)
 Compute the tangent of x. More...
 
float tan (float x)
 Compute the tangent of x. More...
 
IConv iconv_open (StringParam tocode, StringParam fromcode)
 This function allocates a context for the specified character set conversion. More...
 
int iconv_close (IConvRaw cd)
 This function frees a context used for character set conversion. More...
 
size_t iconv (IConvRaw cd, const char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft)
 This function converts text between encodings, reading from and writing to a buffer. More...
 
OwnPtr< char > iconv_string (StringParam tocode, StringParam fromcode, StringParam inbuf, size_t inbytesleft)
 Helper function to convert a string's encoding in one call. More...
 
bool size_mul_check_overflow (size_t a, size_t b, size_t *ret)
 Multiply two integers, checking for overflow. More...
 
bool size_add_check_overflow (size_t a, size_t b, size_t *ret)
 Add two integers, checking for overflow. More...
 
Storage OpenTitleStorage (StringParam override, PropertiesParam props)
 Opens up a read-only container for the application's filesystem. More...
 
Storage OpenUserStorage (StringParam org, StringParam app, PropertiesParam props)
 Opens up a container for a user's unique read/write filesystem. More...
 
Storage OpenFileStorage (StringParam path)
 Opens up a container for local filesystem storage. More...
 
Storage OpenStorage (const StorageInterface &iface, void *userdata)
 Opens up a container using a client-provided storage interface. More...
 
bool CloseStorage (StorageRaw storage)
 Closes and frees a storage container. More...
 
bool StorageReady (StorageParam storage)
 Checks if the storage container is ready to use. More...
 
std::optional< Uint64GetStorageFileSize (StorageParam storage, StringParam path)
 Query the size of a file within a storage container. More...
 
bool ReadStorageFile (StorageParam storage, StringParam path, TargetBytes destination)
 Synchronously read a file from a storage container into a client-provided buffer. More...
 
std::string ReadStorageFile (StorageParam storage, StringParam path)
 Synchronously read a file from a storage container into a client-provided buffer. More...
 
template<class T >
std::vector< T > ReadStorageFileAs (StorageParam storage, StringParam path)
 Synchronously read a file from a storage container into a client-provided buffer. More...
 
void WriteStorageFile (StorageParam storage, StringParam path, SourceBytes source)
 Synchronously write a file from client memory into a storage container. More...
 
void CreateStorageDirectory (StorageParam storage, StringParam path)
 Create a directory in a writable storage container. More...
 
void EnumerateStorageDirectory (StorageParam storage, StringParam path, EnumerateDirectoryCallback callback, void *userdata)
 Enumerate a directory in a storage container through a callback function. More...
 
void EnumerateStorageDirectory (StorageParam storage, StringParam path, EnumerateDirectoryCB callback)
 Enumerate a directory in a storage container through a callback function. More...
 
std::vector< PathEnumerateStorageDirectory (StorageParam storage, StringParam path)
 Enumerate a directory in a storage container through a callback function. More...
 
void RemoveStoragePath (StorageParam storage, StringParam path)
 Remove a file or an empty directory in a writable storage container. More...
 
void RenameStoragePath (StorageParam storage, StringParam oldpath, StringParam newpath)
 Rename a file or directory in a writable storage container. More...
 
void CopyStorageFile (StorageParam storage, StringParam oldpath, StringParam newpath)
 Copy a file in a writable storage container. More...
 
PathInfo GetStoragePathInfo (StorageParam storage, StringParam path)
 Get information about a filesystem path in a storage container. More...
 
Uint64 GetStorageSpaceRemaining (StorageParam storage)
 Queries the remaining space in a storage container. More...
 
OwnArray< char * > GlobStorageDirectory (StorageParam storage, StringParam path, StringParam pattern, GlobFlags flags)
 Enumerate a directory tree, filtered by pattern, and return a list. More...
 
constexpr bool MUSTLOCK (SurfaceConstParam S)
 Evaluates to true if the surface needs to be locked before access. More...
 
Surface CreateSurface (const PointRaw &size, PixelFormat format)
 Allocate a new surface with a specific pixel format. More...
 
Surface CreateSurfaceFrom (const PointRaw &size, PixelFormat format, void *pixels, int pitch)
 Allocate a new surface with a specific pixel format and existing pixel data. More...
 
void DestroySurface (SurfaceRaw surface)
 Free a surface. More...
 
PropertiesRef GetSurfaceProperties (SurfaceConstParam surface)
 Get the properties associated with a surface. More...
 
void SetSurfaceColorspace (SurfaceParam surface, Colorspace colorspace)
 Set the colorspace used by a surface. More...
 
Colorspace GetSurfaceColorspace (SurfaceConstParam surface)
 Get the colorspace used by a surface. More...
 
Palette CreateSurfacePalette (SurfaceParam surface)
 Create a palette and associate it with a surface. More...
 
void SetSurfacePalette (SurfaceParam surface, PaletteParam palette)
 Set the palette used by a surface. More...
 
Palette GetSurfacePalette (SurfaceConstParam surface)
 Get the palette used by a surface. More...
 
void AddSurfaceAlternateImage (SurfaceParam surface, SurfaceParam image)
 Add an alternate version of a surface. More...
 
bool SurfaceHasAlternateImages (SurfaceConstParam surface)
 Return whether a surface has alternate versions available. More...
 
OwnArray< SurfaceRawGetSurfaceImages (SurfaceConstParam surface)
 Get an array including all versions of a surface. More...
 
void RemoveSurfaceAlternateImages (SurfaceParam surface)
 Remove all alternate versions of a surface. More...
 
void LockSurface (SurfaceParam surface)
 Set up a surface for directly accessing the pixels. More...
 
void UnlockSurface (SurfaceParam surface)
 Release a surface after directly accessing the pixels. More...
 
Surface LoadBMP (IOStreamParam src, bool closeio=false)
 Load a BMP image from a seekable SDL data stream. More...
 
Surface LoadBMP (StringParam file)
 Load a BMP image from a file. More...
 
void SaveBMP (SurfaceConstParam surface, IOStreamParam dst, bool closeio=false)
 Save a surface to a seekable SDL data stream in BMP format. More...
 
void SaveBMP (SurfaceConstParam surface, StringParam file)
 Save a surface to a file. More...
 
void SetSurfaceRLE (SurfaceParam surface, bool enabled)
 Set the RLE acceleration hint for a surface. More...
 
bool SurfaceHasRLE (SurfaceConstParam surface)
 Returns whether the surface is RLE enabled. More...
 
void SetSurfaceColorKey (SurfaceParam surface, std::optional< Uint32 > key)
 Set the color key (transparent pixel) in a surface. More...
 
bool SurfaceHasColorKey (SurfaceConstParam surface)
 Returns whether the surface has a color key. More...
 
std::optional< Uint32GetSurfaceColorKey (SurfaceConstParam surface)
 Get the color key (transparent pixel) for a surface. More...
 
void SetSurfaceColorMod (SurfaceParam surface, Uint8 r, Uint8 g, Uint8 b)
 Set an additional color value multiplied into blit operations. More...
 
void GetSurfaceColorMod (SurfaceConstParam surface, Uint8 *r, Uint8 *g, Uint8 *b)
 Get the additional color value multiplied into blit operations. More...
 
void SetSurfaceAlphaMod (SurfaceParam surface, Uint8 alpha)
 Set an additional alpha value used in blit operations. More...
 
Uint8 GetSurfaceAlphaMod (SurfaceConstParam surface)
 Get the additional alpha value used in blit operations. More...
 
void SetSurfaceBlendMode (SurfaceParam surface, BlendMode blendMode)
 Set the blend mode used for blit operations. More...
 
BlendMode GetSurfaceBlendMode (SurfaceConstParam surface)
 Get the blend mode used for blit operations. More...
 
bool SetSurfaceClipRect (SurfaceParam surface, OptionalRef< const RectRaw > rect)
 Set the clipping rectangle for a surface. More...
 
Rect GetSurfaceClipRect (SurfaceConstParam surface)
 Get the clipping rectangle for a surface. More...
 
void FlipSurface (SurfaceParam surface, FlipMode flip)
 Flip a surface vertically or horizontally. More...
 
Surface DuplicateSurface (SurfaceConstParam surface)
 Creates a new surface identical to the existing surface. More...
 
Surface ScaleSurface (SurfaceConstParam surface, const PointRaw &size, ScaleMode scaleMode)
 Creates a new surface identical to the existing surface, scaled to the desired size. More...
 
Surface ConvertSurface (SurfaceConstParam surface, PixelFormat format)
 Copy an existing surface to a new surface of the specified format. More...
 
Surface ConvertSurfaceAndColorspace (SurfaceConstParam surface, PixelFormat format, PaletteParam palette, Colorspace colorspace, PropertiesParam props)
 Copy an existing surface to a new surface of the specified format and colorspace. More...
 
void ConvertPixels (const PointRaw &size, PixelFormat src_format, const void *src, int src_pitch, PixelFormat dst_format, void *dst, int dst_pitch)
 Copy a block of pixels of one format to another format. More...
 
void ConvertPixelsAndColorspace (const PointRaw &size, PixelFormat src_format, Colorspace src_colorspace, PropertiesParam src_properties, const void *src, int src_pitch, PixelFormat dst_format, Colorspace dst_colorspace, PropertiesParam dst_properties, void *dst, int dst_pitch)
 Copy a block of pixels of one format and colorspace to another format and colorspace. More...
 
void PremultiplyAlpha (const PointRaw &size, PixelFormat src_format, const void *src, int src_pitch, PixelFormat dst_format, void *dst, int dst_pitch, bool linear)
 Premultiply the alpha on a block of pixels. More...
 
void PremultiplySurfaceAlpha (SurfaceParam surface, bool linear)
 Premultiply the alpha in a surface. More...
 
void ClearSurface (SurfaceParam surface, const FColorRaw &color)
 Clear a surface with a specific color, with floating point precision. More...
 
void FillSurfaceRect (SurfaceParam dst, OptionalRef< const RectRaw > rect, Uint32 color)
 Perform a fast fill of a rectangle with a specific color. More...
 
void FillSurfaceRects (SurfaceParam dst, SpanRef< const RectRaw > rects, Uint32 color)
 Perform a fast fill of a set of rectangles with a specific color. More...
 
void BlitSurface (SurfaceParam src, OptionalRef< const RectRaw > srcrect, SurfaceParam dst, OptionalRef< const RectRaw > dstrect)
 Performs a fast blit from the source surface to the destination surface with clipping. More...
 
void BlitSurfaceAt (SurfaceParam src, OptionalRef< const RectRaw > srcrect, SurfaceParam dst, const PointRaw &dstpos)
 Performs a fast blit from the source surface to the destination surface with clipping. More...
 
void BlitSurfaceUnchecked (SurfaceParam src, const RectRaw &srcrect, SurfaceParam dst, const RectRaw &dstrect)
 Perform low-level surface blitting only. More...
 
void BlitSurfaceScaled (SurfaceParam src, OptionalRef< const RectRaw > srcrect, SurfaceParam dst, OptionalRef< const RectRaw > dstrect, ScaleMode scaleMode)
 Perform a scaled blit to a destination surface, which may be of a different format. More...
 
void BlitSurfaceUncheckedScaled (SurfaceParam src, const RectRaw &srcrect, SurfaceParam dst, const RectRaw &dstrect, ScaleMode scaleMode)
 Perform low-level surface scaled blitting only. More...
 
void StretchSurface (SurfaceParam src, OptionalRef< RectRaw > srcrect, SurfaceParam dst, OptionalRef< RectRaw > dstrect, ScaleMode scaleMode)
 Perform a stretched pixel copy from one surface to another. More...
 
void BlitSurfaceTiled (SurfaceParam src, OptionalRef< const RectRaw > srcrect, SurfaceParam dst, OptionalRef< const RectRaw > dstrect)
 Perform a tiled blit to a destination surface, which may be of a different format. More...
 
void BlitSurfaceTiledWithScale (SurfaceParam src, OptionalRef< const RectRaw > srcrect, float scale, SDL_ScaleMode scaleMode, SurfaceParam dst, OptionalRef< const RectRaw > dstrect)
 Perform a scaled and tiled blit to a destination surface, which may be of a different format. More...
 
void BlitSurface9Grid (SurfaceParam src, OptionalRef< const RectRaw > srcrect, int left_width, int right_width, int top_height, int bottom_height, float scale, SDL_ScaleMode scaleMode, SurfaceParam dst, OptionalRef< const RectRaw > dstrect)
 Perform a scaled blit using the 9-grid algorithm to a destination surface, which may be of a different format. More...
 
void BlitSurface9Grid (SurfaceParam src, OptionalRef< const RectRaw > srcrect, int left_width, int right_width, int top_height, int bottom_height, SurfaceParam dst, OptionalRef< const RectRaw > dstrect)
 Perform a scaled blit using the 9-grid algorithm to a destination surface, which may be of a different format. More...
 
Uint32 MapSurfaceRGB (SurfaceConstParam surface, Uint8 r, Uint8 g, Uint8 b)
 Map an RGB triple to an opaque pixel value for a surface. More...
 
Uint32 MapSurfaceRGBA (SurfaceConstParam surface, ColorRaw c)
 Map an RGBA quadruple to a pixel value for a surface. More...
 
void ReadSurfacePixel (SurfaceConstParam surface, const PointRaw &p, Uint8 *r, Uint8 *g, Uint8 *b, Uint8 *a)
 Retrieves a single pixel from a surface. More...
 
void ReadSurfacePixelFloat (SurfaceConstParam surface, const PointRaw &p, float *r, float *g, float *b, float *a)
 Retrieves a single pixel from a surface. More...
 
void WriteSurfacePixel (SurfaceParam surface, const PointRaw &p, ColorRaw c)
 Writes a single pixel to a surface. More...
 
void WriteSurfacePixelFloat (SurfaceParam surface, const PointRaw &p, const FColorRaw &c)
 Writes a single pixel to a surface. More...
 
void SetWindowsMessageHook (WindowsMessageHook callback, void *userdata)
 Set a callback for every Windows message, run before TranslateMessage(). More...
 
void SetWindowsMessageHook (WindowsMessageHookCB callback)
 Set a callback for every Windows message, run before TranslateMessage(). More...
 
int GetDirect3D9AdapterIndex (Display displayID)
 Get the D3D9 adapter index that matches the specified display. More...
 
void GetDXGIOutputInfo (Display displayID, int *adapterIndex, int *outputIndex)
 Get the DXGI Adapter and Output indices for the specified display. More...
 
void SetX11EventHook (X11EventHook callback, void *userdata)
 Set a callback for every X11 event. More...
 
void SetX11EventHook (X11EventHookCB callback)
 Set a callback for every X11 event. More...
 
void SetLinuxThreadPriority (Sint64 threadID, int priority)
 Sets the UNIX nice value for a thread. More...
 
void SetLinuxThreadPriorityAndPolicy (Sint64 threadID, int sdlPriority, int schedPolicy)
 Sets the priority (not nice level) and scheduling policy for a thread. More...
 
void SetiOSAnimationCallback (WindowParam window, int interval, iOSAnimationCallback callback, void *callbackParam)
 Use this function to set the animation callback on Apple iOS. More...
 
void SetiOSAnimationCallback (WindowParam window, int interval, iOSAnimationCB callback)
 Use this function to set the animation callback on Apple iOS. More...
 
void SetiOSEventPump (bool enabled)
 Use this function to enable or disable the SDL event pump on Apple iOS. More...
 
void * GetAndroidJNIEnv ()
 Get the Android Java Native Interface Environment of the current thread. More...
 
void * GetAndroidActivity ()
 Retrieve the Java instance of the Android activity class. More...
 
int GetAndroidSDKVersion ()
 Query Android API level of the current device. More...
 
bool IsChromebook ()
 Query if the application is running on a Chromebook. More...
 
bool IsDeXMode ()
 Query if the application is running on a Samsung DeX docking station. More...
 
void SendAndroidBackButton ()
 Trigger the Android system back button behavior. More...
 
const char * GetAndroidInternalStoragePath ()
 Get the path used for internal storage for this Android application. More...
 
Uint32 GetAndroidExternalStorageState ()
 Get the current state of external storage for this Android application. More...
 
const char * GetAndroidExternalStoragePath ()
 Get the path used for external storage for this Android application. More...
 
const char * GetAndroidCachePath ()
 Get the path used for caching data for this Android application. More...
 
bool RequestAndroidPermission (StringParam permission, RequestAndroidPermissionCallback cb, void *userdata)
 Request permissions at runtime, asynchronously. More...
 
bool RequestAndroidPermission (StringParam permission, RequestAndroidPermissionCB cb)
 Request permissions at runtime, asynchronously. More...
 
void ShowAndroidToast (StringParam message, int duration, int gravity, int xoffset, int yoffset)
 Shows an Android toast notification. More...
 
void SendAndroidMessage (Uint32 command, int param)
 Send a user command to SDLActivity. More...
 
bool IsTablet ()
 Query if the current device is a tablet. More...
 
bool IsTV ()
 Query if the current device is a TV. More...
 
Sandbox GetSandbox ()
 Get the application sandbox environment, if any. More...
 
void OnApplicationWillTerminate ()
 Let iOS apps with external event handling report onApplicationWillTerminate. More...
 
void OnApplicationDidReceiveMemoryWarning ()
 Let iOS apps with external event handling report onApplicationDidReceiveMemoryWarning. More...
 
void OnApplicationWillEnterBackground ()
 Let iOS apps with external event handling report onApplicationWillResignActive. More...
 
void OnApplicationDidEnterBackground ()
 Let iOS apps with external event handling report onApplicationDidEnterBackground. More...
 
void OnApplicationWillEnterForeground ()
 Let iOS apps with external event handling report onApplicationWillEnterForeground. More...
 
void OnApplicationDidEnterForeground ()
 Let iOS apps with external event handling report onApplicationDidBecomeActive. More...
 
void OnApplicationDidChangeStatusBarOrientation ()
 Let iOS apps with external event handling report onApplicationDidChangeStatusBarOrientation. More...
 
void GetGDKTaskQueue (XTaskQueueHandle *outTaskQueue)
 Gets a reference to the global async task queue handle for GDK, initializing if needed. More...
 
bool GetGDKDefaultUser (XUserHandle *outUserHandle)
 Gets a reference to the default user handle for GDK. More...
 
Thread CreateThread (ThreadFunction fn, StringParam name, void *data)
 Create a new thread with a default stack size. More...
 
Thread CreateThreadWithProperties (PropertiesParam props)
 Create a new thread with with the specified properties. More...
 
const char * GetThreadName (ThreadParam thread)
 Get the thread name as it was specified in Thread.Thread(). More...
 
ThreadID GetCurrentThreadID ()
 Get the thread identifier for the current thread. More...
 
ThreadID GetThreadID (ThreadParam thread)
 Get the thread identifier for the specified thread. More...
 
void SetCurrentThreadPriority (ThreadPriority priority)
 Set the priority for the current thread. More...
 
void WaitThread (ThreadParam thread, int *status)
 Wait for a thread to finish. More...
 
ThreadState GetThreadState (ThreadParam thread)
 Get the current state of a thread. More...
 
void DetachThread (ThreadRaw thread)
 Let a thread clean up on exit without intervention. More...
 
void * GetTLS (TLSID *id)
 Get the current thread's value associated with a thread local storage ID. More...
 
void SetTLS (TLSID *id, const void *value, TLSDestructorCallback destructor)
 Set the current thread's value associated with a thread local storage ID. More...
 
void CleanupTLS ()
 Cleanup all TLS data for this thread. More...
 
void GetDateTimeLocalePreferences (DateFormat *dateFormat, TimeFormat *timeFormat)
 Gets the current preferred date and time format for the system locale. More...
 
DateTime TimeToDateTime (Time ticks, bool localTime=true)
 Converts an Time in nanoseconds since the epoch to a calendar time in the DateTime format. More...
 
Time DateTimeToTime (const DateTimeRaw &dt)
 Converts a calendar time to an Time in nanoseconds since the epoch. More...
 
int GetDaysInMonth (int year, int month)
 Get the number of days in a month for a given year. More...
 
int GetDayOfYear (int year, int month, int day)
 Get the day of year for a calendar date. More...
 
int GetDayOfWeek (int year, int month, int day)
 Get the day of week for a calendar date. More...
 
std::chrono::nanoseconds GetTicks ()
 Get the time elapsed since SDL library initialization. More...
 
Uint64 GetPerformanceCounter ()
 Get the current value of the high resolution counter. More...
 
Uint64 GetPerformanceFrequency ()
 Get the count per second of the high resolution counter. More...
 
void Delay (std::chrono::nanoseconds duration)
 Wait a specified duration before returning. More...
 
void DelayPrecise (std::chrono::nanoseconds duration)
 Wait a specified duration before returning. More...
 
TimerID AddTimer (std::chrono::nanoseconds interval, TimerCallback callback, void *userdata)
 Call a callback function at a future time. More...
 
TimerID AddTimer (std::chrono::nanoseconds interval, TimerCB callback)
 Call a callback function at a future time. More...
 
void RemoveTimer (TimerID id)
 Remove a timer created with SDL_AddTimer(). More...
 
OwnArray< TouchIDGetTouchDevices ()
 Get a list of registered touch devices. More...
 
const char * GetTouchDeviceName (TouchID touchID)
 Get the touch device name as reported from the driver. More...
 
TouchDeviceType GetTouchDeviceType (TouchID touchID)
 Get the type of the given touch device. More...
 
OwnArray< Finger * > GetTouchFingers (TouchID touchID)
 Get a list of active fingers for a given touch device. More...
 
Tray CreateTray (SurfaceParam icon, StringParam tooltip)
 Create an icon to be placed in the operating system's tray, or equivalent. More...
 
void SetTrayIcon (TrayParam tray, SurfaceParam icon)
 Updates the system tray icon's icon. More...
 
void SetTrayTooltip (TrayParam tray, StringParam tooltip)
 Updates the system tray icon's tooltip. More...
 
TrayMenu CreateTrayMenu (TrayParam tray)
 Create a menu for a system tray. More...
 
TrayMenu CreateTraySubmenu (TrayEntryParam entry)
 Create a submenu for a system tray entry. More...
 
TrayMenu GetTrayMenu (TrayParam tray)
 Gets a previously created tray menu. More...
 
TrayMenu GetTraySubmenu (TrayEntryParam entry)
 Gets a previously created tray entry submenu. More...
 
std::span< TrayEntryGetTrayEntries (TrayMenu menu)
 Returns a list of entries in the menu, in order. More...
 
void RemoveTrayEntry (TrayEntryRaw entry)
 Removes a tray entry. More...
 
TrayEntry InsertTrayEntryAt (TrayMenu menu, int pos, StringParam label, TrayEntryFlags flags)
 Insert a tray entry at a given position. More...
 
void SetTrayEntryLabel (TrayEntryParam entry, StringParam label)
 Sets the label of an entry. More...
 
const char * GetTrayEntryLabel (TrayEntryParam entry)
 Gets the label of an entry. More...
 
void SetTrayEntryChecked (TrayEntryParam entry, bool checked)
 Sets whether or not an entry is checked. More...
 
bool GetTrayEntryChecked (TrayEntryParam entry)
 Gets whether or not an entry is checked. More...
 
void SetTrayEntryEnabled (TrayEntryParam entry, bool enabled)
 Sets whether or not an entry is enabled. More...
 
bool GetTrayEntryEnabled (TrayEntryParam entry)
 Gets whether or not an entry is enabled. More...
 
void SetTrayEntryCallback (TrayEntryParam entry, TrayCallback callback, void *userdata)
 Sets a callback to be invoked when the entry is selected. More...
 
void ClickTrayEntry (TrayEntryParam entry)
 Simulate a click on a tray entry. More...
 
void DestroyTray (TrayRaw tray)
 Destroys a tray object. More...
 
TrayMenu GetTrayEntryParent (TrayEntryParam entry)
 Gets the menu containing a certain tray entry. More...
 
TrayEntryParam GetTrayMenuParentEntry (TrayMenuRaw menu)
 Gets the entry for which the menu is a submenu, if the current menu is a submenu. More...
 
TrayParam GetTrayMenuParentTray (TrayMenuRaw menu)
 Gets the tray for which this menu is the first-level menu, if the current menu isn't a submenu. More...
 
void UpdateTrays ()
 Update the trays. More...
 
void GetFreeTypeVersion (int *major, int *minor, int *patch)
 Query the version of the FreeType library in use. More...
 
void GetHarfBuzzVersion (int *major, int *minor, int *patch)
 Query the version of the HarfBuzz library in use. More...
 
Font OpenFont (StringParam file, float ptsize)
 Create a font from a file, using a specified point size. More...
 
Font OpenFont (IOStreamParam src, float ptsize, bool closeio=false)
 Create a font from an IOStream, using a specified point size. More...
 
Font OpenFontWithProperties (PropertiesParam props)
 Create a font with the specified properties. More...
 
Font CopyFont (FontParam existing_font)
 Create a copy of an existing font. More...
 
PropertiesRef GetFontProperties (FontParam font)
 Get the properties associated with a font. More...
 
Uint32 GetFontGeneration (FontParam font)
 Get the font generation. More...
 
void AddFallbackFont (FontParam font, FontParam fallback)
 Add a fallback font. More...
 
void RemoveFallbackFont (FontParam font, FontParam fallback)
 Remove a fallback font. More...
 
void ClearFallbackFonts (FontParam font)
 Remove all fallback fonts. More...
 
void SetFontSize (FontParam font, float ptsize)
 Set a font's size dynamically. More...
 
void SetFontSizeDPI (FontParam font, float ptsize, int hdpi, int vdpi)
 Set font size dynamically with target resolutions, in dots per inch. More...
 
float GetFontSize (FontParam font)
 Get the size of a font. More...
 
void GetFontDPI (FontParam font, int *hdpi, int *vdpi)
 Get font target resolutions, in dots per inch. More...
 
void SetFontStyle (FontParam font, FontStyleFlags style)
 Set a font's current style. More...
 
FontStyleFlags GetFontStyle (FontParam font)
 Query a font's current style. More...
 
void SetFontOutline (FontParam font, int outline)
 Set a font's current outline. More...
 
int GetFontOutline (FontParam font)
 Query a font's current outline. More...
 
void SetFontHinting (FontParam font, HintingFlags hinting)
 Set a font's current hinter setting. More...
 
int GetNumFontFaces (FontParam font)
 Query the number of faces of a font. More...
 
HintingFlags GetFontHinting (FontParam font)
 Query a font's current FreeType hinter setting. More...
 
void SetFontSDF (FontParam font, bool enabled)
 Enable Signed Distance Field rendering for a font. More...
 
bool GetFontSDF (FontParam font)
 Query whether Signed Distance Field rendering is enabled for a font. More...
 
int GetFontWeight (FontParam font)
 Query a font's weight, in terms of the lightness/heaviness of the strokes. More...
 
void SetFontWrapAlignment (FontParam font, HorizontalAlignment align)
 Set a font's current wrap alignment option. More...
 
HorizontalAlignment GetFontWrapAlignment (FontParam font)
 Query a font's current wrap alignment option. More...
 
int GetFontHeight (FontParam font)
 Query the total height of a font. More...
 
int GetFontAscent (FontParam font)
 Query the offset from the baseline to the top of a font. More...
 
int GetFontDescent (FontParam font)
 Query the offset from the baseline to the bottom of a font. More...
 
void SetFontLineSkip (FontParam font, int lineskip)
 Set the spacing between lines of text for a font. More...
 
int GetFontLineSkip (FontParam font)
 Query the spacing between lines of text for a font. More...
 
void SetFontKerning (FontParam font, bool enabled)
 Set if kerning is enabled for a font. More...
 
bool GetFontKerning (FontParam font)
 Query whether or not kerning is enabled for a font. More...
 
bool FontIsFixedWidth (FontParam font)
 Query whether a font is fixed-width. More...
 
bool FontIsScalable (FontParam font)
 Query whether a font is scalable or not. More...
 
const char * GetFontFamilyName (FontParam font)
 Query a font's family name. More...
 
const char * GetFontStyleName (FontParam font)
 Query a font's style name. More...
 
void SetFontDirection (FontParam font, Direction direction)
 Set the direction to be used for text shaping by a font. More...
 
Direction GetFontDirection (FontParam font)
 Get the direction to be used for text shaping by a font. More...
 
Uint32 StringToTag (StringParam string)
 Convert from a 4 character string to a 32-bit tag. More...
 
void TagToString (Uint32 tag, char *string, size_t size)
 Convert from a 32-bit tag to a 4 character string. More...
 
void SetFontScript (FontParam font, Uint32 script)
 Set the script to be used for text shaping by a font. More...
 
Uint32 GetFontScript (FontParam font)
 Get the script used for text shaping a font. More...
 
Uint32 GetGlyphScript (Uint32 ch)
 Get the script used by a 32-bit codepoint. More...
 
void SetFontLanguage (FontParam font, StringParam language_bcp47)
 Set language to be used for text shaping by a font. More...
 
bool FontHasGlyph (FontParam font, Uint32 ch)
 Check whether a glyph is provided by the font for a UNICODE codepoint. More...
 
Surface GetGlyphImage (FontParam font, Uint32 ch, ImageType *image_type)
 Get the pixel image for a UNICODE codepoint. More...
 
Surface GetGlyphImageForIndex (FontParam font, Uint32 glyph_index, ImageType *image_type)
 Get the pixel image for a character index. More...
 
void GetGlyphMetrics (FontParam font, Uint32 ch, int *minx, int *maxx, int *miny, int *maxy, int *advance)
 Query the metrics (dimensions) of a font's glyph for a UNICODE codepoint. More...
 
int GetGlyphKerning (FontParam font, Uint32 previous_ch, Uint32 ch)
 Query the kerning size between the glyphs of two UNICODE codepoints. More...
 
void GetStringSize (FontParam font, std::string_view text, int *w, int *h)
 Calculate the dimensions of a rendered string of UTF-8 text. More...
 
void GetStringSizeWrapped (FontParam font, std::string_view text, int wrap_width, int *w, int *h)
 Calculate the dimensions of a rendered string of UTF-8 text. More...
 
void MeasureString (FontParam font, std::string_view text, int max_width, int *measured_width, size_t *measured_length)
 Calculate how much of a UTF-8 string will fit in a given width. More...
 
Surface RenderText_Solid (FontParam font, std::string_view text, Color fg)
 Render UTF-8 text at fast quality to a new 8-bit surface. More...
 
Surface RenderText_Solid_Wrapped (FontParam font, std::string_view text, Color fg, int wrapLength)
 Render word-wrapped UTF-8 text at fast quality to a new 8-bit surface. More...
 
Surface RenderGlyph_Solid (FontParam font, Uint32 ch, ColorRaw fg)
 Render a single 32-bit glyph at fast quality to a new 8-bit surface. More...
 
Surface RenderText_Shaded (FontParam font, std::string_view text, Color fg, Color bg)
 Render UTF-8 text at high quality to a new 8-bit surface. More...
 
Surface RenderText_Shaded_Wrapped (FontParam font, std::string_view text, Color fg, Color bg, int wrap_width)
 Render word-wrapped UTF-8 text at high quality to a new 8-bit surface. More...
 
Surface RenderGlyph_Shaded (FontParam font, Uint32 ch, ColorRaw fg, ColorRaw bg)
 Render a single UNICODE codepoint at high quality to a new 8-bit surface. More...
 
Surface RenderText_Blended (FontParam font, std::string_view text, Color fg)
 Render UTF-8 text at high quality to a new ARGB surface. More...
 
Surface RenderText_Blended_Wrapped (FontParam font, std::string_view text, Color fg, int wrap_width)
 Render word-wrapped UTF-8 text at high quality to a new ARGB surface. More...
 
Surface RenderGlyph_Blended (FontParam font, Uint32 ch, ColorRaw fg)
 Render a single UNICODE codepoint at high quality to a new ARGB surface. More...
 
Surface RenderText_LCD (FontParam font, std::string_view text, Color fg, Color bg)
 Render UTF-8 text at LCD subpixel quality to a new ARGB surface. More...
 
Surface RenderText_LCD_Wrapped (FontParam font, std::string_view text, Color fg, Color bg, int wrap_width)
 Render word-wrapped UTF-8 text at LCD subpixel quality to a new ARGB surface. More...
 
Surface RenderGlyph_LCD (FontParam font, Uint32 ch, ColorRaw fg, ColorRaw bg)
 Render a single UNICODE codepoint at LCD subpixel quality to a new ARGB surface. More...
 
SurfaceTextEngine CreateSurfaceTextEngine ()
 Create a text engine for drawing text on SDL surfaces. More...
 
void DrawSurfaceText (TextParam text, Point p, SurfaceParam surface)
 Draw text to an SDL surface. More...
 
void DestroySurfaceTextEngine (TextEngineRaw engine)
 Destroy a text engine created for drawing text on SDL surfaces. More...
 
RendererTextEngine CreateRendererTextEngine (RendererParam renderer)
 Create a text engine for drawing text on an SDL renderer. More...
 
RendererTextEngine CreateRendererTextEngineWithProperties (PropertiesParam props)
 Create a text engine for drawing text on an SDL renderer, with the specified properties. More...
 
void DrawRendererText (TextParam text, FPoint p)
 Draw text to an SDL renderer. More...
 
void DestroyRendererTextEngine (TextEngineRaw engine)
 Destroy a text engine created for drawing text on an SDL renderer. More...
 
GPUTextEngine CreateGPUTextEngine (GPUDeviceParam device)
 Create a text engine for drawing text with the SDL GPU API. More...
 
GPUTextEngine CreateGPUTextEngineWithProperties (PropertiesParam props)
 Create a text engine for drawing text with the SDL GPU API, with the specified properties. More...
 
GPUAtlasDrawSequenceGetGPUTextDrawData (TextParam text)
 Get the geometry data needed for drawing the text. More...
 
void DestroyGPUTextEngine (TextEngineRaw engine)
 Destroy a text engine created for drawing text with the SDL GPU API. More...
 
void SetGPUTextEngineWinding (TextEngineParam engine, GPUTextEngineWinding winding)
 Sets the winding order of the vertices returned by Text.GetGPUDrawData for a particular GPU text engine. More...
 
GPUTextEngineWinding GetGPUTextEngineWinding (TextEngineParam engine)
 Get the winding order of the vertices returned by Text.GetGPUDrawData for a particular GPU text engine. More...
 
Text CreateText (TextEngineParam engine, FontParam font, std::string_view text)
 Create a text object from UTF-8 text and a text engine. More...
 
PropertiesRef GetTextProperties (TextParam text)
 Get the properties associated with a text object. More...
 
void SetTextEngine (TextParam text, TextEngineParam engine)
 Set the text engine used by a text object. More...
 
TextEngineParam GetTextEngine (TextParam text)
 Get the text engine used by a text object. More...
 
bool SetTextFont (TextParam text, FontParam font)
 Set the font used by a text object. More...
 
FontRef GetTextFont (TextParam text)
 Get the font used by a text object. More...
 
void SetTextDirection (TextParam text, Direction direction)
 Set the direction to be used for text shaping a text object. More...
 
Direction GetTextDirection (TextParam text)
 Get the direction to be used for text shaping a text object. More...
 
void SetTextScript (TextParam text, Uint32 script)
 Set the script to be used for text shaping a text object. More...
 
Uint32 GetTextScript (TextParam text)
 Get the script used for text shaping a text object. More...
 
void SetTextColor (TextParam text, Color c)
 Set the color of a text object. More...
 
void SetTextColorFloat (TextParam text, FColor c)
 Set the color of a text object. More...
 
void GetTextColor (TextParam text, Uint8 *r, Uint8 *g, Uint8 *b, Uint8 *a)
 Get the color of a text object. More...
 
Color GetTextColor (TextParam text)
 Get the color of a text object. More...
 
void GetTextColorFloat (TextParam text, float *r, float *g, float *b, float *a)
 Get the color of a text object. More...
 
FColor GetTextColorFloat (TextParam text)
 Get the color of a text object. More...
 
bool SetTextPosition (TextParam text, Point p)
 Set the position of a text object. More...
 
bool GetTextPosition (TextParam text, int *x, int *y)
 Get the position of a text object. More...
 
Point GetTextPosition (TextParam text)
 Get the position of a text object. More...
 
void SetTextWrapWidth (TextParam text, int wrap_width)
 Set whether wrapping is enabled on a text object. More...
 
int GetTextWrapWidth (TextParam text)
 Get whether wrapping is enabled on a text object. More...
 
void SetTextWrapWhitespaceVisible (TextParam text, bool visible)
 Set whether whitespace should be visible when wrapping a text object. More...
 
bool TextWrapWhitespaceVisible (TextParam text)
 Return whether whitespace is shown when wrapping a text object. More...
 
void SetTextString (TextParam text, std::string_view string)
 Set the UTF-8 text used by a text object. More...
 
void InsertTextString (TextParam text, int offset, std::string_view string)
 Insert UTF-8 text into a text object. More...
 
void AppendTextString (TextParam text, std::string_view string)
 Append UTF-8 text to a text object. More...
 
void DeleteTextString (TextParam text, int offset, int length)
 Delete UTF-8 text from a text object. More...
 
void GetTextSize (TextParam text, int *w, int *h)
 Get the size of a text object. More...
 
Point GetTextSize (TextParam text)
 Get the size of a text object. More...
 
void GetTextSubString (TextParam text, int offset, SubString *substring)
 Get the substring of a text object that surrounds a text offset. More...
 
void GetTextSubStringForLine (TextParam text, int line, SubString *substring)
 Get the substring of a text object that contains the given line. More...
 
OwnArray< SubString * > GetTextSubStringsForRange (TextParam text, int offset, int length)
 Get the substrings of a text object that contain a range of text. More...
 
void GetTextSubStringForPoint (TextParam text, Point p, SubString *substring)
 Get the portion of a text string that is closest to a point. More...
 
void GetPreviousTextSubString (TextParam text, const SubString &substring, SubString *previous)
 Get the previous substring in a text object. More...
 
void GetNextTextSubString (TextParam text, const SubString &substring, SubString *next)
 Get the next substring in a text object. More...
 
void UpdateText (TextParam text)
 Update the layout of a text object. More...
 
void DestroyText (TextRaw text)
 Destroy a text object created by a text engine. More...
 
void CloseFont (FontRaw font)
 Dispose of a previously-created font. More...
 
int GetVersion ()
 Get the version of SDL that is linked against your program. More...
 
const char * GetRevision ()
 Get the code revision of SDL that is linked against your program. More...
 
int GetNumVideoDrivers ()
 Get the number of video drivers compiled into SDL. More...
 
const char * GetVideoDriver (int index)
 Get the name of a built in video driver. More...
 
const char * GetCurrentVideoDriver ()
 Get the name of the currently initialized video driver. More...
 
SystemTheme GetSystemTheme ()
 Get the current system theme. More...
 
OwnArray< DisplayIDGetDisplays ()
 Get a list of currently connected displays. More...
 
Display GetPrimaryDisplay ()
 Return the primary display. More...
 
PropertiesRef GetDisplayProperties (DisplayID displayID)
 Get the properties associated with a display. More...
 
const char * GetDisplayName (DisplayID displayID)
 Get the name of a display in UTF-8 encoding. More...
 
Rect GetDisplayBounds (DisplayID displayID)
 Get the desktop area represented by a display. More...
 
Rect GetDisplayUsableBounds (DisplayID displayID)
 Get the usable desktop area represented by a display, in screen coordinates. More...
 
DisplayOrientation GetNaturalDisplayOrientation (DisplayID displayID)
 Get the orientation of a display when it is unrotated. More...
 
DisplayOrientation GetCurrentDisplayOrientation (DisplayID displayID)
 Get the orientation of a display. More...
 
float GetDisplayContentScale (DisplayID displayID)
 Get the content scale of a display. More...
 
OwnArray< DisplayMode * > GetFullscreenDisplayModes (DisplayID displayID)
 Get a list of fullscreen display modes available on a display. More...
 
DisplayMode GetClosestFullscreenDisplayMode (DisplayID displayID, const PointRaw &size, float refresh_rate, bool include_high_density_modes)
 Get the closest match to the requested display mode. More...
 
const DisplayModeGetDesktopDisplayMode (DisplayID displayID)
 Get information about the desktop's display mode. More...
 
const DisplayModeGetCurrentDisplayMode (DisplayID displayID)
 Get information about the current display mode. More...
 
Display GetDisplayForPoint (const PointRaw &point)
 Get the display containing a point. More...
 
Display GetDisplayForRect (const RectRaw &rect)
 Get the display primarily containing a rect. More...
 
Display GetDisplayForWindow (WindowParam window)
 Get the display associated with a window. More...
 
float GetWindowPixelDensity (WindowParam window)
 Get the pixel density of a window. More...
 
float GetWindowDisplayScale (WindowParam window)
 Get the content display scale relative to a window's pixel size. More...
 
void SetWindowFullscreenMode (WindowParam window, OptionalRef< const DisplayMode > mode)
 Set the display mode to use when a window is visible and fullscreen. More...
 
const DisplayModeGetWindowFullscreenMode (WindowParam window)
 Query the display mode to use when a window is visible at fullscreen. More...
 
OwnPtr< void > GetWindowICCProfile (WindowParam window)
 Get the raw ICC profile data for the screen the window is currently on. More...
 
PixelFormat GetWindowPixelFormat (WindowParam window)
 Get the pixel format associated with the window. More...
 
OwnArray< WindowRefGetWindows ()
 Get a list of valid windows. More...
 
Window CreateWindow (StringParam title, const PointRaw &size, WindowFlags flags)
 Create a window with the specified dimensions and flags. More...
 
Window CreatePopupWindow (WindowParam parent, const PointRaw &offset, const PointRaw &size, WindowFlags flags)
 Create a child popup window of the specified parent window. More...
 
Window CreateWindowWithProperties (PropertiesParam props)
 Create a window with the specified properties. More...
 
WindowID GetWindowID (WindowParam window)
 Get the numeric ID of a window. More...
 
WindowRef GetWindowFromID (WindowID id)
 Get a window from a stored ID. More...
 
WindowRef GetWindowParent (WindowParam window)
 Get parent of a window. More...
 
PropertiesRef GetWindowProperties (WindowParam window)
 Get the properties associated with a window. More...
 
WindowFlags GetWindowFlags (WindowParam window)
 Get the window flags. More...
 
void SetWindowTitle (WindowParam window, StringParam title)
 Set the title of a window. More...
 
const char * GetWindowTitle (WindowParam window)
 Get the title of a window. More...
 
void SetWindowIcon (WindowParam window, SurfaceParam icon)
 Set the icon for a window. More...
 
void SetWindowPosition (WindowParam window, const PointRaw &p)
 Request that the window's position be set. More...
 
void GetWindowPosition (WindowParam window, int *x, int *y)
 Get the position of a window. More...
 
void SetWindowSize (WindowParam window, const PointRaw &p)
 Request that the size of a window's client area be set. More...
 
void GetWindowSize (WindowParam window, int *w, int *h)
 Get the size of a window's client area. More...
 
Rect GetWindowSafeArea (WindowParam window)
 Get the safe area for this window. More...
 
void SetWindowAspectRatio (WindowParam window, float min_aspect, float max_aspect)
 Request that the aspect ratio of a window's client area be set. More...
 
void GetWindowAspectRatio (WindowParam window, float *min_aspect, float *max_aspect)
 Get the size of a window's client area. More...
 
void GetWindowBordersSize (WindowParam window, int *top, int *left, int *bottom, int *right)
 Get the size of a window's borders (decorations) around the client area. More...
 
void GetWindowSizeInPixels (WindowParam window, int *w, int *h)
 Get the size of a window's client area, in pixels. More...
 
void SetWindowMinimumSize (WindowParam window, const PointRaw &p)
 Set the minimum size of a window's client area. More...
 
void GetWindowMinimumSize (WindowParam window, int *w, int *h)
 Get the minimum size of a window's client area. More...
 
void SetWindowMaximumSize (WindowParam window, const PointRaw &p)
 Set the maximum size of a window's client area. More...
 
void GetWindowMaximumSize (WindowParam window, int *w, int *h)
 Get the maximum size of a window's client area. More...
 
void SetWindowBordered (WindowParam window, bool bordered)
 Set the border state of a window. More...
 
void SetWindowResizable (WindowParam window, bool resizable)
 Set the user-resizable state of a window. More...
 
void SetWindowAlwaysOnTop (WindowParam window, bool on_top)
 Set the window to always be above the others. More...
 
void ShowWindow (WindowParam window)
 Show a window. More...
 
void HideWindow (WindowParam window)
 Hide a window. More...
 
void RaiseWindow (WindowParam window)
 Request that a window be raised above other windows and gain the input focus. More...
 
void MaximizeWindow (WindowParam window)
 Request that the window be made as large as possible. More...
 
void MinimizeWindow (WindowParam window)
 Request that the window be minimized to an iconic representation. More...
 
void RestoreWindow (WindowParam window)
 Request that the size and position of a minimized or maximized window be restored. More...
 
void SetWindowFullscreen (WindowParam window, bool fullscreen)
 Request that the window's fullscreen state be changed. More...
 
void SyncWindow (WindowParam window)
 Block until any pending window state is finalized. More...
 
bool WindowHasSurface (WindowParam window)
 Return whether the window has a surface associated with it. More...
 
Surface GetWindowSurface (WindowParam window)
 Get the SDL surface associated with the window. More...
 
void SetWindowSurfaceVSync (WindowParam window, int vsync)
 Toggle VSync for the window surface. More...
 
int GetWindowSurfaceVSync (WindowParam window)
 Get VSync for the window surface. More...
 
void UpdateWindowSurface (WindowParam window)
 Copy the window surface to the screen. More...
 
void UpdateWindowSurfaceRects (WindowParam window, SpanRef< const RectRaw > rects)
 Copy areas of the window surface to the screen. More...
 
void DestroyWindowSurface (WindowParam window)
 Destroy the surface associated with the window. More...
 
void SetWindowKeyboardGrab (WindowParam window, bool grabbed)
 Set a window's keyboard grab mode. More...
 
void SetWindowMouseGrab (WindowParam window, bool grabbed)
 Set a window's mouse grab mode. More...
 
bool GetWindowKeyboardGrab (WindowParam window)
 Get a window's keyboard grab mode. More...
 
bool GetWindowMouseGrab (WindowParam window)
 Get a window's mouse grab mode. More...
 
WindowRef GetGrabbedWindow ()
 Get the window that currently has an input grab enabled. More...
 
void SetWindowMouseRect (WindowParam window, const RectRaw &rect)
 Confines the cursor to the specified area of a window. More...
 
const RectRawGetWindowMouseRect (WindowParam window)
 Get the mouse confinement rectangle of a window. More...
 
void SetWindowOpacity (WindowParam window, float opacity)
 Set the opacity for a window. More...
 
float GetWindowOpacity (WindowParam window)
 Get the opacity of a window. More...
 
void SetWindowParent (WindowParam window, WindowParam parent)
 Set the window as a child of a parent window. More...
 
void SetWindowModal (WindowParam window, bool modal)
 Toggle the state of the window as modal. More...
 
void SetWindowFocusable (WindowParam window, bool focusable)
 Set whether the window may have input focus. More...
 
void ShowWindowSystemMenu (WindowParam window, const PointRaw &p)
 Display the system-level window menu. More...
 
void SetWindowHitTest (WindowParam window, HitTest callback, void *callback_data)
 Provide a callback that decides if a window region has special properties. More...
 
void SetWindowHitTest (WindowParam window, HitTestCB callback)
 Provide a callback that decides if a window region has special properties. More...
 
void SetWindowShape (WindowParam window, SurfaceParam shape)
 Set the shape of a transparent window. More...
 
void FlashWindow (WindowParam window, FlashOperation operation)
 Request a window to demand attention from the user. More...
 
void DestroyWindow (WindowRaw window)
 Destroy a window. More...
 
bool ScreenSaverEnabled ()
 Check whether the screensaver is currently enabled. More...
 
void EnableScreenSaver ()
 Allow the screen to be blanked by a screen saver. More...
 
void DisableScreenSaver ()
 Prevent the screen from being blanked by a screen saver. More...
 
void GL_LoadLibrary (StringParam path)
 Dynamically load an OpenGL library. More...
 
FunctionPointer GL_GetProcAddress (StringParam proc)
 Get an OpenGL function by name. More...
 
FunctionPointer EGL_GetProcAddress (StringParam proc)
 Get an EGL library function by name. More...
 
void GL_UnloadLibrary ()
 Unload the OpenGL library previously loaded by GL_LoadLibrary(). More...
 
bool GL_ExtensionSupported (StringParam extension)
 Check if an OpenGL extension is supported for the current context. More...
 
void GL_ResetAttributes ()
 Reset all previously set OpenGL context attributes to their default values. More...
 
void GL_SetAttribute (GLAttr attr, int value)
 Set an OpenGL window attribute before window creation. More...
 
void GL_GetAttribute (GLAttr attr, int *value)
 Get the actual value for an attribute from the current context. More...
 
GLContext GL_CreateContext (WindowParam window)
 Create an OpenGL context for an OpenGL window, and make it current. More...
 
void GL_MakeCurrent (WindowParam window, GLContext context)
 Set up an OpenGL context for rendering into an OpenGL window. More...
 
WindowRef GL_GetCurrentWindow ()
 Get the currently active OpenGL window. More...
 
GLContext GL_GetCurrentContext ()
 Get the currently active OpenGL context. More...
 
EGLDisplay EGL_GetCurrentDisplay ()
 Get the currently active EGL display. More...
 
EGLConfig EGL_GetCurrentConfig ()
 Get the currently active EGL config. More...
 
EGLSurface EGL_GetWindowSurface (WindowParam window)
 Get the EGL surface associated with the window. More...
 
void EGL_SetAttributeCallbacks (EGLAttribArrayCallback platformAttribCallback, EGLIntArrayCallback surfaceAttribCallback, EGLIntArrayCallback contextAttribCallback, void *userdata)
 Sets the callbacks for defining custom EGLAttrib arrays for EGL initialization. More...
 
void GL_SetSwapInterval (int interval)
 Set the swap interval for the current OpenGL context. More...
 
void GL_GetSwapInterval (int *interval)
 Get the swap interval for the current OpenGL context. More...
 
void GL_SwapWindow (WindowParam window)
 Update a window with OpenGL rendering. More...
 
void GL_DestroyContext (GLContextRaw context)
 Delete an OpenGL context. More...
 
void Vulkan_LoadLibrary (StringParam path)
 Dynamically load the Vulkan loader library. More...
 
FunctionPointer Vulkan_GetVkGetInstanceProcAddr ()
 Get the address of the vkGetInstanceProcAddr function. More...
 
void Vulkan_UnloadLibrary ()
 Unload the Vulkan library previously loaded by Vulkan_LoadLibrary(). More...
 
std::span< char const *const > Vulkan_GetInstanceExtensions ()
 Get the Vulkan instance extensions needed for vkCreateInstance. More...
 
void Vulkan_CreateSurface (WindowParam window, VkInstance instance, const struct VkAllocationCallbacks *allocator, VkSurfaceKHR *surface)
 Create a Vulkan rendering surface for a window. More...
 
void Vulkan_DestroySurface (VkInstance instance, VkSurfaceKHR surface, const struct VkAllocationCallbacks *allocator)
 Destroy the Vulkan rendering surface of a window. More...
 
bool Vulkan_GetPresentationSupport (VkInstance instance, VkPhysicalDevice physicalDevice, Uint32 queueFamilyIndex)
 Query support for presentation via a given physical device and queue family. More...
 
template<class T >
AppResult DefaultCreateClass (T **state, AppArgs args)
 Allocate and initialize state with new. More...
 
template<class T >
requires std::convertible_to<AppArgs, T>
AppResult DefaultCreateClass (T **state, AppArgs args)
 
template<class T >
AppResult InitClass (T **state, AppArgs args)
 Init state with arguments. More...
 
template<class T >
AppResult EventClass (T *state, const SDL_Event &event)
 Iterate the state. More...
 
template<class T >
void QuitClass (T *state, AppResult result)
 Destroy state with given result. More...
 

Variables

constexpr AssertState ASSERTION_RETRY
 Retry the assert immediately. More...
 
constexpr AssertState ASSERTION_BREAK
 Make the debugger trigger a breakpoint. More...
 
constexpr AssertState ASSERTION_ABORT
 Terminate the program. More...
 
constexpr AssertState ASSERTION_IGNORE
 Ignore the assert. More...
 
constexpr AssertState ASSERTION_ALWAYS_IGNORE
 Ignore the assert from now on. More...
 
constexpr AsyncIOTaskType ASYNCIO_TASK_READ
 A read operation. More...
 
constexpr AsyncIOTaskType ASYNCIO_TASK_WRITE
 A write operation. More...
 
constexpr AsyncIOTaskType ASYNCIO_TASK_CLOSE
 A close operation. More...
 
constexpr AsyncIOResult ASYNCIO_COMPLETE
 request was completed without error More...
 
constexpr AsyncIOResult ASYNCIO_FAILURE
 request failed for some reason; check GetError()! More...
 
constexpr AsyncIOResult ASYNCIO_CANCELED
 request was canceled before completing. More...
 
constexpr AudioFormat AUDIO_UNKNOWN
 Unspecified audio format. More...
 
constexpr AudioFormat AUDIO_U8 = SDL_AUDIO_U8
 Unsigned 8-bit samples.
 
constexpr AudioFormat AUDIO_S8 = SDL_AUDIO_S8
 Signed 8-bit samples.
 
constexpr AudioFormat AUDIO_S16LE = SDL_AUDIO_S16LE
 Signed 16-bit samples.
 
constexpr AudioFormat AUDIO_S16BE
 As above, but big-endian byte order. More...
 
constexpr AudioFormat AUDIO_S32LE = SDL_AUDIO_S32LE
 32-bit integer samples
 
constexpr AudioFormat AUDIO_S32BE
 As above, but big-endian byte order. More...
 
constexpr AudioFormat AUDIO_F32LE
 32-bit floating point samples More...
 
constexpr AudioFormat AUDIO_F32BE
 As above, but big-endian byte order. More...
 
constexpr AudioFormat AUDIO_S16 = SDL_AUDIO_S16
 AUDIO_S16.
 
constexpr AudioFormat AUDIO_S32 = SDL_AUDIO_S32
 AUDIO_S32.
 
constexpr AudioFormat AUDIO_F32 = SDL_AUDIO_F32
 AUDIO_F32.
 
constexpr AudioDeviceID AUDIO_DEVICE_DEFAULT_PLAYBACK
 A value used to request a default playback audio device. More...
 
constexpr AudioDeviceID AUDIO_DEVICE_DEFAULT_RECORDING
 A value used to request a default recording audio device. More...
 
constexpr BlendOperation BLENDOPERATION_ADD
 dst + src: supported by all renderers More...
 
constexpr BlendOperation BLENDOPERATION_SUBTRACT = SDL_BLENDOPERATION_SUBTRACT
 src - dst : supported by D3D, OpenGL, OpenGLES, and Vulkan
 
constexpr BlendOperation BLENDOPERATION_REV_SUBTRACT
 dst - src : supported by D3D, OpenGL, OpenGLES, and Vulkan More...
 
constexpr BlendOperation BLENDOPERATION_MINIMUM = SDL_BLENDOPERATION_MINIMUM
 min(dst, src) : supported by D3D, OpenGL, OpenGLES, and Vulkan
 
constexpr BlendOperation BLENDOPERATION_MAXIMUM = SDL_BLENDOPERATION_MAXIMUM
 max(dst, src) : supported by D3D, OpenGL, OpenGLES, and Vulkan
 
constexpr BlendFactor BLENDFACTOR_ZERO = SDL_BLENDFACTOR_ZERO
 0, 0, 0, 0
 
constexpr BlendFactor BLENDFACTOR_ONE = SDL_BLENDFACTOR_ONE
 1, 1, 1, 1
 
constexpr BlendFactor BLENDFACTOR_SRC_COLOR
 srcR, srcG, srcB, srcA More...
 
constexpr BlendFactor BLENDFACTOR_ONE_MINUS_SRC_COLOR
 1-srcR, 1-srcG, 1-srcB, 1-srcA More...
 
constexpr BlendFactor BLENDFACTOR_SRC_ALPHA
 srcA, srcA, srcA, srcA More...
 
constexpr BlendFactor BLENDFACTOR_ONE_MINUS_SRC_ALPHA
 1-srcA, 1-srcA, 1-srcA, 1-srcA More...
 
constexpr BlendFactor BLENDFACTOR_DST_COLOR
 dstR, dstG, dstB, dstA More...
 
constexpr BlendFactor BLENDFACTOR_ONE_MINUS_DST_COLOR
 1-dstR, 1-dstG, 1-dstB, 1-dstA More...
 
constexpr BlendFactor BLENDFACTOR_DST_ALPHA
 dstA, dstA, dstA, dstA More...
 
constexpr BlendFactor BLENDFACTOR_ONE_MINUS_DST_ALPHA
 1-dstA, 1-dstA, 1-dstA, 1-dstA More...
 
constexpr CameraPosition CAMERA_POSITION_UNKNOWN
 CAMERA_POSITION_UNKNOWN. More...
 
constexpr CameraPosition CAMERA_POSITION_FRONT_FACING
 CAMERA_POSITION_FRONT_FACING. More...
 
constexpr CameraPosition CAMERA_POSITION_BACK_FACING
 CAMERA_POSITION_BACK_FACING. More...
 
constexpr int CACHELINE_SIZE = SDL_CACHELINE_SIZE
 A guess for the cacheline size used for padding. More...
 
constexpr FileDialogType FILEDIALOG_OPENFILE
 OPENFILE. More...
 
constexpr FileDialogType FILEDIALOG_SAVEFILE
 SAVEFILE. More...
 
constexpr FileDialogType FILEDIALOG_OPENFOLDER
 OPENFOLDER. More...
 
constexpr EventType EVENT_FIRST = SDL_EVENT_FIRST
 Unused (do not remove)
 
constexpr EventType EVENT_QUIT = SDL_EVENT_QUIT
 User-requested quit.
 
constexpr EventType EVENT_TERMINATING = SDL_EVENT_TERMINATING
 The application is being terminated by the OS. More...
 
constexpr EventType EVENT_LOW_MEMORY = SDL_EVENT_LOW_MEMORY
 The application is low on memory, free memory if possible. More...
 
constexpr EventType EVENT_WILL_ENTER_BACKGROUND
 The application is about to enter the background. More...
 
constexpr EventType EVENT_DID_ENTER_BACKGROUND = SDL_EVENT_DID_ENTER_BACKGROUND
 The application did enter the background and may not get CPU for some time. More...
 
constexpr EventType EVENT_WILL_ENTER_FOREGROUND
 The application is about to enter the foreground. More...
 
constexpr EventType EVENT_DID_ENTER_FOREGROUND = SDL_EVENT_DID_ENTER_FOREGROUND
 The application is now interactive. More...
 
constexpr EventType EVENT_LOCALE_CHANGED
 The user's locale preferences have changed. More...
 
constexpr EventType EVENT_SYSTEM_THEME_CHANGED
 The system theme changed. More...
 
constexpr EventType EVENT_DISPLAY_ORIENTATION
 Display orientation has changed to data1. More...
 
constexpr EventType EVENT_DISPLAY_ADDED
 Display has been added to the system. More...
 
constexpr EventType EVENT_DISPLAY_REMOVED
 Display has been removed from the system. More...
 
constexpr EventType EVENT_DISPLAY_MOVED
 Display has changed position. More...
 
constexpr EventType EVENT_DISPLAY_DESKTOP_MODE_CHANGED
 Display has changed desktop mode. More...
 
constexpr EventType EVENT_DISPLAY_CURRENT_MODE_CHANGED
 Display has changed current mode. More...
 
constexpr EventType EVENT_DISPLAY_CONTENT_SCALE_CHANGED
 Display has changed content scale. More...
 
constexpr EventType EVENT_DISPLAY_FIRST
 DISPLAY_FIRST. More...
 
constexpr EventType EVENT_DISPLAY_LAST
 DISPLAY_LAST. More...
 
constexpr EventType EVENT_WINDOW_SHOWN
 Window has been shown. More...
 
constexpr EventType EVENT_WINDOW_HIDDEN
 Window has been hidden. More...
 
constexpr EventType EVENT_WINDOW_EXPOSED = SDL_EVENT_WINDOW_EXPOSED
 Window has been exposed and should be redrawn, and can be redrawn directly from event watchers for this event.
 
constexpr EventType EVENT_WINDOW_MOVED
 Window has been moved to data1, data2. More...
 
constexpr EventType EVENT_WINDOW_RESIZED
 Window has been resized to data1xdata2. More...
 
constexpr EventType EVENT_WINDOW_PIXEL_SIZE_CHANGED
 The pixel size of the window has changed to data1xdata2. More...
 
constexpr EventType EVENT_WINDOW_METAL_VIEW_RESIZED
 The pixel size of a Metal view associated with the window has changed. More...
 
constexpr EventType EVENT_WINDOW_MINIMIZED
 Window has been minimized. More...
 
constexpr EventType EVENT_WINDOW_MAXIMIZED
 Window has been maximized. More...
 
constexpr EventType EVENT_WINDOW_RESTORED = SDL_EVENT_WINDOW_RESTORED
 Window has been restored to normal size and position.
 
constexpr EventType EVENT_WINDOW_MOUSE_ENTER
 Window has gained mouse focus. More...
 
constexpr EventType EVENT_WINDOW_MOUSE_LEAVE
 Window has lost mouse focus. More...
 
constexpr EventType EVENT_WINDOW_FOCUS_GAINED
 Window has gained keyboard focus. More...
 
constexpr EventType EVENT_WINDOW_FOCUS_LOST
 Window has lost keyboard focus. More...
 
constexpr EventType EVENT_WINDOW_CLOSE_REQUESTED
 The window manager requests that the window be closed. More...
 
constexpr EventType EVENT_WINDOW_HIT_TEST
 Window had a hit test that wasn't HITTEST_NORMAL. More...
 
constexpr EventType EVENT_WINDOW_ICCPROF_CHANGED
 The ICC profile of the window's display has changed. More...
 
constexpr EventType EVENT_WINDOW_DISPLAY_CHANGED
 Window has been moved to display data1. More...
 
constexpr EventType EVENT_WINDOW_DISPLAY_SCALE_CHANGED
 Window display scale has been changed. More...
 
constexpr EventType EVENT_WINDOW_SAFE_AREA_CHANGED
 The window safe area has been changed. More...
 
constexpr EventType EVENT_WINDOW_OCCLUDED
 The window has been occluded. More...
 
constexpr EventType EVENT_WINDOW_ENTER_FULLSCREEN
 The window has entered fullscreen mode. More...
 
constexpr EventType EVENT_WINDOW_LEAVE_FULLSCREEN
 The window has left fullscreen mode. More...
 
constexpr EventType EVENT_WINDOW_DESTROYED = SDL_EVENT_WINDOW_DESTROYED
 The window with the associated ID is being or has been destroyed. More...
 
constexpr EventType EVENT_WINDOW_HDR_STATE_CHANGED
 Window HDR properties have changed. More...
 
constexpr EventType EVENT_WINDOW_FIRST
 WINDOW_FIRST. More...
 
constexpr EventType EVENT_WINDOW_LAST = SDL_EVENT_WINDOW_LAST
 WINDOW_LAST.
 
constexpr EventType EVENT_KEY_DOWN = SDL_EVENT_KEY_DOWN
 Key pressed.
 
constexpr EventType EVENT_KEY_UP = SDL_EVENT_KEY_UP
 Key released.
 
constexpr EventType EVENT_TEXT_EDITING
 Keyboard text editing (composition) More...
 
constexpr EventType EVENT_TEXT_INPUT
 Keyboard text input. More...
 
constexpr EventType EVENT_KEYMAP_CHANGED = SDL_EVENT_KEYMAP_CHANGED
 Keymap changed due to a system event such as an input language or keyboard layout change.
 
constexpr EventType EVENT_KEYBOARD_ADDED
 A new keyboard has been inserted into the system. More...
 
constexpr EventType EVENT_KEYBOARD_REMOVED
 A keyboard has been removed. More...
 
constexpr EventType EVENT_TEXT_EDITING_CANDIDATES
 Keyboard text editing candidates. More...
 
constexpr EventType EVENT_MOUSE_MOTION
 Mouse moved. More...
 
constexpr EventType EVENT_MOUSE_BUTTON_DOWN
 Mouse button pressed. More...
 
constexpr EventType EVENT_MOUSE_BUTTON_UP
 Mouse button released. More...
 
constexpr EventType EVENT_MOUSE_WHEEL
 Mouse wheel motion. More...
 
constexpr EventType EVENT_MOUSE_ADDED
 A new mouse has been inserted into the system. More...
 
constexpr EventType EVENT_MOUSE_REMOVED
 A mouse has been removed. More...
 
constexpr EventType EVENT_JOYSTICK_AXIS_MOTION
 Joystick axis motion. More...
 
constexpr EventType EVENT_JOYSTICK_BALL_MOTION
 Joystick trackball motion. More...
 
constexpr EventType EVENT_JOYSTICK_HAT_MOTION
 Joystick hat position change. More...
 
constexpr EventType EVENT_JOYSTICK_BUTTON_DOWN
 Joystick button pressed. More...
 
constexpr EventType EVENT_JOYSTICK_BUTTON_UP
 Joystick button released. More...
 
constexpr EventType EVENT_JOYSTICK_ADDED
 A new joystick has been inserted into the system. More...
 
constexpr EventType EVENT_JOYSTICK_REMOVED
 An opened joystick has been removed. More...
 
constexpr EventType EVENT_JOYSTICK_BATTERY_UPDATED
 Joystick battery level change. More...
 
constexpr EventType EVENT_JOYSTICK_UPDATE_COMPLETE
 Joystick update is complete. More...
 
constexpr EventType EVENT_GAMEPAD_AXIS_MOTION
 Gamepad axis motion. More...
 
constexpr EventType EVENT_GAMEPAD_BUTTON_DOWN
 Gamepad button pressed. More...
 
constexpr EventType EVENT_GAMEPAD_BUTTON_UP
 Gamepad button released. More...
 
constexpr EventType EVENT_GAMEPAD_ADDED
 A new gamepad has been inserted into the system. More...
 
constexpr EventType EVENT_GAMEPAD_REMOVED
 A gamepad has been removed. More...
 
constexpr EventType EVENT_GAMEPAD_REMAPPED
 The gamepad mapping was updated. More...
 
constexpr EventType EVENT_GAMEPAD_TOUCHPAD_DOWN
 Gamepad touchpad was touched. More...
 
constexpr EventType EVENT_GAMEPAD_TOUCHPAD_MOTION
 Gamepad touchpad finger was moved. More...
 
constexpr EventType EVENT_GAMEPAD_TOUCHPAD_UP
 Gamepad touchpad finger was lifted. More...
 
constexpr EventType EVENT_GAMEPAD_SENSOR_UPDATE
 Gamepad sensor was updated. More...
 
constexpr EventType EVENT_GAMEPAD_UPDATE_COMPLETE
 Gamepad update is complete. More...
 
constexpr EventType EVENT_GAMEPAD_STEAM_HANDLE_UPDATED
 Gamepad Steam handle has changed. More...
 
constexpr EventType EVENT_FINGER_DOWN = SDL_EVENT_FINGER_DOWN
 FINGER_DOWN.
 
constexpr EventType EVENT_FINGER_UP = SDL_EVENT_FINGER_UP
 FINGER_UP.
 
constexpr EventType EVENT_FINGER_MOTION
 FINGER_MOTION. More...
 
constexpr EventType EVENT_FINGER_CANCELED
 FINGER_CANCELED. More...
 
constexpr EventType EVENT_CLIPBOARD_UPDATE
 The clipboard or primary selection changed. More...
 
constexpr EventType EVENT_DROP_FILE
 The system requests a file open. More...
 
constexpr EventType EVENT_DROP_TEXT
 text/plain drag-and-drop event More...
 
constexpr EventType EVENT_DROP_BEGIN
 A new set of drops is beginning (NULL filename) More...
 
constexpr EventType EVENT_DROP_COMPLETE = SDL_EVENT_DROP_COMPLETE
 Current set of drops is now complete (NULL filename)
 
constexpr EventType EVENT_DROP_POSITION
 Position while moving over the window. More...
 
constexpr EventType EVENT_AUDIO_DEVICE_ADDED
 A new audio device is available. More...
 
constexpr EventType EVENT_AUDIO_DEVICE_REMOVED
 An audio device has been removed. More...
 
constexpr EventType EVENT_AUDIO_DEVICE_FORMAT_CHANGED
 An audio device's format has been changed by the system. More...
 
constexpr EventType EVENT_SENSOR_UPDATE
 A sensor was updated. More...
 
constexpr EventType EVENT_PEN_PROXIMITY_IN
 Pressure-sensitive pen has become available. More...
 
constexpr EventType EVENT_PEN_PROXIMITY_OUT
 Pressure-sensitive pen has become unavailable. More...
 
constexpr EventType EVENT_PEN_DOWN
 Pressure-sensitive pen touched drawing surface. More...
 
constexpr EventType EVENT_PEN_UP = SDL_EVENT_PEN_UP
 Pressure-sensitive pen stopped touching drawing surface.
 
constexpr EventType EVENT_PEN_BUTTON_DOWN
 Pressure-sensitive pen button pressed. More...
 
constexpr EventType EVENT_PEN_BUTTON_UP
 Pressure-sensitive pen button released. More...
 
constexpr EventType EVENT_PEN_MOTION
 Pressure-sensitive pen is moving on the tablet. More...
 
constexpr EventType EVENT_PEN_AXIS
 Pressure-sensitive pen angle/pressure/etc changed. More...
 
constexpr EventType EVENT_CAMERA_DEVICE_ADDED
 A new camera device is available. More...
 
constexpr EventType EVENT_CAMERA_DEVICE_REMOVED
 A camera device has been removed. More...
 
constexpr EventType EVENT_CAMERA_DEVICE_APPROVED
 A camera device has been approved for use by the user. More...
 
constexpr EventType EVENT_CAMERA_DEVICE_DENIED = SDL_EVENT_CAMERA_DEVICE_DENIED
 A camera device has been denied for use by the user.
 
constexpr EventType EVENT_RENDER_TARGETS_RESET = SDL_EVENT_RENDER_TARGETS_RESET
 The render targets have been reset and their contents need to be updated.
 
constexpr EventType EVENT_RENDER_DEVICE_RESET = SDL_EVENT_RENDER_DEVICE_RESET
 The device has been reset and all textures need to be recreated.
 
constexpr EventType EVENT_RENDER_DEVICE_LOST
 The device has been lost and can't be recovered. More...
 
constexpr EventType EVENT_PRIVATE0 = SDL_EVENT_PRIVATE0
 PRIVATE0.
 
constexpr EventType EVENT_PRIVATE1 = SDL_EVENT_PRIVATE1
 PRIVATE1.
 
constexpr EventType EVENT_PRIVATE2 = SDL_EVENT_PRIVATE2
 PRIVATE2.
 
constexpr EventType EVENT_PRIVATE3 = SDL_EVENT_PRIVATE3
 PRIVATE3.
 
constexpr EventType EVENT_POLL_SENTINEL
 Signals the end of an event poll cycle. More...
 
constexpr EventType EVENT_USER = SDL_EVENT_USER
 Events EVENT_USER through EVENT_LAST are for your use, and should be allocated with RegisterEvents()
 
constexpr EventType EVENT_LAST = SDL_EVENT_LAST
 This last event is only for bounding internal arrays.
 
constexpr EventType EVENT_ENUM_PADDING
 ENUM_PADDING. More...
 
constexpr Folder FOLDER_HOME = SDL_FOLDER_HOME
 The folder which contains all of the current user's data, preferences, and documents. More...
 
constexpr Folder FOLDER_DESKTOP = SDL_FOLDER_DESKTOP
 The folder of files that are displayed on the desktop. More...
 
constexpr Folder FOLDER_DOCUMENTS = SDL_FOLDER_DOCUMENTS
 User document files, possibly application-specific. More...
 
constexpr Folder FOLDER_DOWNLOADS = SDL_FOLDER_DOWNLOADS
 Standard folder for user files downloaded from the internet.
 
constexpr Folder FOLDER_MUSIC = SDL_FOLDER_MUSIC
 Music files that can be played using a standard music player (mp3, ogg...).
 
constexpr Folder FOLDER_PICTURES = SDL_FOLDER_PICTURES
 Image files that can be displayed using a standard viewer (png, jpg...).
 
constexpr Folder FOLDER_PUBLICSHARE = SDL_FOLDER_PUBLICSHARE
 Files that are meant to be shared with other users on the same computer.
 
constexpr Folder FOLDER_SAVEDGAMES
 Save files for games. More...
 
constexpr Folder FOLDER_SCREENSHOTS
 Application screenshots. More...
 
constexpr Folder FOLDER_TEMPLATES = SDL_FOLDER_TEMPLATES
 Template files to be used when the user requests the desktop environment to create a new file in a certain folder, such as "New Text File.txt". More...
 
constexpr Folder FOLDER_VIDEOS = SDL_FOLDER_VIDEOS
 Video files that can be played using a standard video player (mp4, webm...).
 
constexpr Folder FOLDER_COUNT = SDL_FOLDER_COUNT
 Total number of types in this enum, not a folder type by itself.
 
constexpr PathType PATHTYPE_NONE = SDL_PATHTYPE_NONE
 path does not exist
 
constexpr PathType PATHTYPE_FILE = SDL_PATHTYPE_FILE
 a normal file
 
constexpr PathType PATHTYPE_DIRECTORY = SDL_PATHTYPE_DIRECTORY
 a directory
 
constexpr PathType PATHTYPE_OTHER = SDL_PATHTYPE_OTHER
 something completely different like a device node (not a symlink, those are always followed)
 
constexpr GlobFlags GLOB_CASEINSENSITIVE
 CASEINSENSITIVE. More...
 
constexpr EnumerationResult ENUM_CONTINUE
 Value that requests that enumeration continue. More...
 
constexpr EnumerationResult ENUM_SUCCESS = SDL_ENUM_SUCCESS
 Value that requests that enumeration stop, successfully.
 
constexpr EnumerationResult ENUM_FAILURE = SDL_ENUM_FAILURE
 Value that requests that enumeration stop, as a failure.
 
constexpr GamepadType GAMEPAD_TYPE_UNKNOWN
 GAMEPAD_TYPE_UNKNOWN. More...
 
constexpr GamepadType GAMEPAD_TYPE_STANDARD
 GAMEPAD_TYPE_STANDARD. More...
 
constexpr GamepadType GAMEPAD_TYPE_XBOX360
 GAMEPAD_TYPE_XBOX360. More...
 
constexpr GamepadType GAMEPAD_TYPE_XBOXONE
 GAMEPAD_TYPE_XBOXONE. More...
 
constexpr GamepadType GAMEPAD_TYPE_PS3
 GAMEPAD_TYPE_PS3. More...
 
constexpr GamepadType GAMEPAD_TYPE_PS4
 GAMEPAD_TYPE_PS4. More...
 
constexpr GamepadType GAMEPAD_TYPE_PS5
 GAMEPAD_TYPE_PS5. More...
 
constexpr GamepadType GAMEPAD_TYPE_NINTENDO_SWITCH_PRO
 GAMEPAD_TYPE_NINTENDO_SWITCH_PRO. More...
 
constexpr GamepadType GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_LEFT
 GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_LEFT. More...
 
constexpr GamepadType GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_RIGHT
 GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_RIGHT. More...
 
constexpr GamepadType GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_PAIR
 GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_PAIR. More...
 
constexpr GamepadType GAMEPAD_TYPE_COUNT
 GAMEPAD_TYPE_COUNT. More...
 
constexpr GamepadButton GAMEPAD_BUTTON_INVALID
 GAMEPAD_BUTTON_INVALID. More...
 
constexpr GamepadButton GAMEPAD_BUTTON_SOUTH
 Bottom face button (e.g. Xbox A button) More...
 
constexpr GamepadButton GAMEPAD_BUTTON_EAST
 Right face button (e.g. Xbox B button) More...
 
constexpr GamepadButton GAMEPAD_BUTTON_WEST
 Left face button (e.g. Xbox X button) More...
 
constexpr GamepadButton GAMEPAD_BUTTON_NORTH
 Top face button (e.g. Xbox Y button) More...
 
constexpr GamepadButton GAMEPAD_BUTTON_BACK
 GAMEPAD_BUTTON_BACK. More...
 
constexpr GamepadButton GAMEPAD_BUTTON_GUIDE
 GAMEPAD_BUTTON_GUIDE. More...
 
constexpr GamepadButton GAMEPAD_BUTTON_START
 GAMEPAD_BUTTON_START. More...
 
constexpr GamepadButton GAMEPAD_BUTTON_LEFT_STICK
 GAMEPAD_BUTTON_LEFT_STICK. More...
 
constexpr GamepadButton GAMEPAD_BUTTON_RIGHT_STICK
 GAMEPAD_BUTTON_RIGHT_STICK. More...
 
constexpr GamepadButton GAMEPAD_BUTTON_LEFT_SHOULDER
 GAMEPAD_BUTTON_LEFT_SHOULDER. More...
 
constexpr GamepadButton GAMEPAD_BUTTON_RIGHT_SHOULDER
 GAMEPAD_BUTTON_RIGHT_SHOULDER. More...
 
constexpr GamepadButton GAMEPAD_BUTTON_DPAD_UP
 GAMEPAD_BUTTON_DPAD_UP. More...
 
constexpr GamepadButton GAMEPAD_BUTTON_DPAD_DOWN
 GAMEPAD_BUTTON_DPAD_DOWN. More...
 
constexpr GamepadButton GAMEPAD_BUTTON_DPAD_LEFT
 GAMEPAD_BUTTON_DPAD_LEFT. More...
 
constexpr GamepadButton GAMEPAD_BUTTON_DPAD_RIGHT
 GAMEPAD_BUTTON_DPAD_RIGHT. More...
 
constexpr GamepadButton GAMEPAD_BUTTON_MISC1 = SDL_GAMEPAD_BUTTON_MISC1
 Additional button (e.g. More...
 
constexpr GamepadButton GAMEPAD_BUTTON_RIGHT_PADDLE1
 Upper or primary paddle, under your right hand (e.g. More...
 
constexpr GamepadButton GAMEPAD_BUTTON_LEFT_PADDLE1
 Upper or primary paddle, under your left hand (e.g. Xbox Elite paddle P3) More...
 
constexpr GamepadButton GAMEPAD_BUTTON_RIGHT_PADDLE2
 Lower or secondary paddle, under your right hand (e.g. More...
 
constexpr GamepadButton GAMEPAD_BUTTON_LEFT_PADDLE2
 Lower or secondary paddle, under your left hand (e.g. More...
 
constexpr GamepadButton GAMEPAD_BUTTON_TOUCHPAD
 PS4/PS5 touchpad button. More...
 
constexpr GamepadButton GAMEPAD_BUTTON_MISC2
 Additional button. More...
 
constexpr GamepadButton GAMEPAD_BUTTON_MISC3
 Additional button. More...
 
constexpr GamepadButton GAMEPAD_BUTTON_MISC4
 Additional button. More...
 
constexpr GamepadButton GAMEPAD_BUTTON_MISC5
 Additional button. More...
 
constexpr GamepadButton GAMEPAD_BUTTON_MISC6
 Additional button. More...
 
constexpr GamepadButton GAMEPAD_BUTTON_COUNT
 GAMEPAD_BUTTON_COUNT. More...
 
constexpr GamepadButtonLabel GAMEPAD_BUTTON_LABEL_UNKNOWN
 GAMEPAD_BUTTON_LABEL_UNKNOWN. More...
 
constexpr GamepadButtonLabel GAMEPAD_BUTTON_LABEL_A
 GAMEPAD_BUTTON_LABEL_A. More...
 
constexpr GamepadButtonLabel GAMEPAD_BUTTON_LABEL_B
 GAMEPAD_BUTTON_LABEL_B. More...
 
constexpr GamepadButtonLabel GAMEPAD_BUTTON_LABEL_X
 GAMEPAD_BUTTON_LABEL_X. More...
 
constexpr GamepadButtonLabel GAMEPAD_BUTTON_LABEL_Y
 GAMEPAD_BUTTON_LABEL_Y. More...
 
constexpr GamepadButtonLabel GAMEPAD_BUTTON_LABEL_CROSS
 GAMEPAD_BUTTON_LABEL_CROSS. More...
 
constexpr GamepadButtonLabel GAMEPAD_BUTTON_LABEL_CIRCLE
 GAMEPAD_BUTTON_LABEL_CIRCLE. More...
 
constexpr GamepadButtonLabel GAMEPAD_BUTTON_LABEL_SQUARE
 GAMEPAD_BUTTON_LABEL_SQUARE. More...
 
constexpr GamepadButtonLabel GAMEPAD_BUTTON_LABEL_TRIANGLE
 GAMEPAD_BUTTON_LABEL_TRIANGLE. More...
 
constexpr GamepadAxis GAMEPAD_AXIS_INVALID
 GAMEPAD_AXIS_INVALID. More...
 
constexpr GamepadAxis GAMEPAD_AXIS_LEFTX
 GAMEPAD_AXIS_LEFTX. More...
 
constexpr GamepadAxis GAMEPAD_AXIS_LEFTY
 GAMEPAD_AXIS_LEFTY. More...
 
constexpr GamepadAxis GAMEPAD_AXIS_RIGHTX
 GAMEPAD_AXIS_RIGHTX. More...
 
constexpr GamepadAxis GAMEPAD_AXIS_RIGHTY
 GAMEPAD_AXIS_RIGHTY. More...
 
constexpr GamepadAxis GAMEPAD_AXIS_LEFT_TRIGGER
 GAMEPAD_AXIS_LEFT_TRIGGER. More...
 
constexpr GamepadAxis GAMEPAD_AXIS_RIGHT_TRIGGER
 GAMEPAD_AXIS_RIGHT_TRIGGER. More...
 
constexpr GamepadAxis GAMEPAD_AXIS_COUNT
 GAMEPAD_AXIS_COUNT. More...
 
constexpr GamepadBindingType GAMEPAD_BINDTYPE_NONE
 GAMEPAD_BINDTYPE_NONE. More...
 
constexpr GamepadBindingType GAMEPAD_BINDTYPE_BUTTON
 GAMEPAD_BINDTYPE_BUTTON. More...
 
constexpr GamepadBindingType GAMEPAD_BINDTYPE_AXIS
 GAMEPAD_BINDTYPE_AXIS. More...
 
constexpr GamepadBindingType GAMEPAD_BINDTYPE_HAT
 GAMEPAD_BINDTYPE_HAT. More...
 
constexpr GPUIndexElementSize GPU_INDEXELEMENTSIZE_16BIT
 The index elements are 16-bit. More...
 
constexpr GPUIndexElementSize GPU_INDEXELEMENTSIZE_32BIT
 The index elements are 32-bit. More...
 
constexpr GPUShaderFormat GPU_SHADERFORMAT_INVALID
 INVALID. More...
 
constexpr GPUShaderFormat GPU_SHADERFORMAT_PRIVATE
 Shaders for NDA'd platforms. More...
 
constexpr GPUShaderFormat GPU_SHADERFORMAT_SPIRV
 SPIR-V shaders for Vulkan. More...
 
constexpr GPUShaderFormat GPU_SHADERFORMAT_DXBC
 DXBC SM5_1 shaders for D3D12. More...
 
constexpr GPUShaderFormat GPU_SHADERFORMAT_DXIL
 DXIL SM6_0 shaders for D3D12. More...
 
constexpr GPUShaderFormat GPU_SHADERFORMAT_MSL
 MSL shaders for Metal. More...
 
constexpr GPUShaderFormat GPU_SHADERFORMAT_METALLIB
 Precompiled metallib shaders for Metal. More...
 
constexpr GPUSwapchainComposition GPU_SWAPCHAINCOMPOSITION_SDR
 GPU_SWAPCHAINCOMPOSITION_SDR. More...
 
constexpr GPUSwapchainComposition GPU_SWAPCHAINCOMPOSITION_SDR_LINEAR
 GPU_SWAPCHAINCOMPOSITION_SDR_LINEAR. More...
 
constexpr GPUSwapchainComposition GPU_SWAPCHAINCOMPOSITION_HDR_EXTENDED_LINEAR
 GPU_SWAPCHAINCOMPOSITION_HDR_EXTENDED_LINEAR. More...
 
constexpr GPUSwapchainComposition GPU_SWAPCHAINCOMPOSITION_HDR10_ST2084
 GPU_SWAPCHAINCOMPOSITION_HDR10_ST2084. More...
 
constexpr GPUPresentMode GPU_PRESENTMODE_VSYNC
 GPU_PRESENTMODE_VSYNC. More...
 
constexpr GPUPresentMode GPU_PRESENTMODE_IMMEDIATE
 GPU_PRESENTMODE_IMMEDIATE. More...
 
constexpr GPUPresentMode GPU_PRESENTMODE_MAILBOX
 GPU_PRESENTMODE_MAILBOX. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_INVALID
 GPU_TEXTUREFORMAT_INVALID. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_A8_UNORM
 GPU_TEXTUREFORMAT_A8_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R8_UNORM
 GPU_TEXTUREFORMAT_R8_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R8G8_UNORM
 GPU_TEXTUREFORMAT_R8G8_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R8G8B8A8_UNORM
 GPU_TEXTUREFORMAT_R8G8B8A8_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R16_UNORM
 GPU_TEXTUREFORMAT_R16_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R16G16_UNORM
 GPU_TEXTUREFORMAT_R16G16_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R16G16B16A16_UNORM
 GPU_TEXTUREFORMAT_R16G16B16A16_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R10G10B10A2_UNORM
 GPU_TEXTUREFORMAT_R10G10B10A2_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_B5G6R5_UNORM
 GPU_TEXTUREFORMAT_B5G6R5_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_B5G5R5A1_UNORM
 GPU_TEXTUREFORMAT_B5G5R5A1_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_B4G4R4A4_UNORM
 GPU_TEXTUREFORMAT_B4G4R4A4_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_B8G8R8A8_UNORM
 GPU_TEXTUREFORMAT_B8G8R8A8_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_BC1_RGBA_UNORM
 GPU_TEXTUREFORMAT_BC1_RGBA_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_BC2_RGBA_UNORM
 GPU_TEXTUREFORMAT_BC2_RGBA_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_BC3_RGBA_UNORM
 GPU_TEXTUREFORMAT_BC3_RGBA_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_BC4_R_UNORM
 GPU_TEXTUREFORMAT_BC4_R_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_BC5_RG_UNORM
 GPU_TEXTUREFORMAT_BC5_RG_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_BC7_RGBA_UNORM
 GPU_TEXTUREFORMAT_BC7_RGBA_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_BC6H_RGB_FLOAT
 GPU_TEXTUREFORMAT_BC6H_RGB_FLOAT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_BC6H_RGB_UFLOAT
 GPU_TEXTUREFORMAT_BC6H_RGB_UFLOAT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R8_SNORM
 GPU_TEXTUREFORMAT_R8_SNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R8G8_SNORM
 GPU_TEXTUREFORMAT_R8G8_SNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R8G8B8A8_SNORM
 GPU_TEXTUREFORMAT_R8G8B8A8_SNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R16_SNORM
 GPU_TEXTUREFORMAT_R16_SNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R16G16_SNORM
 GPU_TEXTUREFORMAT_R16G16_SNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R16G16B16A16_SNORM
 GPU_TEXTUREFORMAT_R16G16B16A16_SNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R16_FLOAT
 GPU_TEXTUREFORMAT_R16_FLOAT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R16G16_FLOAT
 GPU_TEXTUREFORMAT_R16G16_FLOAT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R16G16B16A16_FLOAT
 GPU_TEXTUREFORMAT_R16G16B16A16_FLOAT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R32_FLOAT
 GPU_TEXTUREFORMAT_R32_FLOAT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R32G32_FLOAT
 GPU_TEXTUREFORMAT_R32G32_FLOAT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R32G32B32A32_FLOAT
 GPU_TEXTUREFORMAT_R32G32B32A32_FLOAT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R11G11B10_UFLOAT
 GPU_TEXTUREFORMAT_R11G11B10_UFLOAT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R8_UINT
 GPU_TEXTUREFORMAT_R8_UINT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R8G8_UINT
 GPU_TEXTUREFORMAT_R8G8_UINT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R8G8B8A8_UINT
 GPU_TEXTUREFORMAT_R8G8B8A8_UINT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R16_UINT
 GPU_TEXTUREFORMAT_R16_UINT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R16G16_UINT
 GPU_TEXTUREFORMAT_R16G16_UINT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R16G16B16A16_UINT
 GPU_TEXTUREFORMAT_R16G16B16A16_UINT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R32_UINT
 GPU_TEXTUREFORMAT_R32_UINT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R32G32_UINT
 GPU_TEXTUREFORMAT_R32G32_UINT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R32G32B32A32_UINT
 GPU_TEXTUREFORMAT_R32G32B32A32_UINT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R8_INT
 GPU_TEXTUREFORMAT_R8_INT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R8G8_INT
 GPU_TEXTUREFORMAT_R8G8_INT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R8G8B8A8_INT
 GPU_TEXTUREFORMAT_R8G8B8A8_INT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R16_INT
 GPU_TEXTUREFORMAT_R16_INT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R16G16_INT
 GPU_TEXTUREFORMAT_R16G16_INT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R16G16B16A16_INT
 GPU_TEXTUREFORMAT_R16G16B16A16_INT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R32_INT
 GPU_TEXTUREFORMAT_R32_INT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R32G32_INT
 GPU_TEXTUREFORMAT_R32G32_INT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R32G32B32A32_INT
 GPU_TEXTUREFORMAT_R32G32B32A32_INT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_R8G8B8A8_UNORM_SRGB
 GPU_TEXTUREFORMAT_R8G8B8A8_UNORM_SRGB. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_B8G8R8A8_UNORM_SRGB
 GPU_TEXTUREFORMAT_B8G8R8A8_UNORM_SRGB. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_BC1_RGBA_UNORM_SRGB
 GPU_TEXTUREFORMAT_BC1_RGBA_UNORM_SRGB. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_BC2_RGBA_UNORM_SRGB
 GPU_TEXTUREFORMAT_BC2_RGBA_UNORM_SRGB. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_BC3_RGBA_UNORM_SRGB
 GPU_TEXTUREFORMAT_BC3_RGBA_UNORM_SRGB. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_BC7_RGBA_UNORM_SRGB
 GPU_TEXTUREFORMAT_BC7_RGBA_UNORM_SRGB. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_D16_UNORM
 GPU_TEXTUREFORMAT_D16_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_D24_UNORM
 GPU_TEXTUREFORMAT_D24_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_D32_FLOAT
 GPU_TEXTUREFORMAT_D32_FLOAT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_D24_UNORM_S8_UINT
 GPU_TEXTUREFORMAT_D24_UNORM_S8_UINT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_D32_FLOAT_S8_UINT
 GPU_TEXTUREFORMAT_D32_FLOAT_S8_UINT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_4x4_UNORM
 GPU_TEXTUREFORMAT_ASTC_4x4_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_5x4_UNORM
 GPU_TEXTUREFORMAT_ASTC_5x4_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_5x5_UNORM
 GPU_TEXTUREFORMAT_ASTC_5x5_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_6x5_UNORM
 GPU_TEXTUREFORMAT_ASTC_6x5_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_6x6_UNORM
 GPU_TEXTUREFORMAT_ASTC_6x6_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_8x5_UNORM
 GPU_TEXTUREFORMAT_ASTC_8x5_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_8x6_UNORM
 GPU_TEXTUREFORMAT_ASTC_8x6_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_8x8_UNORM
 GPU_TEXTUREFORMAT_ASTC_8x8_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_10x5_UNORM
 GPU_TEXTUREFORMAT_ASTC_10x5_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_10x6_UNORM
 GPU_TEXTUREFORMAT_ASTC_10x6_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_10x8_UNORM
 GPU_TEXTUREFORMAT_ASTC_10x8_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_10x10_UNORM
 GPU_TEXTUREFORMAT_ASTC_10x10_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_12x10_UNORM
 GPU_TEXTUREFORMAT_ASTC_12x10_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_12x12_UNORM
 GPU_TEXTUREFORMAT_ASTC_12x12_UNORM. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_4x4_UNORM_SRGB
 GPU_TEXTUREFORMAT_ASTC_4x4_UNORM_SRGB. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_5x4_UNORM_SRGB
 GPU_TEXTUREFORMAT_ASTC_5x4_UNORM_SRGB. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_5x5_UNORM_SRGB
 GPU_TEXTUREFORMAT_ASTC_5x5_UNORM_SRGB. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_6x5_UNORM_SRGB
 GPU_TEXTUREFORMAT_ASTC_6x5_UNORM_SRGB. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_6x6_UNORM_SRGB
 GPU_TEXTUREFORMAT_ASTC_6x6_UNORM_SRGB. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_8x5_UNORM_SRGB
 GPU_TEXTUREFORMAT_ASTC_8x5_UNORM_SRGB. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_8x6_UNORM_SRGB
 GPU_TEXTUREFORMAT_ASTC_8x6_UNORM_SRGB. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_8x8_UNORM_SRGB
 GPU_TEXTUREFORMAT_ASTC_8x8_UNORM_SRGB. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_10x5_UNORM_SRGB
 GPU_TEXTUREFORMAT_ASTC_10x5_UNORM_SRGB. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_10x6_UNORM_SRGB
 GPU_TEXTUREFORMAT_ASTC_10x6_UNORM_SRGB. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_10x8_UNORM_SRGB
 GPU_TEXTUREFORMAT_ASTC_10x8_UNORM_SRGB. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_10x10_UNORM_SRGB
 GPU_TEXTUREFORMAT_ASTC_10x10_UNORM_SRGB. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_12x10_UNORM_SRGB
 GPU_TEXTUREFORMAT_ASTC_12x10_UNORM_SRGB. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_12x12_UNORM_SRGB
 GPU_TEXTUREFORMAT_ASTC_12x12_UNORM_SRGB. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_4x4_FLOAT
 GPU_TEXTUREFORMAT_ASTC_4x4_FLOAT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_5x4_FLOAT
 GPU_TEXTUREFORMAT_ASTC_5x4_FLOAT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_5x5_FLOAT
 GPU_TEXTUREFORMAT_ASTC_5x5_FLOAT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_6x5_FLOAT
 GPU_TEXTUREFORMAT_ASTC_6x5_FLOAT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_6x6_FLOAT
 GPU_TEXTUREFORMAT_ASTC_6x6_FLOAT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_8x5_FLOAT
 GPU_TEXTUREFORMAT_ASTC_8x5_FLOAT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_8x6_FLOAT
 GPU_TEXTUREFORMAT_ASTC_8x6_FLOAT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_8x8_FLOAT
 GPU_TEXTUREFORMAT_ASTC_8x8_FLOAT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_10x5_FLOAT
 GPU_TEXTUREFORMAT_ASTC_10x5_FLOAT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_10x6_FLOAT
 GPU_TEXTUREFORMAT_ASTC_10x6_FLOAT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_10x8_FLOAT
 GPU_TEXTUREFORMAT_ASTC_10x8_FLOAT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_10x10_FLOAT
 GPU_TEXTUREFORMAT_ASTC_10x10_FLOAT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_12x10_FLOAT
 GPU_TEXTUREFORMAT_ASTC_12x10_FLOAT. More...
 
constexpr GPUTextureFormat GPU_TEXTUREFORMAT_ASTC_12x12_FLOAT
 GPU_TEXTUREFORMAT_ASTC_12x12_FLOAT. More...
 
constexpr GPUTextureType GPU_TEXTURETYPE_2D
 The texture is a 2-dimensional image. More...
 
constexpr GPUTextureType GPU_TEXTURETYPE_2D_ARRAY
 The texture is a 2-dimensional array image. More...
 
constexpr GPUTextureType GPU_TEXTURETYPE_3D
 The texture is a 3-dimensional image. More...
 
constexpr GPUTextureType GPU_TEXTURETYPE_CUBE
 The texture is a cube image. More...
 
constexpr GPUTextureType GPU_TEXTURETYPE_CUBE_ARRAY
 The texture is a cube array image. More...
 
constexpr GPUTextureUsageFlags GPU_TEXTUREUSAGE_SAMPLER
 Texture supports sampling. More...
 
constexpr GPUTextureUsageFlags GPU_TEXTUREUSAGE_COLOR_TARGET
 Texture is a color render target. More...
 
constexpr GPUTextureUsageFlags GPU_TEXTUREUSAGE_DEPTH_STENCIL_TARGET
 Texture is a depth stencil target. More...
 
constexpr GPUTextureUsageFlags GPU_TEXTUREUSAGE_GRAPHICS_STORAGE_READ
 Texture supports storage reads in graphics stages. More...
 
constexpr GPUTextureUsageFlags GPU_TEXTUREUSAGE_COMPUTE_STORAGE_READ
 Texture supports storage reads in the compute stage. More...
 
constexpr GPUTextureUsageFlags GPU_TEXTUREUSAGE_COMPUTE_STORAGE_WRITE
 Texture supports storage writes in the compute stage. More...
 
constexpr GPUTextureUsageFlags GPU_TEXTUREUSAGE_COMPUTE_STORAGE_SIMULTANEOUS_READ_WRITE
 Texture supports reads and writes in the same compute shader. More...
 
constexpr GPUSampleCount GPU_SAMPLECOUNT_1
 No multisampling. More...
 
constexpr GPUSampleCount GPU_SAMPLECOUNT_2
 MSAA 2x. More...
 
constexpr GPUSampleCount GPU_SAMPLECOUNT_4
 MSAA 4x. More...
 
constexpr GPUSampleCount GPU_SAMPLECOUNT_8
 MSAA 8x. More...
 
constexpr GPUPrimitiveType GPU_PRIMITIVETYPE_TRIANGLELIST
 A series of separate triangles. More...
 
constexpr GPUPrimitiveType GPU_PRIMITIVETYPE_TRIANGLESTRIP
 A series of connected triangles. More...
 
constexpr GPUPrimitiveType GPU_PRIMITIVETYPE_LINELIST
 A series of separate lines. More...
 
constexpr GPUPrimitiveType GPU_PRIMITIVETYPE_LINESTRIP
 A series of connected lines. More...
 
constexpr GPUPrimitiveType GPU_PRIMITIVETYPE_POINTLIST
 A series of separate points. More...
 
constexpr GPULoadOp GPU_LOADOP_LOAD = SDL_GPU_LOADOP_LOAD
 The previous contents of the texture will be preserved.
 
constexpr GPULoadOp GPU_LOADOP_CLEAR = SDL_GPU_LOADOP_CLEAR
 The contents of the texture will be cleared to a color.
 
constexpr GPULoadOp GPU_LOADOP_DONT_CARE = SDL_GPU_LOADOP_DONT_CARE
 The previous contents of the texture need not be preserved. More...
 
constexpr GPUStoreOp GPU_STOREOP_STORE = SDL_GPU_STOREOP_STORE
 The contents generated during the render pass will be written to memory.
 
constexpr GPUStoreOp GPU_STOREOP_DONT_CARE = SDL_GPU_STOREOP_DONT_CARE
 The contents generated during the render pass are not needed and may be discarded. More...
 
constexpr GPUStoreOp GPU_STOREOP_RESOLVE = SDL_GPU_STOREOP_RESOLVE
 The multisample contents generated during the render pass will be resolved to a non-multisample texture. More...
 
constexpr GPUStoreOp GPU_STOREOP_RESOLVE_AND_STORE
 The multisample contents generated during the render pass will be resolved to a non-multisample texture. More...
 
constexpr GPUCubeMapFace GPU_CUBEMAPFACE_POSITIVEX
 GPU_CUBEMAPFACE_POSITIVEX. More...
 
constexpr GPUCubeMapFace GPU_CUBEMAPFACE_NEGATIVEX
 GPU_CUBEMAPFACE_NEGATIVEX. More...
 
constexpr GPUCubeMapFace GPU_CUBEMAPFACE_POSITIVEY
 GPU_CUBEMAPFACE_POSITIVEY. More...
 
constexpr GPUCubeMapFace GPU_CUBEMAPFACE_NEGATIVEY
 GPU_CUBEMAPFACE_NEGATIVEY. More...
 
constexpr GPUCubeMapFace GPU_CUBEMAPFACE_POSITIVEZ
 GPU_CUBEMAPFACE_POSITIVEZ. More...
 
constexpr GPUCubeMapFace GPU_CUBEMAPFACE_NEGATIVEZ
 GPU_CUBEMAPFACE_NEGATIVEZ. More...
 
constexpr GPUBufferUsageFlags GPU_BUFFERUSAGE_VERTEX
 Buffer is a vertex buffer. More...
 
constexpr GPUBufferUsageFlags GPU_BUFFERUSAGE_INDEX
 Buffer is an index buffer. More...
 
constexpr GPUBufferUsageFlags GPU_BUFFERUSAGE_INDIRECT
 Buffer is an indirect buffer. More...
 
constexpr GPUBufferUsageFlags GPU_BUFFERUSAGE_GRAPHICS_STORAGE_READ
 Buffer supports storage reads in graphics stages. More...
 
constexpr GPUBufferUsageFlags GPU_BUFFERUSAGE_COMPUTE_STORAGE_READ
 Buffer supports storage reads in the compute stage. More...
 
constexpr GPUBufferUsageFlags GPU_BUFFERUSAGE_COMPUTE_STORAGE_WRITE
 Buffer supports storage writes in the compute stage. More...
 
constexpr GPUTransferBufferUsage GPU_TRANSFERBUFFERUSAGE_UPLOAD
 GPU_TRANSFERBUFFERUSAGE_UPLOAD. More...
 
constexpr GPUTransferBufferUsage GPU_TRANSFERBUFFERUSAGE_DOWNLOAD
 GPU_TRANSFERBUFFERUSAGE_DOWNLOAD. More...
 
constexpr GPUShaderStage GPU_SHADERSTAGE_VERTEX
 GPU_SHADERSTAGE_VERTEX. More...
 
constexpr GPUShaderStage GPU_SHADERSTAGE_FRAGMENT
 GPU_SHADERSTAGE_FRAGMENT. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_INVALID
 GPU_VERTEXELEMENTFORMAT_INVALID. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_INT
 GPU_VERTEXELEMENTFORMAT_INT. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_INT2
 GPU_VERTEXELEMENTFORMAT_INT2. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_INT3
 GPU_VERTEXELEMENTFORMAT_INT3. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_INT4
 GPU_VERTEXELEMENTFORMAT_INT4. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_UINT
 GPU_VERTEXELEMENTFORMAT_UINT. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_UINT2
 GPU_VERTEXELEMENTFORMAT_UINT2. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_UINT3
 GPU_VERTEXELEMENTFORMAT_UINT3. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_UINT4
 GPU_VERTEXELEMENTFORMAT_UINT4. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_FLOAT
 GPU_VERTEXELEMENTFORMAT_FLOAT. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_FLOAT2
 GPU_VERTEXELEMENTFORMAT_FLOAT2. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_FLOAT3
 GPU_VERTEXELEMENTFORMAT_FLOAT3. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_FLOAT4
 GPU_VERTEXELEMENTFORMAT_FLOAT4. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_BYTE2
 GPU_VERTEXELEMENTFORMAT_BYTE2. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_BYTE4
 GPU_VERTEXELEMENTFORMAT_BYTE4. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_UBYTE2
 GPU_VERTEXELEMENTFORMAT_UBYTE2. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_UBYTE4
 GPU_VERTEXELEMENTFORMAT_UBYTE4. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_BYTE2_NORM
 GPU_VERTEXELEMENTFORMAT_BYTE2_NORM. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_BYTE4_NORM
 GPU_VERTEXELEMENTFORMAT_BYTE4_NORM. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_UBYTE2_NORM
 GPU_VERTEXELEMENTFORMAT_UBYTE2_NORM. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_UBYTE4_NORM
 GPU_VERTEXELEMENTFORMAT_UBYTE4_NORM. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_SHORT2
 GPU_VERTEXELEMENTFORMAT_SHORT2. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_SHORT4
 GPU_VERTEXELEMENTFORMAT_SHORT4. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_USHORT2
 GPU_VERTEXELEMENTFORMAT_USHORT2. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_USHORT4
 GPU_VERTEXELEMENTFORMAT_USHORT4. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_SHORT2_NORM
 GPU_VERTEXELEMENTFORMAT_SHORT2_NORM. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_SHORT4_NORM
 GPU_VERTEXELEMENTFORMAT_SHORT4_NORM. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_USHORT2_NORM
 GPU_VERTEXELEMENTFORMAT_USHORT2_NORM. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_USHORT4_NORM
 GPU_VERTEXELEMENTFORMAT_USHORT4_NORM. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_HALF2
 GPU_VERTEXELEMENTFORMAT_HALF2. More...
 
constexpr GPUVertexElementFormat GPU_VERTEXELEMENTFORMAT_HALF4
 GPU_VERTEXELEMENTFORMAT_HALF4. More...
 
constexpr GPUVertexInputRate GPU_VERTEXINPUTRATE_VERTEX
 Attribute addressing is a function of the vertex index. More...
 
constexpr GPUVertexInputRate GPU_VERTEXINPUTRATE_INSTANCE
 Attribute addressing is a function of the instance index. More...
 
constexpr GPUFillMode GPU_FILLMODE_FILL
 Polygons will be rendered via rasterization. More...
 
constexpr GPUFillMode GPU_FILLMODE_LINE
 Polygon edges will be drawn as line segments. More...
 
constexpr GPUCullMode GPU_CULLMODE_NONE
 No triangles are culled. More...
 
constexpr GPUCullMode GPU_CULLMODE_FRONT
 Front-facing triangles are culled. More...
 
constexpr GPUCullMode GPU_CULLMODE_BACK
 Back-facing triangles are culled. More...
 
constexpr GPUFrontFace GPU_FRONTFACE_COUNTER_CLOCKWISE
 A triangle with counter-clockwise vertex winding will be considered front-facing. More...
 
constexpr GPUFrontFace GPU_FRONTFACE_CLOCKWISE = SDL_GPU_FRONTFACE_CLOCKWISE
 A triangle with clockwise vertex winding will be considered front-facing.
 
constexpr GPUCompareOp GPU_COMPAREOP_INVALID
 GPU_COMPAREOP_INVALID. More...
 
constexpr GPUCompareOp GPU_COMPAREOP_NEVER
 The comparison always evaluates false. More...
 
constexpr GPUCompareOp GPU_COMPAREOP_LESS
 The comparison evaluates reference < test. More...
 
constexpr GPUCompareOp GPU_COMPAREOP_EQUAL
 The comparison evaluates reference == test. More...
 
constexpr GPUCompareOp GPU_COMPAREOP_LESS_OR_EQUAL
 The comparison evaluates reference <= test. More...
 
constexpr GPUCompareOp GPU_COMPAREOP_GREATER
 The comparison evaluates reference > test. More...
 
constexpr GPUCompareOp GPU_COMPAREOP_NOT_EQUAL
 The comparison evaluates reference != test. More...
 
constexpr GPUCompareOp GPU_COMPAREOP_GREATER_OR_EQUAL
 The comparison evaluates reference >= test. More...
 
constexpr GPUCompareOp GPU_COMPAREOP_ALWAYS
 The comparison always evaluates true. More...
 
constexpr GPUStencilOp GPU_STENCILOP_INVALID
 GPU_STENCILOP_INVALID. More...
 
constexpr GPUStencilOp GPU_STENCILOP_KEEP
 Keeps the current value. More...
 
constexpr GPUStencilOp GPU_STENCILOP_ZERO
 Sets the value to 0. More...
 
constexpr GPUStencilOp GPU_STENCILOP_REPLACE
 Sets the value to reference. More...
 
constexpr GPUStencilOp GPU_STENCILOP_INCREMENT_AND_CLAMP
 Increments the current value and clamps to the maximum value. More...
 
constexpr GPUStencilOp GPU_STENCILOP_DECREMENT_AND_CLAMP
 Decrements the current value and clamps to 0. More...
 
constexpr GPUStencilOp GPU_STENCILOP_INVERT
 Bitwise-inverts the current value. More...
 
constexpr GPUStencilOp GPU_STENCILOP_INCREMENT_AND_WRAP
 Increments the current value and wraps back to 0. More...
 
constexpr GPUStencilOp GPU_STENCILOP_DECREMENT_AND_WRAP
 Decrements the current value and wraps to the maximum value. More...
 
constexpr GPUBlendOp GPU_BLENDOP_INVALID
 GPU_BLENDOP_INVALID. More...
 
constexpr GPUBlendOp GPU_BLENDOP_ADD = SDL_GPU_BLENDOP_ADD
 (source * source_factor) + (destination * destination_factor)
 
constexpr GPUBlendOp GPU_BLENDOP_SUBTRACT = SDL_GPU_BLENDOP_SUBTRACT
 (source * source_factor) - (destination * destination_factor)
 
constexpr GPUBlendOp GPU_BLENDOP_REVERSE_SUBTRACT
 (destination * destination_factor) - (source * source_factor) More...
 
constexpr GPUBlendOp GPU_BLENDOP_MIN
 min(source, destination) More...
 
constexpr GPUBlendOp GPU_BLENDOP_MAX
 max(source, destination) More...
 
constexpr GPUBlendFactor GPU_BLENDFACTOR_INVALID
 GPU_BLENDFACTOR_INVALID. More...
 
constexpr GPUBlendFactor GPU_BLENDFACTOR_ZERO = SDL_GPU_BLENDFACTOR_ZERO
 0
 
constexpr GPUBlendFactor GPU_BLENDFACTOR_ONE = SDL_GPU_BLENDFACTOR_ONE
 1
 
constexpr GPUBlendFactor GPU_BLENDFACTOR_SRC_COLOR
 source color More...
 
constexpr GPUBlendFactor GPU_BLENDFACTOR_ONE_MINUS_SRC_COLOR
 1 - source color More...
 
constexpr GPUBlendFactor GPU_BLENDFACTOR_DST_COLOR
 destination color More...
 
constexpr GPUBlendFactor GPU_BLENDFACTOR_ONE_MINUS_DST_COLOR
 1 - destination color More...
 
constexpr GPUBlendFactor GPU_BLENDFACTOR_SRC_ALPHA
 source alpha More...
 
constexpr GPUBlendFactor GPU_BLENDFACTOR_ONE_MINUS_SRC_ALPHA
 1 - source alpha More...
 
constexpr GPUBlendFactor GPU_BLENDFACTOR_DST_ALPHA
 destination alpha More...
 
constexpr GPUBlendFactor GPU_BLENDFACTOR_ONE_MINUS_DST_ALPHA
 1 - destination alpha More...
 
constexpr GPUBlendFactor GPU_BLENDFACTOR_CONSTANT_COLOR
 blend constant More...
 
constexpr GPUBlendFactor GPU_BLENDFACTOR_ONE_MINUS_CONSTANT_COLOR
 1 - blend constant More...
 
constexpr GPUBlendFactor GPU_BLENDFACTOR_SRC_ALPHA_SATURATE
 min(source alpha, 1 - destination alpha) More...
 
constexpr GPUColorComponentFlags GPU_COLORCOMPONENT_R
 the red component More...
 
constexpr GPUColorComponentFlags GPU_COLORCOMPONENT_G
 the green component More...
 
constexpr GPUColorComponentFlags GPU_COLORCOMPONENT_B
 the blue component More...
 
constexpr GPUColorComponentFlags GPU_COLORCOMPONENT_A
 the alpha component More...
 
constexpr GPUFilter GPU_FILTER_NEAREST
 Point filtering. More...
 
constexpr GPUFilter GPU_FILTER_LINEAR
 Linear filtering. More...
 
constexpr GPUSamplerMipmapMode GPU_SAMPLERMIPMAPMODE_NEAREST
 Point filtering. More...
 
constexpr GPUSamplerMipmapMode GPU_SAMPLERMIPMAPMODE_LINEAR
 Linear filtering. More...
 
constexpr GPUSamplerAddressMode GPU_SAMPLERADDRESSMODE_REPEAT
 Specifies that the coordinates will wrap around. More...
 
constexpr GPUSamplerAddressMode GPU_SAMPLERADDRESSMODE_MIRRORED_REPEAT
 Specifies that the coordinates will wrap around mirrored. More...
 
constexpr GPUSamplerAddressMode GPU_SAMPLERADDRESSMODE_CLAMP_TO_EDGE
 Specifies that the coordinates will clamp to the 0-1 range. More...
 
constexpr Uint32 HAPTIC_INFINITY = SDL_HAPTIC_INFINITY
 Used to play a device an infinite number of times. More...
 
constexpr hid_bus_type HID_API_BUS_UNKNOWN
 Unknown bus type. More...
 
constexpr hid_bus_type HID_API_BUS_USB
 [object Object] More...
 
constexpr hid_bus_type HID_API_BUS_BLUETOOTH
 [object Object] More...
 
constexpr hid_bus_type HID_API_BUS_I2C
 [object Object] More...
 
constexpr hid_bus_type HID_API_BUS_SPI
 [object Object] More...
 
constexpr HintPriority HINT_DEFAULT = SDL_HINT_DEFAULT
 DEFAULT.
 
constexpr HintPriority HINT_NORMAL = SDL_HINT_NORMAL
 NORMAL.
 
constexpr HintPriority HINT_OVERRIDE = SDL_HINT_OVERRIDE
 OVERRIDE.
 
constexpr InitFlags INIT_AUDIO
 INIT_AUDIO implies INIT_EVENTS More...
 
constexpr InitFlags INIT_VIDEO = SDL_INIT_VIDEO
 INIT_VIDEO implies INIT_EVENTS, should be initialized on the main thread
 
constexpr InitFlags INIT_JOYSTICK
 INIT_JOYSTICK implies INIT_EVENTS More...
 
constexpr InitFlags INIT_HAPTIC = SDL_INIT_HAPTIC
 HAPTIC.
 
constexpr InitFlags INIT_GAMEPAD
 INIT_GAMEPAD implies INIT_JOYSTICK More...
 
constexpr InitFlags INIT_EVENTS = SDL_INIT_EVENTS
 EVENTS.
 
constexpr InitFlags INIT_SENSOR
 INIT_SENSOR implies INIT_EVENTS More...
 
constexpr InitFlags INIT_CAMERA
 INIT_CAMERA implies INIT_EVENTS More...
 
constexpr IOStatus IO_STATUS_READY
 Everything is ready (no errors and not EOF). More...
 
constexpr IOStatus IO_STATUS_ERROR
 Read or write I/O error. More...
 
constexpr IOStatus IO_STATUS_EOF = SDL_IO_STATUS_EOF
 End of file.
 
constexpr IOStatus IO_STATUS_NOT_READY
 Non blocking I/O, not ready. More...
 
constexpr IOStatus IO_STATUS_READONLY
 Tried to write a read-only buffer. More...
 
constexpr IOStatus IO_STATUS_WRITEONLY
 Tried to read a write-only buffer. More...
 
constexpr IOWhence IO_SEEK_SET
 Seek from the beginning of data. More...
 
constexpr IOWhence IO_SEEK_CUR
 Seek relative to current read point. More...
 
constexpr IOWhence IO_SEEK_END
 Seek relative to the end of data. More...
 
constexpr JoystickType JOYSTICK_TYPE_UNKNOWN
 JOYSTICK_TYPE_UNKNOWN. More...
 
constexpr JoystickType JOYSTICK_TYPE_GAMEPAD
 JOYSTICK_TYPE_GAMEPAD. More...
 
constexpr JoystickType JOYSTICK_TYPE_WHEEL
 JOYSTICK_TYPE_WHEEL. More...
 
constexpr JoystickType JOYSTICK_TYPE_ARCADE_STICK
 JOYSTICK_TYPE_ARCADE_STICK. More...
 
constexpr JoystickType JOYSTICK_TYPE_FLIGHT_STICK
 JOYSTICK_TYPE_FLIGHT_STICK. More...
 
constexpr JoystickType JOYSTICK_TYPE_DANCE_PAD
 JOYSTICK_TYPE_DANCE_PAD. More...
 
constexpr JoystickType JOYSTICK_TYPE_GUITAR
 JOYSTICK_TYPE_GUITAR. More...
 
constexpr JoystickType JOYSTICK_TYPE_DRUM_KIT
 JOYSTICK_TYPE_DRUM_KIT. More...
 
constexpr JoystickType JOYSTICK_TYPE_ARCADE_PAD
 JOYSTICK_TYPE_ARCADE_PAD. More...
 
constexpr JoystickType JOYSTICK_TYPE_THROTTLE
 JOYSTICK_TYPE_THROTTLE. More...
 
constexpr JoystickType JOYSTICK_TYPE_COUNT
 JOYSTICK_TYPE_COUNT. More...
 
constexpr JoystickConnectionState JOYSTICK_CONNECTION_INVALID
 JOYSTICK_CONNECTION_INVALID. More...
 
constexpr JoystickConnectionState JOYSTICK_CONNECTION_UNKNOWN
 JOYSTICK_CONNECTION_UNKNOWN. More...
 
constexpr JoystickConnectionState JOYSTICK_CONNECTION_WIRED
 JOYSTICK_CONNECTION_WIRED. More...
 
constexpr JoystickConnectionState JOYSTICK_CONNECTION_WIRELESS
 JOYSTICK_CONNECTION_WIRELESS. More...
 
constexpr Uint8 HAT_CENTERED = SDL_HAT_CENTERED
 CENTERED.
 
constexpr Uint8 HAT_UP = SDL_HAT_UP
 UP.
 
constexpr Uint8 HAT_RIGHT = SDL_HAT_RIGHT
 RIGHT.
 
constexpr Uint8 HAT_DOWN = SDL_HAT_DOWN
 DOWN.
 
constexpr Uint8 HAT_LEFT = SDL_HAT_LEFT
 LEFT.
 
constexpr Uint8 HAT_RIGHTUP = SDL_HAT_RIGHTUP
 RIGHTUP.
 
constexpr Uint8 HAT_RIGHTDOWN = SDL_HAT_RIGHTDOWN
 RIGHTDOWN.
 
constexpr Uint8 HAT_LEFTUP = SDL_HAT_LEFTUP
 LEFTUP.
 
constexpr Uint8 HAT_LEFTDOWN = SDL_HAT_LEFTDOWN
 LEFTDOWN.
 
constexpr int JOYSTICK_AXIS_MAX = SDL_JOYSTICK_AXIS_MAX
 The largest value an Joystick's axis can report. More...
 
constexpr int JOYSTICK_AXIS_MIN = SDL_JOYSTICK_AXIS_MIN
 The smallest value an Joystick's axis can report. More...
 
constexpr TextInputType TEXTINPUT_TYPE_TEXT
 The input is text. More...
 
constexpr TextInputType TEXTINPUT_TYPE_TEXT_NAME
 The input is a person's name. More...
 
constexpr TextInputType TEXTINPUT_TYPE_TEXT_EMAIL
 The input is an e-mail address. More...
 
constexpr TextInputType TEXTINPUT_TYPE_TEXT_USERNAME
 The input is a username. More...
 
constexpr TextInputType TEXTINPUT_TYPE_TEXT_PASSWORD_HIDDEN
 The input is a secure password that is hidden. More...
 
constexpr TextInputType TEXTINPUT_TYPE_TEXT_PASSWORD_VISIBLE
 The input is a secure password that is visible. More...
 
constexpr TextInputType TEXTINPUT_TYPE_NUMBER
 The input is a number. More...
 
constexpr TextInputType TEXTINPUT_TYPE_NUMBER_PASSWORD_HIDDEN
 The input is a secure PIN that is hidden. More...
 
constexpr TextInputType TEXTINPUT_TYPE_NUMBER_PASSWORD_VISIBLE
 The input is a secure PIN that is visible. More...
 
constexpr Capitalization CAPITALIZE_NONE
 No auto-capitalization will be done. More...
 
constexpr Capitalization CAPITALIZE_SENTENCES
 The first letter of sentences will be capitalized. More...
 
constexpr Capitalization CAPITALIZE_WORDS
 The first letter of words will be capitalized. More...
 
constexpr Capitalization CAPITALIZE_LETTERS
 All letters will be capitalized. More...
 
constexpr Keymod KMOD_NONE = SDL_KMOD_NONE
 no modifier is applicable.
 
constexpr Keymod KMOD_LSHIFT = SDL_KMOD_LSHIFT
 the left Shift key is down.
 
constexpr Keymod KMOD_RSHIFT
 the right Shift key is down. More...
 
constexpr Keymod KMOD_LEVEL5
 the Level 5 Shift key is down. More...
 
constexpr Keymod KMOD_LCTRL
 the left Ctrl (Control) key is down. More...
 
constexpr Keymod KMOD_RCTRL
 the right Ctrl (Control) key is down. More...
 
constexpr Keymod KMOD_LALT = SDL_KMOD_LALT
 the left Alt key is down.
 
constexpr Keymod KMOD_RALT = SDL_KMOD_RALT
 the right Alt key is down.
 
constexpr Keymod KMOD_LGUI
 the left GUI key (often the Windows key) is down. More...
 
constexpr Keymod KMOD_RGUI
 the right GUI key (often the Windows key) is down. More...
 
constexpr Keymod KMOD_NUM = SDL_KMOD_NUM
 the Num Lock key (may be located on an extended keypad) is down.
 
constexpr Keymod KMOD_CAPS = SDL_KMOD_CAPS
 the Caps Lock key is down.
 
constexpr Keymod KMOD_MODE = SDL_KMOD_MODE
 the !AltGr key is down.
 
constexpr Keymod KMOD_SCROLL
 the Scroll Lock key is down. More...
 
constexpr Keymod KMOD_CTRL = SDL_KMOD_CTRL
 Any Ctrl key is down.
 
constexpr Keymod KMOD_SHIFT = SDL_KMOD_SHIFT
 Any Shift key is down.
 
constexpr Keymod KMOD_ALT = SDL_KMOD_ALT
 Any Alt key is down.
 
constexpr Keymod KMOD_GUI = SDL_KMOD_GUI
 Any GUI key is down.
 
constexpr Keycode KEYCODE_UNKNOWN = SDLK_UNKNOWN
 0
 
constexpr Keycode KEYCODE_RETURN = SDLK_RETURN
 '\r'
 
constexpr Keycode KEYCODE_ESCAPE = SDLK_ESCAPE
 '\x1B'
 
constexpr Keycode KEYCODE_BACKSPACE = SDLK_BACKSPACE
 '\b'
 
constexpr Keycode KEYCODE_TAB = SDLK_TAB
 '\t'
 
constexpr Keycode KEYCODE_SPACE = SDLK_SPACE
 ' '
 
constexpr Keycode KEYCODE_EXCLAIM = SDLK_EXCLAIM
 '!'
 
constexpr Keycode KEYCODE_DBLAPOSTROPHE = SDLK_DBLAPOSTROPHE
 '"'
 
constexpr Keycode KEYCODE_HASH = SDLK_HASH
 '#'
 
constexpr Keycode KEYCODE_DOLLAR = SDLK_DOLLAR
 '$'
 
constexpr Keycode KEYCODE_PERCENT = SDLK_PERCENT
 ''
 
constexpr Keycode KEYCODE_AMPERSAND = SDLK_AMPERSAND
 '&'
 
constexpr Keycode KEYCODE_APOSTROPHE = SDLK_APOSTROPHE
 '\''
 
constexpr Keycode KEYCODE_LEFTPAREN = SDLK_LEFTPAREN
 '('
 
constexpr Keycode KEYCODE_RIGHTPAREN = SDLK_RIGHTPAREN
 ')'
 
constexpr Keycode KEYCODE_ASTERISK = SDLK_ASTERISK
 '*'
 
constexpr Keycode KEYCODE_PLUS = SDLK_PLUS
 '+'
 
constexpr Keycode KEYCODE_COMMA = SDLK_COMMA
 ','
 
constexpr Keycode KEYCODE_MINUS = SDLK_MINUS
 '-'
 
constexpr Keycode KEYCODE_PERIOD = SDLK_PERIOD
 '.'
 
constexpr Keycode KEYCODE_SLASH = SDLK_SLASH
 '/'
 
constexpr Keycode KEYCODE_0 = SDLK_0
 '0'
 
constexpr Keycode KEYCODE_1 = SDLK_1
 '1'
 
constexpr Keycode KEYCODE_2 = SDLK_2
 '2'
 
constexpr Keycode KEYCODE_3 = SDLK_3
 '3'
 
constexpr Keycode KEYCODE_4 = SDLK_4
 '4'
 
constexpr Keycode KEYCODE_5 = SDLK_5
 '5'
 
constexpr Keycode KEYCODE_6 = SDLK_6
 '6'
 
constexpr Keycode KEYCODE_7 = SDLK_7
 '7'
 
constexpr Keycode KEYCODE_8 = SDLK_8
 '8'
 
constexpr Keycode KEYCODE_9 = SDLK_9
 '9'
 
constexpr Keycode KEYCODE_COLON = SDLK_COLON
 ':'
 
constexpr Keycode KEYCODE_SEMICOLON = SDLK_SEMICOLON
 ';'
 
constexpr Keycode KEYCODE_LESS = SDLK_LESS
 '<'
 
constexpr Keycode KEYCODE_EQUALS = SDLK_EQUALS
 '='
 
constexpr Keycode KEYCODE_GREATER = SDLK_GREATER
 '>'
 
constexpr Keycode KEYCODE_QUESTION = SDLK_QUESTION
 '?'
 
constexpr Keycode KEYCODE_AT = SDLK_AT
 '@'
 
constexpr Keycode KEYCODE_LEFTBRACKET = SDLK_LEFTBRACKET
 '['
 
constexpr Keycode KEYCODE_BACKSLASH = SDLK_BACKSLASH
 '\b'
 
constexpr Keycode KEYCODE_RIGHTBRACKET = SDLK_RIGHTBRACKET
 ']'
 
constexpr Keycode KEYCODE_CARET = SDLK_CARET
 '^'
 
constexpr Keycode KEYCODE_UNDERSCORE = SDLK_UNDERSCORE
 '_'
 
constexpr Keycode KEYCODE_GRAVE = SDLK_GRAVE
 '‘’
 
constexpr Keycode KEYCODE_A = SDLK_A
 'a'
 
constexpr Keycode KEYCODE_B = SDLK_B
 'b'
 
constexpr Keycode KEYCODE_C = SDLK_C
 'c'
 
constexpr Keycode KEYCODE_D = SDLK_D
 'd'
 
constexpr Keycode KEYCODE_E = SDLK_E
 'e'
 
constexpr Keycode KEYCODE_F = SDLK_F
 'f'
 
constexpr Keycode KEYCODE_G = SDLK_G
 'g'
 
constexpr Keycode KEYCODE_H = SDLK_H
 'h'
 
constexpr Keycode KEYCODE_I = SDLK_I
 'i'
 
constexpr Keycode KEYCODE_J = SDLK_J
 'j'
 
constexpr Keycode KEYCODE_K = SDLK_K
 'k'
 
constexpr Keycode KEYCODE_L = SDLK_L
 'l'
 
constexpr Keycode KEYCODE_M = SDLK_M
 'm'
 
constexpr Keycode KEYCODE_N = SDLK_N
 'n'
 
constexpr Keycode KEYCODE_O = SDLK_O
 'o'
 
constexpr Keycode KEYCODE_P = SDLK_P
 'p'
 
constexpr Keycode KEYCODE_Q = SDLK_Q
 'q'
 
constexpr Keycode KEYCODE_R = SDLK_R
 'r'
 
constexpr Keycode KEYCODE_S = SDLK_S
 's'
 
constexpr Keycode KEYCODE_T = SDLK_T
 't'
 
constexpr Keycode KEYCODE_U = SDLK_U
 'u'
 
constexpr Keycode KEYCODE_V = SDLK_V
 'v'
 
constexpr Keycode KEYCODE_W = SDLK_W
 'w'
 
constexpr Keycode KEYCODE_X = SDLK_X
 'x'
 
constexpr Keycode KEYCODE_Y = SDLK_Y
 'y'
 
constexpr Keycode KEYCODE_Z = SDLK_Z
 'z'
 
constexpr Keycode KEYCODE_LEFTBRACE = SDLK_LEFTBRACE
 '{'
 
constexpr Keycode KEYCODE_PIPE = SDLK_PIPE
 '|'
 
constexpr Keycode KEYCODE_RIGHTBRACE = SDLK_RIGHTBRACE
 '}'
 
constexpr Keycode KEYCODE_TILDE = SDLK_TILDE
 '~'
 
constexpr Keycode KEYCODE_DELETE = SDLK_DELETE
 '\x7F'
 
constexpr Keycode KEYCODE_PLUSMINUS = SDLK_PLUSMINUS
 '\xB1'
 
constexpr Keycode KEYCODE_CAPSLOCK
 ScancodeToKeycode(SCANCODE_CAPSLOCK) More...
 
constexpr Keycode KEYCODE_F1 = SDLK_F1
 ScancodeToKeycode(SCANCODE_F1)
 
constexpr Keycode KEYCODE_F2 = SDLK_F2
 ScancodeToKeycode(SCANCODE_F2)
 
constexpr Keycode KEYCODE_F3 = SDLK_F3
 ScancodeToKeycode(SCANCODE_F3)
 
constexpr Keycode KEYCODE_F4 = SDLK_F4
 ScancodeToKeycode(SCANCODE_F4)
 
constexpr Keycode KEYCODE_F5 = SDLK_F5
 ScancodeToKeycode(SCANCODE_F5)
 
constexpr Keycode KEYCODE_F6 = SDLK_F6
 ScancodeToKeycode(SCANCODE_F6)
 
constexpr Keycode KEYCODE_F7 = SDLK_F7
 ScancodeToKeycode(SCANCODE_F7)
 
constexpr Keycode KEYCODE_F8 = SDLK_F8
 ScancodeToKeycode(SCANCODE_F8)
 
constexpr Keycode KEYCODE_F9 = SDLK_F9
 ScancodeToKeycode(SCANCODE_F9)
 
constexpr Keycode KEYCODE_F10 = SDLK_F10
 ScancodeToKeycode(SCANCODE_F10)
 
constexpr Keycode KEYCODE_F11 = SDLK_F11
 ScancodeToKeycode(SCANCODE_F11)
 
constexpr Keycode KEYCODE_F12 = SDLK_F12
 ScancodeToKeycode(SCANCODE_F12)
 
constexpr Keycode KEYCODE_PRINTSCREEN
 ScancodeToKeycode(SCANCODE_PRINTSCREEN) More...
 
constexpr Keycode KEYCODE_SCROLLLOCK
 ScancodeToKeycode(SCANCODE_SCROLLLOCK) More...
 
constexpr Keycode KEYCODE_PAUSE
 ScancodeToKeycode(SCANCODE_PAUSE) More...
 
constexpr Keycode KEYCODE_INSERT
 ScancodeToKeycode(SCANCODE_INSERT) More...
 
constexpr Keycode KEYCODE_HOME
 ScancodeToKeycode(SCANCODE_HOME) More...
 
constexpr Keycode KEYCODE_PAGEUP
 ScancodeToKeycode(SCANCODE_PAGEUP) More...
 
constexpr Keycode KEYCODE_END = SDLK_END
 ScancodeToKeycode(SCANCODE_END)
 
constexpr Keycode KEYCODE_PAGEDOWN
 ScancodeToKeycode(SCANCODE_PAGEDOWN) More...
 
constexpr Keycode KEYCODE_RIGHT
 ScancodeToKeycode(SCANCODE_RIGHT) More...
 
constexpr Keycode KEYCODE_LEFT
 ScancodeToKeycode(SCANCODE_LEFT) More...
 
constexpr Keycode KEYCODE_DOWN
 ScancodeToKeycode(SCANCODE_DOWN) More...
 
constexpr Keycode KEYCODE_UP = SDLK_UP
 ScancodeToKeycode(SCANCODE_UP)
 
constexpr Keycode KEYCODE_NUMLOCKCLEAR
 ScancodeToKeycode(SCANCODE_NUMLOCKCLEAR) More...
 
constexpr Keycode KEYCODE_KP_DIVIDE
 ScancodeToKeycode(SCANCODE_KP_DIVIDE) More...
 
constexpr Keycode KEYCODE_KP_MULTIPLY
 ScancodeToKeycode(SCANCODE_KP_MULTIPLY) More...
 
constexpr Keycode KEYCODE_KP_MINUS
 ScancodeToKeycode(SCANCODE_KP_MINUS) More...
 
constexpr Keycode KEYCODE_KP_PLUS
 ScancodeToKeycode(SCANCODE_KP_PLUS) More...
 
constexpr Keycode KEYCODE_KP_ENTER
 ScancodeToKeycode(SCANCODE_KP_ENTER) More...
 
constexpr Keycode KEYCODE_KP_1
 ScancodeToKeycode(SCANCODE_KP_1) More...
 
constexpr Keycode KEYCODE_KP_2
 ScancodeToKeycode(SCANCODE_KP_2) More...
 
constexpr Keycode KEYCODE_KP_3
 ScancodeToKeycode(SCANCODE_KP_3) More...
 
constexpr Keycode KEYCODE_KP_4
 ScancodeToKeycode(SCANCODE_KP_4) More...
 
constexpr Keycode KEYCODE_KP_5
 ScancodeToKeycode(SCANCODE_KP_5) More...
 
constexpr Keycode KEYCODE_KP_6
 ScancodeToKeycode(SCANCODE_KP_6) More...
 
constexpr Keycode KEYCODE_KP_7
 ScancodeToKeycode(SCANCODE_KP_7) More...
 
constexpr Keycode KEYCODE_KP_8
 ScancodeToKeycode(SCANCODE_KP_8) More...
 
constexpr Keycode KEYCODE_KP_9
 ScancodeToKeycode(SCANCODE_KP_9) More...
 
constexpr Keycode KEYCODE_KP_0
 ScancodeToKeycode(SCANCODE_KP_0) More...
 
constexpr Keycode KEYCODE_KP_PERIOD
 ScancodeToKeycode(SCANCODE_KP_PERIOD) More...
 
constexpr Keycode KEYCODE_APPLICATION
 ScancodeToKeycode(SCANCODE_APPLICATION) More...
 
constexpr Keycode KEYCODE_POWER
 ScancodeToKeycode(SCANCODE_POWER) More...
 
constexpr Keycode KEYCODE_KP_EQUALS
 ScancodeToKeycode(SCANCODE_KP_EQUALS) More...
 
constexpr Keycode KEYCODE_F13 = SDLK_F13
 ScancodeToKeycode(SCANCODE_F13)
 
constexpr Keycode KEYCODE_F14 = SDLK_F14
 ScancodeToKeycode(SCANCODE_F14)
 
constexpr Keycode KEYCODE_F15 = SDLK_F15
 ScancodeToKeycode(SCANCODE_F15)
 
constexpr Keycode KEYCODE_F16 = SDLK_F16
 ScancodeToKeycode(SCANCODE_F16)
 
constexpr Keycode KEYCODE_F17 = SDLK_F17
 ScancodeToKeycode(SCANCODE_F17)
 
constexpr Keycode KEYCODE_F18 = SDLK_F18
 ScancodeToKeycode(SCANCODE_F18)
 
constexpr Keycode KEYCODE_F19 = SDLK_F19
 ScancodeToKeycode(SCANCODE_F19)
 
constexpr Keycode KEYCODE_F20 = SDLK_F20
 ScancodeToKeycode(SCANCODE_F20)
 
constexpr Keycode KEYCODE_F21 = SDLK_F21
 ScancodeToKeycode(SCANCODE_F21)
 
constexpr Keycode KEYCODE_F22 = SDLK_F22
 ScancodeToKeycode(SCANCODE_F22)
 
constexpr Keycode KEYCODE_F23 = SDLK_F23
 ScancodeToKeycode(SCANCODE_F23)
 
constexpr Keycode KEYCODE_F24 = SDLK_F24
 ScancodeToKeycode(SCANCODE_F24)
 
constexpr Keycode KEYCODE_EXECUTE
 ScancodeToKeycode(SCANCODE_EXECUTE) More...
 
constexpr Keycode KEYCODE_HELP
 ScancodeToKeycode(SCANCODE_HELP) More...
 
constexpr Keycode KEYCODE_MENU
 ScancodeToKeycode(SCANCODE_MENU) More...
 
constexpr Keycode KEYCODE_SELECT
 ScancodeToKeycode(SCANCODE_SELECT) More...
 
constexpr Keycode KEYCODE_STOP
 ScancodeToKeycode(SCANCODE_STOP) More...
 
constexpr Keycode KEYCODE_AGAIN
 ScancodeToKeycode(SCANCODE_AGAIN) More...
 
constexpr Keycode KEYCODE_UNDO
 ScancodeToKeycode(SCANCODE_UNDO) More...
 
constexpr Keycode KEYCODE_CUT = SDLK_CUT
 ScancodeToKeycode(SCANCODE_CUT)
 
constexpr Keycode KEYCODE_COPY
 ScancodeToKeycode(SCANCODE_COPY) More...
 
constexpr Keycode KEYCODE_PASTE
 ScancodeToKeycode(SCANCODE_PASTE) More...
 
constexpr Keycode KEYCODE_FIND
 ScancodeToKeycode(SCANCODE_FIND) More...
 
constexpr Keycode KEYCODE_MUTE
 ScancodeToKeycode(SCANCODE_MUTE) More...
 
constexpr Keycode KEYCODE_VOLUMEUP
 ScancodeToKeycode(SCANCODE_VOLUMEUP) More...
 
constexpr Keycode KEYCODE_VOLUMEDOWN
 ScancodeToKeycode(SCANCODE_VOLUMEDOWN) More...
 
constexpr Keycode KEYCODE_KP_COMMA
 ScancodeToKeycode(SCANCODE_KP_COMMA) More...
 
constexpr Keycode KEYCODE_KP_EQUALSAS400
 ScancodeToKeycode(SCANCODE_KP_EQUALSAS400) More...
 
constexpr Keycode KEYCODE_ALTERASE
 ScancodeToKeycode(SCANCODE_ALTERASE) More...
 
constexpr Keycode KEYCODE_SYSREQ
 ScancodeToKeycode(SCANCODE_SYSREQ) More...
 
constexpr Keycode KEYCODE_CANCEL
 ScancodeToKeycode(SCANCODE_CANCEL) More...
 
constexpr Keycode KEYCODE_CLEAR
 ScancodeToKeycode(SCANCODE_CLEAR) More...
 
constexpr Keycode KEYCODE_PRIOR
 ScancodeToKeycode(SCANCODE_PRIOR) More...
 
constexpr Keycode KEYCODE_RETURN2
 ScancodeToKeycode(SCANCODE_RETURN2) More...
 
constexpr Keycode KEYCODE_SEPARATOR
 ScancodeToKeycode(SCANCODE_SEPARATOR) More...
 
constexpr Keycode KEYCODE_OUT = SDLK_OUT
 ScancodeToKeycode(SCANCODE_OUT)
 
constexpr Keycode KEYCODE_OPER
 ScancodeToKeycode(SCANCODE_OPER) More...
 
constexpr Keycode KEYCODE_CLEARAGAIN
 ScancodeToKeycode(SCANCODE_CLEARAGAIN) More...
 
constexpr Keycode KEYCODE_CRSEL
 ScancodeToKeycode(SCANCODE_CRSEL) More...
 
constexpr Keycode KEYCODE_EXSEL
 ScancodeToKeycode(SCANCODE_EXSEL) More...
 
constexpr Keycode KEYCODE_KP_00
 ScancodeToKeycode(SCANCODE_KP_00) More...
 
constexpr Keycode KEYCODE_KP_000
 ScancodeToKeycode(SCANCODE_KP_000) More...
 
constexpr Keycode KEYCODE_THOUSANDSSEPARATOR
 ScancodeToKeycode(SCANCODE_THOUSANDSSEPARATOR) More...
 
constexpr Keycode KEYCODE_DECIMALSEPARATOR
 ScancodeToKeycode(SCANCODE_DECIMALSEPARATOR) More...
 
constexpr Keycode KEYCODE_CURRENCYUNIT
 ScancodeToKeycode(SCANCODE_CURRENCYUNIT) More...
 
constexpr Keycode KEYCODE_CURRENCYSUBUNIT
 ScancodeToKeycode(SCANCODE_CURRENCYSUBUNIT) More...
 
constexpr Keycode KEYCODE_KP_LEFTPAREN
 ScancodeToKeycode(SCANCODE_KP_LEFTPAREN) More...
 
constexpr Keycode KEYCODE_KP_RIGHTPAREN
 ScancodeToKeycode(SCANCODE_KP_RIGHTPAREN) More...
 
constexpr Keycode KEYCODE_KP_LEFTBRACE
 ScancodeToKeycode(SCANCODE_KP_LEFTBRACE) More...
 
constexpr Keycode KEYCODE_KP_RIGHTBRACE
 ScancodeToKeycode(SCANCODE_KP_RIGHTBRACE) More...
 
constexpr Keycode KEYCODE_KP_TAB
 ScancodeToKeycode(SCANCODE_KP_TAB) More...
 
constexpr Keycode KEYCODE_KP_BACKSPACE
 ScancodeToKeycode(SCANCODE_KP_BACKSPACE) More...
 
constexpr Keycode KEYCODE_KP_A
 ScancodeToKeycode(SCANCODE_KP_A) More...
 
constexpr Keycode KEYCODE_KP_B
 ScancodeToKeycode(SCANCODE_KP_B) More...
 
constexpr Keycode KEYCODE_KP_C
 ScancodeToKeycode(SCANCODE_KP_C) More...
 
constexpr Keycode KEYCODE_KP_D
 ScancodeToKeycode(SCANCODE_KP_D) More...
 
constexpr Keycode KEYCODE_KP_E
 ScancodeToKeycode(SCANCODE_KP_E) More...
 
constexpr Keycode KEYCODE_KP_F
 ScancodeToKeycode(SCANCODE_KP_F) More...
 
constexpr Keycode KEYCODE_KP_XOR
 ScancodeToKeycode(SCANCODE_KP_XOR) More...
 
constexpr Keycode KEYCODE_KP_POWER
 ScancodeToKeycode(SCANCODE_KP_POWER) More...
 
constexpr Keycode KEYCODE_KP_PERCENT
 ScancodeToKeycode(SCANCODE_KP_PERCENT) More...
 
constexpr Keycode KEYCODE_KP_LESS
 ScancodeToKeycode(SCANCODE_KP_LESS) More...
 
constexpr Keycode KEYCODE_KP_GREATER
 ScancodeToKeycode(SCANCODE_KP_GREATER) More...
 
constexpr Keycode KEYCODE_KP_AMPERSAND
 ScancodeToKeycode(SCANCODE_KP_AMPERSAND) More...
 
constexpr Keycode KEYCODE_KP_DBLAMPERSAND
 ScancodeToKeycode(SCANCODE_KP_DBLAMPERSAND) More...
 
constexpr Keycode KEYCODE_KP_VERTICALBAR
 ScancodeToKeycode(SCANCODE_KP_VERTICALBAR) More...
 
constexpr Keycode KEYCODE_KP_DBLVERTICALBAR
 ScancodeToKeycode(SCANCODE_KP_DBLVERTICALBAR) More...
 
constexpr Keycode KEYCODE_KP_COLON
 ScancodeToKeycode(SCANCODE_KP_COLON) More...
 
constexpr Keycode KEYCODE_KP_HASH
 ScancodeToKeycode(SCANCODE_KP_HASH) More...
 
constexpr Keycode KEYCODE_KP_SPACE
 ScancodeToKeycode(SCANCODE_KP_SPACE) More...
 
constexpr Keycode KEYCODE_KP_AT
 ScancodeToKeycode(SCANCODE_KP_AT) More...
 
constexpr Keycode KEYCODE_KP_EXCLAM
 ScancodeToKeycode(SCANCODE_KP_EXCLAM) More...
 
constexpr Keycode KEYCODE_KP_MEMSTORE
 ScancodeToKeycode(SCANCODE_KP_MEMSTORE) More...
 
constexpr Keycode KEYCODE_KP_MEMRECALL
 ScancodeToKeycode(SCANCODE_KP_MEMRECALL) More...
 
constexpr Keycode KEYCODE_KP_MEMCLEAR
 ScancodeToKeycode(SCANCODE_KP_MEMCLEAR) More...
 
constexpr Keycode KEYCODE_KP_MEMADD
 ScancodeToKeycode(SCANCODE_KP_MEMADD) More...
 
constexpr Keycode KEYCODE_KP_MEMSUBTRACT
 ScancodeToKeycode(SCANCODE_KP_MEMSUBTRACT) More...
 
constexpr Keycode KEYCODE_KP_MEMMULTIPLY
 ScancodeToKeycode(SCANCODE_KP_MEMMULTIPLY) More...
 
constexpr Keycode KEYCODE_KP_MEMDIVIDE
 ScancodeToKeycode(SCANCODE_KP_MEMDIVIDE) More...
 
constexpr Keycode KEYCODE_KP_PLUSMINUS
 ScancodeToKeycode(SCANCODE_KP_PLUSMINUS) More...
 
constexpr Keycode KEYCODE_KP_CLEAR
 ScancodeToKeycode(SCANCODE_KP_CLEAR) More...
 
constexpr Keycode KEYCODE_KP_CLEARENTRY
 ScancodeToKeycode(SCANCODE_KP_CLEARENTRY) More...
 
constexpr Keycode KEYCODE_KP_BINARY
 ScancodeToKeycode(SCANCODE_KP_BINARY) More...
 
constexpr Keycode KEYCODE_KP_OCTAL
 ScancodeToKeycode(SCANCODE_KP_OCTAL) More...
 
constexpr Keycode KEYCODE_KP_DECIMAL
 ScancodeToKeycode(SCANCODE_KP_DECIMAL) More...
 
constexpr Keycode KEYCODE_KP_HEXADECIMAL
 ScancodeToKeycode(SCANCODE_KP_HEXADECIMAL) More...
 
constexpr Keycode KEYCODE_LCTRL
 ScancodeToKeycode(SCANCODE_LCTRL) More...
 
constexpr Keycode KEYCODE_LSHIFT
 ScancodeToKeycode(SCANCODE_LSHIFT) More...
 
constexpr Keycode KEYCODE_LALT
 ScancodeToKeycode(SCANCODE_LALT) More...
 
constexpr Keycode KEYCODE_LGUI
 ScancodeToKeycode(SCANCODE_LGUI) More...
 
constexpr Keycode KEYCODE_RCTRL
 ScancodeToKeycode(SCANCODE_RCTRL) More...
 
constexpr Keycode KEYCODE_RSHIFT
 ScancodeToKeycode(SCANCODE_RSHIFT) More...
 
constexpr Keycode KEYCODE_RALT
 ScancodeToKeycode(SCANCODE_RALT) More...
 
constexpr Keycode KEYCODE_RGUI
 ScancodeToKeycode(SCANCODE_RGUI) More...
 
constexpr Keycode KEYCODE_MODE
 ScancodeToKeycode(SCANCODE_MODE) More...
 
constexpr Keycode KEYCODE_SLEEP
 ScancodeToKeycode(SCANCODE_SLEEP) More...
 
constexpr Keycode KEYCODE_WAKE
 ScancodeToKeycode(SCANCODE_WAKE) More...
 
constexpr Keycode KEYCODE_CHANNEL_INCREMENT
 ScancodeToKeycode(SCANCODE_CHANNEL_INCREMENT) More...
 
constexpr Keycode KEYCODE_CHANNEL_DECREMENT
 ScancodeToKeycode(SCANCODE_CHANNEL_DECREMENT) More...
 
constexpr Keycode KEYCODE_MEDIA_PLAY
 ScancodeToKeycode(SCANCODE_MEDIA_PLAY) More...
 
constexpr Keycode KEYCODE_MEDIA_PAUSE
 ScancodeToKeycode(SCANCODE_MEDIA_PAUSE) More...
 
constexpr Keycode KEYCODE_MEDIA_RECORD
 ScancodeToKeycode(SCANCODE_MEDIA_RECORD) More...
 
constexpr Keycode KEYCODE_MEDIA_FAST_FORWARD
 ScancodeToKeycode(SCANCODE_MEDIA_FAST_FORWARD) More...
 
constexpr Keycode KEYCODE_MEDIA_REWIND
 ScancodeToKeycode(SCANCODE_MEDIA_REWIND) More...
 
constexpr Keycode KEYCODE_MEDIA_NEXT_TRACK
 ScancodeToKeycode(SCANCODE_MEDIA_NEXT_TRACK) More...
 
constexpr Keycode KEYCODE_MEDIA_PREVIOUS_TRACK
 ScancodeToKeycode(SCANCODE_MEDIA_PREVIOUS_TRACK) More...
 
constexpr Keycode KEYCODE_MEDIA_STOP
 ScancodeToKeycode(SCANCODE_MEDIA_STOP) More...
 
constexpr Keycode KEYCODE_MEDIA_EJECT
 ScancodeToKeycode(SCANCODE_MEDIA_EJECT) More...
 
constexpr Keycode KEYCODE_MEDIA_PLAY_PAUSE
 ScancodeToKeycode(SCANCODE_MEDIA_PLAY_PAUSE) More...
 
constexpr Keycode KEYCODE_MEDIA_SELECT
 ScancodeToKeycode(SCANCODE_MEDIA_SELECT) More...
 
constexpr Keycode KEYCODE_AC_NEW
 ScancodeToKeycode(SCANCODE_AC_NEW) More...
 
constexpr Keycode KEYCODE_AC_OPEN
 ScancodeToKeycode(SCANCODE_AC_OPEN) More...
 
constexpr Keycode KEYCODE_AC_CLOSE
 ScancodeToKeycode(SCANCODE_AC_CLOSE) More...
 
constexpr Keycode KEYCODE_AC_EXIT
 ScancodeToKeycode(SCANCODE_AC_EXIT) More...
 
constexpr Keycode KEYCODE_AC_SAVE
 ScancodeToKeycode(SCANCODE_AC_SAVE) More...
 
constexpr Keycode KEYCODE_AC_PRINT
 ScancodeToKeycode(SCANCODE_AC_PRINT) More...
 
constexpr Keycode KEYCODE_AC_PROPERTIES
 ScancodeToKeycode(SCANCODE_AC_PROPERTIES) More...
 
constexpr Keycode KEYCODE_AC_SEARCH
 ScancodeToKeycode(SCANCODE_AC_SEARCH) More...
 
constexpr Keycode KEYCODE_AC_HOME
 ScancodeToKeycode(SCANCODE_AC_HOME) More...
 
constexpr Keycode KEYCODE_AC_BACK
 ScancodeToKeycode(SCANCODE_AC_BACK) More...
 
constexpr Keycode KEYCODE_AC_FORWARD
 ScancodeToKeycode(SCANCODE_AC_FORWARD) More...
 
constexpr Keycode KEYCODE_AC_STOP
 ScancodeToKeycode(SCANCODE_AC_STOP) More...
 
constexpr Keycode KEYCODE_AC_REFRESH
 ScancodeToKeycode(SCANCODE_AC_REFRESH) More...
 
constexpr Keycode KEYCODE_AC_BOOKMARKS
 ScancodeToKeycode(SCANCODE_AC_BOOKMARKS) More...
 
constexpr Keycode KEYCODE_SOFTLEFT
 ScancodeToKeycode(SCANCODE_SOFTLEFT) More...
 
constexpr Keycode KEYCODE_SOFTRIGHT
 ScancodeToKeycode(SCANCODE_SOFTRIGHT) More...
 
constexpr Keycode KEYCODE_CALL
 ScancodeToKeycode(SCANCODE_CALL) More...
 
constexpr Keycode KEYCODE_ENDCALL
 ScancodeToKeycode(SCANCODE_ENDCALL) More...
 
constexpr Keycode KEYCODE_LEFT_TAB = SDLK_LEFT_TAB
 Extended key Left Tab.
 
constexpr Keycode KEYCODE_LEVEL5_SHIFT
 Extended key Level 5 Shift. More...
 
constexpr Keycode KEYCODE_MULTI_KEY_COMPOSE
 Extended key Multi-key Compose. More...
 
constexpr Keycode KEYCODE_LMETA = SDLK_LMETA
 Extended key Left Meta.
 
constexpr Keycode KEYCODE_RMETA = SDLK_RMETA
 Extended key Right Meta.
 
constexpr Keycode KEYCODE_LHYPER = SDLK_LHYPER
 Extended key Left Hyper.
 
constexpr Keycode KEYCODE_RHYPER = SDLK_RHYPER
 Extended key Right Hyper.
 
constexpr Keycode KEYCODE_EXTENDED_MASK = SDLK_EXTENDED_MASK
 EXTENDED_MASK.
 
constexpr Keycode KEYCODE_SCANCODE_MASK = SDLK_SCANCODE_MASK
 SCANCODE_MASK.
 
constexpr SystemCursor SYSTEM_CURSOR_DEFAULT
 Default cursor. Usually an arrow. More...
 
constexpr SystemCursor SYSTEM_CURSOR_TEXT
 Text selection. Usually an I-beam. More...
 
constexpr SystemCursor SYSTEM_CURSOR_WAIT = SDL_SYSTEM_CURSOR_WAIT
 Wait. Usually an hourglass or watch or spinning ball.
 
constexpr SystemCursor SYSTEM_CURSOR_CROSSHAIR
 Crosshair. More...
 
constexpr SystemCursor SYSTEM_CURSOR_PROGRESS = SDL_SYSTEM_CURSOR_PROGRESS
 Program is busy but still interactive. Usually it's WAIT with an arrow.
 
constexpr SystemCursor SYSTEM_CURSOR_NWSE_RESIZE
 Double arrow pointing northwest and southeast. More...
 
constexpr SystemCursor SYSTEM_CURSOR_NESW_RESIZE
 Double arrow pointing northeast and southwest. More...
 
constexpr SystemCursor SYSTEM_CURSOR_EW_RESIZE
 Double arrow pointing west and east. More...
 
constexpr SystemCursor SYSTEM_CURSOR_NS_RESIZE
 Double arrow pointing north and south. More...
 
constexpr SystemCursor SYSTEM_CURSOR_MOVE = SDL_SYSTEM_CURSOR_MOVE
 Four pointed arrow pointing north, south, east, and west.
 
constexpr SystemCursor SYSTEM_CURSOR_NOT_ALLOWED
 Not permitted. Usually a slashed circle or crossbones. More...
 
constexpr SystemCursor SYSTEM_CURSOR_POINTER = SDL_SYSTEM_CURSOR_POINTER
 Pointer that indicates a link. Usually a pointing hand.
 
constexpr SystemCursor SYSTEM_CURSOR_NW_RESIZE = SDL_SYSTEM_CURSOR_NW_RESIZE
 Window resize top-left. More...
 
constexpr SystemCursor SYSTEM_CURSOR_N_RESIZE
 Window resize top. May be NS_RESIZE. More...
 
constexpr SystemCursor SYSTEM_CURSOR_NE_RESIZE
 Window resize top-right. More...
 
constexpr SystemCursor SYSTEM_CURSOR_E_RESIZE
 Window resize right. May be EW_RESIZE. More...
 
constexpr SystemCursor SYSTEM_CURSOR_SE_RESIZE
 Window resize bottom-right. More...
 
constexpr SystemCursor SYSTEM_CURSOR_S_RESIZE
 Window resize bottom. May be NS_RESIZE. More...
 
constexpr SystemCursor SYSTEM_CURSOR_SW_RESIZE
 Window resize bottom-left. More...
 
constexpr SystemCursor SYSTEM_CURSOR_W_RESIZE
 Window resize left. May be EW_RESIZE. More...
 
constexpr SystemCursor SYSTEM_CURSOR_COUNT = SDL_SYSTEM_CURSOR_COUNT
 COUNT.
 
constexpr MouseWheelDirection MOUSEWHEEL_NORMAL
 The scroll direction is normal. More...
 
constexpr MouseWheelDirection MOUSEWHEEL_FLIPPED
 The scroll direction is flipped / natural. More...
 
constexpr MouseButton BUTTON_LEFT = SDL_BUTTON_LEFT
 Left button.
 
constexpr MouseButton BUTTON_MIDDLE = SDL_BUTTON_MIDDLE
 Middle button.
 
constexpr MouseButton BUTTON_RIGHT = SDL_BUTTON_RIGHT
 Right button.
 
constexpr MouseButton BUTTON_X1 = SDL_BUTTON_X1
 X1 button.
 
constexpr MouseButton BUTTON_X2 = SDL_BUTTON_X2
 X2 button.
 
constexpr MouseButtonFlags BUTTON_LMASK = SDL_BUTTON_LMASK
 LMASK.
 
constexpr MouseButtonFlags BUTTON_MMASK = SDL_BUTTON_MMASK
 MMASK.
 
constexpr MouseButtonFlags BUTTON_RMASK = SDL_BUTTON_RMASK
 RMASK.
 
constexpr MouseButtonFlags BUTTON_X1MASK = SDL_BUTTON_X1MASK
 X1MASK.
 
constexpr MouseButtonFlags BUTTON_X2MASK = SDL_BUTTON_X2MASK
 X2MASK.
 
constexpr InitStatus INIT_STATUS_UNINITIALIZED
 INIT_STATUS_UNINITIALIZED. More...
 
constexpr InitStatus INIT_STATUS_INITIALIZING
 INIT_STATUS_INITIALIZING. More...
 
constexpr InitStatus INIT_STATUS_INITIALIZED
 INIT_STATUS_INITIALIZED. More...
 
constexpr InitStatus INIT_STATUS_UNINITIALIZING
 INIT_STATUS_UNINITIALIZING. More...
 
constexpr MouseID PEN_MOUSEID = SDL_PEN_MOUSEID
 The MouseID for mouse events simulated with pen input. More...
 
constexpr TouchID PEN_TOUCHID = SDL_PEN_TOUCHID
 The TouchID for touch events simulated with pen input. More...
 
constexpr PenInputFlags PEN_INPUT_DOWN
 pen is pressed down More...
 
constexpr PenInputFlags PEN_INPUT_BUTTON_1
 button 1 is pressed More...
 
constexpr PenInputFlags PEN_INPUT_BUTTON_2
 button 2 is pressed More...
 
constexpr PenInputFlags PEN_INPUT_BUTTON_3
 button 3 is pressed More...
 
constexpr PenInputFlags PEN_INPUT_BUTTON_4
 button 4 is pressed More...
 
constexpr PenInputFlags PEN_INPUT_BUTTON_5
 button 5 is pressed More...
 
constexpr PenInputFlags PEN_INPUT_ERASER_TIP
 eraser tip is used More...
 
constexpr PenAxis PEN_AXIS_PRESSURE
 Pen pressure. Unidirectional: 0 to 1.0. More...
 
constexpr PenAxis PEN_AXIS_XTILT = SDL_PEN_AXIS_XTILT
 Pen horizontal tilt angle. Bidirectional: -90.0 to 90.0 (left-to-right).
 
constexpr PenAxis PEN_AXIS_YTILT = SDL_PEN_AXIS_YTILT
 Pen vertical tilt angle. Bidirectional: -90.0 to 90.0 (top-to-down).
 
constexpr PenAxis PEN_AXIS_DISTANCE = SDL_PEN_AXIS_DISTANCE
 Pen distance to drawing surface. Unidirectional: 0.0 to 1.0.
 
constexpr PenAxis PEN_AXIS_ROTATION = SDL_PEN_AXIS_ROTATION
 Pen barrel rotation. More...
 
constexpr PenAxis PEN_AXIS_SLIDER = SDL_PEN_AXIS_SLIDER
 Pen finger wheel or slider (e.g., Airbrush Pen). Unidirectional: 0 to 1.0.
 
constexpr PenAxis PEN_AXIS_TANGENTIAL_PRESSURE
 Pressure from squeezing the pen ("barrel pressure"). More...
 
constexpr PenAxis PEN_AXIS_COUNT = SDL_PEN_AXIS_COUNT
 Total known pen axis types in this version of SDL. More...
 
constexpr Uint8 ALPHA_OPAQUE = SDL_ALPHA_OPAQUE
 A fully opaque 8-bit alpha value. More...
 
constexpr float ALPHA_OPAQUE_FLOAT = SDL_ALPHA_OPAQUE_FLOAT
 A fully opaque floating point alpha value. More...
 
constexpr Uint8 ALPHA_TRANSPARENT = SDL_ALPHA_TRANSPARENT
 A fully transparent 8-bit alpha value. More...
 
constexpr float ALPHA_TRANSPARENT_FLOAT = SDL_ALPHA_TRANSPARENT_FLOAT
 A fully transparent floating point alpha value. More...
 
constexpr ProcessIO PROCESS_STDIO_INHERITED
 The I/O stream is inherited from the application. More...
 
constexpr ProcessIO PROCESS_STDIO_NULL
 The I/O stream is ignored. More...
 
constexpr ProcessIO PROCESS_STDIO_APP = SDL_PROCESS_STDIO_APP
 The I/O stream is connected to a new IOStream that the application can read or write.
 
constexpr ProcessIO PROCESS_STDIO_REDIRECT = SDL_PROCESS_STDIO_REDIRECT
 The I/O stream is redirected to an existing IOStream.
 
constexpr PropertyType PROPERTY_TYPE_INVALID
 INVALID. More...
 
constexpr PropertyType PROPERTY_TYPE_POINTER
 POINTER. More...
 
constexpr PropertyType PROPERTY_TYPE_STRING
 STRING. More...
 
constexpr PropertyType PROPERTY_TYPE_NUMBER
 NUMBER. More...
 
constexpr PropertyType PROPERTY_TYPE_FLOAT = SDL_PROPERTY_TYPE_FLOAT
 FLOAT.
 
constexpr PropertyType PROPERTY_TYPE_BOOLEAN
 BOOLEAN. More...
 
constexpr TextureAccess TEXTUREACCESS_STATIC
 Changes rarely, not lockable. More...
 
constexpr TextureAccess TEXTUREACCESS_STREAMING
 Changes frequently, lockable. More...
 
constexpr TextureAccess TEXTUREACCESS_TARGET
 Texture can be used as a render target. More...
 
constexpr RendererLogicalPresentation LOGICAL_PRESENTATION_DISABLED
 There is no logical size in effect. More...
 
constexpr RendererLogicalPresentation LOGICAL_PRESENTATION_STRETCH
 The rendered content is stretched to the output resolution. More...
 
constexpr RendererLogicalPresentation LOGICAL_PRESENTATION_LETTERBOX
 The rendered content is fit to the largest dimension and the other dimension is letterboxed with black bars. More...
 
constexpr RendererLogicalPresentation LOGICAL_PRESENTATION_OVERSCAN
 The rendered content is fit to the smallest dimension and the other dimension extends beyond the output bounds. More...
 
constexpr RendererLogicalPresentation LOGICAL_PRESENTATION_INTEGER_SCALE
 The rendered content is scaled up by integer multiples to fit the output resolution. More...
 
constexpr Scancode SCANCODE_UNKNOWN = SDL_SCANCODE_UNKNOWN
 UNKNOWN.
 
constexpr Scancode SCANCODE_A = SDL_SCANCODE_A
 A.
 
constexpr Scancode SCANCODE_B = SDL_SCANCODE_B
 B.
 
constexpr Scancode SCANCODE_C = SDL_SCANCODE_C
 C.
 
constexpr Scancode SCANCODE_D = SDL_SCANCODE_D
 D.
 
constexpr Scancode SCANCODE_E = SDL_SCANCODE_E
 E.
 
constexpr Scancode SCANCODE_F = SDL_SCANCODE_F
 F.
 
constexpr Scancode SCANCODE_G = SDL_SCANCODE_G
 G.
 
constexpr Scancode SCANCODE_H = SDL_SCANCODE_H
 H.
 
constexpr Scancode SCANCODE_I = SDL_SCANCODE_I
 I.
 
constexpr Scancode SCANCODE_J = SDL_SCANCODE_J
 J.
 
constexpr Scancode SCANCODE_K = SDL_SCANCODE_K
 K.
 
constexpr Scancode SCANCODE_L = SDL_SCANCODE_L
 L.
 
constexpr Scancode SCANCODE_M = SDL_SCANCODE_M
 M.
 
constexpr Scancode SCANCODE_N = SDL_SCANCODE_N
 N.
 
constexpr Scancode SCANCODE_O = SDL_SCANCODE_O
 O.
 
constexpr Scancode SCANCODE_P = SDL_SCANCODE_P
 P.
 
constexpr Scancode SCANCODE_Q = SDL_SCANCODE_Q
 Q.
 
constexpr Scancode SCANCODE_R = SDL_SCANCODE_R
 R.
 
constexpr Scancode SCANCODE_S = SDL_SCANCODE_S
 S.
 
constexpr Scancode SCANCODE_T = SDL_SCANCODE_T
 T.
 
constexpr Scancode SCANCODE_U = SDL_SCANCODE_U
 U.
 
constexpr Scancode SCANCODE_V = SDL_SCANCODE_V
 V.
 
constexpr Scancode SCANCODE_W = SDL_SCANCODE_W
 W.
 
constexpr Scancode SCANCODE_X = SDL_SCANCODE_X
 X.
 
constexpr Scancode SCANCODE_Y = SDL_SCANCODE_Y
 Y.
 
constexpr Scancode SCANCODE_Z = SDL_SCANCODE_Z
 Z.
 
constexpr Scancode SCANCODE_1 = SDL_SCANCODE_1
 1
 
constexpr Scancode SCANCODE_2 = SDL_SCANCODE_2
 2
 
constexpr Scancode SCANCODE_3 = SDL_SCANCODE_3
 3
 
constexpr Scancode SCANCODE_4 = SDL_SCANCODE_4
 4
 
constexpr Scancode SCANCODE_5 = SDL_SCANCODE_5
 5
 
constexpr Scancode SCANCODE_6 = SDL_SCANCODE_6
 6
 
constexpr Scancode SCANCODE_7 = SDL_SCANCODE_7
 7
 
constexpr Scancode SCANCODE_8 = SDL_SCANCODE_8
 8
 
constexpr Scancode SCANCODE_9 = SDL_SCANCODE_9
 9
 
constexpr Scancode SCANCODE_0 = SDL_SCANCODE_0
 0
 
constexpr Scancode SCANCODE_RETURN = SDL_SCANCODE_RETURN
 RETURN.
 
constexpr Scancode SCANCODE_ESCAPE = SDL_SCANCODE_ESCAPE
 ESCAPE.
 
constexpr Scancode SCANCODE_BACKSPACE = SDL_SCANCODE_BACKSPACE
 BACKSPACE.
 
constexpr Scancode SCANCODE_TAB = SDL_SCANCODE_TAB
 TAB.
 
constexpr Scancode SCANCODE_SPACE = SDL_SCANCODE_SPACE
 SPACE.
 
constexpr Scancode SCANCODE_MINUS = SDL_SCANCODE_MINUS
 MINUS.
 
constexpr Scancode SCANCODE_EQUALS = SDL_SCANCODE_EQUALS
 EQUALS.
 
constexpr Scancode SCANCODE_LEFTBRACKET
 LEFTBRACKET. More...
 
constexpr Scancode SCANCODE_RIGHTBRACKET
 RIGHTBRACKET. More...
 
constexpr Scancode SCANCODE_BACKSLASH = SDL_SCANCODE_BACKSLASH
 Located at the lower left of the return key on ISO keyboards and at the right end of the QWERTY row on ANSI keyboards. More...
 
constexpr Scancode SCANCODE_NONUSHASH = SDL_SCANCODE_NONUSHASH
 ISO USB keyboards actually use this code instead of 49 for the same key, but all OSes I've seen treat the two codes identically. More...
 
constexpr Scancode SCANCODE_SEMICOLON = SDL_SCANCODE_SEMICOLON
 SEMICOLON.
 
constexpr Scancode SCANCODE_APOSTROPHE
 APOSTROPHE. More...
 
constexpr Scancode SCANCODE_GRAVE = SDL_SCANCODE_GRAVE
 Located in the top left corner (on both ANSI and ISO keyboards). More...
 
constexpr Scancode SCANCODE_COMMA = SDL_SCANCODE_COMMA
 COMMA.
 
constexpr Scancode SCANCODE_PERIOD = SDL_SCANCODE_PERIOD
 PERIOD.
 
constexpr Scancode SCANCODE_SLASH = SDL_SCANCODE_SLASH
 SLASH.
 
constexpr Scancode SCANCODE_CAPSLOCK = SDL_SCANCODE_CAPSLOCK
 CAPSLOCK.
 
constexpr Scancode SCANCODE_F1 = SDL_SCANCODE_F1
 F1.
 
constexpr Scancode SCANCODE_F2 = SDL_SCANCODE_F2
 F2.
 
constexpr Scancode SCANCODE_F3 = SDL_SCANCODE_F3
 F3.
 
constexpr Scancode SCANCODE_F4 = SDL_SCANCODE_F4
 F4.
 
constexpr Scancode SCANCODE_F5 = SDL_SCANCODE_F5
 F5.
 
constexpr Scancode SCANCODE_F6 = SDL_SCANCODE_F6
 F6.
 
constexpr Scancode SCANCODE_F7 = SDL_SCANCODE_F7
 F7.
 
constexpr Scancode SCANCODE_F8 = SDL_SCANCODE_F8
 F8.
 
constexpr Scancode SCANCODE_F9 = SDL_SCANCODE_F9
 F9.
 
constexpr Scancode SCANCODE_F10 = SDL_SCANCODE_F10
 F10.
 
constexpr Scancode SCANCODE_F11 = SDL_SCANCODE_F11
 F11.
 
constexpr Scancode SCANCODE_F12 = SDL_SCANCODE_F12
 F12.
 
constexpr Scancode SCANCODE_PRINTSCREEN
 PRINTSCREEN. More...
 
constexpr Scancode SCANCODE_SCROLLLOCK
 SCROLLLOCK. More...
 
constexpr Scancode SCANCODE_PAUSE = SDL_SCANCODE_PAUSE
 PAUSE.
 
constexpr Scancode SCANCODE_INSERT = SDL_SCANCODE_INSERT
 insert on PC, help on some Mac keyboards (but does send code 73, not 117)
 
constexpr Scancode SCANCODE_HOME = SDL_SCANCODE_HOME
 HOME.
 
constexpr Scancode SCANCODE_PAGEUP = SDL_SCANCODE_PAGEUP
 PAGEUP.
 
constexpr Scancode SCANCODE_DELETE = SDL_SCANCODE_DELETE
 DELETE.
 
constexpr Scancode SCANCODE_END = SDL_SCANCODE_END
 END.
 
constexpr Scancode SCANCODE_PAGEDOWN = SDL_SCANCODE_PAGEDOWN
 PAGEDOWN.
 
constexpr Scancode SCANCODE_RIGHT = SDL_SCANCODE_RIGHT
 RIGHT.
 
constexpr Scancode SCANCODE_LEFT = SDL_SCANCODE_LEFT
 LEFT.
 
constexpr Scancode SCANCODE_DOWN = SDL_SCANCODE_DOWN
 DOWN.
 
constexpr Scancode SCANCODE_UP = SDL_SCANCODE_UP
 UP.
 
constexpr Scancode SCANCODE_NUMLOCKCLEAR
 num lock on PC, clear on Mac keyboards More...
 
constexpr Scancode SCANCODE_KP_DIVIDE = SDL_SCANCODE_KP_DIVIDE
 KP_DIVIDE.
 
constexpr Scancode SCANCODE_KP_MULTIPLY
 KP_MULTIPLY. More...
 
constexpr Scancode SCANCODE_KP_MINUS = SDL_SCANCODE_KP_MINUS
 KP_MINUS.
 
constexpr Scancode SCANCODE_KP_PLUS = SDL_SCANCODE_KP_PLUS
 KP_PLUS.
 
constexpr Scancode SCANCODE_KP_ENTER = SDL_SCANCODE_KP_ENTER
 KP_ENTER.
 
constexpr Scancode SCANCODE_KP_1 = SDL_SCANCODE_KP_1
 KP_1.
 
constexpr Scancode SCANCODE_KP_2 = SDL_SCANCODE_KP_2
 KP_2.
 
constexpr Scancode SCANCODE_KP_3 = SDL_SCANCODE_KP_3
 KP_3.
 
constexpr Scancode SCANCODE_KP_4 = SDL_SCANCODE_KP_4
 KP_4.
 
constexpr Scancode SCANCODE_KP_5 = SDL_SCANCODE_KP_5
 KP_5.
 
constexpr Scancode SCANCODE_KP_6 = SDL_SCANCODE_KP_6
 KP_6.
 
constexpr Scancode SCANCODE_KP_7 = SDL_SCANCODE_KP_7
 KP_7.
 
constexpr Scancode SCANCODE_KP_8 = SDL_SCANCODE_KP_8
 KP_8.
 
constexpr Scancode SCANCODE_KP_9 = SDL_SCANCODE_KP_9
 KP_9.
 
constexpr Scancode SCANCODE_KP_0 = SDL_SCANCODE_KP_0
 KP_0.
 
constexpr Scancode SCANCODE_KP_PERIOD = SDL_SCANCODE_KP_PERIOD
 KP_PERIOD.
 
constexpr Scancode SCANCODE_NONUSBACKSLASH = SDL_SCANCODE_NONUSBACKSLASH
 This is the additional key that ISO keyboards have over ANSI ones, located between left shift and Z. More...
 
constexpr Scancode SCANCODE_APPLICATION
 windows contextual menu, compose More...
 
constexpr Scancode SCANCODE_POWER = SDL_SCANCODE_POWER
 The USB document says this is a status flag, not a physical key - but some Mac keyboards do have a power key.
 
constexpr Scancode SCANCODE_KP_EQUALS = SDL_SCANCODE_KP_EQUALS
 KP_EQUALS.
 
constexpr Scancode SCANCODE_F13 = SDL_SCANCODE_F13
 F13.
 
constexpr Scancode SCANCODE_F14 = SDL_SCANCODE_F14
 F14.
 
constexpr Scancode SCANCODE_F15 = SDL_SCANCODE_F15
 F15.
 
constexpr Scancode SCANCODE_F16 = SDL_SCANCODE_F16
 F16.
 
constexpr Scancode SCANCODE_F17 = SDL_SCANCODE_F17
 F17.
 
constexpr Scancode SCANCODE_F18 = SDL_SCANCODE_F18
 F18.
 
constexpr Scancode SCANCODE_F19 = SDL_SCANCODE_F19
 F19.
 
constexpr Scancode SCANCODE_F20 = SDL_SCANCODE_F20
 F20.
 
constexpr Scancode SCANCODE_F21 = SDL_SCANCODE_F21
 F21.
 
constexpr Scancode SCANCODE_F22 = SDL_SCANCODE_F22
 F22.
 
constexpr Scancode SCANCODE_F23 = SDL_SCANCODE_F23
 F23.
 
constexpr Scancode SCANCODE_F24 = SDL_SCANCODE_F24
 F24.
 
constexpr Scancode SCANCODE_EXECUTE = SDL_SCANCODE_EXECUTE
 EXECUTE.
 
constexpr Scancode SCANCODE_HELP
 AL Integrated Help Center. More...
 
constexpr Scancode SCANCODE_MENU = SDL_SCANCODE_MENU
 Menu (show menu)
 
constexpr Scancode SCANCODE_SELECT = SDL_SCANCODE_SELECT
 SELECT.
 
constexpr Scancode SCANCODE_STOP = SDL_SCANCODE_STOP
 AC Stop.
 
constexpr Scancode SCANCODE_AGAIN = SDL_SCANCODE_AGAIN
 AC Redo/Repeat.
 
constexpr Scancode SCANCODE_UNDO = SDL_SCANCODE_UNDO
 AC Undo.
 
constexpr Scancode SCANCODE_CUT = SDL_SCANCODE_CUT
 AC Cut.
 
constexpr Scancode SCANCODE_COPY = SDL_SCANCODE_COPY
 AC Copy.
 
constexpr Scancode SCANCODE_PASTE = SDL_SCANCODE_PASTE
 AC Paste.
 
constexpr Scancode SCANCODE_FIND = SDL_SCANCODE_FIND
 AC Find.
 
constexpr Scancode SCANCODE_MUTE = SDL_SCANCODE_MUTE
 MUTE.
 
constexpr Scancode SCANCODE_VOLUMEUP = SDL_SCANCODE_VOLUMEUP
 VOLUMEUP.
 
constexpr Scancode SCANCODE_VOLUMEDOWN
 VOLUMEDOWN. More...
 
constexpr Scancode SCANCODE_KP_COMMA = SDL_SCANCODE_KP_COMMA
 KP_COMMA.
 
constexpr Scancode SCANCODE_KP_EQUALSAS400
 KP_EQUALSAS400. More...
 
constexpr Scancode SCANCODE_INTERNATIONAL1
 used on Asian keyboards, see footnotes in USB doc More...
 
constexpr Scancode SCANCODE_INTERNATIONAL2
 INTERNATIONAL2. More...
 
constexpr Scancode SCANCODE_INTERNATIONAL3
 Yen. More...
 
constexpr Scancode SCANCODE_INTERNATIONAL4
 INTERNATIONAL4. More...
 
constexpr Scancode SCANCODE_INTERNATIONAL5
 INTERNATIONAL5. More...
 
constexpr Scancode SCANCODE_INTERNATIONAL6
 INTERNATIONAL6. More...
 
constexpr Scancode SCANCODE_INTERNATIONAL7
 INTERNATIONAL7. More...
 
constexpr Scancode SCANCODE_INTERNATIONAL8
 INTERNATIONAL8. More...
 
constexpr Scancode SCANCODE_INTERNATIONAL9
 INTERNATIONAL9. More...
 
constexpr Scancode SCANCODE_LANG1
 Hangul/English toggle. More...
 
constexpr Scancode SCANCODE_LANG2 = SDL_SCANCODE_LANG2
 Hanja conversion.
 
constexpr Scancode SCANCODE_LANG3 = SDL_SCANCODE_LANG3
 Katakana.
 
constexpr Scancode SCANCODE_LANG4 = SDL_SCANCODE_LANG4
 Hiragana.
 
constexpr Scancode SCANCODE_LANG5 = SDL_SCANCODE_LANG5
 Zenkaku/Hankaku.
 
constexpr Scancode SCANCODE_LANG6 = SDL_SCANCODE_LANG6
 reserved
 
constexpr Scancode SCANCODE_LANG7 = SDL_SCANCODE_LANG7
 reserved
 
constexpr Scancode SCANCODE_LANG8 = SDL_SCANCODE_LANG8
 reserved
 
constexpr Scancode SCANCODE_LANG9 = SDL_SCANCODE_LANG9
 reserved
 
constexpr Scancode SCANCODE_ALTERASE = SDL_SCANCODE_ALTERASE
 Erase-Eaze.
 
constexpr Scancode SCANCODE_SYSREQ = SDL_SCANCODE_SYSREQ
 SYSREQ.
 
constexpr Scancode SCANCODE_CANCEL = SDL_SCANCODE_CANCEL
 AC Cancel.
 
constexpr Scancode SCANCODE_CLEAR = SDL_SCANCODE_CLEAR
 CLEAR.
 
constexpr Scancode SCANCODE_PRIOR = SDL_SCANCODE_PRIOR
 PRIOR.
 
constexpr Scancode SCANCODE_RETURN2 = SDL_SCANCODE_RETURN2
 RETURN2.
 
constexpr Scancode SCANCODE_SEPARATOR = SDL_SCANCODE_SEPARATOR
 SEPARATOR.
 
constexpr Scancode SCANCODE_OUT = SDL_SCANCODE_OUT
 OUT.
 
constexpr Scancode SCANCODE_OPER = SDL_SCANCODE_OPER
 OPER.
 
constexpr Scancode SCANCODE_CLEARAGAIN
 CLEARAGAIN. More...
 
constexpr Scancode SCANCODE_CRSEL = SDL_SCANCODE_CRSEL
 CRSEL.
 
constexpr Scancode SCANCODE_EXSEL = SDL_SCANCODE_EXSEL
 EXSEL.
 
constexpr Scancode SCANCODE_KP_00 = SDL_SCANCODE_KP_00
 KP_00.
 
constexpr Scancode SCANCODE_KP_000 = SDL_SCANCODE_KP_000
 KP_000.
 
constexpr Scancode SCANCODE_THOUSANDSSEPARATOR
 THOUSANDSSEPARATOR. More...
 
constexpr Scancode SCANCODE_DECIMALSEPARATOR
 DECIMALSEPARATOR. More...
 
constexpr Scancode SCANCODE_CURRENCYUNIT
 CURRENCYUNIT. More...
 
constexpr Scancode SCANCODE_CURRENCYSUBUNIT
 CURRENCYSUBUNIT. More...
 
constexpr Scancode SCANCODE_KP_LEFTPAREN
 KP_LEFTPAREN. More...
 
constexpr Scancode SCANCODE_KP_RIGHTPAREN
 KP_RIGHTPAREN. More...
 
constexpr Scancode SCANCODE_KP_LEFTBRACE
 KP_LEFTBRACE. More...
 
constexpr Scancode SCANCODE_KP_RIGHTBRACE
 KP_RIGHTBRACE. More...
 
constexpr Scancode SCANCODE_KP_TAB = SDL_SCANCODE_KP_TAB
 KP_TAB.
 
constexpr Scancode SCANCODE_KP_BACKSPACE
 KP_BACKSPACE. More...
 
constexpr Scancode SCANCODE_KP_A = SDL_SCANCODE_KP_A
 KP_A.
 
constexpr Scancode SCANCODE_KP_B = SDL_SCANCODE_KP_B
 KP_B.
 
constexpr Scancode SCANCODE_KP_C = SDL_SCANCODE_KP_C
 KP_C.
 
constexpr Scancode SCANCODE_KP_D = SDL_SCANCODE_KP_D
 KP_D.
 
constexpr Scancode SCANCODE_KP_E = SDL_SCANCODE_KP_E
 KP_E.
 
constexpr Scancode SCANCODE_KP_F = SDL_SCANCODE_KP_F
 KP_F.
 
constexpr Scancode SCANCODE_KP_XOR = SDL_SCANCODE_KP_XOR
 KP_XOR.
 
constexpr Scancode SCANCODE_KP_POWER = SDL_SCANCODE_KP_POWER
 KP_POWER.
 
constexpr Scancode SCANCODE_KP_PERCENT
 KP_PERCENT. More...
 
constexpr Scancode SCANCODE_KP_LESS = SDL_SCANCODE_KP_LESS
 KP_LESS.
 
constexpr Scancode SCANCODE_KP_GREATER
 KP_GREATER. More...
 
constexpr Scancode SCANCODE_KP_AMPERSAND
 KP_AMPERSAND. More...
 
constexpr Scancode SCANCODE_KP_DBLAMPERSAND
 KP_DBLAMPERSAND. More...
 
constexpr Scancode SCANCODE_KP_VERTICALBAR
 KP_VERTICALBAR. More...
 
constexpr Scancode SCANCODE_KP_DBLVERTICALBAR
 KP_DBLVERTICALBAR. More...
 
constexpr Scancode SCANCODE_KP_COLON = SDL_SCANCODE_KP_COLON
 KP_COLON.
 
constexpr Scancode SCANCODE_KP_HASH = SDL_SCANCODE_KP_HASH
 KP_HASH.
 
constexpr Scancode SCANCODE_KP_SPACE = SDL_SCANCODE_KP_SPACE
 KP_SPACE.
 
constexpr Scancode SCANCODE_KP_AT = SDL_SCANCODE_KP_AT
 KP_AT.
 
constexpr Scancode SCANCODE_KP_EXCLAM = SDL_SCANCODE_KP_EXCLAM
 KP_EXCLAM.
 
constexpr Scancode SCANCODE_KP_MEMSTORE
 KP_MEMSTORE. More...
 
constexpr Scancode SCANCODE_KP_MEMRECALL
 KP_MEMRECALL. More...
 
constexpr Scancode SCANCODE_KP_MEMCLEAR
 KP_MEMCLEAR. More...
 
constexpr Scancode SCANCODE_KP_MEMADD = SDL_SCANCODE_KP_MEMADD
 KP_MEMADD.
 
constexpr Scancode SCANCODE_KP_MEMSUBTRACT
 KP_MEMSUBTRACT. More...
 
constexpr Scancode SCANCODE_KP_MEMMULTIPLY
 KP_MEMMULTIPLY. More...
 
constexpr Scancode SCANCODE_KP_MEMDIVIDE
 KP_MEMDIVIDE. More...
 
constexpr Scancode SCANCODE_KP_PLUSMINUS
 KP_PLUSMINUS. More...
 
constexpr Scancode SCANCODE_KP_CLEAR = SDL_SCANCODE_KP_CLEAR
 KP_CLEAR.
 
constexpr Scancode SCANCODE_KP_CLEARENTRY
 KP_CLEARENTRY. More...
 
constexpr Scancode SCANCODE_KP_BINARY = SDL_SCANCODE_KP_BINARY
 KP_BINARY.
 
constexpr Scancode SCANCODE_KP_OCTAL = SDL_SCANCODE_KP_OCTAL
 KP_OCTAL.
 
constexpr Scancode SCANCODE_KP_DECIMAL
 KP_DECIMAL. More...
 
constexpr Scancode SCANCODE_KP_HEXADECIMAL
 KP_HEXADECIMAL. More...
 
constexpr Scancode SCANCODE_LCTRL = SDL_SCANCODE_LCTRL
 LCTRL.
 
constexpr Scancode SCANCODE_LSHIFT = SDL_SCANCODE_LSHIFT
 LSHIFT.
 
constexpr Scancode SCANCODE_LALT = SDL_SCANCODE_LALT
 alt, option
 
constexpr Scancode SCANCODE_LGUI
 windows, command (apple), meta More...
 
constexpr Scancode SCANCODE_RCTRL = SDL_SCANCODE_RCTRL
 RCTRL.
 
constexpr Scancode SCANCODE_RSHIFT = SDL_SCANCODE_RSHIFT
 RSHIFT.
 
constexpr Scancode SCANCODE_RALT = SDL_SCANCODE_RALT
 alt gr, option
 
constexpr Scancode SCANCODE_RGUI
 windows, command (apple), meta More...
 
constexpr Scancode SCANCODE_MODE = SDL_SCANCODE_MODE
 I'm not sure if this is really not covered by any of the above, but since there's a special KMOD_MODE for it I'm adding it here.
 
constexpr Scancode SCANCODE_SLEEP = SDL_SCANCODE_SLEEP
 Sleep.
 
constexpr Scancode SCANCODE_WAKE = SDL_SCANCODE_WAKE
 Wake.
 
constexpr Scancode SCANCODE_CHANNEL_INCREMENT
 Channel Increment. More...
 
constexpr Scancode SCANCODE_CHANNEL_DECREMENT
 Channel Decrement. More...
 
constexpr Scancode SCANCODE_MEDIA_PLAY = SDL_SCANCODE_MEDIA_PLAY
 Play.
 
constexpr Scancode SCANCODE_MEDIA_PAUSE = SDL_SCANCODE_MEDIA_PAUSE
 Pause.
 
constexpr Scancode SCANCODE_MEDIA_RECORD
 Record. More...
 
constexpr Scancode SCANCODE_MEDIA_FAST_FORWARD
 Fast Forward. More...
 
constexpr Scancode SCANCODE_MEDIA_REWIND
 Rewind. More...
 
constexpr Scancode SCANCODE_MEDIA_NEXT_TRACK
 Next Track. More...
 
constexpr Scancode SCANCODE_MEDIA_PREVIOUS_TRACK
 Previous Track. More...
 
constexpr Scancode SCANCODE_MEDIA_STOP = SDL_SCANCODE_MEDIA_STOP
 Stop.
 
constexpr Scancode SCANCODE_MEDIA_EJECT = SDL_SCANCODE_MEDIA_EJECT
 Eject.
 
constexpr Scancode SCANCODE_MEDIA_PLAY_PAUSE
 Play / Pause. More...
 
constexpr Scancode SCANCODE_MEDIA_SELECT
 MEDIA_SELECT. More...
 
constexpr Scancode SCANCODE_AC_NEW = SDL_SCANCODE_AC_NEW
 AC New.
 
constexpr Scancode SCANCODE_AC_OPEN = SDL_SCANCODE_AC_OPEN
 AC Open.
 
constexpr Scancode SCANCODE_AC_CLOSE = SDL_SCANCODE_AC_CLOSE
 AC Close.
 
constexpr Scancode SCANCODE_AC_EXIT = SDL_SCANCODE_AC_EXIT
 AC Exit.
 
constexpr Scancode SCANCODE_AC_SAVE = SDL_SCANCODE_AC_SAVE
 AC Save.
 
constexpr Scancode SCANCODE_AC_PRINT = SDL_SCANCODE_AC_PRINT
 AC Print.
 
constexpr Scancode SCANCODE_AC_PROPERTIES
 AC Properties. More...
 
constexpr Scancode SCANCODE_AC_SEARCH = SDL_SCANCODE_AC_SEARCH
 AC Search.
 
constexpr Scancode SCANCODE_AC_HOME = SDL_SCANCODE_AC_HOME
 AC Home.
 
constexpr Scancode SCANCODE_AC_BACK = SDL_SCANCODE_AC_BACK
 AC Back.
 
constexpr Scancode SCANCODE_AC_FORWARD
 AC Forward. More...
 
constexpr Scancode SCANCODE_AC_STOP = SDL_SCANCODE_AC_STOP
 AC Stop.
 
constexpr Scancode SCANCODE_AC_REFRESH
 AC Refresh. More...
 
constexpr Scancode SCANCODE_AC_BOOKMARKS
 AC Bookmarks. More...
 
constexpr Scancode SCANCODE_SOFTLEFT = SDL_SCANCODE_SOFTLEFT
 Usually situated below the display on phones and used as a multi-function feature key for selecting a software defined function shown on the bottom left of the display.
 
constexpr Scancode SCANCODE_SOFTRIGHT = SDL_SCANCODE_SOFTRIGHT
 Usually situated below the display on phones and used as a multi-function feature key for selecting a software defined function shown on the bottom right of the display.
 
constexpr Scancode SCANCODE_CALL
 Used for accepting phone calls. More...
 
constexpr Scancode SCANCODE_ENDCALL
 Used for rejecting phone calls. More...
 
constexpr Scancode SCANCODE_RESERVED
 400-500 reserved for dynamic keycodes More...
 
constexpr Scancode SCANCODE_COUNT = SDL_SCANCODE_COUNT
 not a key, just marks the number of scancodes for array bounds
 
constexpr SensorType SENSOR_INVALID
 Returned for an invalid sensor. More...
 
constexpr SensorType SENSOR_UNKNOWN
 Unknown sensor type. More...
 
constexpr SensorType SENSOR_ACCEL = SDL_SENSOR_ACCEL
 Accelerometer.
 
constexpr SensorType SENSOR_GYRO = SDL_SENSOR_GYRO
 Gyroscope.
 
constexpr SensorType SENSOR_ACCEL_L = SDL_SENSOR_ACCEL_L
 Accelerometer for left Joy-Con controller and Wii nunchuk.
 
constexpr SensorType SENSOR_GYRO_L
 Gyroscope for left Joy-Con controller. More...
 
constexpr SensorType SENSOR_ACCEL_R
 Accelerometer for right Joy-Con controller. More...
 
constexpr SensorType SENSOR_GYRO_R
 Gyroscope for right Joy-Con controller. More...
 
constexpr SensorType SENSOR_COUNT = SDL_SENSOR_COUNT
 SENSOR_COUNT.
 
constexpr float STANDARD_GRAVITY = SDL_STANDARD_GRAVITY
 A constant to represent standard gravity for accelerometer sensors. More...
 
constexpr Sint8 MAX_SINT8 = SDL_MAX_SINT8
 Max representable value.
 
constexpr Sint8 MIN_SINT8 = SDL_MIN_SINT8
 Min representable value.
 
constexpr Uint8 MAX_UINT8 = SDL_MAX_UINT8
 Max representable value.
 
constexpr Uint8 MIN_UINT8 = SDL_MIN_UINT8
 Min representable value.
 
constexpr Sint16 MAX_SINT16 = SDL_MAX_SINT16
 Max representable value.
 
constexpr Sint16 MIN_SINT16 = SDL_MIN_SINT16
 Min representable value.
 
constexpr Uint16 MAX_UINT16 = SDL_MAX_UINT16
 Max representable value.
 
constexpr Uint16 MIN_UINT16 = SDL_MIN_UINT16
 Min representable value.
 
constexpr Sint32 MAX_SINT32 = SDL_MAX_SINT32
 Max representable value.
 
constexpr Sint32 MIN_SINT32 = SDL_MIN_SINT32
 Min representable value.
 
constexpr Uint32 MAX_UINT32 = SDL_MAX_UINT32
 Max representable value.
 
constexpr Uint8 MIN_UINT32 = SDL_MIN_UINT32
 Min representable value.
 
constexpr Sint64 MAX_SINT64 = SDL_MAX_SINT64
 Max representable value.
 
constexpr Sint64 MIN_SINT64 = SDL_MIN_SINT64
 Min representable value.
 
constexpr Uint64 MAX_UINT64 = SDL_MAX_UINT64
 Max representable value.
 
constexpr Uint8 MIN_UINT64 = SDL_MIN_UINT64
 Min representable value.
 
constexpr Time MAX_TIME = Time::FromNS(SDL_MAX_TIME)
 Max allowed time representation.
 
constexpr Time MIN_TIME = Time::FromNS(SDL_MIN_TIME)
 Min allowed time representation.
 
constexpr Uint32 INVALID_UNICODE_CODEPOINT = SDL_INVALID_UNICODE_CODEPOINT
 The Unicode REPLACEMENT CHARACTER codepoint. More...
 
constexpr double PI_D = SDL_PI_D
 The value of Pi, as a double-precision floating point literal. More...
 
constexpr float PI_F = SDL_PI_F
 The value of Pi, as a single-precision floating point literal. More...
 
constexpr SurfaceFlags SURFACE_PREALLOCATED
 Surface uses preallocated pixel memory. More...
 
constexpr SurfaceFlags SURFACE_LOCK_NEEDED
 Surface needs to be locked to access pixels. More...
 
constexpr SurfaceFlags SURFACE_LOCKED
 Surface is currently locked. More...
 
constexpr SurfaceFlags SURFACE_SIMD_ALIGNED = SDL_SURFACE_SIMD_ALIGNED
 Surface uses pixel memory allocated with aligned_alloc()
 
constexpr ScaleMode SCALEMODE_INVALID = SDL_SCALEMODE_INVALID
 INVALID.
 
constexpr ScaleMode SCALEMODE_NEAREST
 nearest pixel sampling More...
 
constexpr ScaleMode SCALEMODE_LINEAR
 linear filtering More...
 
constexpr FlipMode FLIP_NONE = SDL_FLIP_NONE
 Do not flip.
 
constexpr FlipMode FLIP_HORIZONTAL = SDL_FLIP_HORIZONTAL
 flip horizontally
 
constexpr FlipMode FLIP_VERTICAL = SDL_FLIP_VERTICAL
 flip vertically
 
constexpr Uint32 ANDROID_EXTERNAL_STORAGE_READ
 See the official Android developer guide for more information: http://developer.android.com/guide/topics/data/data-storage.html. More...
 
constexpr Uint32 ANDROID_EXTERNAL_STORAGE_WRITE
 See the official Android developer guide for more information: http://developer.android.com/guide/topics/data/data-storage.html. More...
 
constexpr Sandbox SANDBOX_NONE = SDL_SANDBOX_NONE
 NONE.
 
constexpr Sandbox SANDBOX_UNKNOWN_CONTAINER
 UNKNOWN_CONTAINER. More...
 
constexpr Sandbox SANDBOX_FLATPAK = SDL_SANDBOX_FLATPAK
 FLATPAK.
 
constexpr Sandbox SANDBOX_SNAP = SDL_SANDBOX_SNAP
 SNAP.
 
constexpr Sandbox SANDBOX_MACOS = SDL_SANDBOX_MACOS
 MACOS.
 
constexpr ThreadPriority THREAD_PRIORITY_LOW = SDL_THREAD_PRIORITY_LOW
 LOW.
 
constexpr ThreadPriority THREAD_PRIORITY_NORMAL
 NORMAL. More...
 
constexpr ThreadPriority THREAD_PRIORITY_HIGH
 HIGH. More...
 
constexpr ThreadPriority THREAD_PRIORITY_TIME_CRITICAL
 TIME_CRITICAL. More...
 
constexpr ThreadState THREAD_UNKNOWN
 The thread is not valid. More...
 
constexpr ThreadState THREAD_ALIVE
 The thread is currently running. More...
 
constexpr ThreadState THREAD_DETACHED
 The thread is detached and can't be waited on. More...
 
constexpr ThreadState THREAD_COMPLETE = SDL_THREAD_COMPLETE
 The thread has finished and should be cleaned up with Thread.Wait()
 
constexpr DateFormat DATE_FORMAT_YYYYMMDD
 Year/Month/Day. More...
 
constexpr DateFormat DATE_FORMAT_DDMMYYYY
 Day/Month/Year. More...
 
constexpr DateFormat DATE_FORMAT_MMDDYYYY
 Month/Day/Year. More...
 
constexpr TimeFormat TIME_FORMAT_24HR = SDL_TIME_FORMAT_24HR
 24 hour time
 
constexpr TimeFormat TIME_FORMAT_12HR = SDL_TIME_FORMAT_12HR
 12 hour time
 
constexpr TouchDeviceType TOUCH_DEVICE_INVALID
 TOUCH_DEVICE_INVALID. More...
 
constexpr TouchDeviceType TOUCH_DEVICE_DIRECT
 touch screen with window-relative coordinates More...
 
constexpr TouchDeviceType TOUCH_DEVICE_INDIRECT_ABSOLUTE
 trackpad with absolute device coordinates More...
 
constexpr TouchDeviceType TOUCH_DEVICE_INDIRECT_RELATIVE
 trackpad with screen cursor-relative coordinates More...
 
constexpr MouseID TOUCH_MOUSEID = SDL_TOUCH_MOUSEID
 The MouseID for mouse events simulated with touch input. More...
 
constexpr TouchID MOUSE_TOUCHID = SDL_MOUSE_TOUCHID
 The TouchID for touch events simulated with mouse input. More...
 
constexpr TrayEntryFlags TRAYENTRY_BUTTON
 Make the entry a simple button. Required. More...
 
constexpr TrayEntryFlags TRAYENTRY_CHECKBOX
 Make the entry a checkbox. Required. More...
 
constexpr TrayEntryFlags TRAYENTRY_SUBMENU
 Prepare the entry to have a submenu. Required. More...
 
constexpr TrayEntryFlags TRAYENTRY_DISABLED
 Make the entry disabled. Optional. More...
 
constexpr TrayEntryFlags TRAYENTRY_CHECKED = SDL_TRAYENTRY_CHECKED
 Make the entry checked. This is valid only for checkboxes. Optional.
 
constexpr FontStyleFlags STYLE_NORMAL = TTF_STYLE_NORMAL
 No special style.
 
constexpr FontStyleFlags STYLE_BOLD = TTF_STYLE_BOLD
 Bold style.
 
constexpr FontStyleFlags STYLE_ITALIC = TTF_STYLE_ITALIC
 Italic style.
 
constexpr FontStyleFlags STYLE_UNDERLINE
 Underlined text. More...
 
constexpr FontStyleFlags STYLE_STRIKETHROUGH
 Strikethrough text. More...
 
constexpr HintingFlags HINTING_INVALID = TTF_HINTING_INVALID
 INVALID.
 
constexpr HintingFlags HINTING_NORMAL
 Normal hinting applies standard grid-fitting. More...
 
constexpr HintingFlags HINTING_LIGHT = TTF_HINTING_LIGHT
 Light hinting applies subtle adjustments to improve rendering.
 
constexpr HintingFlags HINTING_MONO = TTF_HINTING_MONO
 Monochrome hinting adjusts the font for better rendering at lower resolutions.
 
constexpr HintingFlags HINTING_NONE = TTF_HINTING_NONE
 No hinting, the font is rendered without any grid-fitting.
 
constexpr HintingFlags HINTING_LIGHT_SUBPIXEL = TTF_HINTING_LIGHT_SUBPIXEL
 Light hinting with subpixel rendering for more precise font edges.
 
constexpr HorizontalAlignment HORIZONTAL_ALIGN_INVALID
 INVALID. More...
 
constexpr HorizontalAlignment HORIZONTAL_ALIGN_LEFT
 LEFT. More...
 
constexpr HorizontalAlignment HORIZONTAL_ALIGN_CENTER
 CENTER. More...
 
constexpr HorizontalAlignment HORIZONTAL_ALIGN_RIGHT
 RIGHT. More...
 
constexpr Direction DIRECTION_INVALID = TTF_DIRECTION_INVALID
 INVALID.
 
constexpr Direction DIRECTION_LTR = TTF_DIRECTION_LTR
 Left to Right.
 
constexpr Direction DIRECTION_RTL = TTF_DIRECTION_RTL
 Right to Left.
 
constexpr Direction DIRECTION_TTB = TTF_DIRECTION_TTB
 Top to Bottom.
 
constexpr Direction DIRECTION_BTT = TTF_DIRECTION_BTT
 Bottom to Top.
 
constexpr ImageType IMAGE_INVALID = TTF_IMAGE_INVALID
 INVALID.
 
constexpr ImageType IMAGE_ALPHA
 The color channels are white. More...
 
constexpr ImageType IMAGE_COLOR
 The color channels have image data. More...
 
constexpr ImageType IMAGE_SDF = TTF_IMAGE_SDF
 The alpha channel has signed distance field information.
 
constexpr SubStringFlags SUBSTRING_DIRECTION_MASK
 The mask for the flow direction for this substring. More...
 
constexpr SubStringFlags SUBSTRING_TEXT_START
 This substring contains the beginning of the text. More...
 
constexpr SubStringFlags SUBSTRING_LINE_START = TTF_SUBSTRING_LINE_START
 This substring contains the beginning of line line_index
 
constexpr SubStringFlags SUBSTRING_LINE_END = TTF_SUBSTRING_LINE_END
 This substring contains the end of line line_index
 
constexpr SubStringFlags SUBSTRING_TEXT_END
 This substring contains the end of the text. More...
 
constexpr GPUTextEngineWinding GPU_TEXTENGINE_WINDING_INVALID
 INVALID. More...
 
constexpr GPUTextEngineWinding GPU_TEXTENGINE_WINDING_CLOCKWISE
 CLOCKWISE. More...
 
constexpr GPUTextEngineWinding GPU_TEXTENGINE_WINDING_COUNTER_CLOCKWISE
 COUNTER_CLOCKWISE. More...
 
constexpr DisplayOrientation ORIENTATION_UNKNOWN
 The display orientation can't be determined. More...
 
constexpr DisplayOrientation ORIENTATION_LANDSCAPE = SDL_ORIENTATION_LANDSCAPE
 The display is in landscape mode, with the right side up, relative to portrait mode.
 
constexpr DisplayOrientation ORIENTATION_LANDSCAPE_FLIPPED
 The display is in landscape mode, with the left side up, relative to portrait mode. More...
 
constexpr DisplayOrientation ORIENTATION_PORTRAIT
 The display is in portrait mode. More...
 
constexpr DisplayOrientation ORIENTATION_PORTRAIT_FLIPPED
 The display is in portrait mode, upside down. More...
 
constexpr SystemTheme SYSTEM_THEME_UNKNOWN
 Unknown system theme. More...
 
constexpr SystemTheme SYSTEM_THEME_LIGHT
 Light colored system theme. More...
 
constexpr SystemTheme SYSTEM_THEME_DARK
 Dark colored system theme. More...
 
constexpr WindowFlags WINDOW_FULLSCREEN
 window is in fullscreen mode More...
 
constexpr WindowFlags WINDOW_OPENGL
 window usable with OpenGL context More...
 
constexpr WindowFlags WINDOW_OCCLUDED
 window is occluded More...
 
constexpr WindowFlags WINDOW_HIDDEN = SDL_WINDOW_HIDDEN
 window is neither mapped onto the desktop nor shown in the taskbar/dock/window list; Window.Show() is required for it to become visible
 
constexpr WindowFlags WINDOW_BORDERLESS
 no window decoration More...
 
constexpr WindowFlags WINDOW_RESIZABLE
 window can be resized More...
 
constexpr WindowFlags WINDOW_MINIMIZED
 window is minimized More...
 
constexpr WindowFlags WINDOW_MAXIMIZED
 window is maximized More...
 
constexpr WindowFlags WINDOW_MOUSE_GRABBED
 window has grabbed mouse input More...
 
constexpr WindowFlags WINDOW_INPUT_FOCUS
 window has input focus More...
 
constexpr WindowFlags WINDOW_MOUSE_FOCUS
 window has mouse focus More...
 
constexpr WindowFlags WINDOW_EXTERNAL
 window not created by SDL More...
 
constexpr WindowFlags WINDOW_MODAL = SDL_WINDOW_MODAL
 window is modal
 
constexpr WindowFlags WINDOW_HIGH_PIXEL_DENSITY = SDL_WINDOW_HIGH_PIXEL_DENSITY
 window uses high pixel density back buffer if possible
 
constexpr WindowFlags WINDOW_MOUSE_CAPTURE = SDL_WINDOW_MOUSE_CAPTURE
 window has mouse captured (unrelated to MOUSE_GRABBED)
 
constexpr WindowFlags WINDOW_MOUSE_RELATIVE_MODE
 window has relative mode enabled More...
 
constexpr WindowFlags WINDOW_ALWAYS_ON_TOP
 window should always be above others More...
 
constexpr WindowFlags WINDOW_UTILITY = SDL_WINDOW_UTILITY
 window should be treated as a utility window, not showing in the task bar and window list
 
constexpr WindowFlags WINDOW_TOOLTIP = SDL_WINDOW_TOOLTIP
 window should be treated as a tooltip and does not get mouse or keyboard focus, requires a parent window
 
constexpr WindowFlags WINDOW_POPUP_MENU = SDL_WINDOW_POPUP_MENU
 window should be treated as a popup menu, requires a parent window
 
constexpr WindowFlags WINDOW_KEYBOARD_GRABBED
 window has grabbed keyboard input More...
 
constexpr WindowFlags WINDOW_VULKAN
 window usable for Vulkan surface More...
 
constexpr WindowFlags WINDOW_METAL
 window usable for Metal view More...
 
constexpr WindowFlags WINDOW_TRANSPARENT
 window with transparent buffer More...
 
constexpr WindowFlags WINDOW_NOT_FOCUSABLE
 window should not be focusable More...
 
constexpr FlashOperation FLASH_CANCEL
 Cancel any window flash state. More...
 
constexpr FlashOperation FLASH_BRIEFLY
 Flash the window briefly to get attention. More...
 
constexpr FlashOperation FLASH_UNTIL_FOCUSED
 Flash the window until it gets focus. More...
 
constexpr HitTestResult HITTEST_NORMAL
 Region is normal. No special properties. More...
 
constexpr HitTestResult HITTEST_DRAGGABLE
 Region can drag entire window. More...
 
constexpr HitTestResult HITTEST_RESIZE_TOPLEFT
 Region is the resizable top-left corner border. More...
 
constexpr HitTestResult HITTEST_RESIZE_TOP
 Region is the resizable top border. More...
 
constexpr HitTestResult HITTEST_RESIZE_TOPRIGHT
 Region is the resizable top-right corner border. More...
 
constexpr HitTestResult HITTEST_RESIZE_RIGHT
 Region is the resizable right border. More...
 
constexpr HitTestResult HITTEST_RESIZE_BOTTOMRIGHT
 Region is the resizable bottom-right corner border. More...
 
constexpr HitTestResult HITTEST_RESIZE_BOTTOM
 Region is the resizable bottom border. More...
 
constexpr HitTestResult HITTEST_RESIZE_BOTTOMLEFT
 Region is the resizable bottom-left corner border. More...
 
constexpr HitTestResult HITTEST_RESIZE_LEFT
 Region is the resizable left border. More...
 
constexpr GLAttr GL_RED_SIZE = SDL_GL_RED_SIZE
 the minimum number of bits for the red channel of the color buffer; defaults to 8.
 
constexpr GLAttr GL_GREEN_SIZE = SDL_GL_GREEN_SIZE
 the minimum number of bits for the green channel of the color buffer; defaults to 8.
 
constexpr GLAttr GL_BLUE_SIZE = SDL_GL_BLUE_SIZE
 the minimum number of bits for the blue channel of the color buffer; defaults to 8.
 
constexpr GLAttr GL_ALPHA_SIZE = SDL_GL_ALPHA_SIZE
 the minimum number of bits for the alpha channel of the color buffer; defaults to 8.
 
constexpr GLAttr GL_BUFFER_SIZE = SDL_GL_BUFFER_SIZE
 the minimum number of bits for frame buffer size; defaults to 0.
 
constexpr GLAttr GL_DOUBLEBUFFER = SDL_GL_DOUBLEBUFFER
 whether the output is single or double buffered; defaults to double buffering on.
 
constexpr GLAttr GL_DEPTH_SIZE = SDL_GL_DEPTH_SIZE
 the minimum number of bits in the depth buffer; defaults to 16.
 
constexpr GLAttr GL_STENCIL_SIZE = SDL_GL_STENCIL_SIZE
 the minimum number of bits in the stencil buffer; defaults to 0.
 
constexpr GLAttr GL_ACCUM_RED_SIZE = SDL_GL_ACCUM_RED_SIZE
 the minimum number of bits for the red channel of the accumulation buffer; defaults to 0.
 
constexpr GLAttr GL_ACCUM_GREEN_SIZE = SDL_GL_ACCUM_GREEN_SIZE
 the minimum number of bits for the green channel of the accumulation buffer; defaults to 0.
 
constexpr GLAttr GL_ACCUM_BLUE_SIZE = SDL_GL_ACCUM_BLUE_SIZE
 the minimum number of bits for the blue channel of the accumulation buffer; defaults to 0.
 
constexpr GLAttr GL_ACCUM_ALPHA_SIZE = SDL_GL_ACCUM_ALPHA_SIZE
 the minimum number of bits for the alpha channel of the accumulation buffer; defaults to 0.
 
constexpr GLAttr GL_STEREO
 whether the output is stereo 3D; defaults to off. More...
 
constexpr GLAttr GL_MULTISAMPLEBUFFERS = SDL_GL_MULTISAMPLEBUFFERS
 the number of buffers used for multisample anti-aliasing; defaults to 0.
 
constexpr GLAttr GL_MULTISAMPLESAMPLES = SDL_GL_MULTISAMPLESAMPLES
 the number of samples used around the current pixel used for multisample anti-aliasing.
 
constexpr GLAttr GL_ACCELERATED_VISUAL = SDL_GL_ACCELERATED_VISUAL
 set to 1 to require hardware acceleration, set to 0 to force software rendering; defaults to allow either.
 
constexpr GLAttr GL_RETAINED_BACKING
 not used (deprecated). More...
 
constexpr GLAttr GL_CONTEXT_MAJOR_VERSION
 OpenGL context major version. More...
 
constexpr GLAttr GL_CONTEXT_MINOR_VERSION
 OpenGL context minor version. More...
 
constexpr GLAttr GL_CONTEXT_FLAGS = SDL_GL_CONTEXT_FLAGS
 some combination of 0 or more of elements of the GLContextFlag enumeration; defaults to 0.
 
constexpr GLAttr GL_CONTEXT_PROFILE_MASK = SDL_GL_CONTEXT_PROFILE_MASK
 type of GL context (Core, Compatibility, ES). More...
 
constexpr GLAttr GL_SHARE_WITH_CURRENT_CONTEXT
 OpenGL context sharing; defaults to 0. More...
 
constexpr GLAttr GL_FRAMEBUFFER_SRGB_CAPABLE
 requests sRGB capable visual; defaults to 0. More...
 
constexpr GLAttr GL_CONTEXT_RELEASE_BEHAVIOR = SDL_GL_CONTEXT_RELEASE_BEHAVIOR
 sets context the release behavior. More...
 
constexpr GLAttr GL_CONTEXT_RESET_NOTIFICATION
 set context reset notification. More...
 
constexpr GLAttr GL_CONTEXT_NO_ERROR
 GL_CONTEXT_NO_ERROR. More...
 
constexpr GLAttr GL_FLOATBUFFERS = SDL_GL_FLOATBUFFERS
 GL_FLOATBUFFERS.
 
constexpr GLAttr GL_EGL_PLATFORM = SDL_GL_EGL_PLATFORM
 GL_EGL_PLATFORM.
 
constexpr GLProfile GL_CONTEXT_PROFILE_CORE
 OpenGL Core Profile context. More...
 
constexpr GLProfile GL_CONTEXT_PROFILE_COMPATIBILITY
 OpenGL Compatibility Profile context. More...
 
constexpr GLProfile GL_CONTEXT_PROFILE_ES
 GLX_CONTEXT_ES2_PROFILE_BIT_EXT. More...
 
constexpr GLContextFlag GL_CONTEXT_DEBUG_FLAG
 DEBUG_FLAG. More...
 
constexpr GLContextFlag GL_CONTEXT_FORWARD_COMPATIBLE_FLAG
 FORWARD_COMPATIBLE_FLAG. More...
 
constexpr GLContextFlag GL_CONTEXT_ROBUST_ACCESS_FLAG
 ROBUST_ACCESS_FLAG. More...
 
constexpr GLContextFlag GL_CONTEXT_RESET_ISOLATION_FLAG
 RESET_ISOLATION_FLAG. More...
 
constexpr GLContextReleaseFlag GL_CONTEXT_RELEASE_BEHAVIOR_NONE
 BEHAVIOR_NONE. More...
 
constexpr GLContextReleaseFlag GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH
 BEHAVIOR_FLUSH. More...
 
constexpr GLContextResetNotification GL_CONTEXT_RESET_NO_NOTIFICATION
 NO_NOTIFICATION. More...
 
constexpr GLContextResetNotification GL_CONTEXT_RESET_LOSE_CONTEXT
 LOSE_CONTEXT. More...
 
constexpr int WINDOW_SURFACE_VSYNC_DISABLED = SDL_WINDOW_SURFACE_VSYNC_DISABLED
 Constant to disable vsync.
 
constexpr int WINDOW_SURFACE_VSYNC_ADAPTIVE = SDL_WINDOW_SURFACE_VSYNC_ADAPTIVE
 Constant to enable adaptive vsync.
 
PixelFormats
constexpr PixelFormat PIXELFORMAT_UNKNOWN
 UNKNOWN. More...
 
constexpr PixelFormat PIXELFORMAT_INDEX1LSB
 INDEX1LSB. More...
 
constexpr PixelFormat PIXELFORMAT_INDEX1MSB
 INDEX1MSB. More...
 
constexpr PixelFormat PIXELFORMAT_INDEX2LSB
 INDEX2LSB. More...
 
constexpr PixelFormat PIXELFORMAT_INDEX2MSB
 INDEX2MSB. More...
 
constexpr PixelFormat PIXELFORMAT_INDEX4LSB
 INDEX4LSB. More...
 
constexpr PixelFormat PIXELFORMAT_INDEX4MSB
 INDEX4MSB. More...
 
constexpr PixelFormat PIXELFORMAT_INDEX8 = SDL_PIXELFORMAT_INDEX8
 INDEX8.
 
constexpr PixelFormat PIXELFORMAT_RGB332 = SDL_PIXELFORMAT_RGB332
 RGB332.
 
constexpr PixelFormat PIXELFORMAT_XRGB4444
 XRGB4444. More...
 
constexpr PixelFormat PIXELFORMAT_XBGR4444
 XBGR4444. More...
 
constexpr PixelFormat PIXELFORMAT_XRGB1555
 XRGB1555. More...
 
constexpr PixelFormat PIXELFORMAT_XBGR1555
 XBGR1555. More...
 
constexpr PixelFormat PIXELFORMAT_ARGB4444
 ARGB4444. More...
 
constexpr PixelFormat PIXELFORMAT_RGBA4444
 RGBA4444. More...
 
constexpr PixelFormat PIXELFORMAT_ABGR4444
 ABGR4444. More...
 
constexpr PixelFormat PIXELFORMAT_BGRA4444
 BGRA4444. More...
 
constexpr PixelFormat PIXELFORMAT_ARGB1555
 ARGB1555. More...
 
constexpr PixelFormat PIXELFORMAT_RGBA5551
 RGBA5551. More...
 
constexpr PixelFormat PIXELFORMAT_ABGR1555
 ABGR1555. More...
 
constexpr PixelFormat PIXELFORMAT_BGRA5551
 BGRA5551. More...
 
constexpr PixelFormat PIXELFORMAT_RGB565 = SDL_PIXELFORMAT_RGB565
 RGB565.
 
constexpr PixelFormat PIXELFORMAT_BGR565 = SDL_PIXELFORMAT_BGR565
 BGR565.
 
constexpr PixelFormat PIXELFORMAT_RGB24 = SDL_PIXELFORMAT_RGB24
 RGB24.
 
constexpr PixelFormat PIXELFORMAT_BGR24 = SDL_PIXELFORMAT_BGR24
 BGR24.
 
constexpr PixelFormat PIXELFORMAT_XRGB8888
 XRGB8888. More...
 
constexpr PixelFormat PIXELFORMAT_RGBX8888
 RGBX8888. More...
 
constexpr PixelFormat PIXELFORMAT_XBGR8888
 XBGR8888. More...
 
constexpr PixelFormat PIXELFORMAT_BGRX8888
 BGRX8888. More...
 
constexpr PixelFormat PIXELFORMAT_ARGB8888
 ARGB8888. More...
 
constexpr PixelFormat PIXELFORMAT_RGBA8888
 RGBA8888. More...
 
constexpr PixelFormat PIXELFORMAT_ABGR8888
 ABGR8888. More...
 
constexpr PixelFormat PIXELFORMAT_BGRA8888
 BGRA8888. More...
 
constexpr PixelFormat PIXELFORMAT_XRGB2101010
 XRGB2101010. More...
 
constexpr PixelFormat PIXELFORMAT_XBGR2101010
 XBGR2101010. More...
 
constexpr PixelFormat PIXELFORMAT_ARGB2101010
 ARGB2101010. More...
 
constexpr PixelFormat PIXELFORMAT_ABGR2101010
 ABGR2101010. More...
 
constexpr PixelFormat PIXELFORMAT_RGB48 = SDL_PIXELFORMAT_RGB48
 RGB48.
 
constexpr PixelFormat PIXELFORMAT_BGR48 = SDL_PIXELFORMAT_BGR48
 BGR48.
 
constexpr PixelFormat PIXELFORMAT_RGBA64 = SDL_PIXELFORMAT_RGBA64
 RGBA64.
 
constexpr PixelFormat PIXELFORMAT_ARGB64 = SDL_PIXELFORMAT_ARGB64
 ARGB64.
 
constexpr PixelFormat PIXELFORMAT_BGRA64 = SDL_PIXELFORMAT_BGRA64
 BGRA64.
 
constexpr PixelFormat PIXELFORMAT_ABGR64 = SDL_PIXELFORMAT_ABGR64
 ABGR64.
 
constexpr PixelFormat PIXELFORMAT_RGB48_FLOAT
 RGB48_FLOAT. More...
 
constexpr PixelFormat PIXELFORMAT_BGR48_FLOAT
 BGR48_FLOAT. More...
 
constexpr PixelFormat PIXELFORMAT_RGBA64_FLOAT
 RGBA64_FLOAT. More...
 
constexpr PixelFormat PIXELFORMAT_ARGB64_FLOAT
 ARGB64_FLOAT. More...
 
constexpr PixelFormat PIXELFORMAT_BGRA64_FLOAT
 BGRA64_FLOAT. More...
 
constexpr PixelFormat PIXELFORMAT_ABGR64_FLOAT
 ABGR64_FLOAT. More...
 
constexpr PixelFormat PIXELFORMAT_RGB96_FLOAT
 RGB96_FLOAT. More...
 
constexpr PixelFormat PIXELFORMAT_BGR96_FLOAT
 BGR96_FLOAT. More...
 
constexpr PixelFormat PIXELFORMAT_RGBA128_FLOAT
 RGBA128_FLOAT. More...
 
constexpr PixelFormat PIXELFORMAT_ARGB128_FLOAT
 ARGB128_FLOAT. More...
 
constexpr PixelFormat PIXELFORMAT_BGRA128_FLOAT
 BGRA128_FLOAT. More...
 
constexpr PixelFormat PIXELFORMAT_ABGR128_FLOAT
 ABGR128_FLOAT. More...
 
constexpr PixelFormat PIXELFORMAT_YV12
 Planar mode: Y + V + U (3 planes) More...
 
constexpr PixelFormat PIXELFORMAT_IYUV
 Planar mode: Y + U + V (3 planes) More...
 
constexpr PixelFormat PIXELFORMAT_YUY2
 Packed mode: Y0+U0+Y1+V0 (1 plane) More...
 
constexpr PixelFormat PIXELFORMAT_UYVY
 Packed mode: U0+Y0+V0+Y1 (1 plane) More...
 
constexpr PixelFormat PIXELFORMAT_YVYU
 Packed mode: Y0+V0+Y1+U0 (1 plane) More...
 
constexpr PixelFormat PIXELFORMAT_NV12
 Planar mode: Y + U/V interleaved (2 planes) More...
 
constexpr PixelFormat PIXELFORMAT_NV21
 Planar mode: Y + V/U interleaved (2 planes) More...
 
constexpr PixelFormat PIXELFORMAT_P010
 Planar mode: Y + U/V interleaved (2 planes) More...
 
constexpr PixelFormat PIXELFORMAT_EXTERNAL_OES
 Android video texture format. More...
 
constexpr PixelFormat PIXELFORMAT_MJPG = SDL_PIXELFORMAT_MJPG
 Motion JPEG.
 
constexpr PixelFormat PIXELFORMAT_RGBA32 = SDL_PIXELFORMAT_RGBA32
 RGBA32.
 
constexpr PixelFormat PIXELFORMAT_ARGB32 = SDL_PIXELFORMAT_ARGB32
 ARGB32.
 
constexpr PixelFormat PIXELFORMAT_BGRA32 = SDL_PIXELFORMAT_BGRA32
 BGRA32.
 
constexpr PixelFormat PIXELFORMAT_ABGR32 = SDL_PIXELFORMAT_ABGR32
 ABGR32.
 
constexpr PixelFormat PIXELFORMAT_RGBX32 = SDL_PIXELFORMAT_RGBX32
 RGBX32.
 
constexpr PixelFormat PIXELFORMAT_XRGB32 = SDL_PIXELFORMAT_XRGB32
 XRGB32.
 
constexpr PixelFormat PIXELFORMAT_BGRX32 = SDL_PIXELFORMAT_BGRX32
 BGRX32.
 
constexpr PixelFormat PIXELFORMAT_XBGR32 = SDL_PIXELFORMAT_XBGR32
 XBGR32.
 
Colorspaces
constexpr Colorspace COLORSPACE_UNKNOWN = SDL_COLORSPACE_UNKNOWN
 UNKNOWN.
 
constexpr Colorspace COLORSPACE_SRGB = SDL_COLORSPACE_SRGB
 Equivalent to DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709.
 
constexpr Colorspace COLORSPACE_SRGB_LINEAR
 [object Object] More...
 
constexpr Colorspace COLORSPACE_HDR10
 [object Object] More...
 
constexpr Colorspace COLORSPACE_JPEG = SDL_COLORSPACE_JPEG
 Equivalent to DXGI_COLOR_SPACE_YCBCR_FULL_G22_NONE_P709_X601.
 
constexpr Colorspace COLORSPACE_BT601_LIMITED = SDL_COLORSPACE_BT601_LIMITED
 Equivalent to DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P601.
 
constexpr Colorspace COLORSPACE_BT601_FULL = SDL_COLORSPACE_BT601_FULL
 Equivalent to DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P601.
 
constexpr Colorspace COLORSPACE_BT709_LIMITED = SDL_COLORSPACE_BT709_LIMITED
 Equivalent to DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P709.
 
constexpr Colorspace COLORSPACE_BT709_FULL = SDL_COLORSPACE_BT709_FULL
 Equivalent to DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P709.
 
constexpr Colorspace COLORSPACE_BT2020_LIMITED = SDL_COLORSPACE_BT2020_LIMITED
 Equivalent to DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P2020.
 
constexpr Colorspace COLORSPACE_BT2020_FULL = SDL_COLORSPACE_BT2020_FULL
 Equivalent to DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P2020.
 
constexpr Colorspace COLORSPACE_RGB_DEFAULT = SDL_COLORSPACE_RGB_DEFAULT
 The default colorspace for RGB surfaces if no colorspace is specified.
 
constexpr Colorspace COLORSPACE_YUV_DEFAULT = SDL_COLORSPACE_YUV_DEFAULT
 The default colorspace for YUV surfaces if no colorspace is specified.
 

BlendModes

using BlendMode = Uint32
 A set of blend modes used in drawing operations. More...
 
constexpr BlendMode BLENDMODE_NONE
 no blending: dstRGBA = srcRGBA More...
 
constexpr BlendMode BLENDMODE_BLEND = SDL_BLENDMODE_BLEND
 alpha blending: dstRGB = (srcRGB * srcA) + (dstRGB * (1-srcA)), dstA = srcA + (dstA * (1-srcA))
 
constexpr BlendMode BLENDMODE_BLEND_PREMULTIPLIED
 pre-multiplied alpha blending: dstRGBA = srcRGBA + (dstRGBA * (1-srcA)) More...
 
constexpr BlendMode BLENDMODE_ADD = SDL_BLENDMODE_ADD
 additive blending: dstRGB = (srcRGB * srcA) + dstRGB, dstA = dstA
 
constexpr BlendMode BLENDMODE_ADD_PREMULTIPLIED
 pre-multiplied additive blending: dstRGB = srcRGB + dstRGB, dstA = dstA More...
 
constexpr BlendMode BLENDMODE_MOD = SDL_BLENDMODE_MOD
 color modulate: dstRGB = srcRGB * dstRGB, dstA = dstA
 
constexpr BlendMode BLENDMODE_MUL = SDL_BLENDMODE_MUL
 color multiply: dstRGB = (srcRGB * dstRGB) + (dstRGB * (1-srcA)), dstA = dstA
 
constexpr BlendMode BLENDMODE_INVALID = SDL_BLENDMODE_INVALID
 INVALID.
 

EventActions

The type of action to request from PeepEvents().

using EventAction = SDL_EventAction
 The type of action to request from PeepEvents(). More...
 
constexpr EventAction ADDEVENT
 Add events to the back of the queue. More...
 
constexpr EventAction PEEKEVENT = SDL_PEEKEVENT
 Check but don't remove events from the queue front.
 
constexpr EventAction GETEVENT = SDL_GETEVENT
 Retrieve/remove events from the front of the queue.
 

Haptic effects

using HapticEffectType = Uint32
 Haptic effects flag constants. More...
 
constexpr HapticEffectType HAPTIC_CONSTANT = SDL_HAPTIC_CONSTANT
 Constant effect supported. More...
 
constexpr HapticEffectType HAPTIC_SINE = SDL_HAPTIC_SINE
 Sine wave effect supported. More...
 
constexpr HapticEffectType HAPTIC_SQUARE = SDL_HAPTIC_SQUARE
 Square wave effect supported. More...
 
constexpr HapticEffectType HAPTIC_TRIANGLE = SDL_HAPTIC_TRIANGLE
 Triangle wave effect supported. More...
 
constexpr HapticEffectType HAPTIC_SAWTOOTHUP = SDL_HAPTIC_SAWTOOTHUP
 Sawtoothup wave effect supported. More...
 
constexpr HapticEffectType HAPTIC_SAWTOOTHDOWN = SDL_HAPTIC_SAWTOOTHDOWN
 Sawtoothdown wave effect supported. More...
 
constexpr HapticEffectType HAPTIC_RAMP = SDL_HAPTIC_RAMP
 Ramp effect supported. More...
 
constexpr HapticEffectType HAPTIC_SPRING = SDL_HAPTIC_SPRING
 Spring effect supported - uses axes position. More...
 
constexpr HapticEffectType HAPTIC_DAMPER = SDL_HAPTIC_DAMPER
 Damper effect supported - uses axes velocity. More...
 
constexpr HapticEffectType HAPTIC_INERTIA = SDL_HAPTIC_INERTIA
 Inertia effect supported - uses axes acceleration. More...
 
constexpr HapticEffectType HAPTIC_FRICTION = SDL_HAPTIC_FRICTION
 Friction effect supported - uses axes movement. More...
 
constexpr HapticEffectType HAPTIC_LEFTRIGHT = SDL_HAPTIC_LEFTRIGHT
 Left/Right effect supported. More...
 
constexpr HapticEffectType HAPTIC_RESERVED1 = SDL_HAPTIC_RESERVED1
 Reserved for future use. More...
 
constexpr HapticEffectType HAPTIC_RESERVED2 = SDL_HAPTIC_RESERVED2
 Reserved for future use. More...
 
constexpr HapticEffectType HAPTIC_RESERVED3 = SDL_HAPTIC_RESERVED3
 Reserved for future use. More...
 
constexpr HapticEffectType HAPTIC_CUSTOM = SDL_HAPTIC_CUSTOM
 Custom effect is supported. More...
 
constexpr HapticEffectType HAPTIC_GAIN = SDL_HAPTIC_GAIN
 Device can set global gain. More...
 
constexpr HapticEffectType HAPTIC_AUTOCENTER = SDL_HAPTIC_AUTOCENTER
 Device can set autocenter. More...
 
constexpr HapticEffectType HAPTIC_STATUS = SDL_HAPTIC_STATUS
 Device can be queried for effect status. More...
 
constexpr HapticEffectType HAPTIC_PAUSE = SDL_HAPTIC_PAUSE
 Device can be paused. More...
 

Direction encodings

using HapticDirectionType = Uint8
 Direction encoding.
 
constexpr HapticDirectionType HAPTIC_POLAR = SDL_HAPTIC_POLAR
 Uses polar coordinates for the direction. More...
 
constexpr HapticDirectionType HAPTIC_CARTESIAN = SDL_HAPTIC_CARTESIAN
 Uses cartesian coordinates for the direction. More...
 
constexpr HapticDirectionType HAPTIC_SPHERICAL = SDL_HAPTIC_SPHERICAL
 Uses spherical coordinates for the direction. More...
 
constexpr HapticDirectionType HAPTIC_STEERING_AXIS = SDL_HAPTIC_STEERING_AXIS
 Use this value to play an effect on the steering wheel axis. More...
 

AppResult

App result for Main callback

using AppResult = SDL_AppResult
 Return values for optional main callbacks. More...
 
constexpr AppResult APP_CONTINUE = SDL_APP_CONTINUE
 Value that requests that the app continue from the main callbacks.
 
constexpr AppResult APP_SUCCESS = SDL_APP_SUCCESS
 Value that requests termination with success from the main callbacks.
 
constexpr AppResult APP_FAILURE = SDL_APP_FAILURE
 Value that requests termination with error from the main callbacks.
 

LogPriorities

The priorities assignable for a LogCategory.

using LogPriority = SDL_LogPriority
 The predefined log priorities. More...
 
constexpr LogPriority LOG_PRIORITY_INVALID
 INVALID. More...
 
constexpr LogPriority LOG_PRIORITY_TRACE = SDL_LOG_PRIORITY_TRACE
 TRACE.
 
constexpr LogPriority LOG_PRIORITY_VERBOSE
 VERBOSE. More...
 
constexpr LogPriority LOG_PRIORITY_DEBUG = SDL_LOG_PRIORITY_DEBUG
 DEBUG.
 
constexpr LogPriority LOG_PRIORITY_INFO = SDL_LOG_PRIORITY_INFO
 INFO.
 
constexpr LogPriority LOG_PRIORITY_WARN = SDL_LOG_PRIORITY_WARN
 WARN.
 
constexpr LogPriority LOG_PRIORITY_ERROR = SDL_LOG_PRIORITY_ERROR
 ERROR.
 
constexpr LogPriority LOG_PRIORITY_CRITICAL
 CRITICAL. More...
 
constexpr LogPriority LOG_PRIORITY_COUNT = SDL_LOG_PRIORITY_COUNT
 COUNT.
 

LogCategories

The logging categories.

see LogCategory for more info

using LogOutputFunction = SDL_LogOutputFunction
 The prototype for the log output callback function. More...
 
using LogOutputCB = std::function< void(LogCategory, LogPriority, const char *)>
 The prototype for the log output callback function. More...
 
constexpr LogCategory LOG_CATEGORY_APPLICATION
 APPLICATION. More...
 
constexpr LogCategory LOG_CATEGORY_ERROR = SDL_LOG_CATEGORY_ERROR
 ERROR.
 
constexpr LogCategory LOG_CATEGORY_ASSERT = SDL_LOG_CATEGORY_ASSERT
 ASSERT.
 
constexpr LogCategory LOG_CATEGORY_SYSTEM = SDL_LOG_CATEGORY_SYSTEM
 SYSTEM.
 
constexpr LogCategory LOG_CATEGORY_AUDIO = SDL_LOG_CATEGORY_AUDIO
 AUDIO.
 
constexpr LogCategory LOG_CATEGORY_VIDEO = SDL_LOG_CATEGORY_VIDEO
 VIDEO.
 
constexpr LogCategory LOG_CATEGORY_RENDER = SDL_LOG_CATEGORY_RENDER
 RENDER.
 
constexpr LogCategory LOG_CATEGORY_INPUT = SDL_LOG_CATEGORY_INPUT
 INPUT.
 
constexpr LogCategory LOG_CATEGORY_TEST = SDL_LOG_CATEGORY_TEST
 TEST.
 
constexpr LogCategory LOG_CATEGORY_GPU = SDL_LOG_CATEGORY_GPU
 GPU.
 
constexpr LogCategory LOG_CATEGORY_RESERVED2
 RESERVED2. More...
 
constexpr LogCategory LOG_CATEGORY_RESERVED3
 RESERVED3. More...
 
constexpr LogCategory LOG_CATEGORY_RESERVED4
 RESERVED4. More...
 
constexpr LogCategory LOG_CATEGORY_RESERVED5
 RESERVED5. More...
 
constexpr LogCategory LOG_CATEGORY_RESERVED6
 RESERVED6. More...
 
constexpr LogCategory LOG_CATEGORY_RESERVED7
 RESERVED7. More...
 
constexpr LogCategory LOG_CATEGORY_RESERVED8
 RESERVED8. More...
 
constexpr LogCategory LOG_CATEGORY_RESERVED9
 RESERVED9. More...
 
constexpr LogCategory LOG_CATEGORY_RESERVED10
 RESERVED10. More...
 
constexpr LogCategory LOG_CATEGORY_CUSTOM = SDL_LOG_CATEGORY_CUSTOM
 CUSTOM.
 
void SetLogPriorities (LogPriority priority)
 Set the priority of all log categories. More...
 
void SetLogPriority (int category, LogPriority priority)
 Set the priority of a particular log category. More...
 
LogPriority GetLogPriority (int category)
 Get the priority of a particular log category. More...
 
void ResetLogPriorities ()
 Reset all priorities to default. More...
 
void SetLogPriorityPrefix (LogPriority priority, StringParam prefix)
 Set the text prepended to log messages of a given priority. More...
 
void LogUnformatted (LogCategory category, LogPriority priority, StringParam message)
 Log an unformatted message with LOG_CATEGORY_APPLICATION and LOG_PRIORITY_INFO. More...
 
void LogUnformatted (StringParam message)
 Log an unformatted message with LOG_CATEGORY_APPLICATION and LOG_PRIORITY_INFO. More...
 
template<class... ARGS>
void Log (std::string_view fmt, ARGS &&... args)
 Log a message with LOG_CATEGORY_APPLICATION and LOG_PRIORITY_INFO. More...
 
template<class... ARGS>
void LogMessage (LogCategory category, LogPriority priority, std::string_view fmt, ARGS... args)
 Log a message with the specified category and priority. More...
 
template<class... ARGS>
void LogTrace (LogCategory category, std::string_view fmt, ARGS &&... args)
 Log a message with LOG_PRIORITY_TRACE. More...
 
template<class... ARGS>
void LogVerbose (LogCategory category, std::string_view fmt, ARGS &&... args)
 Log a message with LOG_PRIORITY_VERBOSE. More...
 
template<class... ARGS>
void LogDebug (LogCategory category, std::string_view fmt, ARGS &&... args)
 Log a message with LOG_PRIORITY_DEBUG. More...
 
template<class... ARGS>
void LogInfo (LogCategory category, std::string_view fmt, ARGS &&... args)
 Log a message with LOG_PRIORITY_INFO. More...
 
template<class... ARGS>
void LogWarn (LogCategory category, std::string_view fmt, ARGS &&... args)
 Log a message with LOG_PRIORITY_WARN. More...
 
template<class... ARGS>
void LogError (LogCategory category, std::string_view fmt, ARGS &&... args)
 Log a message with LOG_PRIORITY_ERROR. More...
 
template<class... ARGS>
void LogCritical (LogCategory category, std::string_view fmt, ARGS &&... args)
 Log a message with LOG_PRIORITY_CRITICAL. More...
 
LogOutputFunction GetDefaultLogOutputFunction ()
 Get the default log output function. More...
 
void GetLogOutputFunction (LogOutputFunction *callback, void **userdata)
 Get the current log output function. More...
 
LogOutputCB GetLogOutputFunction ()
 Get the current log output function. More...
 
void SetLogOutputFunction (LogOutputFunction callback, void *userdata)
 Replace the default log output function with one of your own. More...
 
void SetLogOutputFunction (LogOutputCB callback)
 Replace the default log output function with one of your own. More...
 
void ResetLogOutputFunction ()
 Replace the current log output function with the default one. More...
 

MessageBoxFlags

using MessageBoxFlags = Uint32
 Message box flags. More...
 
constexpr MessageBoxFlags MESSAGEBOX_ERROR
 error dialog More...
 
constexpr MessageBoxFlags MESSAGEBOX_WARNING
 warning dialog More...
 
constexpr MessageBoxFlags MESSAGEBOX_INFORMATION
 informational dialog More...
 
constexpr MessageBoxFlags MESSAGEBOX_BUTTONS_LEFT_TO_RIGHT
 buttons placed left to right More...
 
constexpr MessageBoxFlags MESSAGEBOX_BUTTONS_RIGHT_TO_LEFT
 buttons placed right to left More...
 

MessageBoxButtonFlags

using MessageBoxButtonFlags = Uint32
 MessageBoxButtonData flags. More...
 
constexpr MessageBoxButtonFlags MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT
 Marks the default button when return is hit. More...
 
constexpr MessageBoxButtonFlags MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT
 Marks the default button when escape is hit. More...
 

MessageBoxColorTypes

using MessageBoxColorType = SDL_MessageBoxColorType
 An enumeration of indices inside the colors array of MessageBoxColorScheme.
 
constexpr MessageBoxColorType MESSAGEBOX_COLOR_BACKGROUND
 BACKGROUND. More...
 
constexpr MessageBoxColorType MESSAGEBOX_COLOR_TEXT
 TEXT. More...
 
constexpr MessageBoxColorType MESSAGEBOX_COLOR_BUTTON_BORDER
 BUTTON_BORDER. More...
 
constexpr MessageBoxColorType MESSAGEBOX_COLOR_BUTTON_BACKGROUND
 BUTTON_BACKGROUND. More...
 
constexpr MessageBoxColorType MESSAGEBOX_COLOR_BUTTON_SELECTED
 BUTTON_SELECTED. More...
 
constexpr MessageBoxColorType MESSAGEBOX_COLOR_COUNT
 Count. More...
 

PixelTypes

Pixel type.

using PixelType = SDL_PixelType
 Pixel type. More...
 
constexpr PixelType PIXELTYPE_UNKNOWN = SDL_PIXELTYPE_UNKNOWN
 UNKNOWN.
 
constexpr PixelType PIXELTYPE_INDEX1 = SDL_PIXELTYPE_INDEX1
 INDEX1.
 
constexpr PixelType PIXELTYPE_INDEX4 = SDL_PIXELTYPE_INDEX4
 INDEX4.
 
constexpr PixelType PIXELTYPE_INDEX8 = SDL_PIXELTYPE_INDEX8
 INDEX8.
 
constexpr PixelType PIXELTYPE_PACKED8 = SDL_PIXELTYPE_PACKED8
 PACKED8.
 
constexpr PixelType PIXELTYPE_PACKED16 = SDL_PIXELTYPE_PACKED16
 PACKED16.
 
constexpr PixelType PIXELTYPE_PACKED32 = SDL_PIXELTYPE_PACKED32
 PACKED32.
 
constexpr PixelType PIXELTYPE_ARRAYU8 = SDL_PIXELTYPE_ARRAYU8
 ARRAYU8.
 
constexpr PixelType PIXELTYPE_ARRAYU16 = SDL_PIXELTYPE_ARRAYU16
 ARRAYU16.
 
constexpr PixelType PIXELTYPE_ARRAYU32 = SDL_PIXELTYPE_ARRAYU32
 ARRAYU32.
 
constexpr PixelType PIXELTYPE_ARRAYF16 = SDL_PIXELTYPE_ARRAYF16
 ARRAYF16.
 
constexpr PixelType PIXELTYPE_ARRAYF32 = SDL_PIXELTYPE_ARRAYF32
 ARRAYF32.
 
constexpr PixelType PIXELTYPE_INDEX2 = SDL_PIXELTYPE_INDEX2
 INDEX2.
 

BitmapOrders

using BitmapOrder = SDL_BitmapOrder
 Bitmap pixel order, high bit -> low bit. More...
 
constexpr BitmapOrder BITMAPORDER_NONE = SDL_BITMAPORDER_NONE
 NONE.
 
constexpr BitmapOrder BITMAPORDER_4321 = SDL_BITMAPORDER_4321
 4321
 
constexpr BitmapOrder BITMAPORDER_1234 = SDL_BITMAPORDER_1234
 1234
 

PackedOrders

using PackedOrder = SDL_PackedOrder
 Packed component order, high bit -> low bit. More...
 
constexpr PackedOrder PACKEDORDER_NONE = SDL_PACKEDORDER_NONE
 NONE.
 
constexpr PackedOrder PACKEDORDER_XRGB = SDL_PACKEDORDER_XRGB
 XRGB.
 
constexpr PackedOrder PACKEDORDER_RGBX = SDL_PACKEDORDER_RGBX
 RGBX.
 
constexpr PackedOrder PACKEDORDER_ARGB = SDL_PACKEDORDER_ARGB
 ARGB.
 
constexpr PackedOrder PACKEDORDER_RGBA = SDL_PACKEDORDER_RGBA
 RGBA.
 
constexpr PackedOrder PACKEDORDER_XBGR = SDL_PACKEDORDER_XBGR
 XBGR.
 
constexpr PackedOrder PACKEDORDER_BGRX = SDL_PACKEDORDER_BGRX
 BGRX.
 
constexpr PackedOrder PACKEDORDER_ABGR = SDL_PACKEDORDER_ABGR
 ABGR.
 
constexpr PackedOrder PACKEDORDER_BGRA = SDL_PACKEDORDER_BGRA
 BGRA.
 

ArrayOrders

using ArrayOrder = SDL_ArrayOrder
 Array component order, low byte -> high byte. More...
 
constexpr ArrayOrder ARRAYORDER_NONE = SDL_ARRAYORDER_NONE
 NONE.
 
constexpr ArrayOrder ARRAYORDER_RGB = SDL_ARRAYORDER_RGB
 RGB.
 
constexpr ArrayOrder ARRAYORDER_RGBA = SDL_ARRAYORDER_RGBA
 RGBA.
 
constexpr ArrayOrder ARRAYORDER_ARGB = SDL_ARRAYORDER_ARGB
 ARGB.
 
constexpr ArrayOrder ARRAYORDER_BGR = SDL_ARRAYORDER_BGR
 BGR.
 
constexpr ArrayOrder ARRAYORDER_BGRA = SDL_ARRAYORDER_BGRA
 BGRA.
 
constexpr ArrayOrder ARRAYORDER_ABGR = SDL_ARRAYORDER_ABGR
 ABGR.
 

PackedLayouts

using PackedLayout = SDL_PackedLayout
 Packed component layout. More...
 
constexpr PackedLayout PACKEDLAYOUT_NONE = SDL_PACKEDLAYOUT_NONE
 NONE.
 
constexpr PackedLayout PACKEDLAYOUT_332 = SDL_PACKEDLAYOUT_332
 332
 
constexpr PackedLayout PACKEDLAYOUT_4444 = SDL_PACKEDLAYOUT_4444
 4444
 
constexpr PackedLayout PACKEDLAYOUT_1555 = SDL_PACKEDLAYOUT_1555
 1555
 
constexpr PackedLayout PACKEDLAYOUT_5551 = SDL_PACKEDLAYOUT_5551
 5551
 
constexpr PackedLayout PACKEDLAYOUT_565 = SDL_PACKEDLAYOUT_565
 565
 
constexpr PackedLayout PACKEDLAYOUT_8888 = SDL_PACKEDLAYOUT_8888
 8888
 
constexpr PackedLayout PACKEDLAYOUT_2101010
 2101010 More...
 
constexpr PackedLayout PACKEDLAYOUT_1010102
 1010102 More...
 

ColorTypes

using ColorType = SDL_ColorType
 Colorspace color type. More...
 
constexpr ColorType COLOR_TYPE_UNKNOWN
 COLOR_TYPE_UNKNOWN. More...
 
constexpr ColorType COLOR_TYPE_RGB = SDL_COLOR_TYPE_RGB
 COLOR_TYPE_RGB.
 
constexpr ColorType COLOR_TYPE_YCBCR
 COLOR_TYPE_YCBCR. More...
 
constexpr bool IsPixelFormatAlpha (PixelFormatRaw format)
 A macro to determine if an PixelFormat has an alpha channel. More...
 
constexpr bool IsPixelFormatFourCC (PixelFormatRaw format)
 A macro to determine if an PixelFormat is a "FourCC" format. More...
 

ColorRanges

using ColorRange = SDL_ColorRange
 Colorspace color range, as described by https://www.itu.int/rec/R-REC-BT.2100-2-201807-I/en. More...
 
constexpr ColorRange COLOR_RANGE_UNKNOWN
 COLOR_RANGE_UNKNOWN. More...
 
constexpr ColorRange COLOR_RANGE_LIMITED = SDL_COLOR_RANGE_LIMITED
 Narrow range, e.g. More...
 
constexpr ColorRange COLOR_RANGE_FULL = SDL_COLOR_RANGE_FULL
 Full range, e.g. 0-255 for 8-bit RGB and luma, and 1-255 for 8-bit chroma.
 

ColorPrimaries

using ColorPrimaries = SDL_ColorPrimaries
 Colorspace color primaries, as described by https://www.itu.int/rec/T-REC-H.273-201612-S/en. More...
 
constexpr ColorPrimaries COLOR_PRIMARIES_UNKNOWN
 COLOR_PRIMARIES_UNKNOWN. More...
 
constexpr ColorPrimaries COLOR_PRIMARIES_BT709
 ITU-R BT.709-6. More...
 
constexpr ColorPrimaries COLOR_PRIMARIES_UNSPECIFIED
 COLOR_PRIMARIES_UNSPECIFIED. More...
 
constexpr ColorPrimaries COLOR_PRIMARIES_BT470M
 ITU-R BT.470-6 System M. More...
 
constexpr ColorPrimaries COLOR_PRIMARIES_BT470BG
 ITU-R BT.470-6 System B, G / ITU-R BT.601-7. More...
 
constexpr ColorPrimaries COLOR_PRIMARIES_BT601
 ITU-R BT.601-7 525, SMPTE 170M. More...
 
constexpr ColorPrimaries COLOR_PRIMARIES_SMPTE240
 SMPTE 240M, functionally the same as COLOR_PRIMARIES_BT601. More...
 
constexpr ColorPrimaries COLOR_PRIMARIES_GENERIC_FILM
 Generic film (color filters using Illuminant C) More...
 
constexpr ColorPrimaries COLOR_PRIMARIES_BT2020
 ITU-R BT.2020-2 / ITU-R BT.2100-0. More...
 
constexpr ColorPrimaries COLOR_PRIMARIES_XYZ
 SMPTE ST 428-1. More...
 
constexpr ColorPrimaries COLOR_PRIMARIES_SMPTE431
 SMPTE RP 431-2. More...
 
constexpr ColorPrimaries COLOR_PRIMARIES_SMPTE432
 SMPTE EG 432-1 / DCI P3. More...
 
constexpr ColorPrimaries COLOR_PRIMARIES_EBU3213
 EBU Tech. 3213-E. More...
 
constexpr ColorPrimaries COLOR_PRIMARIES_CUSTOM
 COLOR_PRIMARIES_CUSTOM. More...
 

TransferCharacteristics

using TransferCharacteristics = SDL_TransferCharacteristics
 Colorspace transfer characteristics. More...
 
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_UNKNOWN
 TRANSFER_CHARACTERISTICS_UNKNOWN. More...
 
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_BT709
 Rec. ITU-R BT.709-6 / ITU-R BT1361. More...
 
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_UNSPECIFIED
 TRANSFER_CHARACTERISTICS_UNSPECIFIED. More...
 
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_GAMMA22
 ITU-R BT.470-6 System M / ITU-R BT1700 625 PAL & SECAM. More...
 
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_GAMMA28
 ITU-R BT.470-6 System B, G. More...
 
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_BT601
 SMPTE ST 170M / ITU-R BT.601-7 525 or. More...
 
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_SMPTE240
 SMPTE ST 240M. More...
 
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_LINEAR
 TRANSFER_CHARACTERISTICS_LINEAR. More...
 
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_LOG100
 TRANSFER_CHARACTERISTICS_LOG100. More...
 
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_LOG100_SQRT10
 TRANSFER_CHARACTERISTICS_LOG100_SQRT10. More...
 
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_IEC61966
 IEC 61966-2-4. More...
 
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_BT1361
 ITU-R BT1361 Extended Colour Gamut. More...
 
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_SRGB
 IEC 61966-2-1 (sRGB or sYCC) More...
 
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_BT2020_10BIT
 ITU-R BT2020 for 10-bit system. More...
 
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_BT2020_12BIT
 ITU-R BT2020 for 12-bit system. More...
 
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_PQ
 SMPTE ST 2084 for 10-, 12-, 14- and 16-bit systems. More...
 
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_SMPTE428
 SMPTE ST 428-1. More...
 
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_HLG
 ARIB STD-B67, known as "hybrid log-gamma" (HLG) More...
 
constexpr TransferCharacteristics TRANSFER_CHARACTERISTICS_CUSTOM
 TRANSFER_CHARACTERISTICS_CUSTOM. More...
 

MatrixCoefficients

using MatrixCoefficients = SDL_MatrixCoefficients
 Colorspace matrix coefficients. More...
 
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_IDENTITY
 MATRIX_COEFFICIENTS_IDENTITY. More...
 
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_BT709
 ITU-R BT.709-6. More...
 
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_UNSPECIFIED
 MATRIX_COEFFICIENTS_UNSPECIFIED. More...
 
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_FCC
 US FCC Title 47. More...
 
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_BT470BG
 ITU-R BT.470-6 System B, G / ITU-R BT.601-7 625, functionally the same as MATRIX_COEFFICIENTS_BT601. More...
 
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_BT601
 ITU-R BT.601-7 525. More...
 
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_SMPTE240
 SMPTE 240M. More...
 
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_YCGCO
 MATRIX_COEFFICIENTS_YCGCO. More...
 
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_BT2020_NCL
 ITU-R BT.2020-2 non-constant luminance. More...
 
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_BT2020_CL
 ITU-R BT.2020-2 constant luminance. More...
 
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_SMPTE2085
 SMPTE ST 2085. More...
 
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_CHROMA_DERIVED_NCL
 MATRIX_COEFFICIENTS_CHROMA_DERIVED_NCL. More...
 
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_CHROMA_DERIVED_CL
 MATRIX_COEFFICIENTS_CHROMA_DERIVED_CL. More...
 
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_ICTCP
 ITU-R BT.2100-0 ICTCP. More...
 
constexpr MatrixCoefficients MATRIX_COEFFICIENTS_CUSTOM
 MATRIX_COEFFICIENTS_CUSTOM. More...
 

ChromaLocations

using ChromaLocation = SDL_ChromaLocation
 Colorspace chroma sample location. More...
 
constexpr ChromaLocation CHROMA_LOCATION_NONE
 RGB, no chroma sampling. More...
 
constexpr ChromaLocation CHROMA_LOCATION_LEFT = SDL_CHROMA_LOCATION_LEFT
 In MPEG-2, MPEG-4, and AVC, Cb and Cr are taken on midpoint of the left-edge of the 2x2 square. More...
 
constexpr ChromaLocation CHROMA_LOCATION_CENTER = SDL_CHROMA_LOCATION_CENTER
 In JPEG/JFIF, H.261, and MPEG-1, Cb and Cr are taken at the center of the 2x2 square. More...
 
constexpr ChromaLocation CHROMA_LOCATION_TOPLEFT = SDL_CHROMA_LOCATION_TOPLEFT
 In HEVC for BT.2020 and BT.2100 content (in particular on Blu-rays), Cb and Cr are sampled at the same location as the group's top-left Y pixel ("co-sited", "co-located").
 

Power States

using PowerState = SDL_PowerState
 The basic state for the system's power supply. More...
 
constexpr PowerState POWERSTATE_ERROR
 error determining power status More...
 
constexpr PowerState POWERSTATE_UNKNOWN
 cannot determine power status More...
 
constexpr PowerState POWERSTATE_ON_BATTERY
 Not plugged in, running on the battery. More...
 
constexpr PowerState POWERSTATE_NO_BATTERY
 Plugged in, no battery available. More...
 
constexpr PowerState POWERSTATE_CHARGING
 Plugged in, charging battery. More...
 
constexpr PowerState POWERSTATE_CHARGED
 Plugged in, battery charged. More...
 

Detailed Description

It is almost always best to include just this one header instead of picking out individual headers included here. There are exceptions to this rule–SDL3pp_main.h is special and not included here–but usually letting SDL3pp.h include the kitchen sink for you is the correct approach.

the main namespace where all SDL3pp public functions and types live