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

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

インクルードファイル: SDL_video.h

概要

これらの関数はディスプレイとウィンドウを扱うためのものである.

列挙体

  1. SDL_BlendMode
  2. SDL_GLattr
  3. SDL_GLcontextFlag
  4. SDL_GLprofile
  5. SDL_WindowEventID
  6. SDL_WindowFlags

構造体

  1. SDL_DisplayMode
  2. SDL_WindowEvent

関数

  1. SDL_CreateWindow
  2. SDL_CreateWindowAndRenderer
  3. SDL_CreateWindowFrom
  4. SDL_DestroyWindow
  5. SDL_DisableScreenSaver
  6. SDL_EnableScreenSaver
  7. SDL_GL_BindTexture
  8. SDL_GL_CreateContext
  9. SDL_GL_DeleteContext
  10. SDL_GL_ExtensionSupported
  11. SDL_GL_GetAttribute
  12. SDL_GL_GetCurrentContext
  13. SDL_GL_GetCurrentWindow
  14. SDL_GL_GetDrawableSize
  15. SDL_GL_GetProcAddress
  16. SDL_GL_GetSwapInterval
  17. SDL_GL_LoadLibrary
  18. SDL_GL_MakeCurrent
  19. SDL_GL_ResetAttributes
  20. SDL_GL_SetAttribute
  21. SDL_GL_SetSwapInterval
  22. SDL_GL_SwapWindow
  23. SDL_GL_UnbindTexture
  24. SDL_GL_UnloadLibrary
  25. SDL_GetClosestDisplayMode
  26. SDL_GetCurrentDisplayMode
  27. SDL_GetCurrentVideoDriver
  28. SDL_GetDesktopDisplayMode
  29. SDL_GetDisplayBounds
  30. SDL_GetDisplayMode
  31. SDL_GetDisplayName
  32. SDL_GetNumDisplayModes
  33. SDL_GetNumVideoDisplays
  34. SDL_GetNumVideoDrivers
  35. SDL_GetVideoDriver
  36. SDL_GetWindowBrightness
  37. SDL_GetWindowData
  38. SDL_GetWindowDisplayIndex
  39. SDL_GetWindowDisplayMode
  40. SDL_GetWindowFlags
  41. SDL_GetWindowFromID
  42. SDL_GetWindowGammaRamp
  43. SDL_GetWindowGrab
  44. SDL_GetWindowID
  45. SDL_GetWindowMaximumSize
  46. SDL_GetWindowMinimumSize
  47. SDL_GetWindowPixelFormat
  48. SDL_GetWindowPosition
  49. SDL_GetWindowSize
  50. SDL_GetWindowSurface
  51. SDL_GetWindowTitle
  52. SDL_GetWindowWMInfo
  53. SDL_HideWindow
  54. SDL_IsScreenSaverEnabled
  55. SDL_MaximizeWindow
  56. SDL_MinimizeWindow
  57. SDL_RaiseWindow
  58. SDL_RestoreWindow
  59. SDL_SetWindowBordered
  60. SDL_SetWindowBrightness
  61. SDL_SetWindowData
  62. SDL_SetWindowDisplayMode
  63. SDL_SetWindowFullscreen
  64. SDL_SetWindowGammaRamp
  65. SDL_SetWindowGrab
  66. SDL_SetWindowIcon
  67. SDL_SetWindowMaximumSize
  68. SDL_SetWindowMinimumSize
  69. SDL_SetWindowPosition
  70. SDL_SetWindowSize
  71. SDL_SetWindowTitle
  72. SDL_ShowMessageBox
  73. SDL_ShowSimpleMessageBox
  74. SDL_ShowWindow
  75. SDL_UpdateWindowSurface
  76. SDL_UpdateWindowSurfaceRects
  77. SDL_VideoInit
  78. SDL_VideoQuit

SDL Wikiへのリンク

CategoryVideo - SDL Wiki

SDL_BlendMode

SDL_RenderCopy()と描画操作で使われるブレンドモードの列挙体

SDL_BLENDMODE_NONEブレンドしないdstRGBA = srcRGBA
SDL_BLENDMODE_BLENDアルファブレンディングdstRGB = (srcRGB * srcA) + (dstRGB * (1 - srcA))
dstA = srcA + (dstA * (1 - srcA))
SDL_BLENDMODE_ADD加算ブレンディングdstRGB = (srcRGB * srcA) + dstRGB
dstA = dstA
SDL_BLENDMODE_MODcolor modulatedstRGB = srcRGB * dstRGB
dstA = dstA

関連項目(構造体)

SDL_RendererInfo

関連項目(関数)

SDL_GetRenderDrawBlendMode
SDL_GetSurfaceBlendMode
SDL_GetTextureBlendMode
SDL_RenderCopy
SDL_SetRenderDrawBlendMode
SDL_SetSurfaceBlendMode
SDL_SetTextureBlendMode

SDL Wikiへのリンク

SDL_BlendMode - SDL Wiki

SDL_GLattr

OpenGLの属性の設定のための列挙体

SDL_GL_RED_SIZEカラーバッファの赤色チャネルの最小ビット数. デフォルトは3
SDL_GL_GREEN_SIZEカラーバッファの緑色チャネルの最小ビット数. デフォルトは3
SDL_GL_BLUE_SIZEカラーバッファの青色チャネルの最小ビット数. デフォルトは2
SDL_GL_ALPHA_SIZEカラーバッファのアルファチャネルの最小ビット数. デフォルトは0
SDL_GL_BUFFER_SIZEフレームバッファの最小ビット数. デフォルトは0
SDL_GL_DOUBLEBUFFERシングルか, ダブルバッファか. デフォルトはダブルバッファ
SDL_GL_DEPTH_SIZE深度バッファのビット数. デフォルトは16
SDL_GL_STENCIL_SIZEステンシルバッファのビット数. デフォルトは0
SDL_GL_ACCUM_RED_SIZE蓄積バッファの赤色チャネルの最小ビット数. デフォルトは0
SDL_GL_ACCUM_GREEN_SIZE蓄積バッファの緑色チャネルの最小ビット数. デフォルトは0
SDL_GL_ACCUM_BLUE_SIZE蓄積バッファの青色チャネルの最小ビット数. デフォルトは0
SDL_GL_ACCUM_ALPHA_SIZE蓄積バッファのアルファチャネルの最小ビット数. デフォルトは0
SDL_GL_STEREOステレオ3Dで出力するか. デフォルトはオフ
SDL_GL_MULTISAMPLEBUFFERSマルチサンプル アンチエイリアスで使うバッファの数. デフォルトは0. 詳細を参照すること
SDL_GL_MULTISAMPLESAMPLESマルチサンプル アンチエイリアスで使うピクセルの周辺のサンプル数. デフォルトは0. 詳細を参照すること
SDL_GL_ACCELERATED_VISUAL1を設定するとハードウェアアクセラレーション, 0を設定すると強制的にソフトウェアレンダリングを使う. デフォルトは両方を許可する
SDL_GL_RETAINED_BACKING未使用 (廃止)
SDL_GL_CONTEXT_MAJOR_VERSIONOpenGLコンテキストのメジャーバージョン. 詳細を参照すること
SDL_GL_CONTEXT_MINOR_VERSIONOpenGLコンテキストのマイナーバージョン. 詳細を参照すること
SDL_GL_CONTEXT_FLAGS0個以上のSDL_GLcontextFlag列挙体の要素. デフォルトは0
SDL_GL_CONTEXT_PROFILE_MASKOpenGLコンテキストの種類(Core, Compatibility, ES). SDL_GLprofile列挙体を参照すること. デフォルトは環境に依存する
SDL_GL_SHARE_WITH_CURRENT_CONTEXTOpenGLコンテキストのシェア. デフォルトは0
SDL_GL_FRAMEBUFFER_SRGB_CAPABLEsRGBの使用を要求する. デフォルトは0. (SDL 2.0.1以上)
SDL_GL_CONTEXT_EGL未使用 (廃止)

サンプルコード

SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8);
SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8);
SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8);
SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8);
SDL_GL_SetAttribute(SDL_DOUBLEBUFFER, 1);
SDL_GL_CreateContext(window);

詳細

通常, OpenGLのほとんどの属性は設定できるが, 上記の属性はSDLがOpenGLコンテキストを使うため, ウィンドウを生成する前にわかっている必要がある. これらの属性はSDL_GL_SetAttribute()SDL_GL_GetAttribute()で設定, 獲得できる.

これらの属性は最小値の要求の場合がある. つまりGLは要求したちょうどの値を保障しない. 例えば, 16bitの深度バッファを要求して24bitの深度バッファが設定されることや, ステンシルバッファを使わないように要求したが存在する, ということはありうる. GLが要求された最小の属性を提供できない場合はコンテキストの生成は必ず失敗する. しかし, 設定された属性がちょうどであるかを知るためにはチェックしなければならない.

マルチサンプル アンチエイリアシングはフルスクリーンのアンチエイリアシングである. マルチサンプル アンチエイリアシングはデフォルトではオフだが, SDL_GL_MULTISAMPLEBUFFERSを1, SDL_GL_MULTISAMPLESAMPLESを0以上にするとオンになる. よく使われる値は2と4である.

SDL_GL_CONTEXT_PROFILE_MASKは生成されたコンテキストで決まる. SDL_GL_CONTEXT_MAJOR_VERSIONSDL_GL_CONTEXT_MINOR_VERSIONも同じである. これら3つの属性は最初のウィンドウが生成される前に設定する必要がある. そして, 通常はSDL_GL_CONTEXT_PROFILE_MASKの値は, 以前の設定で生成したウィンドウを全ての閉じるまでは変更できない.

関連項目(関数)

SDL_GL_GetAttribute
SDL_GL_SetAttribute
SDL_GL_CreateContext

SDL Wikiへのリンク

SDL_GLattr - SDL Wiki

SDL_GLcontextFlag

OpenGLコンテキストの設定フラグのための列挙体

SDL_GL_CONTEXT_DEBUG_FLAG詳細を参照すること
SDL_GL_CONTEXT_FORWARD_COMPATIBLE_FLAG詳細を参照すること
SDL_GL_CONTEXT_ROBUST_ACCESS_FLAG詳細を参照すること
SDL_GL_CONTEXT_RESET_ISOLATION_FLAG詳細を参照すること

詳細

この列挙体はSDL_GL_SetAttributeSDL_GL_CONTEXT_FLAGSと組み合わせて使う. フラグを論理和で複数設定できる.

SDL_GL_CONTEXT_DEBUG_FLAG

このフラグは, X11のGLX_ARB_create_context拡張のGLX_CONTEXT_DEBUG_BIT_ARB, WindowsのWGL_ARB_create_context拡張のWGL_CONTEXT_DEBUG_BIT_ARBにマップされている. 他の環境では同様の機能がないため無視される.

SDL_GL_CONTEXT_FORWARD_COMPATIBLE_FLAG

このフラグは, X11のGLX_ARB_create_context拡張のGLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB, WindowsのWGL_ARB_create_context拡張のWGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARBにマップされている. 他の環境では同様の機能がないため無視される.

SDL_GL_CONTEXT_ROBUST_ACCESS_FLAG

このフラグは, X11ではGLX_ARB_create_context_robustness拡張のGLX_CONTEXT_ROBUST_ACCESS_BIT_ARB, WindowsではWGL_ARB_create_context_robustness拡張のWGL_CONTEXT_ROBUST_ACCESS_BIT_ARBにマップされている. 他の環境では同様の機能がないため無視される.

SDL_GL_CONTEXT_RESET_ISOLATION_FLAG

このフラグは, X11ではGLX_ARB_robustness_isolation拡張のGLX_CONTEXT_RESET_ISOLATION_BIT_ARB, WindowsではWGL_ARB_create_context_robustness拡張のWGL_CONTEXT_RESET_ISOLATION_BIT_ARBにマップされている. 他の環境では同様の機能がないため無視される.

関連項目(列挙体)

SDL_GLattr

関連項目(関数)

SDL_GL_GetAttribute
SDL_GL_SetAttribute

SDL Wikiへのリンク

SDL_GLcontextFlag - SDL Wiki

SDL_GLprofile

OpenGLプロファイルのための列挙体

SDL_GL_CONTEXT_PROFILE_COREOpenGL コアプロファイル - 廃止された機能は無効になる
SDL_GL_CONTEXT_PROFILE_COMPATIBILITYOpen GL 互換プロファイル - 廃止された機能は許可される
SDL_GL_CONTEXT_PROFILE_ESOpen GL プロファイル - OpenGLのサブセット機能のみ使える

詳細

この列挙体はSDL_GL_SetAttributeSDL_GL_CONTEXT_PROFILE_MASKと組み合わせて使う. SDL_GL_CONTEXT_PROFILE_MASKは論理和で複数設定できるが, プロファイルは排他的であり, SDL_GL_SetAttributeは1つしか受け付けない. SDL_GL_CONTEXT_PROFILE_MASK属性を0にするとプロファイルはSDLが選択する. OpenGLのプロファイルはバージョンと詳細に関連付けられているため, SDL_GL_CONTEXT_MAJOR_VERSIONSDL_GL_CONTEXT_MINOR_VERSION属性は必ず一緒に使う必要がある. OpenGL ES バージョン1.0と1.1のcommonとcommon liteプロファイルを区別する方法はない.

関連項目(列挙体)

SDL_GLattr

関連項目(関数)

SDL_GL_GetAttribute
SDL_GL_SetAttribute

SDL Wikiへのリンク

SDL_GLcontextFlag - SDL Wiki

SDL_WindowEventID

ウィンドウイベントのための列挙体

SDL_WINDOWEVENT_NONE(この値が使われることはない)
SDL_WINDOWEVENT_SHOWNウィンドウが見えるようになった
SDL_WINDOWEVENT_HIDDENウィンドウが見えないようになった
SDL_WINDOWEVENT_EXPOSEDウィンドウが現れた. 再描画する必要がある
SDL_WINDOWEVENT_MOVEDウィンドウがdata1からdata2へ移動した
SDL_WINDOWEVENT_RESIZEDウィンドウの大きさがdata1×data2になった. このイベントは常にSDL_WINDOWEVENT_SIZE_CHANGEDの前に発生する
SDL_WINDOWEVENT_SIZE_CHANGEDウィンドウの大きさが変わった. APIの呼び出しの結果とユーザが大きさを変えた場合の両方がある. このイベントは, 大きさが外部の要因, 例えばユーザやウィンドウマネージャで変えられた場合, SDL_WINDOWEVENT_RESIZEDイベントの後に発生する.
SDL_WINDOWEVENT_MINIMIZEDウィンドウが最小化された
SDL_WINDOWEVENT_MAXIMIZEDウィンドウが最大化された
SDL_WINDOWEVENT_RESTOREDウィンドウが通常の大きさと位置になった
SDL_WINDOWEVENT_ENTERウィンドウがマウスのフォーカスを得た
SDL_WINDOWEVENT_LEAVEウィンドウがマウスのフォーカスを失った
SDL_WINDOWEVENT_FOCUS_GAINEDウィンドウがキーボードのフォーカスを得た
SDL_WINDOWEVENT_FOCUS_LOSTウィンドウがキーボードのフォーカスを失った
SDL_WINDOWEVENT_CLOSEウィンドウマネージャが閉じることを要求した

関連項目(構造体)

SDL_WindowEvent

関連項目(関数)

SDL_GetWindowID
SDL_GetWindowFromID

SDL Wikiへのリンク

SDL_WindowEventID - SDL Wiki

SDL_WindowFlags

ウィンドウの状態のための列挙体

SDL_WINDOW_FULLSCREENフルスクリーン
SDL_WINDOW_FULLSCREEN_DESKTOP現在のデスクトップの解像度でフルスクリーン
SDL_WINDOW_OPENGLOpenGLコンテキストで使用
SDL_WINDOW_SHOWN見えている
SDL_WINDOW_HIDDEN見えていない
SDL_WINDOW_BORDERLESS枠がない
SDL_WINDOW_RESIZABLE大きさを変えられる
SDL_WINDOW_MINIMIZED最小化されている
SDL_WINDOW_MAXIMIZED最大化されている
SDL_WINDOW_INPUT_GRABBED入力のフォーカスがグラブされている
SDL_WINDOW_INPUT_FOCUS入力のフォーカスがある
SDL_WINDOW_MOUSE_FOCUSマウスのフォーカスがある
SDL_WINDOW_FOREIGNSDL以外によって生成された
SDL_WINDOW_ALLOW_HIGHDPI高DPIモードで生成された (SDL2.0.1以上)

詳細

SDL_WINDOW_OPENGLフラグはOpenGLを使う準備をする. しかし, ウィンドウを生成した後はOpenGLの関数を呼ぶ前にSDL_GL_CreateContext()でOpenGLコンテキストを生成する必要がある.

関連項目(関数)

SDL_CreateWindow
SDL_GetWindowFlags
SDL_HideWindow
SDL_MaximizeWindow
SDL_MinimizeWindow
SDL_SetWindowFullscreen
SDL_SetWindowGrab
SDL_ShowWindow

SDL Wikiへのリンク

SDL_WindowFlags - SDL Wiki

SDL_DisplayMode

ディスプレイモードを含む構造体

フィールド

Uint32formatSDL_PixelFormatEnumの値の1つ. 詳細を参照すること
intw
inth高さ
intrefresh_rate更新周期(Hz), 特定できない場合は0
void*driverdataドライバ固有のデータ. 0で初期化する

関連項目(関数)

SDL_GetClosestDisplayMode
SDL_GetCurrentDisplayMode
SDL_GetDesktopDisplayMode
SDL_GetDisplayMode
SDL_GetNumDisplayModes
SDL_GetWindowDisplayMode
SDL_SetWindowDisplayMode

SDL Wikiへのリンク

SDL_DisplayMode - SDL Wiki

SDL_WindowEvent

ウィンドウの状態が変化した場合のイベントのデータを含む構造体

フィールド

Uint32typeSDL_WINDOWEVENT
Uint32timestampイベントのタイムスタンプ
Uint32windowID関連のあるウィンドウ
Uint8eventSDL_WindowEventID
Sint32data1イベントによって異なるデータ
Sint32data2イベントによって異なるデータ

詳細

SDL_WindowEventSDL_Event共用体のメンバの1つで, イベントのtypeがSDL_WINDOWEVENTの場合に使う. イベントのwindowフィールドを経由してアクセスする必要がある.

関連項目(列挙体)

SDL_EventType
SDL_WindowEventID

SDL Wikiへのリンク

SDL_WindowEvent - SDL Wiki

SDL_CreateWindow

位置, 大きさ, フラグを指定してウィンドウを生成する

構文

SDL_Window* SDL_CreateWindow(const char* title, int x, int y, int w, int h, Uint32 flags)

引数

titleUTF-8でコード化されたウィンドウのタイトル
xウィンドウのX座標, SDL_WINDOWPOS_CENTERED または SDL_WINDOWPOS_UNDEFINED
yウィンドウのY座標, SDL_WINDOWPOS_CENTERED または SDL_WINDOWPOS_UNDEFINED
wウィンドウの幅
hウィンドウの高さ
flags0 または 1つ以上のSDL_WindowFlagsの論理和

戻り値

生成されたウィンドウを戻す. 失敗のときNULLを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

関連項目(関数)

SDL_DestroyWindow

SDL Wikiへのリンク

SDL_CreateWindow - SDL Wiki

SDL_CreateWindowAndRenderer

ウィンドウとデフォルトのレンダラを生成する

構文

int SDL_CreateWindowAndRenderer(int width, int height, Uint32 window_flags, SDL_Window** window, SDL_Renderer** renderer)

引数

widthウィンドウの幅
heightウィンドウの高さ
window_flagsウィンドウを生成するときに使われるフラグ (SDL_CreateWindowを参照すること)
window生成されたウィンドウを代入するポインタ, 失敗のときはNULL
renderer生成されたレンダラを代入するポインタ, 失敗のときはNULL

戻り値

正常のとき0, 失敗のとき-1を戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

関連項目(関数)

SDL_CreateWindow
SDL_CreateRenderer

SDL Wikiへのリンク

SDL_CreateWindowAndRenderer - SDL Wiki

SDL_CreateWindowFrom

既にあるネイティブのウィンドウからSDLのウィンドウを生成する

構文

SDL_Window* SDL_CreateWindowFrom(const void* data)

引数

dataドライバに依存したウィンドウ生成のためのデータ. 通常はvoid*キャストしたネイティブのウィンドウ

戻り値

生成されたウィンドウを戻す. 失敗のときNULLを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

関連項目(関数)

SDL_DestroyWindow

SDL Wikiへのリンク

SDL_CreateWindowFrom - SDL Wiki

SDL_DestroyWindow

ウィンドウを破棄する

構文

void SDL_DestroyWindow(SDL_Window* window)

引数

window破棄するウィンドウ

関連項目(関数)

SDL_CreateWindow
SDL_CreateWindowFrom

SDL Wikiへのリンク

SDL_DestroyWindow - SDL Wiki

SDL_DisableScreenSaver

スクリーンセーバーで画面が切り替わることを防ぐ

構文

void SDL_DisableScreenSaver(void)

詳細

スクリーンセーバーを無効にしても, SDLが終了すれば自動的に再び有効になる.

関連項目(関数)

SDL_EnableScreenSaver
SDL_IsScreenSaverEnabled

SDL Wikiへのリンク

SDL_DisableScreenSaver - SDL Wiki

SDL_EnableScreenSaver

スクリーンセーバーで画面が切り替わることを認める

構文

void SDL_EnableScreenSaver(void)

関連項目(関数)

SDL_DisableScreenSaver
SDL_IsScreenSaverEnabled

SDL Wikiへのリンク

SDL_EnableScreenSaver - SDL Wiki

SDL_GL_BindTexture

OpenGLプリミティブのレンダリングで使うためにOpenGL/ES/ES2テクスチャをカレントコンテキストにバインドする

構文

int SDL_GL_BindTexture(SDL_Texture *texture, float *texw, float *texh)

引数

textureOpenGL/ES/ES2カレントコンテキストにバインドするテクスチャ
texwテクスチャの幅を代入するfloat型の変数へのポインタ, 必要ない場合はNULL
texhテクスチャの高さを代入するfloat型の変数へのポインタ, 必要ない場合はNULL

戻り値

正常のとき0, 操作が対応していないときは-1

詳細

値が得られたなら, texwとtexhには得られたテクスチャに適した幅と高さが代入されている. ほとんどの場合, 両方の値は1.0である. しかし, the GL_ARB_texture_rectangle拡張に対応した環境では, これらの値はテクスチャの生成のために使われた実際のピクセル数の幅と高さである. このことはOpenGLにテクスチャの座標を与える場合に考慮する必要がある.

関連項目(関数)

SDL_GL_UnbindTexture
SDL_GL_MakeCurrent

SDL Wikiへのリンク

SDL_GL_BindTexture - SDL Wiki

SDL_GL_CreateContext

OpenGLウィンドウで使うためにOpenGLコンテキストを生成し, カレントコンテキストにする

構文

SDL_GLContext SDL_GL_CreateContext(SDL_Window* window)

引数

windowコンテキストに関連付けるウィンドウ

戻り値

windowに関連付けられたOpenGLコンテキスト, エラーのときNULLを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

詳細

新たにOpenGLを使うWindowsユーザーは, 歴史的な理由で, OpenGLバージョン1.1で追加されたGL関数はデフォルトでは使えないことに注意しなければならない. これらの関数は, OpenGL拡張を扱うライブラリ, またはSDL_GL_GetProcAddress()とその関連の関数で実行中に読み込むことができる.

関連項目(関数)

SDL_GL_DeleteContext
SDL_GL_MakeCurrent

SDL Wikiへのリンク

SDL_GL_CreateContext - SDL Wiki

SDL_GL_DeleteContext

OpenGLコンテキストを削除する

構文

void SDL_GL_DeleteContext(SDL_GLContext context)

引数

context削除するOpenGLコンテキスト

関連項目(関数)

SDL_GL_CreateContext

SDL Wikiへのリンク

SDL_GL_DeleteContext - SDL Wiki

SDL_GL_ExtensionSupported

カレントコンテキストでOpenGL拡張が対応しているなら真を戻す

構文

SDL_bool SDL_GL_ExtensionSupported(const char* extension)

引数

extensionチェックする拡張の名前

戻り値

拡張に対応していればSDL_TRUE, していなければSDL_FALSEを戻す

詳細

この関数はカレントコンテキストで動作する. つまり, コンテキストが生成されていて, 関数が呼ばれる前にカレントである必要がある. 生成したコンテキスト全てが同じように拡張が使える, または既に存在するコンテキストから再生成したとき同じ拡張が使えるとみなしてはならない.

また, 大きな負荷が掛かる可能性がある. この関数O(1)ではない. 必要なときに毎回この関数を呼ぶのではなく, GLコンテキストを生成した後に取り扱う拡張をチェックしてその情報を保存するべきである.

SDL Wikiへのリンク

SDL_GL_ExtensionSupported - SDL Wiki

SDL_GL_GetAttribute

カレントコンテキストの属性の現在の値を得る

構文

int SDL_GL_GetAttribute(SDL_GLattr attr, int* value)

引数

attr問い合わせる属性 (SDL_GLattr列挙体)
value現在のattrの値を代入する変数へのポインタ

戻り値

正常のとき0, 失敗のとき負の数を戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

関連項目(関数)

SDL_GL_ResetAttributes
SDL_GL_SetAttribute

SDL Wikiへのリンク

SDL_GL_GetAttribute - SDL Wiki

SDL_GL_GetCurrentContext

動作中のカレントコンテキストを得る

構文

SDL_GLContext SDL_GL_GetCurrentContext(void)

戻り値

動作中のカレントコンテキストを戻す. 失敗のときNULLを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

関連項目(関数)

SDL_GL_MakeCurrent

SDL Wikiへのリンク

SDL_GL_GetCurrentContext - SDL Wiki

SDL_GL_GetCurrentWindow

動作中のOpenGLウィンドウを得る

構文

SDL_Window* SDL_GL_GetCurrentWindow(void)

戻り値

成功のとき動作中のOpenGLを, 失敗のときNULLを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

SDL Wikiへのリンク

SDL_GL_GetCurrentWindow - SDL Wiki

SDL_GL_GetDrawableSize

(glViewportで使うために)ウィンドウ内の描画領域のサイズを得る

構文

void SDL_GL_GetDrawableSize(SDL_Window* window, int* w, int* h)

引数

window描画領域のサイズを求めるウィンドウ
w幅を代入する変数へのポインタ, NULLでもよい
h高さを代入する変数へのポインタ, NULLでもよい

詳細

高DPI描画領域のレンダリングの場合, 例えば高DPI(AppleではRetinaと呼ばれる)に対応した環境でSDL_WINDOW_ALLOW_HIGHDPIで生成したウィンドウでは, この関数の値とSDL_GetWindowSize()の値はおそらく異なる. そしてSDL_HINT_VIDEO_HIGHDPI_DISABLEDでは無効にできない.

関連項目(関数)

SDL_GetWindowSize
SDL_CreateWindow

SDL Wikiへのリンク

SDL_GL_GetDrawableSize - SDL Wiki

SDL_GL_GetProcAddress

名前でOpenGLの関数を得る

構文

void* SDL_GL_GetProcAddress(const char* proc)

引数

procOpenGL関数の名前

戻り値

その名前のOpenGL関数へのポインタを戻す. 戻されたポインタはその関数に適したシグニチャでキャストする必要がある.

詳細

GLライブラリを実行中にSDL_GL_LoadLibrary()で読み込んだならば, 全てのGL関数はこの方法で読み出さなければならない. 通常はOpenGL拡張の関数へのポインタを読み出すために使う.

OpenGLの関数を検索するのはいくつかの難点があり, アプリケーションは特に注意を要する. それでも注意深くコーディングすれば, 環境に依存するコードなしでこれらの難点を扱うことができる.

関連項目(関数)

SDL_GL_LoadLibrary
SDL_GL_UnloadLibrary
SDL_GL_ExtensionSupported

SDL Wikiへのリンク

SDL_GL_GetProcAddress - SDL Wiki

SDL_GL_GetSwapInterval

カレントコンテキストの交換インターバルを得る

構文

int SDL_GL_GetSwapInterval(void)

詳細

垂直帰線同期が存在しないとき0, バッファ交換が垂直帰線で同期するとき1, 垂直帰線同期に対応していないとき-1を戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

関連項目(関数)

SDL_GL_SetSwapInterval

SDL Wikiへのリンク

SDL_GL_GetSwapInterval - SDL Wiki

SDL_GL_LoadLibrary

OpenGLライブラリを動的に読み込む

構文

int SDL_GL_LoadLibrary(const char* path)

引数

path環境に依存するOpenGLライブラリの名前の, NULLのときデフォルトのOpenGLライブラリを開く

戻り値

成功のとき0, 失敗のとき負の数のエラーコードを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

詳細

ビデオドライバを初期化した後だがOpenGLウィンドウを生成する前に行う必要がある. もしOpenGLライブラリが読み込めなければ最初のOpenGLウィンドウを生成する時点でデフォルトのライブラリが読み込まれる.

もしこれを行ったなら, プログラム内で使う関数は全てSDL_GL_GetProcAddressで動的リンクライブラリから獲得する必要がある.

関連項目(関数)

SDL_GL_GetProcAddress
SDL_GL_UnloadLibrary

SDL Wikiへのリンク

SDL_GL_LoadLibrary - SDL Wiki

SDL_GL_MakeCurrent

OpenGLコンテキストをOpenGLウィンドウにレンダリングするように設定する

構文

int SDL_GL_MakeCurrent(SDL_Window* window, SDL_GLContext context)

引数

windowコンテキストに関連付けるウィンドウ
contextウィンドウに関連付けるOpenGLコンテキスト

戻り値

成功のとき0, 失敗のとき負の数のエラーコードを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

詳細

関連項目(関数)

SDL_GL_CreateContext

SDL Wikiへのリンク

SDL_GL_MakeCurrent - SDL Wiki

SDL_GL_ResetAttributes

OpenGLコンテキストの属性を全て元の値にリセットする

構文

void SDL_GL_ResetAttributes(void)

関連項目(関数)

SDL_GL_GetAttribute
SDL_GL_SetAttribute

SDL Wikiへのリンク

SDL_GL_ResetAttributes - SDL Wiki

SDL_GL_SetAttribute

ウィンドウを生成する前にOpenGLウィンドウの属性を設定する

構文

int SDL_GL_SetAttribute(SDL_GLattr attr, int value)

引数

attr設定するOpenGL属性 (詳細を参照すること)
value設定する属性の値

戻り値

成功のとき0, 失敗のとき負の数のエラーコードを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

詳細

この関数はOpenGL属性attrの値をvalueに設定する. 属性はOpenGLウィンドウを生成する前に設定する必要がある. 要求した値とは異なることがありうるので, OpenGLコンテキストを生成した後にSDL_GL_GetAttribute()で値をチェックする必要がある.

attrはSDL_GLattr列挙体の値の1つである.

関連項目(関数)

SDL_GL_ResetAttributes
SDL_GL_GetAttribute

SDL Wikiへのリンク

SDL_GL_SetAttribute - SDL Wiki

SDL_GL_SetSwapInterval

カレントコンテキストの交換インターバルを設定する

構文

int SDL_GL_SetSwapInterval(int interval)

引数

intervalすぐに更新するとき0, 垂直帰線で同期するとき1, late swap tearingのとき-1 (詳細を参照すること)

戻り値

成功のとき0, 設定した交換インターバルが対応していない場合は-1を戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

詳細

一部の処理系ではintervalに-1を指定することでlate swap tearingが有効になる. Late swap tearingは垂直帰線同期と同じように働くが, 与えられたフレームの垂直帰線同期に失敗したとき, バッファをただちに交換する. それによりユーザのフレーム落ちに対する不快感を抑えることができる. アプリケーションがlate swap tearingを要求したが処理系が対応していないとき, この関数は失敗し-1を戻す. その場合は, 再びこの関数をintervalを1にして呼ぶ必要がある.

Late swap tearingは, 一部のglXドライバのGLX_EXT_swap_control_tearと, 一部のWindowsドライバのWGL_EXT_swap_control_tearで実装されている.

関連項目(関数)

SDL_GL_GetSwapInterval

SDL Wikiへのリンク

SDL_GL_SetSwapInterval - SDL Wiki

SDL_GL_SwapWindow

OpenGLレンダリングでウィンドウを更新する

構文

void SDL_GL_SwapWindow(SDL_Window* window)

引数

window設定するウィンドウ

詳細

この関数はダブルバッファのOpenGLコンテキストで使う(デフォルト).

SDL Wikiへのリンク

SDL_GL_SwapWindow - SDL Wiki

SDL_GL_UnbindTexture

OpenGLプリミティブのレンダリングで使っているOpenGL/ES/ES2テクスチャをカレントコンテキストからアンバインドする

構文

int SDL_GL_UnbindTexture(SDL_Texture *texture)

引数

textureカレントOpenGL/ES/ES2コンテキストからアンバインドするテクスチャ

戻り値

正常のとき0, 操作が対応していないときは-1

詳細

これらの関数の使用法はSDL_GL_BindTexture()を参照すること

関連項目(関数)

SDL_GL_BindTexture
SDL_GL_MakeCurrent

SDL Wikiへのリンク

SDL_GL_UnbindTexture - SDL Wiki

SDL_GL_UnloadLibrary

SDL_GL_LoadLibrary()で読み込んだOpenGLライブラリを解放する

構文

void SDL_GL_UnloadLibrary(void)

関連項目(関数)

SDL_GL_LoadLibrary

SDL Wikiへのリンク

SDL_GL_UnloadLibrary - SDL Wiki

SDL_GetClosestDisplayMode

要求に最も近いディスプレイモードを検索する

構文

SDL_DisplayMode* SDL_GetClosestDisplayMode(int displayIndex, const SDL_DisplayMode* mode, SDL_DisplayMode* closest)

引数

displayIndex問い合わせるディスプレイの番号
mode要求するディスプレイモードを代入したSDL_DisplayMode構造体
closest最も近い利用可能なディスプレイモードを代入するSDL_DisplayMode構造体

戻り値

成功のときclosestへのポインタ, 利用可能なディスプレイモードがないときNULLを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

詳細

利用可能なディスプレイモードが検索され, 要求と最も近いモードがclosestに代入される. modeのformatとrefresh_rateが0の場合, 初期値のデスクトップのモードとなる. モードは, サイズを最優先で検索し, ピクセル形式(色)は次の優先度となる. そして最後に更新周期をチェックする. 利用可能なモードが要求に対して小さすぎる場合, NULLを戻す.

関連項目(関数)

SDL_GetDisplayMode
SDL_GetNumDisplayModes

SDL Wikiへのリンク

SDL_GetClosestDisplayMode - SDL Wiki

SDL_GetCurrentDisplayMode

現在のディスプレイモードの情報を得る

構文

int SDL_GetCurrentDisplayMode(int displayIndex, SDL_DisplayMode* mode)

引数

displayIndex問い合わせるディスプレイの番号
mode現在のディスプレイモードを代入するSDL_DisplayMode構造体

戻り値

成功のとき0, 失敗のとき負の数のエラーコードを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

詳細

この関数とSDL_GetDesktopDisplayMode()は, SDLがフルスクリーンで, かつ解像度を変えたとき異なる. その場合, この関数は現在のディスプレイモードを戻すが, SDL_GetDesktopDisplayMode()はそのままの値を戻す.

関連項目(関数)

SDL_GetDesktopDisplayMode
SDL_GetDisplayMode
SDL_SetWindowDisplayMode
SDL_GetNumVideoDisplays

SDL Wikiへのリンク

SDL_GetCurrentDisplayMode - SDL Wiki

SDL_GetCurrentVideoDriver

初期化された現在のビデオドライバの名前を得る

構文

const char* SDL_GetCurrentVideoDriver(void)

戻り値

現在のビデオドライバの名前を, 初期化されていないときNULLを戻す.

詳細

関連項目(関数)

SDL_GetNumVideoDrivers
SDL_GetVideoDriver

SDL Wikiへのリンク

SDL_GetCurrentVideoDriver - SDL Wiki

SDL_GetDesktopDisplayMode

デスクトップのディスプレイモードの情報を得る

構文

int SDL_GetDesktopDisplayMode(int displayIndex, SDL_DisplayMode* mode)

引数

displayIndex問い合わせるディスプレイの番号
mode現在のディスプレイモードを代入するSDL_DisplayMode構造体

戻り値

成功のとき0, 失敗のとき負の数のエラーコードを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

詳細

この関数とSDL_GetCurrentDisplayMode()は, SDLがフルスクリーンで, かつ解像度を変えたとき異なる. その場合, この関数は現在のディスプレイモードではなく変える前のディスプレイモードを戻す.

関連項目(関数)

SDL_GetCurrentDisplayMode
SDL_GetDisplayMode
SDL_SetWindowDisplayMode

SDL Wikiへのリンク

SDL_GetDesktopDisplayMode - SDL Wiki

SDL_GetDisplayBounds

ディスプレイの表示領域を位置が0,0の主ディスプレイとしたときの表示領域を得る

構文

int SDL_GetDisplayBounds(int displayIndex, SDL_Rect* rect)

引数

displayIndex問い合わせるディスプレイの番号
rectディスプレイ領域を代入するSDL_Rect構造体

戻り値

成功のとき0, 失敗のとき負の数のエラーコードを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

関連項目(関数)

SDL_GetNumVideoDisplays

SDL Wikiへのリンク

SDL_GetDisplayBounds - SDL Wiki

SDL_GetDisplayMode

指定したディスプレイモードの情報を得る

構文

int SDL_GetDisplayMode(int displayIndex, int modeIndex, SDL_DisplayMode* mode)

引数

displayIndex問い合わせるディスプレイの番号
modeIndex問い合わせるディスプレイモードの番号
modemodeIndexのディスプレイモードを代入するSDL_DisplayMode構造体

戻り値

成功のとき0, 失敗のとき負の数のエラーコードを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

詳細

ディスプレイモードは次の順位で並んでいる

関連項目(関数)

SDL_GetNumDisplayModes

SDL Wikiへのリンク

SDL_GetDisplayMode - SDL Wiki

SDL_GetDisplayName

ディスプレイの名前をUTF-8コードで得る

構文

const char* SDL_GetDisplayName(int displayIndex)

引数

displayIndex問い合わせるディスプレイの番号

戻り値

ディスプレイの名前を, 不正なディスプレイ番号または失敗のときNULLを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

関連項目(関数)

SDL_GetNumVideoDisplays

SDL Wikiへのリンク

SDL_GetDisplayName - SDL Wiki

SDL_GetNumDisplayModes

利用可能なディスプレイモードの数を得る

構文

int SDL_GetNumDisplayModes(int displayIndex)

引数

displayIndex問い合わせるディスプレイの番号

戻り値

成功のとき1以上の数を, 失敗のとき負の数のエラーコードを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

詳細

displayIndexは0からSDL_GetNumVideoDisplays()-1の範囲である必要がある. この関数でマルチディスプレイに対応できる.

関連項目(関数)

SDL_GetDisplayMode
SDL_GetNumVideoDisplays

SDL Wikiへのリンク

SDL_GetNumDisplayModes - SDL Wiki

SDL_GetNumVideoDisplays

利用可能なディスプレイの数を得る

構文

int SDL_GetNumVideoDisplays(void)

戻り値

成功のとき1以上の数を, 失敗のとき負の数のエラーコードを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

関連項目(関数)

SDL_GetDisplayBounds

SDL Wikiへのリンク

SDL_GetNumVideoDisplays - SDL Wiki

SDL_GetNumVideoDrivers

SDLで利用可能なビデオドライバの数を得る

構文

int SDL_GetNumVideoDrivers(void)

引数

戻り値

成功のとき1以上の数を, 失敗のとき負の数のエラーコードを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

関連項目(関数)

SDL_GetVideoDriver

SDL Wikiへのリンク

SDL_GetNumVideoDrivers - SDL Wiki

SDL_GetVideoDriver

組み込まれたビデオドライバの名前を得る

構文

const char* SDL_GetVideoDriver(int index)

引数

indexビデオドライバの番号

戻り値

与えられた番号のビデオドライバの名前を戻す

詳細

ビデオドライバは初期化中にチェックされた順番に提供される

関連項目(関数)

SDL_GetNumVideoDrivers

SDL Wikiへのリンク

SDL_GetVideoDriver - SDL Wiki

SDL_GetWindowBrightness

ウィンドウの輝度(ガンマ補正)を得る

構文

float SDL_GetWindowBrightness(SDL_Window* window)

引数

window問い合わせるウィンドウ

戻り値

ウィンドウの輝度を戻す. 0.0が完全に真っ暗で, 1.0が通常の輝度である.

関連項目(関数)

SDL_SetWindowBrightness

SDL Wikiへのリンク

SDL_GetWindowBrightness - SDL Wiki

SDL_GetWindowData

ウィンドウに関連付けたデータポインタを回収する

構文

void* SDL_GetWindowData(SDL_Window* window, const char* name)

引数

window問い合わせるウィンドウ
name名前へのポインタ

戻り値

nameに関連付けた値を戻す

関連項目(関数)

SDL_SetWindowData

SDL Wikiへのリンク

SDL_GetWindowData - SDL Wiki

SDL_GetWindowDisplayIndex

ウィンドウの存在するディスプレイの番号を得る

構文

int SDL_GetWindowDisplayIndex(SDL_Window* window)

引数

window問い合わせるウィンドウ

戻り値

成功のときウィンドウの中心のあるディスプレイの番号を, 失敗のとき負の数のエラーコードを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

関連項目(関数)

SDL_GetDisplayBounds
SDL_GetNumVideoDisplays

SDL Wikiへのリンク

SDL_GetWindowDisplayIndex - SDL Wiki

SDL_GetWindowDisplayMode

フルスクリーン時に使用するディスプレイモードを得る

構文

int SDL_GetWindowDisplayMode(SDL_Window* window, SDL_DisplayMode* mode)

引数

window問い合わせるウィンドウ
modeフルスクリーン時に使用するディスプレイモードを代入するSDL_DisplayMode構造体

戻り値

成功のとき0を, 失敗のとき負の数のエラーコードを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

関連項目(関数)

SDL_SetWindowDisplayMode
SDL_SetWindowFullscreen

SDL Wikiへのリンク

SDL_GetWindowDisplayMode - SDL Wiki

SDL_GetWindowFlags

ウィンドウのフラグを得る

構文

Uint32 SDL_GetWindowFlags(SDL_Window* window)

引数

window問い合わせるウィンドウ

戻り値

windowに関連付けられたSDL_WindowFlags列挙体のマスク

詳細

関連項目(関数)

SDL_CreateWindow
SDL_HideWindow
SDL_MaximizeWindow
SDL_MinimizeWindow
SDL_SetWindowFullscreen
SDL_SetWindowGrab
SDL_ShowWindow

SDL Wikiへのリンク

SDL_GetWindowFlags - SDL Wiki

SDL_GetWindowFromID

IDからウィンドウを得る

構文

SDL_Window* SDL_GetWindowFromID(Uint32 id)

引数

idウィンドウのID

戻り値

IDに関連付けられたウィンドウを, 存在しなければNULLを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

詳細

関連項目(関数)

SDL_GetWindowID

SDL Wikiへのリンク

SDL_GetWindowFromID - SDL Wiki

SDL_GetWindowGammaRamp

ウィンドウのガンマランプを得る

構文

int SDL_GetWindowGammaRamp(SDL_Window* window, Uint16* red, Uint16* green, Uint16* blue)

引数

window問い合わせるウィンドウ
red赤チャネル変換テーブルを代入する16bit256要素の配列, またはNULL
green緑チャネル変換テーブルを代入する16bit256要素の配列, またはNULL
blue青チャネル変換テーブルを代入する16bit256要素の配列, またはNULL

戻り値

成功のとき0を, 失敗のとき負の数のエラーコードを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

関連項目(関数)

SDL_SetWindowGammaRamp

SDL Wikiへのリンク

SDL_GetWindowGammaRamp - SDL Wiki

SDL_GetWindowGrab

ウィンドウのグラブモードを得る

構文

SDL_bool SDL_GetWindowGrab(SDL_Window* window)

引数

window問い合わせるウィンドウ

戻り値

入力グラブのときSDL_TRUE, そうでないときSDL_FALSE

関連項目(関数)

SDL_SetWindowGrab

SDL Wikiへのリンク

SDL_GetWindowGrab - SDL Wiki

SDL_GetWindowID

ログのためのウィンドウのIDの数値を得る

構文

Uint32 SDL_GetWindowID(SDL_Window* window)

引数

window問い合わせるウィンドウ

戻り値

ウィンドウのIDを戻す

関連項目(関数)

SDL_GetWindowFromID

SDL Wikiへのリンク

SDL_GetWindowID - SDL Wiki

SDL_GetWindowMaximumSize

ウィンドウのクライアント領域の最大サイズを得る

構文

void SDL_GetWindowMaximumSize(SDL_Window* window, int* w, int* h)

引数

window問い合わせるウィンドウ
xウィンドウの最大幅を代入するポインタ
yウィンドウの最大高さを代入するポインタ

関連項目(関数)

SDL_GetWindowMinimumSize
SDL_SetWindowMaximumSize

SDL Wikiへのリンク

SDL_GetWindowMaximumSize - SDL Wiki

SDL_GetWindowMinimumSize

ウィンドウのクライアント領域の最小サイズを得る

構文

void SDL_GetWindowMinimumSize(SDL_Window* window, int* w, int* h)

引数

window問い合わせるウィンドウ
xウィンドウの最小幅を代入するポインタ
yウィンドウの最小高さを代入するポインタ

関連項目(関数)

SDL_GetWindowMaximumSize
SDL_SetWindowMinimumSize

SDL Wikiへのリンク

SDL_GetWindowMinimumSize - SDL Wiki

SDL_GetWindowPixelFormat

ウィンドウのピクセルフォーマットを得る

構文

Uint32 SDL_GetWindowPixelFormat(SDL_Window* window)

引数

window問い合わせるウィンドウ

戻り値

Returns the pixel format of the window on success or SDL_PIXELFORMAT_UNKNOWN on failure; call SDL_GetError() for more information. 成功のときwindowのピクセルフォーマット, 失敗のときSDL_PIXELFORMAT_UNKNOWNを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

SDL Wikiへのリンク

SDL_GetWindowPixelFormat - SDL Wiki

SDL_GetWindowPosition

ウィンドウを位置を得る

構文

void SDL_GetWindowPosition(SDL_Window* window, int* x, int* y)

引数

window問い合わせるウィンドウ
xウィンドウのx座標を代入するポインタ
yウィンドウのy座標を代入するポインタ

関連項目(関数)

SDL_SetWindowPosition

SDL Wikiへのリンク

SDL_GetWindowPosition - SDL Wiki

SDL_GetWindowSize

Use this function to get the size of a window's client area. ウィンドウのクライアント領域のサイズを得る

構文

void SDL_GetWindowSize(SDL_Window* window, int* w, int* h)

引数

window問い合わせるウィンドウ
xウィンドウの幅を代入するポインタ
yウィンドウの高さを代入するポインタ

関連項目(関数)

SDL_SetWindowSize

SDL Wikiへのリンク

SDL_GetWindowSize - SDL Wiki

SDL_GetWindowSurface

ウィンドウに関連付けられたSDLサーフェイスを得る

構文

SDL_Surface* SDL_GetWindowSurface(SDL_Window* window)

引数

window問い合わせるウィンドウ

戻り値

成功のときウィンドウに関連付けられたサーフェイスを, 失敗のときNULLを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

詳細

必要ならば, 新しいサーフェイスはウィンドウに適したフォーマットで生成される. サーフェイスはウィンドウが破棄されたとき解放される.

このことはウィンドウと3DまたはレンダリングAPIの結びつきと同じではない.

この関数はSDL_HINT_FRAMEBUFFER_ACCELERATIONの影響を受ける.

関連項目(関数)

SDL_UpdateWindowSurface
SDL_UpdateWindowSurfaceRects

SDL Wikiへのリンク

SDL_GetWindowSurface - SDL Wiki

SDL_GetWindowTitle

ウィンドウのタイトルを得る

構文

const char* SDL_GetWindowTitle(SDL_Window* window)

引数

window問い合わせるウィンドウ

戻り値

ウィンドウのタイトルのUTF-8文字列, タイトルがない場合は"".

関連項目(関数)

SDL_SetWindowTitle

SDL Wikiへのリンク

SDL_GetWindowTitle - SDL Wiki

SDL_GetWindowWMInfo

ウィンドウに関するドライバ固有の情報を得る

構文

SDL_bool SDL_GetWindowWMInfo(SDL_Window* window, SDL_SysWMinfo* info)

引数

window情報を求めるウィンドウ
infoウィンドウの情報を書き込むSDL_SysWMinfo構造体 (詳細を参照すること)

戻り値

この関数が実装されていて, かつinfo構造体のバージョンが正しければSDL_TRUE, 情報が得られなければSDL_FALSEを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

詳細

SDL_SysWMinfoを定義するためSDL_syswm.hをインクルードする必要がある.

info構造体はSDLバージョンが初期化されている必要があり, それがあればウィンドウの情報がサンプルコードのように得られる.

SDL Wikiへのリンク

SDL_GetWindowWMInfo - SDL Wiki

SDL_HideWindow

ウィンドウを隠す

構文

void SDL_HideWindow(SDL_Window* window)

引数

window隠すウィンドウ

関連項目(関数)

SDL_ShowWindow

SDL Wikiへのリンク

SDL_HideWindow - SDL Wiki

SDL_IsScreenSaverEnabled

現在スクリーンセーバーが有効かを戻す

構文

SDL_bool SDL_IsScreenSaverEnabled(void)

戻り値

スクリーンセーバーが有効のときSDL_TRUE, 無効のときSDL_FALSEを戻す.

詳細

デフォルトではスクリーンセーバーは有効である.

関連項目(関数)

SDL_DisableScreenSaver
SDL_EnableScreenSaver

SDL Wikiへのリンク

SDL_IsScreenSaverEnabled - SDL Wiki

SDL_MaximizeWindow

ウィンドウを最大化する

構文

void SDL_MaximizeWindow(SDL_Window* window)

引数

window最大化するウィンドウ

関連項目(関数)

SDL_MinimizeWindow
SDL_RestoreWindow

SDL Wikiへのリンク

SDL_MaximizeWindow - SDL Wiki

SDL_MinimizeWindow

ウィンドウをアイコン化する

構文

void SDL_MinimizeWindow(SDL_Window* window)

引数

window最小化するウィンドウ

関連項目(関数)

SDL_MaximizeWindow
SDL_RestoreWindow

SDL Wikiへのリンク

SDL_MinimizeWindow - SDL Wiki

SDL_RaiseWindow

ウィンドウを最前面にして入力フォーカスを与える

構文

void SDL_RaiseWindow(SDL_Window* window)

引数

window最前面にするウィンドウ

SDL Wikiへのリンク

SDL_RaiseWindow - SDL Wiki

SDL_RestoreWindow

最大化または最小化されたウィンドウを元の大きさと位置に戻す

構文

void SDL_RestoreWindow(SDL_Window* window)

引数

window元に戻すウィンドウ

関連項目(関数)

SDL_MaximizeWindow
SDL_MinimizeWindow

SDL Wikiへのリンク

SDL_RestoreWindow - SDL Wiki

SDL_SetWindowBordered

ウィンドウの枠の状態を設定する

構文

void SDL_SetWindowBordered(SDL_Window* window, SDL_bool bordered)

引数

window枠の状態を設定するウィンドウ
borderedSDL_FALSEのとき枠を取り除く, SDL_TRUEのとき枠をつける

詳細

この関数はSDL_WINDOW_BORDERLESSフラグを変化させ, 実際のウィンドウの枠を変化させる. ウィンドウの枠が既にその状態の場合は何も起こらない.

フルスクリーンの場合は枠の状態は変わらない.

関連項目(関数)

SDL_GetWindowFlags

SDL Wikiへのリンク

SDL_SetWindowBordered - SDL Wiki

SDL_SetWindowBrightness

ウィンドウの輝度(ガンマ補正)を設定する

構文

int SDL_SetWindowBrightness(SDL_Window* window, float brightness)

引数

window設定するウィンドウ
brightness輝度(ガンマ補正) 0.0が完全に真っ暗で, 1.0が通常の輝度

戻り値

成功のとき0を, 失敗のとき負の数のエラーコードを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

関連項目(関数)

SDL_GetWindowBrightness
SDL_SetWindowGammaRamp

SDL Wikiへのリンク

SDL_SetWindowBrightness - SDL Wiki

SDL_SetWindowData

ウィンドウに任意の名前とポインタを関連付ける

構文

void* SDL_SetWindowData(SDL_Window* window, const char* name, void* userdata)

引数

windowポインタに関連付けられたウィンドウ
name名前へのポインタ
userdata関連付けるポインタ

戻り値

nameの関連付ける前の値を戻す

詳細

nameは大文字小文字を区別する

関連項目(関数)

SDL_GetWindowData

SDL Wikiへのリンク

SDL_SetWindowData - SDL Wiki

SDL_SetWindowDisplayMode

フルスクリーン時に使用するディスプレイモードを設定する

構文

int SDL_SetWindowDisplayMode(SDL_Window* window, const SDL_DisplayMode* mode)

引数

window設定するウィンドウ
mode 設定するディスプレイモードを代入したSDL_DisplayMode構造体, NULLのときはデスクトップの色数と更新周期を使用する

戻り値

成功のとき0を, 失敗のとき負の数のエラーコードを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

関連項目(関数)

SDL_GetWindowDisplayMode
SDL_SetWindowFullscreen

SDL Wikiへのリンク

SDL_SetWindowDisplayMode - SDL Wiki

SDL_SetWindowFullscreen

ウィンドウのフルスクリーン状態を設定する

構文

int SDL_SetWindowFullscreen(SDL_Window* window, Uint32 flags)

引数

window設定するウィンドウ
flagsSDL_WINDOW_FULLSCREEN, SDL_WINDOW_FULLSCREEN_DESKTOP または 0 (詳細を参照すること)

戻り値

成功のとき0を, 失敗のとき負の数のエラーコードを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

詳細

flagsをSDL_WINDOW_FULLSCREENにするとビデオモードを変え「本当の」フルスクリーンになる. SDL_WINDOW_FULLSCREEN_DESKTOPにするとデスクトップと同じサイズにした「ニセの」フルスクリーンになる. 0のときウィンドウモードになる.

関連項目(関数)

SDL_GetWindowDisplayMode
SDL_SetWindowDisplayMode

SDL Wikiへのリンク

SDL_SetWindowFullscreen - SDL Wiki

SDL_SetWindowGammaRamp

ウィンドウのガンマランプを設定する

構文

int SDL_SetWindowGammaRamp(SDL_Window* window, const Uint16* red, const Uint16* green, const Uint16* blue)

引数

window設定するウィンドウ
red赤チャネル変換テーブルの16bit256要素の配列, またはNULL
green緑チャネル変換テーブルの16bit256要素の配列, またはNULL
blue青チャネル変換テーブルの16bit256要素の配列, またはNULL

戻り値

成功のとき0を, 失敗のとき負の数のエラーコードを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

詳細

ビデオバードウェアのための赤, 緑, 青チャネルのガンマ変換テーブルを設定する. それぞれのテーブルは256要素16bitで, チャネルの入力と出力をマッピングしている. 入力は配列のインデックス, 出力はそのインデックスの16bitガンマ値で, 出力カラーの精度で伸縮される.

関連項目(関数)

SDL_GetWindowGammaRamp

SDL Wikiへのリンク

SDL_SetWindowGammaRamp - SDL Wiki

SDL_SetWindowGrab

構文

ウィンドウの入力グラブを設定する void SDL_SetWindowGrab(SDL_Window* window, SDL_bool grabbed)

引数

window設定するウィンドウ
grabbedSDL_TRUEのとき入力グラブする, SDL_FALSEのとき入力グラブしない

詳細

入力がグラブされるとマウスの動きはウィンドウ内に限定される.

関連項目(関数)

SDL_GetWindowGrab

SDL Wikiへのリンク

SDL_SetWindowGrab - SDL Wiki

SDL_SetWindowIcon

ウィンドウのアイコンを設定する

構文

void SDL_SetWindowIcon(SDL_Window* window, SDL_Surface* icon)

引数

window設定するウィンドウ
iconアイコンのSDL_Surface構造体

SDL Wikiへのリンク

SDL_SetWindowIcon - SDL Wiki

SDL_SetWindowMaximumSize

ウィンドウのクライアント領域の最大サイズを設定する

構文

void SDL_SetWindowMaximumSize(SDL_Window* window, int max_w, int max_h)

引数

window設定するウィンドウ
max_wウィンドウの最大幅のピクセル数
max_hウィンドウの最大高さのピクセル数

関連項目(関数)

SDL_GetWindowMaximumSize
SDL_SetWindowMinimumSize

SDL Wikiへのリンク

SDL_SetWindowMaximumSize - SDL Wiki

SDL_SetWindowMinimumSize

ウィンドウのクライアント領域の最小サイズを設定する

構文

void SDL_SetWindowMinimumSize(SDL_Window* window, int min_w, int min_h)

引数

window設定するウィンドウ
min_wウィンドウの最小幅のピクセル数
min_hウィンドウの最小高さのピクセル数

関連項目(関数)

SDL_GetWindowMinimumSize
SDL_SetWindowMaximumSize

SDL Wikiへのリンク

SDL_SetWindowMinimumSize - SDL Wiki

SDL_SetWindowPosition

ウィンドウの位置を設定する

構文

void SDL_SetWindowPosition(SDL_Window* window, int x, int y)

引数

window設定するウィンドウ
xウィンドウのx座標, またはSDL_WINDOWPOS_CENTERED, またはSDL_WINDOWPOS_UNDEFINED
yウィンドウのy座標, またはSDL_WINDOWPOS_CENTERED, またはSDL_WINDOWPOS_UNDEFINED

詳細

ウィンドウの座標の基点はディスプレイの左上である.

関連項目(関数)

SDL_GetWindowPosition

SDL Wikiへのリンク

SDL_SetWindowPosition - SDL Wiki

SDL_SetWindowSize

ウィンドウのクライアント領域のサイズを設定する

構文

void SDL_SetWindowSize(SDL_Window* window, int w, int h)

引数

window設定するウィンドウ
wウィンドウの幅のピクセル数
hウィンドウの高さのピクセル数

関連項目(関数)

SDL_GetWindowSize

SDL Wikiへのリンク

SDL_SetWindowSize - SDL Wiki

SDL_SetWindowTitle

ウィンドウのタイトルを設定する

構文

void SDL_SetWindowTitle(SDL_Window* window, const char* title)

引数

window設定するウィンドウ
titleウィンドウのタイトルのUTF-8文字列

関連項目(関数)

SDL_GetWindowTitle

SDL Wikiへのリンク

SDL_SetWindowTitle - SDL Wiki

SDL_ShowMessageBox

モーダルなメッセージボックスを生成する

構文

int SDL_ShowMessageBox(const SDL_MessageBoxData* messageboxdata, int* buttonid)

引数

messageboxdataタイトル, テキスト, その他のオプションを含むSDL_MessageBoxData構造体
buttonidユーザが押したボタンのIDを代入するポインタ

戻り値

成功のとき0, 失敗のとき負の数のエラーコードを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

詳細

この関数は, 親ウィンドウが生成されたスレッド, 親ウィンドウがなければメインスレッドで呼ぶ必要がある. ユーザがボタンを押す, またはメッセージボックスを閉じるまでスレッドの実行は停止される.

関連項目(関数)

SDL_ShowSimpleMessageBox

SDL Wikiへのリンク

SDL_ShowMessageBox - SDL Wiki

SDL_ShowSimpleMessageBox

単純なメッセージボックスを表示する

構文

int SDL_ShowSimpleMessageBox(Uint32 flags, const char* title, const char* message, SDL_Window* window)

引数

flagsSDL_MessageBoxFlag列挙体 (詳細を参照すること)
titleタイトルのUTF-8文字列
messageメッセージのUTF-8文字列
window親ウィンドウ, NULLのとき親ウィンドウを持たない

戻り値

成功のとき0, 失敗のとき負の数のエラーコードを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

詳細

flagは以下の値である.
SDL_MESSAGEBOX_ERRORエラーダイアログ
SDL_MESSAGEBOX_WARNING警告ダイアログ
SDL_MESSAGEBOX_INFORMATION情報ダイアログ
この関数はSDL_Init()の前でも呼べる. このことはレンダラーやOpenGLコンテキストの生成の失敗を報告するときに役立つ.

X11では, GTK+やQtのようなツールキットではなくX11そのものでダイアログボックスを表示する.

利用できるビデオがなくSDL_Init()が失敗した場合, この関数も同じ理由で失敗することに注意する必要がある. これが問題になるならば, この関数の戻り値をチェックし, 失敗を戻したならstderrに書き込むこと.

SDL Wikiへのリンク

SDL_ShowSimpleMessageBox - SDL Wiki

SDL_ShowWindow

ウィンドウを表示する

構文

void SDL_ShowWindow(SDL_Window* window)

引数

window表示するウィンドウ

詳細

SDL1.2では, win32ならば BOOL WINAPI ShowWindow(_In_ HWND hWnd, _In_ int nCmdShow) を使わなければならなかった. SDL_ShowWindow()はその代わりである.

関連項目(関数)

SDL_HideWindow

SDL Wikiへのリンク

SDL_ShowWindow - SDL Wiki

SDL_UpdateWindowSurface

ウィンドウサーフェイスを画面にコピーする

構文

int SDL_UpdateWindowSurface(SDL_Window* window)

引数

window更新するウィンドウ

戻り値

成功のとき0, 失敗のとき負の数のエラーコードを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

詳細

この関数は画面にサーフェイスの変更を反映するために使われる.

この関数はSDL1.2 APIのSDL_Flip()と等価である.

関連項目(関数)

SDL_GetWindowSurface
SDL_UpdateWindowSurfaceRects

SDL Wikiへのリンク

SDL_UpdateWindowSurface - SDL Wiki

SDL_UpdateWindowSurfaceRects

ウィンドウサーフェイスの領域を画面にコピーする

構文

int SDL_UpdateWindowSurfaceRects(SDL_Window* window, const SDL_Rect* rects, int numrects)

引数

window更新するウィンドウ
rectsサーフェイスをコピーする領域を表すSDL_Rect構造体の配列
numrects領域の数

戻り値

成功のとき0, 失敗のとき負の数のエラーコードを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

詳細

この関数は画面にサーフェイスの変更を反映するために使われる.

この関数はSDL1.2 APIのSDL_UpdateRects()と等価である.

関連項目(関数)

SDL_GetWindowSurface
SDL_UpdateWindowSurface

SDL Wikiへのリンク

SDL_UpdateWindowSurfaceRects - SDL Wiki

SDL_VideoInit

ビデオドライバを特定してビデオサブシステムを初期化する

構文

int SDL_VideoInit(const char* driver_name)

引数

driver_name初期化するビデオドライバの名前, NULLのときデフォルトのドライバ

戻り値

成功のとき0, 失敗のとき負の数のエラーコードを戻す. そのときSDL_GetError()を呼んで詳細を知ることができる.

詳細

この関数はウィンドウマネージャとの接続を構築してビデオサブシステム等を初期化し, 利用できるディスプレイモードとピクセルフォーマットを決定する. しかし, ウィンドウとグラフィックモードは初期化しない.

もしこの関数を使い, SDL_INIT_VIDEOフラグをSDL_Init()でもSDL_InitSubSystem()でも使わないのであれば, SDL_Quit()を呼ぶ前にSDL_VideoQuit()を呼ぶ必要がある.

この関数は何度呼んでも安全である. SDL_VideoInit()は既にビデオサブシステムが初期化されているときSDL_VideoQuit()を自分自身で呼ぶためである.

SDL_GetNumVideoDrivers()SDL_GetVideoDriver()は特定のdriver_nameを探すために使える.

関連項目(関数)

SDL_GetNumVideoDrivers
SDL_GetVideoDriver
SDL_InitSubSystem
SDL_VideoQuit

SDL Wikiへのリンク

SDL_VideoInit - SDL Wiki

SDL_VideoQuit

構文

void SDL_VideoQuit(void)

詳細

この関数は全てのウィンドウを閉じ, 元のビデオモードに戻す.

関連項目(関数)

SDL_VideoInit

SDL Wikiへのリンク

SDL_VideoQuit - SDL Wiki