SDL3 API分类参考(FreeBASIC适配版)

2026-3-5 / 0 评论 / 49 阅读

说明

本文档基于SDL 3.0官方API分类翻译,并适配FreeBASIC开发环境

SDL 3.0 API 分类一览

基础功能

分类 头文件 说明
应用程序入口 SDL_main.h 提供SDL应用程序的标准入口点,处理不同平台下的程序启动逻辑
初始化与退出 SDL_init.h 负责SDL库的初始化、子系统启动和程序退出时的资源清理
配置变量 SDL_hints.h 提供运行时可配置的全局参数,用于调整SDL的行为和特性
对象属性 SDL_properties.h 为SDL对象提供键值对形式的属性管理能力,支持动态设置和查询属性
错误处理 SDL_error.h 定义SDL的错误码和错误消息管理函数,用于捕获和报告运行时错误
日志处理 SDL_log.h 提供分级日志输出功能,支持不同级别(调试、信息、警告、错误)的日志打印
断言 SDL_assert.h 实现调试断言功能,用于在开发阶段检查程序逻辑的正确性
查询SDL版本 SDL_version.h 提供获取SDL库版本信息的函数,包括主版本、次版本和修订号

视频

分类 头文件 说明
显示器与窗口管理 SDL_video.h 管理显示器、窗口的创建与控制,处理显示模式和屏幕分辨率
2D加速渲染 SDL_render.h 提供硬件加速的2D渲染接口,支持纹理、渲染器和基本图形绘制
像素格式与转换函数 SDL_pixels.h 定义像素格式类型,提供像素格式转换和颜色值处理函数
混合模式 SDL_blendmode.h 定义渲染时的颜色混合模式,控制图形叠加时的颜色计算方式
矩形函数 SDL_rect.h 提供矩形数据结构和相关操作函数,如矩形创建、交集、合并等
表面创建与简单绘制 SDL_surface.h 管理软件渲染的像素表面,支持基本的像素级绘制操作
剪贴板处理 SDL_clipboard.h 提供系统剪贴板的读写功能,支持文本数据的复制粘贴
Vulkan 支持 SDL_vulkan.h 集成Vulkan图形API,提供SDL窗口与Vulkan上下文的交互能力
Metal 支持 SDL_metal.h 集成Apple Metal图形API,支持在macOS/iOS上的硬件加速渲染
摄像头支持 SDL_camera.h 管理设备摄像头的访问和视频流捕获,支持摄像头参数配置

输入事件

分类 头文件 说明
事件处理 SDL_events.h 核心事件管理系统,处理事件队列、事件分发和事件过滤
键盘支持 SDL_keyboard.h 管理键盘设备状态,检测按键按下/释放事件,获取键盘布局信息
键盘键值 SDL_keycode.h 定义与字符相关的键盘键值(Keycode),与具体键盘布局无关
键盘扫描码 SDL_scancode.h 定义与物理按键位置相关的扫描码(Scancode),跨平台统一标识
鼠标支持 SDL_mouse.h 管理鼠标设备,处理鼠标移动、点击、滚轮事件,控制鼠标光标
操纵杆支持 SDL_joystick.h 支持传统操纵杆设备,处理轴、按钮、帽子开关等输入事件
游戏手柄支持 SDL_gamepad.h 针对标准化游戏手柄的高级接口,简化常见游戏控制器的使用
触摸支持 SDL_touch.h 管理触摸设备和触摸点,处理单点/多点触摸事件
手写笔支持 SDL_pen.h 支持手写笔/压感笔设备,处理笔尖位置、压力、倾斜等参数
传感器 SDL_sensor.h 访问设备内置传感器(加速度计、陀螺仪、磁力计等)数据
HIDAPI SDL_hidapi.h 通用HID(人机接口设备)访问接口,支持自定义HID设备通信

力反馈(触觉)

分类 头文件 说明
力反馈支持 SDL_haptic.h 管理游戏控制器的力反馈(振动)效果,支持多种振动模式配置

音频

分类 头文件 说明
音频播放、录制与混音 SDL_audio.h 完整的音频处理接口,支持音频设备管理、音频流播放、录制和混音

GPU

分类 头文件 说明
3D渲染与GPU计算 SDL_gpu.h 提供高级GPU加速的3D渲染和通用计算能力,封装底层图形API

线程

分类 头文件 说明
线程管理 SDL_thread.h 跨平台线程创建、管理和控制接口,支持线程优先级设置
线程同步 SDL_mutex.h 提供互斥锁、条件变量、信号量等线程同步工具,防止资源竞争
原子操作 SDL_atomic.h 原子操作函数,支持无锁的线程安全数据访问和修改

时间

分类 头文件 说明
定时器支持 SDL_timer.h 提供高精度定时器和延时函数,支持定时回调和帧率控制
日期与时间 SDL_time.h 处理日期、时间相关操作,支持时间戳转换、时区处理等

文件与I/O抽象

分类 头文件 说明
文件系统访问 SDL_filesystem.h 跨平台文件系统路径获取,支持应用程序目录、资源目录等标准路径
存储抽象 SDL_storage.h 统一的存储访问接口,抽象不同存储介质(本地文件、云存储等)
I/O流 SDL_iostream.h 通用的流I/O接口,支持文件、内存、网络等不同数据源的统一读写
异步I/O SDL_asyncio.h 异步输入输出操作接口,避免I/O操作阻塞主线程

平台与CPU信息

分类 头文件 说明
平台检测 SDL_platform.h 检测运行时的操作系统平台(Windows、macOS、Linux等)
CPU特性检测 SDL_cpuinfo.h 检测CPU架构、核心数、缓存大小及SIMD等扩展指令集支持
编译器内置函数检测 SDL_intrin.h 检测并封装编译器内置函数,提供跨编译器的通用接口
字节序与字节交换 SDL_endian.h 处理不同CPU架构的字节序(大端/小端),提供字节交换函数
位操作 SDL_bits.h 提供高效的位操作函数,如位设置、清除、测试、位域提取等

附加功能

分类 头文件 说明
共享对象/DLL管理 SDL_loadso.h 跨平台动态加载共享库(DLL/SO/DYLIB),支持运行时函数解析
进程控制 SDL_process.h 创建和控制子进程,管理进程间通信和进程退出状态
电源管理状态 SDL_power.h 获取设备电源状态(电池电量、充电状态、剩余使用时间)
消息框 SDL_messagebox.h 创建系统原生的消息对话框,支持提示、警告、错误等类型
文件对话框 SDL_dialog.h 提供文件打开/保存对话框,支持文件类型过滤和路径选择
系统托盘 SDL_tray.h 管理系统托盘图标和菜单,支持托盘消息交互
区域设置信息 SDL_locale.h 获取系统区域设置信息,支持多语言适配
平台特定功能 SDL_system.h 封装各平台特有的系统功能,提供统一调用接口
标准库功能 SDL_stdinc.h 跨平台标准库替代接口,确保不同平台下基础类型和函数的一致性
全局唯一标识符 SDL_guid.h 生成和管理全局唯一标识符(GUID),用于设备和对象标识
其它项 SDL_misc.h 未归类的通用辅助功能,补充其他模块未覆盖的基础能力
SDL_image 图像扩展库,涵盖静态图像加载/保存、动画解码/编码、格式检测、GPU 纹理加载等全量功能
SDL_ttf 字体渲染扩展库,涵盖字体加载/管理、文本渲染(Surface/Renderer/GPU 三种模式)、字形/排版控制、多语言文本处理等功能
SDL_mixer 音频混音扩展库,旨在简化复杂的音频处理任务。它提供音频文件解码、多音效混音、基础 3D 定位音频、各类音频特效等核心能力,支持实时混音输出到多个音频设备,也可将混音数据生成到内存缓冲区,甚至能同时完成这两种操作
SDL_net 网络编程扩展库,它对 BSD Sockets、WinSock 等系统级网络 API 进行了轻量级封装,核心设计目标是简化网络编程复杂度、处理各类边界情况,让开发者无需关注底层协议细节即可实现网络通信

评论一下?

OωO
取消