目次 - SDL 3.0 API(機能別) - ディスプレイとウィンドウ
ディスプレイとウィンドウ
概要
SDLのビデオサブシステムはオペレーティングシステムの管理下にあるウィンドウを広く抽象化している.
ウィンドウの生成, 様々な管理, フルスクリーンの設定, マウスやキーボードがウィンドウに作用したなどの様々な事象の発生によるイベントの獲得などを行える.
ビデオサブシステムは環境によるOpenGLの違い(コンテキストの生成, バッファ交換など)の抽象化も扱っている.
これはアプリケーションにとっては重要かもしれないが, OpenGLをまったく使わないこともできる.
SDLはウィンドウのレンダリングのために簡単に使える2D APIや, より強力なGPU APIも用意している.
無論, 単にアプリケーションの邪魔をせず, Vulkan, Direct3D, Metalや, その他の直接操作を使用するためのウィンドウハンドルを提供することもできる.
ビデオサブシステムは多くの機能をカバーしており, 何が可能か関数の一覧を見る価値はあるが, ほとんどのアプリケーションはウィンドウの生成とイベントの受信ができればよいため, 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初期化時のカスタムattribute配列を設定するのためのコールバックを設定する
- 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
- SDL_GetWindowFullscreenMode
- SDL_GetWindowICCProfile
- SDL_GetWindowID
- 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
- SDL_GL_DestroyContext
- SDL_GL_ExtensionSupported
- SDL_GL_GetAttribute
- SDL_GL_GetCurrentContext
- SDL_GL_GetCurrentWindow
- SDL_GL_GetProcAddress
- SDL_GL_GetSwapInterval
- SDL_GL_LoadLibrary
- SDL_GL_MakeCurrent
- SDL_GL_ResetAttributes
- SDL_GL_SetAttribute
- SDL_GL_SetSwapInterval
- SDL_GL_SwapWindow
- SDL_GL_UnloadLibrary
- SDL_HideWindow
- SDL_MaximizeWindow
- SDL_MinimizeWindow
- SDL_RaiseWindow
- SDL_RestoreWindow
- SDL_ScreenSaverEnabled
- SDL_SetWindowAlwaysOnTop
- SDL_SetWindowAspectRatio
- SDL_SetWindowBordered
- 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
- SDL_EGLAttribArrayCallback - EGL環境初期化時の追加のattributeを得るコールバックの型
- SDL_EGLConfig
- SDL_EGLDisplay
- SDL_EGLint
- SDL_EGLIntArrayCallback - EGLサーフェイス/コンテキスト初期化時の追加のattributeを得るコールバックの型
- SDL_EGLSurface
- SDL_GLContext
- SDL_GLContextFlag
- SDL_GLContextReleaseFlag
- SDL_GLContextResetNotification
- SDL_GLProfile
- SDL_HitTest
- SDL_Window - ウィンドウを識別する不透明型
- SDL_WindowFlags - ウィンドウ状態フラグの型
- SDL_WindowID - ウィンドウユニークID
構造体
- SDL_DisplayMode
列挙体
- SDL_DisplayOrientation
- SDL_FlashOperation
- SDL_GLAttr
- SDL_HitTestResult
- SDL_ProgressState
- SDL_SystemTheme
マクロ
- SDL_PROP_GLOBAL_VIDEO_WAYLAND_WL_DISPLAY_POINTER
- 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
SDL Wikiへのリンク
SDL3/CategoryVideo - SDL Wiki