SDL3_API分类参考_显示器与窗口管理(CategoryVideo)

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

显示器与窗口管理(CategoryVideo)

SDL 的视频子系统主要负责对底层操作系统的窗口管理进行抽象封装。你可以创建窗口、以多种方式管理窗口、将其设为全屏模式,并在窗口发生相关事件(如鼠标或键盘与窗口交互)时获取事件通知。

视频子系统还会对 OpenGL 中部分平台相关的差异进行抽象,例如:上下文创建、缓冲区交换等。这对你的应用程序可能至关重要,但你完全不必强制使用 OpenGL。事实上,SDL 也可以为这些窗口提供渲染能力:既可以使用易用的 2D API,也可以使用功能更强大的 GPU API
当然,SDL 也可以完全不介入渲染流程,直接为你提供窗口句柄,让你自行直接使用 Vulkan、Direct3D、Metal 或其他任何你喜欢的图形 API。

视频子系统因功能需求覆盖范围很广,因此值得浏览一遍函数列表以了解可用功能。不过大多数应用只需创建窗口并监听事件即可,建议从 SDL_CreateWindow()SDL_PollEvent() 开始使用。


函数

  • SDL_CreatePopupWindow(创建弹出窗口)
  • SDL_CreateWindow(创建窗口)
  • SDL_CreateWindowWithProperties(按属性创建窗口)
  • SDL_DestroyWindow(销毁窗口)
  • SDL_DestroyWindowSurface(销毁窗口表面)
  • SDL_DisableScreenSaver(禁用屏幕保护程序)
  • SDL_EGL_GetCurrentConfig(获取当前 EGL 配置)
  • SDL_EGL_GetCurrentDisplay(获取当前 EGL 显示)
  • SDL_EGL_GetProcAddress(获取 EGL 函数地址)
  • SDL_EGL_GetWindowSurface(获取 EGL 窗口表面)
  • SDL_EGL_SetAttributeCallbacks(设置 EGL 属性回调)
  • SDL_EnableScreenSaver(启用屏幕保护程序)
  • SDL_FlashWindow(闪烁窗口)
  • SDL_GetClosestFullscreenDisplayMode(获取最接近的全屏显示模式)
  • SDL_GetCurrentDisplayMode(获取当前显示模式)
  • SDL_GetCurrentDisplayOrientation(获取当前显示方向)
  • SDL_GetCurrentVideoDriver(获取当前视频驱动)
  • SDL_GetDesktopDisplayMode(获取桌面显示模式)
  • SDL_GetDisplayBounds(获取显示器边界)
  • SDL_GetDisplayContentScale(获取显示内容缩放比例)
  • SDL_GetDisplayForPoint(获取点所在的显示器)
  • SDL_GetDisplayForRect(获取矩形所在的显示器)
  • SDL_GetDisplayForWindow(获取窗口所在的显示器)
  • SDL_GetDisplayName(获取显示器名称)
  • SDL_GetDisplayProperties(获取显示器属性)
  • SDL_GetDisplays(获取所有显示器)
  • SDL_GetDisplayUsableBounds(获取显示器可用区域边界)
  • SDL_GetFullscreenDisplayModes(获取所有全屏显示模式)
  • SDL_GetGrabbedWindow(获取捕获输入的窗口)
  • SDL_GetNaturalDisplayOrientation(获取显示器自然方向)
  • SDL_GetNumVideoDrivers(获取视频驱动数量)
  • SDL_GetPrimaryDisplay(获取主显示器)
  • SDL_GetSystemTheme(获取系统主题)
  • SDL_GetVideoDriver(获取指定序号的视频驱动)
  • SDL_GetWindowAspectRatio(获取窗口宽高比)
  • SDL_GetWindowBordersSize(获取窗口边框大小)
  • SDL_GetWindowDisplayScale(获取窗口所在显示器缩放)
  • SDL_GetWindowFlags(获取窗口标志)
  • SDL_GetWindowFromID(通过 ID 获取窗口)
  • SDL_GetWindowFullscreenMode(获取窗口全屏模式)
  • SDL_GetWindowICCProfile(获取窗口 ICC 色彩配置文件)
  • SDL_GetWindowID(获取窗口 ID)
  • SDL_GetWindowKeyboardGrab(获取窗口键盘捕获状态)
  • SDL_GetWindowMaximumSize(获取窗口最大尺寸)
  • SDL_GetWindowMinimumSize(获取窗口最小尺寸)
  • SDL_GetWindowMouseGrab(获取窗口鼠标捕获状态)
  • SDL_GetWindowMouseRect(获取窗口鼠标限制矩形)
  • SDL_GetWindowOpacity(获取窗口不透明度)
  • SDL_GetWindowParent(获取父窗口)
  • SDL_GetWindowPixelDensity(获取窗口像素密度)
  • SDL_GetWindowPixelFormat(获取窗口像素格式)
  • SDL_GetWindowPosition(获取窗口位置)
  • SDL_GetWindowProgressState(获取窗口进度条状态)
  • SDL_GetWindowProgressValue(获取窗口进度条值)
  • SDL_GetWindowProperties(获取窗口属性)
  • SDL_GetWindows(获取所有窗口)
  • SDL_GetWindowSafeArea(获取窗口安全区域)
  • SDL_GetWindowSize(获取窗口大小)
  • SDL_GetWindowSizeInPixels(获取窗口像素大小)
  • SDL_GetWindowSurface(获取窗口表面)
  • SDL_GetWindowSurfaceVSync(获取窗口表面垂直同步状态)
  • SDL_GetWindowTitle(获取窗口标题)
  • SDL_GL_CreateContext(创建 OpenGL 上下文)
  • SDL_GL_DestroyContext(销毁 OpenGL 上下文)
  • SDL_GL_ExtensionSupported(检查 OpenGL 扩展是否支持)
  • SDL_GL_GetAttribute(获取 OpenGL 属性)
  • SDL_GL_GetCurrentContext(获取当前 OpenGL 上下文)
  • SDL_GL_GetCurrentWindow(获取当前 OpenGL 上下文所属窗口)
  • SDL_GL_GetProcAddress(获取 OpenGL 函数地址)
  • SDL_GL_GetSwapInterval(获取 OpenGL 交换间隔)
  • SDL_GL_LoadLibrary(加载 OpenGL 库)
  • SDL_GL_MakeCurrent(将上下文设为当前)
  • SDL_GL_ResetAttributes(重置 OpenGL 属性)
  • SDL_GL_SetAttribute(设置 OpenGL 属性)
  • SDL_GL_SetSwapInterval(设置 OpenGL 交换间隔)
  • SDL_GL_SwapWindow(交换 OpenGL 窗口缓冲区)
  • SDL_GL_UnloadLibrary(卸载 OpenGL 库)
  • SDL_HideWindow(隐藏窗口)
  • SDL_MaximizeWindow(最大化窗口)
  • SDL_MinimizeWindow(最小化窗口)
  • SDL_RaiseWindow(激活并前置窗口)
  • SDL_RestoreWindow(恢复窗口)
  • SDL_ScreenSaverEnabled(查询屏幕保护是否启用)
  • SDL_SetWindowAlwaysOnTop(设置窗口置顶)
  • SDL_SetWindowAspectRatio(设置窗口宽高比)
  • SDL_SetWindowBordered(设置窗口是否有边框)
  • SDL_SetWindowFillDocument(设置窗口填充文档模式)
  • SDL_SetWindowFocusable(设置窗口是否可获得焦点)
  • SDL_SetWindowFullscreen(设置窗口全屏)
  • SDL_SetWindowFullscreenMode(设置窗口全屏模式)
  • SDL_SetWindowHitTest(设置窗口点击测试回调)
  • SDL_SetWindowIcon(设置窗口图标)
  • SDL_SetWindowKeyboardGrab(设置窗口键盘捕获)
  • SDL_SetWindowMaximumSize(设置窗口最大尺寸)
  • SDL_SetWindowMinimumSize(设置窗口最小尺寸)
  • SDL_SetWindowModal(设置窗口为模态)
  • SDL_SetWindowMouseGrab(设置窗口鼠标捕获)
  • SDL_SetWindowMouseRect(设置窗口鼠标限制矩形)
  • SDL_SetWindowOpacity(设置窗口不透明度)
  • SDL_SetWindowParent(设置父窗口)
  • SDL_SetWindowPosition(设置窗口位置)
  • SDL_SetWindowProgressState(设置窗口进度条状态)
  • SDL_SetWindowProgressValue(设置窗口进度条值)
  • SDL_SetWindowResizable(设置窗口是否可缩放)
  • SDL_SetWindowShape(设置窗口透明形状)
  • SDL_SetWindowSize(设置窗口大小)
  • SDL_SetWindowSurfaceVSync(设置窗口表面垂直同步)
  • SDL_SetWindowTitle(设置窗口标题)
  • SDL_ShowWindow(显示窗口)
  • SDL_ShowWindowSystemMenu(显示窗口系统菜单)
  • SDL_SyncWindow(同步窗口状态)
  • SDL_UpdateWindowSurface(更新窗口表面)
  • SDL_UpdateWindowSurfaceRects(批量更新窗口表面区域)
  • SDL_WindowHasSurface(检查窗口是否有表面)

数据类型

  • SDL_DisplayID(显示器 ID)
  • SDL_DisplayModeData(显示模式数据)
  • SDL_EGLAttrib(EGL 属性)
  • SDL_EGLAttribArrayCallback(EGL 属性数组回调)
  • SDL_EGLConfig(EGL 配置)
  • SDL_EGLDisplay(EGL 显示)
  • SDL_EGLint(EGL 整数类型)
  • SDL_EGLIntArrayCallback(EGL 整数数组回调)
  • SDL_EGLSurface(EGL 表面)
  • SDL_GLContext(OpenGL 上下文)
  • SDL_GLContextFlag(OpenGL 上下文标志)
  • SDL_GLContextReleaseFlag(OpenGL 上下文释放标志)
  • SDL_GLContextResetNotification(OpenGL 上下文重置通知)
  • SDL_GLProfile(OpenGL 配置文件)
  • SDL_HitTest(点击测试回调)
  • SDL_Window(窗口)
  • SDL_WindowFlags(窗口标志)
  • SDL_WindowID(窗口 ID)

结构体

  • SDL_DisplayMode(显示模式)

枚举

  • SDL_DisplayOrientation(显示器方向)
  • SDL_FlashOperation(窗口闪烁操作)
  • SDL_GLAttr(OpenGL 属性)
  • SDL_HitTestResult(点击测试结果)
  • SDL_ProgressState(进度条状态)
  • SDL_SystemTheme(系统主题)

  • SDL_PROP_GLOBAL_VIDEO_WAYLAND_WL_DISPLAY_POINTER(Wayland 显示指针全局属性)
  • SDL_WINDOWPOS_CENTERED(窗口位置居中)
  • SDL_WINDOWPOS_CENTERED_DISPLAY(指定显示器窗口居中)
  • SDL_WINDOWPOS_CENTERED_MASK(窗口居中掩码)
  • SDL_WINDOWPOS_ISCENTERED(判断窗口是否居中)
  • SDL_WINDOWPOS_ISUNDEFINED(判断窗口位置是否未定义)
  • SDL_WINDOWPOS_UNDEFINED(窗口位置未定义)
  • SDL_WINDOWPOS_UNDEFINED_DISPLAY(指定显示器窗口位置未定义)
  • SDL_WINDOWPOS_UNDEFINED_MASK(窗口位置未定义掩码)

[API 分类首页(CategoryAPICategory)]

评论一下?

OωO
取消