目次 - SDL 3.0 API(機能別) - ディスプレイとウィンドウ

ディスプレイとウィンドウ

概要

SDLのビデオサブシステムはオペレーティングシステムの管理下にあるウィンドウを広く抽象化している. ウィンドウの生成, 様々な管理, フルスクリーンの設定, マウスやキーボードがウィンドウに作用したなどの様々な事象の発生によるイベントの獲得などを行える.

ビデオサブシステムは環境によるOpenGLの違い(コンテキストの生成, バッファ交換など)の抽象化も扱っている. これはアプリケーションにとっては重要かもしれないが, OpenGLをまったく使わないこともできる. SDLはウィンドウのレンダリングのために簡単に使える2D APIや, より強力なGPU APIも用意している. 無論, 単にアプリケーションの邪魔をせず, Vulkan, Direct3D, Metalや, その他の直接操作を使用するためのウィンドウハンドルを提供することもできる.

ビデオサブシステムは多くの機能をカバーしており, 何が可能か関数の一覧を見る価値はあるが, ほとんどのアプリケーションはウィンドウの生成とイベントの受信ができればよいため, SDL_CreateWindow()SDL_PollEvent()から始めるとよいだろう.

関数

  1. SDL_CreatePopupWindow - 指定した親ウィンドウの子ポップアップウィンドウを生成する
  2. SDL_CreateWindow - 大きさとフラグを指定してウィンドウを生成する
  3. SDL_CreateWindowWithProperties - プロパティを指定してウィンドウを生成する
  4. SDL_DestroyWindow - ウィンドウを破棄する
  5. SDL_DestroyWindowSurface - ウィンドウに関連付けられたサーフェイスを破棄する
  6. SDL_DisableScreenSaver - スクリーンセーバーを無効にする
  7. SDL_EGL_GetCurrentConfig - 現在のEGLコンフィグを得る
  8. SDL_EGL_GetCurrentDisplay - 現在のEGLディスプレイを得る
  9. SDL_EGL_GetProcAddress - EGLライブラリ関数を得る
  10. SDL_EGL_GetWindowSurface - ウィンドウのEGLサーフェイスを得る
  11. SDL_EGL_SetAttributeCallbacks - EGL初期化時のカスタムattribute配列を設定するのためのコールバックを設定する
  12. SDL_EnableScreenSaver - スクリーンセーバーを有効にする
  13. SDL_FlashWindow - ウィンドウをフラッシュさせる
  14. SDL_GetClosestFullscreenDisplayMode - 要求に最も近いディスプレイモードを得る
  15. SDL_GetCurrentDisplayMode - 現在のディスプレイモードを得る
  16. SDL_GetCurrentDisplayOrientation - ディスプレイの方向を得る
  17. SDL_GetCurrentVideoDriver - 初期化された現在のビデオドライバの名前を得る
  18. SDL_GetDesktopDisplayMode - デスクトップのディスプレイモードを得る
  19. SDL_GetDisplayBounds - ディスプレイに表示されるデスクトップの領域を得る
  20. SDL_GetDisplayContentScale - ディスプレイの表示拡大率を得る
  21. SDL_GetDisplayForPoint - 点が含まれるディスプレイを得る
  22. SDL_GetDisplayForRect - 長方形の主要部分が含まれるディスプレイを得る
  23. SDL_GetDisplayForWindow - ウィンドウが含まれるディスプレイを得る
  24. SDL_GetDisplayName - ディスプレイの名前をUTF-8文字列で得る
  25. SDL_GetDisplayProperties - ディスプレイのプロパティを得る
  26. SDL_GetDisplays - 現在接続中のディスプレイの一覧を得る
  27. SDL_GetDisplayUsableBounds - ディスプレイに表示されるデスクトップの利用可能領域をスクリーン座標系で得る
  28. SDL_GetFullscreenDisplayModes - 利用可能なフルスクリーンディスプレイモードの一覧を得る
  29. SDL_GetGrabbedWindow - 入力グラブされているウィンドウを得る
  30. SDL_GetNaturalDisplayOrientation - 回転していないディスプレイの向きを得る
  31. SDL_GetNumVideoDrivers - SDLにコンパイルされたビデオドライバの数を得る
  32. SDL_GetPrimaryDisplay - メインディスプレイを得る
  33. SDL_GetSystemTheme - 現在のシステムテーマを得る
  34. SDL_GetVideoDriver - 組み込まれたビデオドライバの一覧から名前を得る
  35. SDL_GetWindowAspectRatio - ウィンドウのクライアント領域の縦横比を得る
  36. SDL_GetWindowBordersSize - ウィンドウのクライアント領域の周りにある枠(装飾)のサイズを得る
  37. SDL_GetWindowDisplayScale - ウィンドウのピクセルサイズに対するディスプレイの表示拡大率を得る
  38. SDL_GetWindowFlags - ウィンドウのフラグを得る
  39. SDL_GetWindowFromID - ウィンドウIDからウィンドウを得る
  40. SDL_GetWindowFullscreenMode - フルスクリーンウィンドウの表示モードを得る
  41. SDL_GetWindowICCProfile - 画面に表示されているウィンドウのICCプロファイルを無編集で得る
  42. SDL_GetWindowID - ウィンドウからウィンドウIDを得る
  43. SDL_GetWindowKeyboardGrab - ウィンドウのキーボードグラブ状態を得る
  44. SDL_GetWindowMaximumSize - ウィンドウのクライアント領域の最大サイズを得る
  45. SDL_GetWindowMinimumSize - ウィンドウのクライアント領域の最小サイズを得る
  46. SDL_GetWindowMouseGrab - ウィンドウのマウスグラブ状態を得る
  47. SDL_GetWindowMouseRect - ウィンドウのマウスの移動範囲を得る
  48. SDL_GetWindowOpacity - ウィンドウの不透明度を得る
  49. SDL_GetWindowParent - 親ウィンドウを得る
  50. SDL_GetWindowPixelDensity - ウィンドウのピクセル密度を得る
  51. SDL_GetWindowPixelFormat - ウィンドウのピクセル形式を得る
  52. SDL_GetWindowPosition - ウィンドウを位置を得る
  53. SDL_GetWindowProgressState - タスクバーアイコンのプログレスバーの状態を得る
  54. SDL_GetWindowProgressValue - タスクバーアイコンのプログレスバーの値を得る
  55. SDL_GetWindowProperties - ウィンドウのプロパティを得る
  56. SDL_GetWindows - 有効なウィンドウの一覧を得る
  57. SDL_GetWindowSafeArea - ウィンドウのセーフエリアを得る
  58. SDL_GetWindowSize - ウィンドウのクライアント領域のサイズを得る
  59. SDL_GetWindowSizeInPixels - ウィンドウのクライアント領域のサイズをピクセル数で得る
  60. SDL_GetWindowSurface - ウィンドウに関連付けられたサーフェイスを得る
  61. SDL_GetWindowSurfaceVSync - ウィンドウのサーフェイスの垂直更新周期を得る
  62. SDL_GetWindowTitle - ウィンドウのタイトルを得る
  63. SDL_GL_CreateContext - OpenGLウィンドウで使うためにOpenGLコンテキストを生成し, カレントコンテキストにする
  64. SDL_GL_DestroyContext - OpenGLコンテキストを削除する
  65. SDL_GL_ExtensionSupported - カレントコンテキストでOpenGL拡張に対応しているか否かをチェックする
  66. SDL_GL_GetAttribute - カレントコンテキストの属性の現在の値を得る
  67. SDL_GL_GetCurrentContext - 動作中のカレントコンテキストを得る
  68. SDL_GL_GetCurrentWindow - 動作中のOpenGLウィンドウを得る
  69. SDL_GL_GetProcAddress - 名前でOpenGLの関数を得る
  70. SDL_GL_GetSwapInterval - カレントコンテキストの交換インターバルを得る
  71. SDL_GL_LoadLibrary - OpenGLライブラリを動的に読み込む
  72. SDL_GL_MakeCurrent - OpenGLコンテキストをOpenGLウィンドウにレンダリングするように設定する
  73. SDL_GL_ResetAttributes - OpenGLコンテキストの属性を全て元の値にリセットする
  74. SDL_GL_SetAttribute - ウィンドウを生成する前にOpenGLウィンドウの属性を設定する
  75. SDL_GL_SetSwapInterval - カレントコンテキストの交換インターバルを設定する
  76. SDL_GL_SwapWindow - OpenGLレンダリングでウィンドウを更新する
  77. SDL_GL_UnloadLibrary - SDL_GL_LoadLibrary()で読み込んだOpenGLライブラリを解放する
  78. SDL_HideWindow - ウィンドウを隠す
  79. SDL_MaximizeWindow - ウィンドウの最大化を要求する
  80. SDL_MinimizeWindow - ウィンドウを最小化してアイコン化する
  81. SDL_RaiseWindow - ウィンドウを他のウィンドウよりも前面にして入力フォーカスを与えるように要求する
  82. SDL_RestoreWindow - 最小化または最大化されたウィンドウの位置とサイズを戻すように要求する
  83. SDL_ScreenSaverEnabled - スクリーンセーバーを有効にする
  84. SDL_SetWindowAlwaysOnTop - ウィンドウを常に他のウィンドウより上にする
  85. SDL_SetWindowAspectRatio - ウィンドウのクライアント領域の縦横比の設定を要求する
  86. SDL_SetWindowBordered - ウィンドウの枠の状態を設定する
  87. SDL_SetWindowFocusable - ウィンドウが入力フォーカスを得られるかを設定する
  88. SDL_SetWindowFullscreen - ウィンドウのフルスクリーン状態の設定を要求する
  89. SDL_SetWindowFullscreenMode - ウィンドウが可視状態かつフルスクリーンのときに使用するディスプレイモードを設定する
  90. SDL_SetWindowHitTest - ウィンドウの領域が特別な機能を持っているかを決めるコールバック関数を設定する
  91. SDL_SetWindowIcon - ウィンドウのアイコンを設定する
  92. SDL_SetWindowKeyboardGrab - ウィンドウのキーボードグラブモードを設定する
  93. SDL_SetWindowMaximumSize - ウィンドウのクライアント領域の最大サイズを設定する
  94. SDL_SetWindowMinimumSize - ウィンドウのクライアント領域の最小サイズを設定する
  95. SDL_SetWindowModal - ウィンドウのモーダルを設定する
  96. SDL_SetWindowMouseGrab - ウィンドウのマウスグラブモードを設定する
  97. SDL_SetWindowMouseRect - ウィンドウのマウスの移動範囲を設定する
  98. SDL_SetWindowOpacity - ウィンドウの不透明度を設定する
  99. SDL_SetWindowParent - ウィンドウを子ウィンドウにする
  100. SDL_SetWindowPosition - ウィンドウの位置の設定を要求する
  101. SDL_SetWindowProgressState - タスクバーアイコンのプログレスバーの状態を設定する
  102. SDL_SetWindowProgressValue - タスクバーアイコンのプログレスバーの値を設定する
  103. SDL_SetWindowResizable - ウィンドウのサイズ変更許可状態を設定する
  104. SDL_SetWindowShape - 透過ウィンドウの形状を設定する
  105. SDL_SetWindowSize - ウィンドウのクライアント領域のサイズの設定を要求する
  106. SDL_SetWindowSurfaceVSync - ウィンドウのサーフェイスの垂直同期を設定する
  107. SDL_SetWindowTitle - ウィンドウのタイトルを設定する
  108. SDL_ShowWindow - ウィンドウを表示する
  109. SDL_ShowWindowSystemMenu - システムのウィンドウメニューを表示する
  110. SDL_SyncWindow - 保留中のウィンドウ状態の変更が完了するまでブロックする
  111. SDL_UpdateWindowSurface - ウィンドウサーフェイスを画面にコピーする
  112. SDL_UpdateWindowSurfaceRects - ウィンドウサーフェイスの領域を画面にコピーする
  113. SDL_WindowHasSurface - ウィンドウに関連付けられたサーフェイスがあるかを得る

  1. SDL_DisplayID - 現在システムに接続されているディスプレイのユニークIDの型
  2. SDL_DisplayModeData - ディスプレイモードの内部データ型
  3. SDL_EGLAttrib - EGLコンテキストを生成するとき使われるEGL attributeの型
  4. SDL_EGLAttribArrayCallback - EGL環境初期化時の追加のattributeを得るコールバックの型
  5. SDL_EGLConfig - EGLコンフィグの不透明型
  6. SDL_EGLDisplay - EGLディスプレイの不透明型
  7. SDL_EGLint - EGLサーフェイスを生成するとき使われるEGLint型
  8. SDL_EGLIntArrayCallback - EGLサーフェイス/コンテキスト初期化時の追加のattributeを得るコールバックの型
  9. SDL_EGLSurface - EGLサーフェイスの不透明型
  10. SDL_GLContext - OpenGLコンテキストの不透明ハンドル型
  11. SDL_GLContextFlag - SDL_GL_CONTEXT_FLAGSで設定可能なフラグの型
  12. SDL_GLContextReleaseFlag - SDL_GL_CONTEXT_RELEASE_BEHAVIORで設定可能なフラグの型
  13. SDL_GLContextResetNotification - SDL_GL_CONTEXT_RESET_NOTIFICATIONで設定可能なフラグの型
  14. SDL_GLProfile - SDL_GL_CONTEXT_PROFILE_MASKで設定可能なフラグの型
  15. SDL_HitTest - 領域判定コールバックの型
  16. SDL_Window - ウィンドウを識別する不透明型
  17. SDL_WindowFlags - ウィンドウ状態フラグの型
  18. SDL_WindowID - ウィンドウユニークIDの型

構造体

  1. SDL_DisplayMode - ディスプレイモードの構造体

列挙体

  1. SDL_DisplayOrientation - ディスプレイの向きを表す列挙体
  2. SDL_FlashOperation - ウィンドウのフラッシュ方法の列挙体
  3. SDL_GLAttr - OpenGLの属性の列挙体
  4. SDL_HitTestResult - SDL_SetWindowHitTest()コールバック関数が戻す値の列挙体
  5. SDL_ProgressState - プログレスバーの状態の列挙体
  6. SDL_SystemTheme - システムのテーマの列挙体

マクロ

  1. SDL_PROP_GLOBAL_VIDEO_WAYLAND_WL_DISPLAY_POINTER - Waylandビデオバックグラウンドで使用されるグローバルwl_displayオブジェクトへのポインタのマクロ
  2. SDL_WINDOWPOS_CENTERED - ウィンドウの位置を中央にすることを示す値のマクロ
  3. SDL_WINDOWPOS_CENTERED_DISPLAY - ウィンドウの位置を指定のディスプレイの中央にすることを示す値のマクロ
  4. SDL_WINDOWPOS_CENTERED_MASK - SDL_WINDOWPOS_CENTEREDで使用するマジックナンバーのマクロ
  5. SDL_WINDOWPOS_ISCENTERED - ウィンドウの位置に「中央」のマスクがあるかをテストするマクロ
  6. SDL_WINDOWPOS_ISUNDEFINED - ウィンドウの位置に「不特定」のマスクがあるかをテストするマクロ
  7. SDL_WINDOWPOS_UNDEFINED - ウィンドウの位置を指定しないことを示す値のマクロ
  8. SDL_WINDOWPOS_UNDEFINED_DISPLAY - ウィンドウの位置を指定のディスプレイの不定の位置とすることを示す値のマクロ
  9. SDL_WINDOWPOS_UNDEFINED_MASK - SDL_WINDOWPOS_UNDEFINEDで使用するマジックナンバーのマクロ

SDL Wikiへのリンク

SDL3/CategoryVideo - SDL Wiki